Სარჩევი:

წერილი მორზეს კოდის მთარგმნელი: 5 ნაბიჯი
წერილი მორზეს კოდის მთარგმნელი: 5 ნაბიჯი

ვიდეო: წერილი მორზეს კოდის მთარგმნელი: 5 ნაბიჯი

ვიდეო: წერილი მორზეს კოდის მთარგმნელი: 5 ნაბიჯი
ვიდეო: Чужой звонок_Рассказ_Слушать 2024, ივლისი
Anonim
წერილი მორსის კოდის მთარგმნელი
წერილი მორსის კოდის მთარგმნელი

მორს კოდის წარმოდგენების ნახვა ინტერნეტში იმის გასაგებად, რომ ის სასარგებლოა, მაგრამ არ შეიძლება შევადაროთ მას პირადად დანახვას რეალური მოციმციმე შუქებით/ბგერებით. ეს თარჯიმანი საშუალებას მოგცემთ აირჩიოთ ასო, რომლის სწავლა გსურთ მორზეს კოდში და გადათარგმნოთ იგი თქვენს თვალწინ, LED- ის მოციმციმე იმ ნიმუშით, რომელიც მას წარმოადგენს ამ კონკრეტული ასოისთვის! ეს მთარგმნელი იღებს ანბანში ასოების ორობითი წარმოდგენას, (სქემა მოგვიანებით ჩანს თითოეული ასოების ორობითი ექვივალენტისთვის, მაგრამ ვივარაუდოთ, რომ A - 01, B - 10, C - 11 და ასე შემდეგ) და გარდაქმნის ის მორსის კოდის ექვივალენტში აანთებს მომხმარებლისთვის განათებებს. რიცხვის ათწილადი ვერსია ასევე ნაჩვენებია შვიდ სეგმენტის ეკრანზე, თუმცა შეგატყობინებთ, რომ თქვენ ქმნით სწორ ორობითი ეკვივალენტს.

ორობითი რიცხვი იქმნება მარჯვენა მხარეს გადამრთველებით და აღწევს უმნიშვნელო ბიტიდან, ისევე როგორც თქვენ ელოდებით ორობითი რიცხვის შექმნისას. თქვენ მიერ შექმნილი რიცხვი ნაჩვენებია შვიდი სეგმენტის ეკრანზე, როგორც ზემოთ იყო ნათქვამი და მდებარეობს დაფის მარცხენა მხარეს, ის უბრალოდ გეტყვით შეცდომა დაუშვით თუ არა ბინარული რიცხვის ამომრთველების წარმოდგენაში, ან დაადასტურებს რომ თქვენ გააკეთეთ სწორი ნომერი. იგი იღებს ერთ ასოს ერთდროულად, ინახავს მას მეხსიერებაში და შემდეგ ბეჭდავს მორსის კოდს, როდესაც მომხმარებელი მზად იქნება BASYS3 დაფის უკიდურეს მარცხნივ ნაპოვნი "ბეჭდვის გადამრთველის" გააქტიურებით (ეს უბრალოდ სხვა გადამრთველია, რომელიც ჩვენ მიენიჭა "ბეჭდვის გადამრთველი", ან სხვა გადამრთველი, თუ იყენებთ სხვადასხვა ტიპის FPGA დაფას და მიანიჭებთ სხვა გადამრთველს (იხ. ნაბიჯი 3). რეკომენდირებულია გამოიყენოთ BASYS3 დაფა სიმარტივისთვის, მაგრამ ეს არ არის საჭირო.

ნაბიჯი 1: ნაბიჯი 1: შეაგროვეთ თქვენი მასალები

ამ პროექტისთვის დაგჭირდებათ მხოლოდ შემდეგი:

აპარატურა- Basys3 დაფა (ან ექვივალენტი FPGA, რომლის მიერთებაც შეგიძლიათ შესაბამისად)

-(სურვილისამებრ) მავთულები, თუ თქვენ გეგმავთ დამატებით LED- ების ან სხვა კონცენტრატორების დაკავშირებას ალტერნატიულ FPGA- სთან

პროგრამული უზრუნველყოფა-Vivado Design Suite (ჩვენ გირჩევთ 2014+)

ნაბიჯი 2: ნაბიჯი 2: შექმენით ფაილი

ეს არის VHDL- ით დაწერილი ფაილი, რათა გაუშვათ მორსის კოდის 1 ბიტიანი მთარგმნელი Vivado– ში. ეს ფაილი მუშაობს Vivado– ს ყველა ვერსიასთან. თუ ფაილის გადმოტვირთვასთან დაკავშირებით პრობლემებია, კოდის ტექსტური წარმოდგენა შეგიძლიათ იხილოთ ქვემოთ მოცემულ სხვა ფაილში და ადვილად დააკოპიროთ თქვენს მიერ შექმნილ საქაღალდეში. დარწმუნდით, რომ როგორც ძირითადი წყარო, ასევე შეზღუდვების ფაილი არსებობს და მათ ცალკეულ წყაროებში, სანამ ცდილობთ ბიტ -სტრიმის გენერირებას ან რაიმე სინთეზირებას. მათთვის, ვისაც სურს გაიგოს კოდის უფრო სიღრმისეული ახსნა და რას აკეთებს ის, გადახედეთ საფეხურს 3. თუ თქვენ უბრალოდ გსურთ მიხვიდეთ და დაიწყოთ თარგმნა, გადადით მე –4 ნაწილზე.

ნაბიჯი 3: ნაბიჯი 3: კოდი

ჩვენი კოდი შეიცავს 4 ცალკეულ პროცესს, რომლებიც ყველა ერთდროულად მუშაობს. ამ საფეხურის თითოეული ქვეგანყოფილება უფრო ღრმად ჩაწვდება იმას, რასაც თითოეული მათგანი აკეთებს.

პროცესი 1:

ჩვენ მიერ შექმნილმა პირველმა პროცესმა გამოიყენა საათის გამყოფი, რათა შვიდი სეგმენტის ჩვენება მუშაობდეს ორ სეგმენტზე, რათა ეჩვენებინა იმ წერილის ორობითი ექვივალენტი, რომელსაც ადამიანი ქმნიდა. ჩვენ უნდა დავრწმუნდეთ, რომ საათი სწორად აჩვენებს რიცხვს იმ შვიდი სეგმენტის სწორ მონაკვეთზე, რაც გვინდოდა. ჩვენ მივაკუთვნეთ სეგმენტები შესაბამისად, რათა მათ გამოეჩინათ გარკვეული რიცხვები, როდესაც ჩვენც ვკითხავთ მათ და გადავაბრუნეთ ბოლო 2 ციფრიდან, რადგან ანბანის ყველა რიცხვის საჩვენებლად მხოლოდ 2 გვჭირდება. ჩვენ გავაკეთეთ შვიდი სეგმენტის ჩვენება ათწილადი რიცხვების სისტემაში ისე, რომ ადამიანებისთვის უფრო ადვილი იყო იმის დანახვა, თუ რა ასოს წარმოდგენას ცდილობდნენ, რადგან მოსახლეობის უმრავლესობა იყენებს 10 ძირითად რიცხვით სისტემას.

პროცესი 2:

მეორე პროცესი ქმნის ჩვენს საათს LED- ების მუშაობისთვის, ასე რომ ჩვენ შეგვიძლია დავინახოთ პულსიები მკაფიოდ და განვასხვავოთ წერტილი და ტირი, ასევე გვაქვს საკმარისი დრო მორზეს კოდის თითოეულ მონაკვეთს შორის. ჩვენ გამოვიყენეთ სიგნალი, რომ გავიაროთ მორსის კოდით სავსე ავტობუსი პროცესის მიღმა და გადავიდეთ დაფაზე, ისე რომ შევძლოთ ერთდროულად ავანთოთ არა ერთი LED განათება.

პროცესი 3:

ჩვენი მესამე პროცესი უყურებს ჩამრთველებს მიმდინარე მდგომარეობებს და მიანიჭებს წერილს იმ ბინარულ გამოსახულებას, რომელიც ნაჩვენებია იმ დროს. ეს გადის თითოეულ ასოზე, სივრცესთან, წერტილთან და მძიმით. ეს პროცესი აქ მთავრდება და ყველა ნაწილი თავმოყრილია მეოთხე პროცესში თარგმანის დასასრულებლად.

პროცესი 4:

მეოთხე პროცესი არის "მთარგმნელის" პროცესი, რომელიც ითვალისწინებს ჩვენს მიერ აქამდე შეკრებილ ყველა ინფორმაციას, მაგალითად, გააქტიურებულია თუ არა მაღაზიის ღილაკი, ჩართულია თუ არა ბეჭდვის გადამრთველი და რა რიცხვია წარმოდგენილია კონცენტრატორებით. ეს შემდეგ იხილავს მასივს, რომელიც ჩვენ გავაკეთეთ, რომელსაც აქვს მორზეს კოდის წარმოდგენა იმის შესახებ, თუ რა გამომავალი იქნება 1 და 0 -ის ტოლი ჩართვის/გამორთვის ბრძანებებისათვის LED- ებისთვის. იმის ნაცვლად, რომ გამოვიყენოთ ორი ცალკეული მორიგე საათი, ჩვენ გავაკეთეთ ერთი 50% სამუშაო ციკლის საათი, რომელიც მიგვაჩნია, რომ კარგი სიჩქარეა მორსის კოდისთვის და შევასრულეთ წერტილი 1 მაღალი "პულსი" და ტირე 3 მაღალი " პულსი ". კოდის გასამარტივებლად და უფრო სწრაფად გასაშვებად, ჩვენ შევქმენით წერტილი "010" -ის ტოლი და ტირე "01110" -ის ტოლი.

ნაბიჯი 4: ნაბიჯი 4: შექმენით Bistream და განახორციელეთ

ეს პროექტი ძალიან ადვილია იმის დასადგენად, თუ თქვენ გაქვთ BASYS3 დაფა, რადგან ყველა საჭირო კონცენტრატორი და ღილაკი უკვე არის დაფაზე გამოსაყენებლად, ასევე თქვენთვის სასურველ ქინძისთავებთან წინასწარ განსაზღვრულ შეზღუდვებთან ერთად. თუ თქვენ იყენებთ სხვა FPGA- ს, თქვენ უნდა შეხვიდეთ კოდში და იპოვოთ შეზღუდვები და ხელახლა გაგზავნოთ ისინი თქვენი FPGA– ს სწორი შეზღუდვებისკენ. ეს ასევე მართალია, თუ თქვენ აპირებთ სხვა LED- ების და კონცენტრატორების თქვენს დაფაზე გამოყენებას. ჩვენ არ განვიხილავთ ამის მაგალითებს, მაგრამ თქვენი კონკრეტული FPGA- ს ინსტრუქციის სახელმძღვანელოს გამოყენება ძალიან გამოსადეგი იქნება იმის დასადგენად, თუ როგორ უნდა დააკავშიროთ და მიაწოდოთ ყველაფერი სწორ ქინძისთავებს.

ამ ეტაპზე, მას შემდეგ რაც ჩამოტვირთავთ კოდს და გახსნით ფაილს, უბრალოდ შექმენით ბიტრემი Vivado– ში და დაპროგრამეთ თქვენი მოწყობილობა. მას შემდეგ რაც შეძლებთ, თქვენ შეძლებთ დაიწყოთ ასოების შეყვანა მორსის კოდზე თარგმნისთვის! ისიამოვნეთ!

*შენიშვნა: "ბეჭდვის გადამრთველი" მდებარეობს დაფის უკიდურეს მარცხნივ (გადამრთველი R2 BASYS3 დაფისთვის) და "მაღაზიის ღილაკი" არის ღილაკი U18 (ცენტრალური ღილაკი BASYS3 დაფაზე), თუ შეზღუდვები უშუალოდ არის აღებული ჩვენი მაგალითი კოდი.

ნაბიჯი 5: პრობლემები/პრობლემების მოგვარება

თუ თქვენ გაქვთ პრობლემა ფაილის გადმოტვირთვას, შეგიძლიათ დააკოპიროთ ჩასვით კოდი ხელით ამ Word ფაილიდან. ასევე არსებობს დანართი, რომლითაც შეგიძლიათ შეამოწმოთ თუ რამდენად ადვილია ბინარულ ასოზე გადაყვანა და რა უნდა იყოს ასოში, ამიტომ გირჩევთ, რომ შეამოწმოთ ისინი! თუ თქვენ იყენებთ BASYS3 დაფას, თქვენ უნდა შეგეძლოთ მიჰყევით ამ ინსტრუქციას და ჩამოტვირთოთ კოდი უპრობლემოდ და განახორციელოთ იგი უპრობლემოდ მას შემდეგ რაც დაუკავშირდებით დაფას და დაპროგრამებთ მას.

*შენიშვნა: თუ აღმოაჩენთ, რომ თქვენი მთარგმნელი თითქოს ნელა მუშაობს, ეს ნორმალურია! მცირე დროა დაგვიანებული ბეჭდვის დარტყმისას და როდესაც ხედავთ მორზეს კოდის წარმოდგენას. თუ ციკლს აჩერებთ ბეჭდვის გადამრთველის გამორთვით, კოდს მოუწევს ციკლის დასრულება ახალი ასოების დაბეჭდვამდე, რის გამოც დაელოდებით ციკლის დასრულებას და მომდევნო წერილის დაწყებას.

გირჩევთ: