Съдържание:
- Стъпка 1: Получете хардуер/софтуер
- Стъпка 2: Блокова диаграма
- Стъпка 3: Модул на проекта
- Стъпка 4: Ограничения
- Стъпка 5: Тествайте
Видео: VHDL едноминутен хронометър: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Това е урок за това как да изградите хронометър за една минута, използвайки VHDL и дъска Basys 3. Такова устройство е идеално за игри, където всеки играч има максимум една минута, за да направи своя ход. Хронометърът показва точно секунди и милисекунди на седем сегментния дисплей, започвайки от 0 секунди и 0 милисекунди, до 60 секунди и 0 милисекунди. Използват се и два бутона: централният бутон, използван за стартиране, спиране и продължаване на таймера, и десният бутон, използван за рестартиране на таймера. Когато устройството се сравнява рамо до рамо с вградения хронометър на смарт телефон, точността на часовника е забележима.
Стъпка 1: Получете хардуер/софтуер
1. Basys 3 Artix-7 FPGA Trainer Board от Digilent с Micro-USB към USB кабел
2. Vivado 2016.2 Design Suite от Xilinx
Стъпка 2: Блокова диаграма
Тази схема е конструирана поведенчески и използва вградени компоненти на Xilinx, но може да бъде описана и структурно, както е показано от общата структурна диаграма по-горе. От диаграмата може да се види, че веригата се задвижва от два честотни делителя. Един от честотните разделители работи на 1 сантисекунда и задвижва катодния брояч, който се използва като числата, показани на седем-сегментния дисплей. Вторият честотен делител работи на 240Hz и се използва за задвижване на анодния брояч, който се върти през анодите, така че всички числа да се показват правилно на седем-сегментния дисплей. Енкодерът взема катодната логика от катодния брояч и анодната логика от анодния брояч и я кодира към катода и анода на изхода, които изпълняват седемсегментния дисплей. Функцията на този енкодер е катодният изход да се променя всеки път, когато анодният изход се промени. Катодният изход не може да се управлява независимо от брояча, защото анодите трябва да се въртят през 4 -те отделни цифри.
Стъпка 3: Модул на проекта
Първо, процесният блок за CEN се прави така, че когато се открие натискане на бутон, ENABLE ще превключи. Това служи като стоп/старт на катодния брояч.
В следващия технологичен блок, сантисекундните и 240Hz тактови сигнали са настроени така, че съответните им броячи се увеличават с 1 всеки път, когато вътрешният 100mHz часовник достигне нарастващ ръб. След като броячът на сантисекундата достигне 500000, той ще се върне обратно на 0. Междувременно броячът на 240Hz ще се нулира, когато броят достигне 41667.
За катодната секция на кода, ако ENABLE е '0', броенето на катодите ще спре. Ако бутонът за нулиране е натиснат през това време, тогава всички отброявания се нулират на "0000". Междувременно, ако ENABLE е „1“, броенето на катодите ще продължи, докато броят на катодите достигне 60.00, при което задейства стоп сигнала на „1“. Сигналът за спиране се връща обратно към блока на процеса CEN и кара ENABLE да бъде „0“, докато сигналът за спиране е „1“и няма да се промени, докато не бъде натиснат бутонът за нулиране.
И накрая, седемсегментният дисплей е настроен чрез правилното свързване на 4-те анода с всеки от своите 8 катода, за да показват съответните им цифри 0-9 едновременно.
Стъпка 4: Ограничения
Този файл с ограничения свързва посочените входове и изходи от VHDL с необходимите физически части на платката Basys. За този проект компонентите включват четирите анода и всеки от осемте им катода за седем сегментния дисплей, вътрешния часовник от 100 mHz, централния бутон и десния бутон.
Стъпка 5: Тествайте
След като завършите кода, вече можете да програмирате FPGA чрез USB кабел. Седемсегментният дисплей трябва да показва 0.00. Тествайте дали бутоните работят, като натиснете централния бутон, за да стартирате таймера, докато достигне 60.00 и спре; по всяко време между тях можете да натиснете отново централния бутон, за да го поставите на пауза. След като е поставен на пауза, можете да натиснете десния бутон, за да върнете таймера обратно на 0.00. Ако всичко работи правилно, поздравления, току -що сте построили таймер за една минута!
Препоръчано:
Хронометър на Arduino Leonardo: 3 стъпки
Хронометър Arduino Leonardo: Кредит: https://www.instructables.com/id/Arduino-Stopwatch … Този дизайн на хронометъра произхожда от връзката по-горе, която е хронометър, който брои от 1, докато този отброява от 60 секунди . По -голямата част от кода, който използвах, следва оригинала
Прост цифров хронометър CloudX M633: 4 стъпки
Прост цифров хронометър CloudX M633: В този проект ще направим версия на цифров часовник, който може да съхранява записи на часове, минути и секунди, точно като хронометър на вашия мобилен телефон! Ще използваме LCD за показване на часа
Всичко в едно Цифров хронометър (часовник, таймер, аларма, температура): 10 стъпки (със снимки)
Всичко в един цифров хронометър (часовник, таймер, аларма, температура): Планирахме да направим таймер за някое друго състезание, но по -късно въведохме и часовник (без RTC). С навлизането в програмирането се заинтересувахме да приложим повече функционалности към устройството и в крайна сметка добавихме DS3231 RTC като
Основен хронометър, използващ VHDL и Basys3 дъска: 9 стъпки
Основен хронометър, използващ VHDL и Basys3 Board: Добре дошли в инструкциите как да изградите хронометър, използвайки основен VHDL и Basys 3 борд. Радваме се да споделим нашия проект с вас! Това беше последен проект за курс CPE 133 (цифров дизайн) в Cal Poly, SLO през есента на 2016 г. Проектът, който изградихме
Хронометър VHDL: 8 стъпки (със снимки)
Хронометър VHDL: Това е урок за това как да направите хронометър, използвайки VHDL и платка FPGA, като платка Basys3 Atrix-7. Хронометърът може да брои от 00.00 секунди до 99.99 секунди. Той използва два бутона, един за бутона за стартиране/спиране и друг за