Мазмұны:

VHDL секундомері: 8 қадам (суреттермен)
VHDL секундомері: 8 қадам (суреттермен)

Бейне: VHDL секундомері: 8 қадам (суреттермен)

Бейне: VHDL секундомері: 8 қадам (суреттермен)
Бейне: 1.2 Основы языка VHDL. Базовые концепции описания устройств. 2024, Шілде
Anonim
VHDL секундомері
VHDL секундомері

Бұл Basys3 Atrix-7 тақтасы сияқты VHDL мен FPGA схемасын пайдаланып секундомер жасау туралы оқулық. Секундомер 00.00 секундтан 99.99 секундқа дейін есептей алады. Ол екі түймені пайдаланады, біреуі бастау/тоқтату түймесі үшін, екіншісі қалпына келтіру түймесі үшін. Сандар тақтаның жеті сегментті дисплейінде анодтары мен катодтары арқылы көрсетіледі. Бұл секундомердің жұмыс істеуі үшін үш түрлі файл қажет.

1 -қадам: аппараттық/бағдарламалық қамтамасыз ету

  • Basys3 Atrix-7 FPGA тақтасы
  • Xilinx ұсынған Vivado Design Suite
  • USB 2.0 A еркектен Micro-B еркегіне дейін

2 -қадам: блок -диаграмма

Блок диаграммасы
Блок диаграммасы

Жалпы секундомерде үш кіріс және екі шығыс бар. Үш кіріс - іске қосу/тоқтату, қалпына келтіру және сағат. Бастау/тоқтату және қалпына келтіру - бұл түймелер, ал сағат - тақтаның 100 МГц сағаты. Екі шығыс-жеті сегментті дисплейге арналған анодтар мен катодтар.

Бірінші модульде (сағат бөлгіш) бір кіріс және екі шығыс бар. Кіріс тақтаның 100 МГц сағаты, ал шығыс екі бөлек сағат, біреуі 480 Гц жиілікте, екіншісі 0,5 МГц.

Екінші модульде (дисплейде) бес кіріс және екі шығыс бар. Кірістер - бұл тақтаның 100 МГц сағаты, сағатты бөлу модулінің екі сағаты, іске қосу/тоқтату және қалпына келтіру түймелері. Шығатындар - анодтар мен катодтар.

Соңғы модульде (бүкіл блок -схема бойынша модельденген) үш кіріс және екі шығыс бар. Бұл бәрін біріктіретін файл. Кірістер - бұл тақтаның 100 МГц және іске қосу/тоқтату және қалпына келтіру түймелері. Шығу-бұл жеті сегментті дисплейді басқаратын анодтар мен катодтар. Барлық кіріс пен шығыс физикалық түрде соңғы модульге арналған тақтада болады.

3 -қадам: Мемлекеттік диаграмма

Мемлекеттік диаграмма
Мемлекеттік диаграмма

Жоғарыдағы суретте секундомер қалай жұмыс істейтіні туралы күй диаграммасы көрсетілген. Қалпына келтіру түймесін басу секундомердің күйіне әсер етпейді. Келесі күйді бастау/тоқтату түймесі анықтайды. Іске қосу/тоқтату басылған кезде «ЖОҒАРЫ» болып табылады, бірақ оны ұстап тұрғанда емес, «ТӨМЕН» түймешік қайта оралғанда немесе бір сәтте «ЖОҒАРЫ» болғаннан кейін ұстап тұрғанда «ТӨМЕН».

Егер секундомер саналып жатса және іске қосу/тоқтату түймесі «ЖОҒАРЫ» болса, онда ол санауды тоқтатады. Егер секундомер тоқтап, іске қосу/тоқтату түймесі «ЖОҒАРЫ» күйіне өтсе, ол қайтадан санай бастайды. Екі штат үшін де, егер бастау/тоқтату түймесі «ТӨМЕН» болса, онда ол қазіргі күйінде қалады.

4 -қадам: Сағат бөлгіш модулі

Сағат бөлгіш модулінің бір кірісі бар, тақтаның 100 МГц сағаты және екі шығысы, 480 Гц және 0,5 МГц сағаттары. 480 Гц сағаты жеті сегментті дисплейдегі барлық светодиодтарды бір уақытта «қосулы» күйде ұстап тұру үшін қолданылады, төртеуін жылдам ауыстыру арқылы. 0,5 МГц сағаты секундомердің іс жүзінде цент секундқа есептелуі үшін қолданылады.

5 -қадам: Дисплей модулі

Бұл дисплей модулінде бес кіріс бар, тақтаның 100 МГц сағаты, сағат модулінің екі сағаты, іске қосу/тоқтату және қалпына келтіру түймелері, екі шығысы - анодтар мен катодтар. Бұл модульде секундомердің ақырғы күй машинасын қалай есептейтіні және қосатыны туралы «логика» бар.

6 -қадам: байланыстыру модулі

Бұл соңғы модуль - қалған екі модульді біріктіретін модуль. Ол үш кірістен тұрады, тақтаның 100 МГц сағаты, іске қосу/тоқтату және қалпына келтіру түймелері, екі шығысы - анодтар мен катодтар. 100 МГц сағаты сағат бөлгіш модулі мен дисплей модуліне, ал іске қосу/тоқтату және ысыру түймелері дисплей модуліне өтеді. Сағат бөлгіш модулінің шығысы (480 Гц және 0,5 МГц) дисплей модулінің екі сағаттық кірісіне өтеді. Дисплей модулінің шығулары (анодтар мен катодтар) соңғы модульдің шығуына кетеді.

7 -қадам: шектеулер

Шектеулер
Шектеулер

Екі кіріс Basys3 Atrix-7 FPGA тақтасындағы кез келген түйме болуы мүмкін, ал шығыс сегіз дисплей үшін төрт анод пен сегіз катод болады (себебі сіз секунд пен миллисекунд арасындағы ондық нүктені алғыңыз келеді).

8 -қадам: Орындалды

Бағдарламаны Basys3 Atrix-7 FPGA тақтасына жүктеп, секундомерді іске қосу үшін іске қосу/тоқтату түймесін басыңыз!

Ұсынылған: