Агуулгын хүснэгт:

Морз код орчуулагч руу бичсэн захидал: 5 алхам
Морз код орчуулагч руу бичсэн захидал: 5 алхам

Видео: Морз код орчуулагч руу бичсэн захидал: 5 алхам

Видео: Морз код орчуулагч руу бичсэн захидал: 5 алхам
Видео: Я буквально стою у фактического места рождения и могилы Санта-Клауса - (не на северном полюсе) 🎅🏼 2024, Долдугаар сарын
Anonim
Морзын код орчуулагч руу бичсэн захидал
Морзын код орчуулагч руу бичсэн захидал

Үүнийг сурахын тулд Морзын кодын дүрслэлийг онлайнаар үзэх нь тустай боловч үүнийг жинхэнэ анивчсан гэрэл/дуутай биечлэн харахтай зүйрлэх аргагүй юм. Энэхүү орчуулагч нь Морзын кодоор сурахыг хүсч буй үсгээ сонгож, тухайн үсгийн зориулалттай хэв маягаар LED -ийг анивчуулж, нүднийхээ өмнө шууд орчуулах боломжийг танд олгоно. Энэхүү Орчуулагч нь цагаан толгойн үсгийн хоёртын дүрслэлийг авдаг (диаграмыг үсэг бүрийн хоёртын эквивалентийг хожим нь харж болно, гэхдээ A - 01, B - 10, C - 11 гэх мэт) гэж бодъё. Үүнийг хэрэглэгчийн гэрэл асаах замаар Морзын кодтой тэнцүү болгоно. Дугаарын аравтын хувилбарыг долоон сегментийн дэлгэц дээр харуулдаг боловч та зөв хоёртын эквивалент үүсгэж байгаагаа танд мэдэгдэх болно.

Хоёртын дугаарыг баруун гар талд байрлах унтраалгуудын тусламжтайгаар бүтээдэг бөгөөд хоёртын дугаар үүсгэх үед таны бодож байсан шиг хамгийн бага ач холбогдол өгдөг. Таны үүсгэсэн дугаарыг өмнө дурдсанчлан долоон сегментийн дэлгэц дээр харуулсан бөгөөд самбарын зүүн талд байгаа бөгөөд энэ нь хоёртын дугаарыг унтраалгаар дүрслэхдээ алдаа гаргасан эсэхээ танд хэлэх болно. зөв тоо. Энэ нь нэг удаад 1 үсэг оруулж, санах ойд хадгалж, дараа нь хэрэглэгч бэлэн болсон үед BASYS3 самбарын зүүн талд байгаа "Print switch" -ийг идэвхжүүлснээр Морзын кодыг хэвлэнэ. "Хэвлэх унтраалга" эсвэл өөр төрлийн FPGA самбар ашиглаж, өөр шилжүүлэгч оноож өгвөл өөр шилжүүлэгч байхаар томилогдсон (3 -р алхамыг үзнэ үү). BASYS3 самбарыг энгийн байдлаар ашиглахыг зөвлөж байна, гэхдээ энэ шаардлагагүй.

Алхам 1: Алхам 1: Материалаа цуглуул

Энэ төслийн хувьд танд зөвхөн дараах зүйлс хэрэгтэй болно.

Тоног төхөөрөмж- Basys3 самбар (Эсвэл та үүнийг холбож болохуйц FPGA)

-(Нэмэлт) Хэрэв та нэмэлт LED эсвэл өөр унтраалгыг өөр FPGA руу холбохоор төлөвлөж байгаа бол утаснууд

Програм хангамж-Vivado Design Suite (Бид 2014+ хувилбарыг санал болгож байна)

Алхам 2: Алхам 2: Файл үүсгэх

Энэ бол Vivado дахь Morse Code 1 Bit орчуулагчийг ажиллуулахын тулд VHDL дээр бичигдсэн файл юм. Энэ файл нь Vivado -ийн бүх хувилбаруудтай ажилладаг. Хэрэв файл татаж авахад асуудал гарвал кодын текстийн дүрслэлийг доорх өөр файлаас олох боломжтой бөгөөд үүнийг үүсгэж буй файлын хавтас руу амархан хуулж болно. Ямар нэгэн зүйл дамжуулах эсвэл синтез хийхээс өмнө үндсэн эх сурвалж болон хязгаарлалтын файлууд тус тусдаа эх сурвалжид байгаа эсэхийг шалгаарай. Кодын талаар илүү гүнзгий тайлбар хийж, юу хийж байгааг нь ойлгохыг хүсэж байгаа хүмүүст 3-р алхамыг үзнэ үү.

Алхам 3: Алхам 3: Код

Манай код нь тус тусдаа ажилладаг 4 тусдаа процессыг агуулдаг. Энэ алхам дахь дараагийн дэд хэсгүүд тус бүр нь юу хийж байгааг илүү нарийвчлан авч үзэх болно.

Процесс 1:

Бидний бүтээсэн анхны процесс нь тухайн цагийн үүсгэсэн үсгийн хоёртын эквивалентийг харуулахын тулд долоон сегментийн дэлгэцийг хоёр сегментэд ажиллуулахын тулд цаг хуваагчийг ашигласан. Цаг нь хүссэн долоон сегментийн хэсэгт зөв тоог харуулсан эсэхийг шалгах шаардлагатай байв. Бид сегментүүдийг зохих ёсоор хуваарилсан бөгөөд ингэснээр тэд биднээс асуухад тодорхой цифрүүдийг харуулах болно, мөн цагаан толгойн бүх тоонуудыг харуулахын тулд бидэнд зөвхөн 2 хэрэгтэй байсан тул сүүлийн 2 цифрээр дамжуулав. Бид долоон сегментийн дэлгэцийг Аравтын тоон системд хийсэн бөгөөд хүн амын дийлэнх нь үндсэн 10 тооны системийг ашигладаг тул ямар үсгийг илэрхийлэхийг оролдож байгааг харахад хялбар болсон.

