Мазмұны:
- 1 -қадам: Аппараттық/бағдарламалық қамтамасыз етуді алыңыз
- 2 -қадам: блок -диаграмма
- 3 -қадам: Жоба модулі
- 4 -қадам: шектеулер
- 5 -қадам: Тест
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Бұл VHDL мен Basys 3 тақтасының көмегімен бір минуттық секундомерді құру туралы нұсқаулық. Мұндай құрылғы әр ойыншының қозғалысына бір минут уақыт беретін ойындар үшін өте қолайлы. Секундомер жеті сегментті дисплейде секунд пен миллисекундты дәл көрсетеді, 0 секундтан 0 миллисекундқа дейін, 60 секунд пен 0 миллисекундқа дейін. Сонымен қатар екі түйме қолданылады: таймерді іске қосуға, тоқтатуға және жалғастыруға арналған орталық түйме және таймерді қайта іске қосу үшін оң жақ түймешік. Құрылғыны смартфонның кіріктірілген секундомерімен қатар салыстырған кезде, сағат дәлдігі байқалады.
1 -қадам: Аппараттық/бағдарламалық қамтамасыз етуді алыңыз
1. Micro-USB бар Digilent-тен USB кабеліне Basys 3 Artix-7 FPGA жаттықтырушы тақтасы
2. Vivado 2016.2 Xilinx ұсынған Design Suite
2 -қадам: блок -диаграмма
Бұл схема мінез-құлық бойынша жасалған және Xilinx кіріктірілген компоненттерін қолданады, бірақ сонымен қатар құрылымдық түрде сипатталуы мүмкін, жоғарыдағы жалпы құрылымдық диаграммада көрсетілгендей. Диаграммадан тізбектің екі жиілік бөлгішпен қозғалатынын көруге болады. Жиілік бөлгіштердің бірі 1 центисекундта жұмыс істейді және жеті сегментті дисплейде көрсетілген сандар ретінде пайдаланылатын катодты есептегішті басқарады. Екінші жиілікті бөлгіш 240 Гц жиілікте жұмыс істейді және барлық сандар жеті сегментті дисплейде дұрыс көрсетілуі үшін анодтар арқылы айналатын анодты санауышты жүргізуге арналған. Кодер катодтық есептегіштен катодтық логиканы және анодты есептегіштен анодтық логиканы алады және оны жеті сегментті дисплейде жұмыс істейтін катод пен анодқа кодтайды. Бұл кодердің функциясы анод шығысы өзгерген сайын катодтың шығуы өзгереді. Катодты есептегіштен тәуелсіз іске қосу мүмкін емес, себебі анодтар 4 бөлек цифр арқылы айналуы керек.
3 -қадам: Жоба модулі
Біріншіден, CEN үшін технологиялық блок батырманы басу анықталған кезде ҚОСУ қосылады. Бұл катодты санауыштың тоқтауы/басталуы ретінде қызмет етеді.
Келесі технологиялық блокта центисекундтық және 240Гц жиілік сигналдары олардың 100мГц ішкі сағаты көтерілу шегіне жеткен сайын олардың сәйкес есептегіштері 1 -ге ұлғайтылатын етіп орнатылады. Центекундтық санауыш 500000 -ға жеткенде, ол 0 -ге қайта оралады. Бұл кезде 240Гц есептегіш санау 41667 -ге жеткенде қалпына келтіріледі.
Кодтың катодтық бөлімі үшін ENABLE «0» болса, катодты санау кідіртіледі. Егер осы уақыт ішінде қалпына келтіру түймесі басылса, онда барлық санаулар «0000» қалпына келтіріледі. Сонымен бірге, егер ENABLE «1» болса, катодты санау катодты санау 60.00 -ге жеткенше жалғасады, онда ол «1» деп тоқтау сигналын береді. Тоқтату сигналы CEN технологиялық блогына қайта оралады және «1» күйінде тұру сигналын қосқанда «0» күйге келтіреді және қалпына келтіру түймесі басылғанша өзгермейді.
Ақырында, жеті сегментті дисплей 4 анодты олардың 8 катодының әрқайсысымен дұрыс байланыстыру арқылы 0-9 цифрларын бір уақытта көрсету үшін орнатылады.
4 -қадам: шектеулер
Бұл шектеулер файлы VHDL -ден көрсетілген кірістер мен шығыстарды Basys тақтасының қажетті физикалық бөліктеріне қосады. Бұл жоба үшін компоненттер жеті сегментті дисплейге арналған төрт анодты және олардың сегіз катодының әрқайсысын, 100 мГц ішкі сағатты, орталық түймені және оң жақ түймешікті қамтиды.
5 -қадам: Тест
Кодты аяқтағаннан кейін FPGA бағдарламасын USB кабелі арқылы бағдарламалауға болады. Жеті сегменттің дисплейінде 0.00 көрсетілуі керек. 60.00 -ге жеткенше және тоқтағанша таймерді іске қосу үшін орталық түймені басу арқылы түймелердің жұмыс істейтінін тексеру; кез келген уақытта кідірту үшін орталық түймені қайта басуға болады. Уақытша тоқтатылғаннан кейін таймерді 0.00 қалпына келтіру үшін оң жақ батырманы басуға болады. Егер бәрі дұрыс жұмыс істесе, құттықтаймын, сіз бір минуттық таймер құрдыңыз!
Ұсынылған:
Arduino минуттық трекері: 3 қадам
Arduino Minutes Tracker: Бұл оқулықта мен сізге Arduino Uno көмегімен минуттық трекер жасауды үйретемін. Минуттық трекер - бұл уақыт өте келе бір нәрседе қанша уақыт жұмыс жасағаныңызды бақылауға болатын құрылғы. Сіз минут санауды бастау үшін бастау түймесін басасыз
Beetleweight роботтар үшін «5 минуттық» щеткасыз редуктор: 6 қадам
«5 минуттық» қылқаламсыз роторлы қозғалтқыш: «5 минуттық щеткасыз роторлы қозғалтқыш» идеясы қысқа уақыт ішінде желідегі форумдар/Facebook топтары айналасында қозғалатын боттардың жетекші нұсқасы ретінде айналып жүрген сияқты. Қылқаламсыз қозғалтқыштар мөлшері/салмағы бойынша көп қуат жинайтындықтан, бұл тартымды
20 минуттық USB күн батареясы!: 3 қадам
20 минуттық USB күн батареясы!: Мен осы демалыс күндері аталарымның ранчосына кетіп бара жатыр едім және соңғы сәтте телефонымды зарядтау үшін бірдеңе керек екенін түсіндім. Менің үйімде тек кейбір компоненттермен күн батареясын зарядтау идеясы келді, және ол жұмыс істейді !!!: D Сізге қажет материалдар
UC бар өшіру ілмегінің тізбегі. Бір басу түймесі. Бір түйреуіш. Дискретті компонент: 5 қадам
UC бар өшіру ілмегінің тізбегі. Бір басу түймесі. Бір түйреуіш. Дискретті компонент. Барлығына сәлем, желіде қосу/өшіру схемасын іздедім. Мен тапқандардың бәрі мен іздегендей болмады. Мен өзіммен сөйлестім, бұған міндетті түрде жол бар. Бұл маған қажет болды. Қосу және өшіру үшін тек бір түйме.-Тек пайдалану керек
VHDL мен Basys3 тақтасын қолданатын негізгі секундомер: 9 қадам
VHDL және Basys3 тақтасын қолданатын негізгі секундомер: Негізгі VHDL және Basys 3 тақтасын пайдаланып секундомерді құру туралы нұсқаулыққа қош келдіңіз. Біз сіздермен өз жобамызбен бөлісуге қуаныштымыз! Бұл 2016 жылы күзде SL Poly, SLO -да CPE 133 (цифрлық дизайн) курсының соңғы жобасы болды. Біз құрастырған жоба