Агуулгын хүснэгт:
- Алхам 1: Материал
- Алхам 2: Хар хайрцагны диаграм
- Алхам 3: Гадаад чанга яригчийг холбох
- Алхам 4: Бүтцийн диаграм
- Алхам 5: Эцсийн төлөвт машин (FSM) диаграм
Видео: Өрсөлдөөнт дуугаралтын систем: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэхүү төсөлд зориулагдсан өрсөлдөх чадвартай дуугаралтын систем нь Бүс нутгийн болон үндэсний шинжлэх ухааны цомын тэмцээнд ашигладаг дуугаралтын системтэй адил ажилладаг. Энэхүү төслийг би ахлах сургуулийнхаа шинжлэх ухааны аяганы багт гурван жилийн турш оролцсоноор урамшуулсан юм. Бид 5 секунд, 20 секундын таймер ашиглан түгжигдэх дуугаралтын системийг дахин бүтээх хүсэлтэй байсан.
Дуут дохионы системийн талаар тодорхой мэдээлэл өгөхийн тулд шинжлэх ухааны аяга дуугаргагчид хамгийн ихдээ 8 тоглогч оруулахаар програмчлагдсан (8 тусдаа дуугаргагчтай). Нэг дуугаралт дарагдсаны дараа эхний тоглогчийн дуугаралт асах бөгөөд аль тоглогч асуултыг хүлээж авахыг зааж өгнө. Үлдсэн тоглогчид "түгжигдэх" болно, энэ нь зохицуулагч дуугаралтын системийг дахин тохируулах хүртэл дуугарагчид хариу өгөхгүй гэсэн үг юм.
Зохицуулагч асуултуудыг уншаад долоон сегментийн дэлгэц дээр гарах тоолох тоолуурыг эхлүүлэх товчийг дарна. "Шалгах" асуултын дараа зохицуулагч баруун товчийг дарж тооллогыг 5 секундээс эхлүүлж болно. Үүний зэрэгцээ "урамшуулал" гэсэн асуултын дараа зохицуулагч зүүн товчлуур дээр дарж 20 секундээс тоолж эхлэх боломжтой. Таймер тэг болсны дараа дуут дохио нь тоглогчийн цаг дууссаныг илтгэнэ.
Систем болон тоолох тоолуурыг дахин тохируулахын тулд зохицуулагч төв товчлуурыг дарж болно. Түгжих механизм болон тоглуулагчийн LED -ийг дахин тохируулахын тулд 1 -р тоглогч болон 2 -р тоглогчийн унтраалга бага байх ёстой.
Алхам 1: Материал
Танд дараахь зүйлс хэрэгтэй болно.
- Basys3 самбар (эсвэл түүнтэй адилтгах FPGA самбар)
- Micro-B USB кабель
- Илтгэгч (би идэвхгүй чанга яригч ашигласан)
- 2 утас
- FPGA дээр хэрэгжүүлэх програм хангамж (би Vivado ашигласан)
- Өрсөлдөөнт Buzzer системийн файл
Алхам 2: Хар хайрцагны диаграм
Хар хайрцагны диаграммд энэхүү дуут дохионы системд ашиглах оролт, гаралтыг харуулав.
Оролт:
тоглогч1, тоглогч2 Эдгээр оролтууд нь Basys3 самбар дээрх хоёр унтраалгатай холбогддог. Тохиромжтой болгохын тулд зүүн болон баруун талын унтраалгыг ашиглана.
анхны байдалд нь оруулах товчлуурыг тохируулахын тулд төв товчийг ашиглана.
count_down_20_sec Зүүн товчлуурыг ашиглан 20 секундын таймерын товчлуурыг ашиглана.
count_down_5_sec Баруун товчлуурыг ашиглан 20 секундын таймерын товчлуурыг ашиглана. 20 секунд, 5 секундын аль аль нь эхлэхийг баталгаажуулахын тулд долоон сегментийн дэлгэц дээр таймерыг харуулах хүртэл товчлуурыг дарна уу.
CLK FPGA самбар нь 10 н давтамжтай ажилладаг цагийг бий болгоно.
Гаралт:
чанга яригч Чанга яригчийн гаралт нь гадаад дуугаруулагч эсвэл чанга яригчтай холбогдсон байна. Та чанга яригчийг Basys3 board JA pmod портуудтай холбох хэрэгтэй болно. Энэ алхамыг доор тайлбарлах болно.
speaker_LED Энэхүү гаралт нь самбарын төв хэсэгт байрлах LED -тэй холбогдсон бөгөөд FPGA -ийн чанга яригчийн гаралт өндөр байх үед л харуулна. Та үүнийг гадаад чанга яригчаа туршихад ашиглаж болно. Зарим pmod портууд сайн ажиллахгүй байж магадгүй тул та өөр өөр хувилбаруудыг туршиж үзээд LED -ийг ашиглан чанга яригч асаалттай эсэхийг шалгаж болно.
СЕГМЕНТҮҮД Энэ гаралт нь аравтын бутархай цэгийг багтаасан долоон сегментийн дэлгэц дээрх найман сегментэд холбогдсон болно.
DISP_EN Энэхүү гаралт нь долоон сегментийн дэлгэц дээрх дөрвөн анодтой холбогдсон байна.
player_LED Энэхүү гаралт нь тоглуулагч1 болон тоглуулагч2 унтраалгын дээрх LED-тэй холбогдсон 2 багцтай дохио юм. Холбогдох унтраалгыг эргүүлсэн анхны тоглогчийг LED тэмдэглэнэ. Хоёр LED нэгэн зэрэг асах боломжгүй гэдгийг анхаарна уу.
Алхам 3: Гадаад чанга яригчийг холбох
Гадны чанга яригчийг Basys3 самбартай холбохын тулд хоёр утсаа аваад дээрх зурагт үзүүлсэн шиг холбоно уу. Цагаан шугам нь чанга яригчийн сөрөг терминалыг самбар дээрх газрын порт руу холбодог. Улаан шугам нь чанга яригчийн эерэг терминалыг самбар дээрх JA10 pmod порт руу холбодог.
Хязгаарлалтын файл нь JA1 -ээс JA10 хүртэлх порт ажиллах боломжтой байхаар хийгдсэн. Гэсэн хэдий ч самбар дээрх зарим зүү хариу өгөхгүй байгаа тул хэрэв JA10 ажиллахгүй бол та бусад портуудыг туршиж үзэж болно.
Алхам 4: Бүтцийн диаграм
Дээрх зураг нь үндсэн модулийг бүрдүүлдэг бүх бүрэлдэхүүн хэсгүүдийг багтаасан өрсөлдөөнт дуугаралтын системийн бүтцийг харуулав. Тэдний тодорхойлолт дараах байдалтай байна.
player_lockout_LED1 Тоглогчийн түгжигдэх LED бүрэлдэхүүн хэсэг нь нэг удаагийн кодчилол ашигладаг хязгаарлагдмал төлөвтэй машин юм. Тоглогч1, тоглуулагч2, дахин тохируулах, CLK гэсэн дөрвөн оролттой. Энэ нь 2 битийн багц гаралтын тоглуулагч_LED-ийг агуулдаг. Player_lockout_LED1 бүрэлдэхүүн хэсгийн оролт, гаралт нь бүгд үндсэн модулийн ижил нэртэй оролт, гаралттай шууд холбогддог.
buzzer_tone1 Buzzer -ийн бүрэлдэхүүн хэсэг нь форум дээр байрлуулсан энэ код дээр суурилсан болно
stackoverflow.com/questions/22767256/vhdl-… Гэсэн хэдий ч 440 Гц давтамжтай тасралтгүй дуу гаргахаар өөрчилсөн (Тэмдэглэл). Идэвхжүүлэх оролт нь down_counter_FSM1 бүрэлдэхүүн хэсгийн гаралт болох buzzer_enable дохиотой холбогдсон байна.
clk_div1 Цаг хуваах бүрэлдэхүүн хэсэг нь профессор Брайан Мийлийн PolyLearn дээр байрлуулсан цаг хуваагчийн өөрчлөгдсөн хувилбар юм. Энэ нь цагийг удаашруулдаг тул гаралтын хугацаа 1 секунд байна.
down_counter_FSM1 Доош тоолуур нь тэг хүртэл тоолох зориулалттай FSM юм. Хоёр боломжит эхлэх хугацаа нь хэрэглэгчийн оролтоор сонгогддог 20 эсвэл 5 байна. Цаг дууссаныг илтгэхийн тулд таймер тэг болж байхад '1' гаргадаг. Энэ гаралт нь дуут дохионы бүрэлдэхүүн хэсгийг идэвхжүүлэх үүргийг гүйцэтгэдэг. Тоологч нь 8 битийн багц дохиог гаргадаг бөгөөд энэ нь сегментийн декодер руу илгээгддэг 8 битийн BCD-ийг илгээдэг. Өөр нэг гаралт бол сегмент декодер дээрх хүчин төгөлдөр оролттой холбогдсон counter_on юм.
sseg_dec1 Долоон сегментийн декодчилогч бүрэлдэхүүн хэсгийг PolyLearn дээр оруулсан бөгөөд үүнийг профессор Брайан Мийли бичсэн. Энэ нь down_counter_FSM1-ээс өгсөн BCD оролтыг ашигладаг бөгөөд долоон сегментийн дэлгэц дээр аравтын бутархай эквивалентийг гаргадаг. Тоологчийг асаахад хүчинтэй оролт өндөр байна. Энэ нь код тайлагч нь долоон сегментийн дэлгэц дээр аравтын бутархай тоог харуулах боломжийг олгодог. Тоолуур унтарсан үед хүчинтэй оролт бага байна. Долоон сегментийн дэлгэц нь зөвхөн дөрвөн зураасыг харуулна.
Алхам 5: Эцсийн төлөвт машин (FSM) диаграм
Хязгаарлагдмал төлөв байдлын машины мэдрэмжийн жагсаалтад тоглогч1, тоглогч2, дахин тохируулах, цаг орно. FSM гаралт нь Basys3 самбар дээрх хоёр LED-тэй холбогдсон 2 битийн багц тоглуулагч юм. Хязгаарлагдмал төлөв байдлын машин нь дараах гурван төлөвийг харуулж байна.
ST0 бол эхлэх төлөв юм. Энэ тохиолдолд хоёр LED унтрах болно. Тоглогч1 болон тоглогч2 хоёулаа доогуур байвал FSM энэ төлөвт үлдэх болно. Асинхрон дахин тохируулах нь мөн төлөвийг ST0 болгож тохируулдаг. Player1 шилжүүлэгчийг өндөр болгож тохируулах үед дараагийн төлөв ST1 болно. Хэрэв player2 шилжүүлэгчийг өндөр болгож тохируулсан бол дараагийн төлөв нь ST2 болно.
ST1 бол тоглогч1 LED асаалттай байгаа байдал юм. FSM нь ямар ч мэдээлэл оруулахын тулд энэ төлөвт үлдэх болно. Энэ нь тоглогч1 унтраалгыг тоглуулагчийг өндөр болгосны дараа шууд тоглогч2 шилжүүлэгчийг өндөр болгож тохируулсан ч гэсэн ST1 дотор үлдэх болно гэсэн үг юм. Зөвхөн асинхрон дахин тохируулснаар дараагийн төлөвийг ST0 болгож болно.
ST2 бол тоглогч2 LED асаалттай байгаа байдал юм. ST1 -тэй адил FSM нь тоглогч1 шилжүүлэгчийг тоглуулагч2 шилжүүлэгчийг өндөрлөсний дараа шууд өндөр болгож тохируулсан байсан ч гэсэн ямар ч оролтын хувьд энэ төлөвт байх болно. Дахин хэлэхэд зөвхөн асинхрон дахин тохируулснаар дараагийн төлөвийг ST0 болгож болно.
Зөвлөмж болгож буй:
Arduino машины урвуу зогсоолын дохиоллын систем - Алхам алхамаар: 4 алхам
Arduino машины урвуу зогсоолын дохиоллын систем | Алхам алхамаар: Энэ төсөлд би Arduino UNO болон HC-SR04 хэт авианы мэдрэгч ашиглан Arduino автомашины урвуу зогсоолын мэдрэгчийн энгийн хэлхээг зохион бүтээнэ. Энэхүү Arduino дээр суурилсан Автомашины Урвуу дохиоллын системийг бие даасан навигаци, роботын хүрээ болон бусад хүрээний зориулалтаар ашиглаж болно
PIR мэдрэгч ба дуугаралтын модулийг хэрхэн ашиглах вэ - Visuino заавар: 6 алхам
PIR мэдрэгч ба дуугаралтын модулийг хэрхэн ашиглах талаар Үзүүлэх видео үзэх
Автомашины систем үйлдвэрлэх систем: 8 алхам
Автомашины системд суурилсан системүүд: Хөдөө аж ахуйн салбарт маш их ашиг тустай байдаг
Өнгө ялгах систем: Arduino дээр суурилсан хоёр бүстэй систем: 8 алхам
Өнгө ялгах систем: Arduino дээр суурилсан хоёр бүстэй систем: Аж үйлдвэрийн салбарт бүтээгдэхүүн, эд зүйлсийн тээвэрлэлт, сав баглаа боодол нь туузан дамжуулагч ашиглан хийгдсэн шугамыг ашиглан хийгддэг. Эдгээр бүс нь тухайн зүйлийг нэг цэгээс нөгөө цэг рүү тодорхой хурдаар шилжүүлэхэд тусалдаг. Зарим боловсруулалт эсвэл таних даалгавар нь
2 тоглогчийн өрсөлдөөнт VS цагийн тоглоом: 4 алхам
2 тоглогчийн өрсөлдөөнт VS цагийн тоглоом: Танд хэрэгтэй болно: 1.Digilent Basys 3, FPGA Board (эсвэл бусад FPGA,) 2. Vivado эсвэл бусад VHDL орчны харьцангуй сүүлийн үеийн хувилбар3. Дээр дурдсан програмыг ажиллуулах боломжтой компьютер