Процесс 2:

Хоёрдахь процесс нь LED -үүдийг ажиллуулах цагийг бий болгодог бөгөөд ингэснээр бид импульсийг тодорхой харж, цэг ба зураасыг ялгаж чаддаг бөгөөд Морзын кодын хэсэг бүрийн хооронд хангалттай цаг зарцуулдаг. Бид дохиог ашигласан бөгөөд Морзын код бүхий LED гаралтыг дүүргэсэн автобусыг процессын гадуур болон самбар дээрх LED -ээр дамжуулахын тулд бид нэг LED флаштай байхаас илүү олон гэрэл асаах боломжтой болсон.

Процесс 3:

Бидний гуравдахь процесс нь шилжүүлэгчдийн одоогийн төлөвийг хардаг бөгөөд тухайн үед харуулсан хоёртын дүрслэлд үсэг өгдөг. Энэ нь үсэг тус бүрийг зай, цэг, таслалаар дамжуулдаг. Энэ процесс энд дуусч, орчуулгыг дуусгахын тулд бүх хэсгүүдийг дөрөв дэх процесст цуглуулдаг.

Процесс 4:

Дөрөв дэх процесс бол "орчуулагч" үйл явц бөгөөд дэлгүүрийн товчлуур идэвхжсэн эсэх, хэвлэх унтраалга асаалттай, унтраасан эсэх, ямар дугаартай байгаа зэрэг бидний цуглуулсан бүх мэдээллийг хүлээн авдаг. унтраалгаар төлөөлдөг. Дараа нь энэ нь бидний хийсэн массивыг харуулдаг бөгөөд энэ нь LED ба LED -ийн On/Off командуудтай тэнцэх 1 ба 0 -ийн гаралт ямар байх талаар Морз кодын дүрслэлийг харуулдаг. Бид хоёр тусдаа ажлын мөчлөгийн цаг ашиглахын оронд Морзын кодын хувьд сайн хурд гэж үзсэн 50% -ийн ажлын мөчлөгийн ганц цагийг хийж, 1 өндөр "импульс", 3 өндөрт зураас зураас бүхий цэгийг гүйцэтгэсэн. импульс. " Кодыг хялбарчилж, илүү хурдан ажиллуулахын тулд бид "010" -той тэнцэх цэгийг, "01110" -той тэнцэх зураасыг хийсэн.

Алхам 4: Алхам 4: Bistream үүсгээд хэрэгжүүл

Хэрэв танд BASYS3 самбар байгаа бол энэ төслийг тохируулахад маш хялбар байдаг, учир нь шаардлагатай бүх унтраалга, товчлуурууд нь самбар дээр бэлэн байгаа бөгөөд хүссэн тээглүүрдээ урьдчилан тохируулсан хязгаарлалтууд байдаг. Хэрэв та өөр FPGA ашиглаж байгаа бол код руу орж, хязгаарлалтыг олж, FPGA-ийнхээ зөв хязгаарлалт руу дахин чиглүүлэх шаардлагатай болно. Хэрэв та бусад LED болон унтраалгыг самбар дээрээ холбохоор төлөвлөж байгаа бол энэ нь бас үнэн юм. Бид үүний жишээг авч үзэхгүй, гэхдээ таны тусгай FPGA -ийн зааварчилгааны гарын авлагыг ашиглах нь бүх зүйлийг хэрхэн зөв зүү рүү залгаж, чиглүүлэхийг тодорхойлоход маш тустай байх болно.

Энэ үед та кодыг татаж аваад файлыг нээгээд л Vivado дахь битийн урсгалыг үүсгэж, төхөөрөмжөө програмчлах хэрэгтэй. Үүнийг хийсний дараа та Морзын код руу хөрвүүлэх захидал оруулах боломжтой болно! Зугаацаарай!

*ТАЙЛБАР: "Хэвлэх унтраалга" нь самбарын зүүн талд байрладаг (BASYS3 самбарын R2 свич), хэрэв хязгаарлалтыг шууд авсан бол "Дэлгүүрийн товчлуур" нь U18 товчлуур (BASYS3 самбар дээрх төв товч) юм. бидний жишээ код.

Алхам 5: Асуудал/Алдааг олж засварлах

Хэрэв та файлыг татаж авахад асуудалтай байгаа бол кодыг гараар хуулж энэ үгийн файлаас хуулж болно. Хоёртын үсгийг хооронд нь хялбархан хөрвүүлэх, захидал нь юу илэрхийлэх ёстойг шалгах хавсралт байгаа тул тэдгээрийг шалгаж үзэхийг танд зөвлөж байна! Хэрэв та BASYS3 самбарыг ашиглаж байгаа бол эдгээр зааврыг дагаж кодоо ямар ч асуудалгүйгээр татаж аваад самбараа холбоод програмчилсны дараа асуудалгүй хэрэгжүүлэх боломжтой байх ёстой.

*ТАЙЛБАР: Хэрэв таны орчуулагч удаан ажиллаж байгаа мэт санагдаж байвал энэ нь хэвийн үзэгдэл юм! Хэвлэхийг дарахад Морзын кодын дүрслэлийг харах хооронд багахан хугацаа хоцордог. Хэрэв та хэвлэх унтраалгыг унтрааж мөчлөгийг түр зогсоовол код нь шинэ үсгийг хэвлэхээс өмнө мөчлөгийг дуусгах ёстой бөгөөд ингэснээр мөчлөг дуусч, дараагийн үсэг эхлэхийг хүлээх болно.

Зөвлөмж болгож буй: