Мазмуну:
- 1 -кадам: Аппараттык/Программалык камсыздоону алыңыз
- 2 -кадам: Блок диаграммасы
- 3 -кадам: Долбоор модулу
- 4 -кадам: Чектөөлөр
- 5 -кадам: Тест
Video: VHDL Бир Мүнөттүк Секундомер: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул VHDL жана Basys 3 тактасын колдонуу менен бир мүнөттүк секундомерди куруу боюнча үйрөткүч. Мындай аппарат ар бир оюнчуга эң көп дегенде бир мүнөткө созулган оюндар үчүн идеалдуу. Секундомер жети сегменттүү дисплейде секунддарды жана миллисекунддарды так көрсөтөт, 0 секунддан 0 миллисекундка чейин, 60 секунд менен 0 миллисекундга чейин. Ошондой эле эки баскыч колдонулат: таймерди баштоо, токтотуу жана улантуу үчүн колдонулган борбордук баскыч жана оң баскыч, таймерди кайра баштоо үчүн колдонулат. Аппаратты смартфондун камтылган секундомери менен катарлаш салыштырганда, сааттын тактыгы байкалат.
1 -кадам: Аппараттык/Программалык камсыздоону алыңыз
1. Basys 3 Artix-7 FPGA Trainer Board Digilentтен Micro-USB менен USB кабелине
2. Vivado 2016.2 Дизайн Suite Xilinxтен
2 -кадам: Блок диаграммасы
Бул схема жүрүм-туруму боюнча курулган жана Xilinxтин камтылган компоненттерин колдонот, бирок жогоруда жалпы структуралык диаграммада көрсөтүлгөндөй структуралык жактан да сүрөттөлүшү мүмкүн. Диаграммадан көрүнүп тургандай, чынжыр эки жыштыкты бөлүүчү тарабынан башкарылат. Жыштыкты бөлүштүргүчтөрдүн бири 1 центисекундта иштейт жана жети сегменттүү дисплейде көрсөтүлгөн сандар катары колдонулган катоддук эсептегичти айдайт. Экинчи жыштык бөлүштүргүч 240 Гцте иштейт жана бардык сандар жети сегменттүү дисплейде туура көрсөтүлүшү үчүн аноддор аркылуу айланып турган аноддук эсептегичти иштетүү үчүн колдонулат. Кодер катод логикасын катод эсептегичтен жана анод эсептегичтен анод логикасын алат жана аны жети сегменттүү дисплейди иштетүүчү катод менен анодго коддоп берет. Бул коддогучтун милдети - аноддун чыгышы өзгөргөн сайын катоддун чыгышы. Аноддор 4 өзүнчө цифрадан айланышы керек, анткени катоддун чыгуусу эсептегичтен көз карандысыз иштей албайт.
3 -кадам: Долбоор модулу
Биринчиден, CEN үчүн процесстик блок жасалат, ошондо Button Press табылганда, ENABLE которулат. Бул катод эсептегичтин токтоо/башталышы катары кызмат кылат.
Кийинки процесстик блокто, центисекунд жана 240Гц саат сигналдары ички 100мГц сааты өсүп бараткан чекке жеткен сайын тиешелүү эсептегичтери 1ге көбөйөт. Центекунддук эсептегич 500000ге жеткенде, ал кайра 0гө кайтарылат. Ошол эле учурда 240Гц эсептегич 41667ге жеткенде баштапкы абалга келет.
Коддун катод бөлүмү үчүн, эгер КҮЙГҮЗҮҮ '0' болсо, катоддорду эсептөө токтотулат. Эгерде бул убакыт ичинде баштапкы абалга келтирүү баскычы басылса, анда бардык эсептөөлөр "0000" абалына келтирилет. Ошол эле учурда, эгерде КОНУЛДОО '1' болсо, катоддордун саны катоддун саны 60.00гө жеткенге чейин улана берет, анда ал токтоочу сигналды '1' кылат. Аялдама сигналы кайра CEN процессинин блогуна өтөт жана "0" болууга алып келет, ал эми токтотуу сигналы "1" болуп саналат жана баштапкы абалга келтирүү баскычы басылмайынча өзгөрбөйт.
Акыр-аягы, жети сегменттин дисплейи 4 аноддун 8 катодунун ар бири менен туура байланышып, 0-9 сандарын бир убакта көрсөтүү үчүн орнотулган.
4 -кадам: Чектөөлөр
Бул чектөө файлы VHDLден көрсөтүлгөн кириштерди жана чыгууларды Basys тактасынын керектүү, физикалык бөлүктөрүнө байланыштырат. Бул долбоор үчүн компоненттер жети сегменттүү дисплей үчүн төрт анодду жана алардын сегиз катодун, ички 100 мГц саатты, борбордук баскычты жана оң баскычты камтыйт.
5 -кадам: Тест
Кодду бүтүргөндөн кийин, азыр FPGAны USB кабели аркылуу программалай аласыз. Жети сегменттин дисплейи 0,00 көрсөтүшү керек. Таймерлерди 60.00гө жеткенге чейин токтотуу үчүн борбордук баскычты басуу менен баскычтардын иштээрин текшерүү; каалаган убакта, аны токтотуу үчүн борбордук баскычты кайра басыңыз. Ал тындырылгандан кийин, оң баскычты басып, таймерди кайра 0.00гө кайтарууга болот. Эгерде баары туура иштеп жатса, куттуктайм, сиз болгону бир мүнөттүк таймерди курдуңуз!
Сунушталууда:
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: 6 кадам (сүрөттөр менен)
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: Бул үйрөткүчтө мен сизге бир эле аналогдук кирүүчү пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окууну көрсөтөм
Nike LED Swoosh! Бул бөлмө үчүн сонун декор. Бул ар бир адам кайталай турган бир долбоор.: 5 кадам
Nike LED Swoosh! Бул бөлмө үчүн сонун декор. Бул ар бир адам кайталай ала турган бир долбоор. .: Куралдар-тасма өлчөгүч-отвертка 2х жыгач 20-20-3000 2х фанера 500-1000мм-винт (45мм) 150х-бурама (35мм) 30х-скр
VHDL жана Basys3 тактасын колдонуу менен негизги секундомер: 9 кадам
VHDL жана Basys3 тактасын колдонуу менен негизги секундомер: Негизги VHDL жана Basys 3 тактасын колдонуу менен секундомерди кантип куруу керектиги боюнча инструкцияга кош келиңиз. Биз сиздер менен долбоорубузду бөлүшүүгө кубанычтабыз! Бул 2016 -жылдын күзүндө Cal Poly, SLOдогу CPE 133 (Санариптик Дизайн) курсунун акыркы долбоору болчу. Биз курган долбоор
Бир нече баскычтарды Arduinoдогу бир пинге туташтыруу: 4 кадам
Бир нече баскычтарды Arduino'догу бир пинге туташтыруу: Саламатсыздарбы, Arduino долбоорлоруңузда жаркыраган светодиоддору ашып кеткенде, сиз өзүңүзгө кошумча казыктарга муктаж болуп калышыңыз мүмкүн. Мен сизге бир кнопканы көрсөтөм, анда сиз бир эле баскычка ээ боло аласыз, бардыгы бир эле аналогдук пинге туташкан
Fusion 360 бир нече денени бир STL файлы катары экспорттоо: 5 кадам
Fusion 360 бир нече денени бир STL файлы катары экспорттоо: Мен биринчи жолу Fusion 360 колдоно баштаганымда, менин эң жакшы көргөн өзгөчөлүктөрүмдүн бири 3D моделинен 3D басып чыгарууга өтүү болгон. Башка эч кандай программалык камсыздоо жумшак иштөө процессин камсыз кылган эмес. Эгерде сиздин модельде бир гана дене бар болсо, муну жасоо абдан жөнөкөй. Бирок