Съдържание:

Хронометър VHDL: 8 стъпки (със снимки)
Хронометър VHDL: 8 стъпки (със снимки)

Видео: Хронометър VHDL: 8 стъпки (със снимки)

Видео: Хронометър VHDL: 8 стъпки (със снимки)
Видео: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024, Ноември
Anonim
Хронометър VHDL
Хронометър VHDL

Това е урок за това как да направите хронометър с помощта на VHDL и платка FPGA, като платка Basys3 Atrix-7. Хронометърът може да брои от 00.00 секунди до 99.99 секунди. Той използва два бутона, един за бутона за стартиране/спиране и друг за бутона за нулиране. Номерата се показват на седем-сегментния дисплей на дъската, като се използват нейните аноди и катоди. Необходими са три различни файла, за да може този хронометър да работи.

Стъпка 1: Хардуер/Софтуер

  • Basys3 Atrix-7 FPGA платка
  • Vivado Design Suite от Xilinx
  • USB 2.0 A мъжки към Micro-B мъжки

Стъпка 2: Блокова диаграма

Блокова диаграма
Блокова диаграма

Общият хронометър има три входа и два изхода. Трите входа са старт/стоп, нулиране и часовник. Старт/стоп и нулиране са бутони, а часовникът е 100MHz на платката. Двата изхода са анодите и катодите за седемсегментния дисплей.

Първият модул (разделител на часовника) има един вход и два изхода.

Вторият модул (дисплей) има пет входа и два изхода. Входовете са 100MHz часовник на платката, двата часовника от модула за разделяне на часовника и бутоните за стартиране/спиране и нулиране. Изходите са анодите и катодите.

Последният модул (моделиран от цялата блокова схема) има три входа и два изхода. Това е файлът, който обединява всичко. Входовете са 100MHz на платката и бутоните за стартиране/спиране и нулиране. Изходите са анодите и катодите, които контролират седемсегментния дисплей. Всички входове и изходи са физически на платката за крайния модул.

Стъпка 3: Диаграма на състоянието

Диаграма на състоянието
Диаграма на състоянието

Изображението по -горе показва диаграмата на състоянието за това как работи хронометърът. Натискането на бутона за нулиране не оказва влияние върху състоянието на хронометъра. Следващото състояние се определя от бутона за стартиране/спиране. Стартът/стопът е "HIGH", когато е натиснат, но не и когато е задържан, и "LOW", когато бутонът е отскочил назад или е задържан, след като е бил "HIGH" за момент.

Ако хронометърът брои и бутонът за стартиране/спиране излезе на „ВИСОК“, той спира да брои. Ако хронометърът е спрян и бутонът за стартиране/спиране излезе на „ВИСОК“, той започва да брои отново. И за двете състояния, ако бутонът за стартиране/спиране е "LOW", той ще остане в състоянието, в което се намира в момента.

Стъпка 4: Модул за разделяне на часовника

Модулът с разделител на часовника има един вход, тактовият сигнал на платката 100MHz и два изхода, 480Hz и 0.5MHz. Часовникът от 480Hz се използва за запазване на всички светодиоди на седем-сегментния дисплей "включени" едновременно чрез бързо превключване през четирите. Часовникът от 0,5 MHz се използва за хронометъра, за да брои действително с центи секунди.

Стъпка 5: Модул на дисплея

Този дисплей модул има пет входа, тактовата честота на 100MHz на платката, двата часовника от часовника и бутоните за стартиране/спиране и нулиране, както и два изхода, анодите и катодите. Този модул също има "логиката" за това как хронометърът брои и включва машината с крайни състояния.

Стъпка 6: Обвързващ модул

Този последен модул е този, който обединява другите два модула заедно. Той има три входа, 100MHz часовник на платката и бутоните за стартиране/спиране и нулиране, както и два изхода, анодите и катодите. Часовникът от 100 MHz отива към модула на разделителя на часовника и дисплея, а бутоните за стартиране/спиране и нулиране отиват към модула на дисплея. Изходите на модула за разделител на часовника (480Hz и 0.5MHz) отиват към двата входа на часовника на дисплея. Изходите на дисплейния модул (аноди и катоди) отиват към изходите на крайния модул.

Стъпка 7: Ограничения

Ограничения
Ограничения

Двата входа могат да бъдат всякакви бутони на платката Basys3 Atrix-7 FPGA, а изходите ще бъдат четирите анода и осемте катода (защото вие също искате десетична точка между секунди и милисекунди) за седем-сегментния дисплей.

Стъпка 8: Готово

Качете програмата на вашата платка Basys3 Atrix-7 FPGA и натиснете бутона за стартиране/спиране, за да стартирате хронометъра!

Препоръчано: