Мазмұны:
- 1 -қадам: Vivado -ны конфигурациялау
- 2 -қадам: VGA драйверінің IP орамасы
- 3 -қадам: Zynq IP
- 4 -қадам: GPIO IP
- 5 -қадам: жадты блоктау
- 6 -қадам: Басқа IP
- 7 -қадам: SDK
- 8 -қадам: Қорытынды
Бейне: Айна дисплейі: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл жобаның мақсаты - Smart Mirror кескінін көрсету функциясын құру. Айна болжамдарды (күн шуақты, күн ашық, бұлтты, жел, жаңбыр, найзағай, қар) және -9999 ° -дан 9999 ° -қа дейінгі температура мәндерін көрсете алады. Болжау мен температура мәндері оларды ауа -райының API -сінен талдауға еліктейтін сияқты қатаң кодталған.
Жоба FreeRTOS жұмыс істейтін Zynq-Zybo-7000 тақтасын қолданады және аппараттық құралдарды жобалау мен бағдарламалау үшін Vivado 2018.2 қолданады.
Бөлшектер:
Zynq-Zybo-7000 (FreeRTOS көмегімен)
19 «СКД (640x480)
VGA кабелі
12 «х 18» акрил айна
1 -қадам: Vivado -ны конфигурациялау
Xilinx -тен Vivado 2018.2 жүктеп алыңыз және Webpack лицензиясын қолданыңыз. Vivado мен «Жаңа жоба құру» іске қосыңыз және оған ат беріңіз. Содан кейін «RTL жобасын» таңдап, «Қазіргі уақытта дереккөздерді көрсетпеу» құсбелгісін қойыңыз. Бөлімді таңдағанда, «xc7z010clg400-1» таңдаңыз және келесі беттегі «Аяқтау» түймесін басыңыз.
2 -қадам: VGA драйверінің IP орамасы
Vga_driver.sv файлын Дизайн көздеріне қосыңыз. Әрі қарай, «Құралдар» түймесін басып, «Жаңа IP құру және бумалау» тармағын таңдаңыз. «Ағымдағы жобаны жинауды» таңдаңыз. Содан кейін IP орнын таңдаңыз және «.xci файлдарын қосыңыз.» Қалқымалы терезеде «ОК» түймесін басыңыз, содан кейін «Аяқтау».
«Қаптама қадамдары» бөлімінде «Қарап шығу және бумалау» бөліміне өтіп, «Пакеттік IP» таңдаңыз.
Енді vga_driver IP -блок ретінде қол жетімді болуы керек.
3 -қадам: Zynq IP
«IP интеграторы» бөлімінің астынан «Блок дизайнын жасауды» таңдаңыз. «ZYNQ7 өңдеу жүйесін» қосыңыз және блокты екі рет басыңыз. «XPS параметрлерін импорттау» түймесін басып, ZYBO_zynq_def.xml файлын жүктеңіз.
Әрі қарай, «PS-PL конфигурациясы» астында «AXI Secure Enablement» ашылмалы мәзірін ашып, «M AXI GP0 интерфейсін» тексеріңіз.
Әрі қарай, «MIO конфигурациясы» астында «Қолданбалы процессордың бірлігі» ашылмалы мәзірін ашып, «Таймер 0» мен «Бақылаушы» тексеріңіз.
Соңында, «Сағат конфигурациясы» астында «PL мата сағаттары» ашылмалы мәзірін ашып, «FCLK_CLK0» және 100 МГц жиілігін тексеріңіз.
4 -қадам: GPIO IP
Блок дизайнына екі GPIO блогын қосыңыз. GPIO пикселдердің мекен -жайын және пикселдердің RGB компоненттерін басқару үшін қолданылады. Блоктарды жоғарыдағы суретте көрсетілгендей конфигурациялаңыз. Екі блокты қосқаннан және конфигурациялағаннан кейін «Қосылымды автоматтандыруды іске қосу» түймесін басыңыз.
GPIO 0 - 1 арна пиксель адресін, ал 2 арна қызыл түсті басқарады.
GPIO 1 - 1 арна жасыл түсті, ал 2 арна көк түсті басқарады.
5 -қадам: жадты блоктау
Блоктық жад генераторының IP мекенжайын блок дизайнына қосыңыз және жоғарыда көрсетілгендей конфигурациялаңыз. Пиксель түстері жады адрестеріне жазылады, оларды VGA драйвері оқиды. Мекенжай жолы пайдаланылатын пиксельдер мөлшеріне сәйкес болуы керек, сондықтан ол 16 бит болуы керек. Деректер де 16 битті құрайды, себебі 16 түсті бит бар. Біз растау биттерін оқуға мән бермейміз.
6 -қадам: Басқа IP
Қосылған pdf -те аяқталған блок дизайны көрсетілген. Жоқ IP мекенжайын қосыңыз және қосылымдарды аяқтаңыз. Сондай -ақ, VGA түстік шығысы мен тік және көлденең синхрондау шығысы үшін «Сыртқы жасау».
xlconcat_0 - Жекелеген түстерді біріктіріп, ЖЖҚ Блокына берілетін 16 биттік RGB сигналын құрайды.
xlconcat_1 - VGA драйверінің бағаналық және жолдық сигналдарын біріктіреді және Block RAM жадының В портына беріледі. Бұл VGA драйверіне пиксель түсінің мәндерін оқуға мүмкіндік береді.
VDD - Тұрақты ЖОҚ блокты жедел жадының жазу мүмкіндігіне қосылады, осылайша біз оған әрқашан дұрыс бола аламыз.
xlslice_0, 1, 2 - Бөліктер RGB сигналын VGA драйверіне беруге болатын жеке R, G және B сигналдарына бөлу үшін қолданылады.
Блок дизайны аяқталғаннан кейін HDL қаптамасын жасаңыз және шектеулер файлын қосыңыз.
*Блок дизайны benlin1994 жазған оқулыққа негізделген*
7 -қадам: SDK
Бұл блоктық дизайнды іске қосатын код төменде берілген. Init.c сызбаны өңдейтін функцияларды қамтиды (болжамдар, сандар, дәреже белгісі және т.б.). Main.c ішіндегі негізгі цикл - бұл тақта бағдарламаланған кезде іске қосылатын нәрсе. Бұл цикл болжам мен температураның мәндерін орнатады, содан кейін init.c. ішіндегі тарту функцияларын шақырады. Қазіргі уақытта ол барлық жеті болжамды айналдырады және бірінен соң бірін көрсетеді. Әр суретті көру үшін 239 -жолға үзіліс нүктесін қосу ұсынылады. Код түсіндіріледі және сізге қосымша ақпарат береді.
8 -қадам: Қорытынды
Ағымдағы жобаны жақсарту үшін COE файлдары түрінде алдын ала жүктелген болжамды кескіндерді блоктау жад генераторларына жүктеуге болады. Болжамдарды С кодындағыдай қолмен салудың орнына, суреттерді оқуға болады. Біз мұны жасауға тырыстық, бірақ оны іске асыра алмадық. Біз пиксель мәндерін оқып, оларды шығара алдық, бірақ ол жедел жадыға жүктегенге ұқсамайтын суреттерді жасады. Block Memory Generator мәліметтер парағы оқуға пайдалы.
Жоба ақылды айнаның жартысы болып табылады, өйткені оның интернетке қосылу аспектісі жоқ. Осыны қосқанда толық Smart Mirror пайда болады.
Ұсынылған:
Шексіздік айна сағатын жасаңыз: 15 қадам (суреттермен)
Шексіздік айна сағатын жасаңыз: Алдыңғы жобада мен шексіз айнаны салдым, оның негізгі мақсаты - оны сағатқа айналдыру. (Түрлі -түсті шексіздік айнасын жасаңыз) Мен оны жасағаннан кейін оны іздеген жоқпын, себебі ол керемет көрінгенімен, онда бірнеше нәрсе болды
Қара айна: 4 қадам
Қара айна: Бұл жоба менің ақылды айна жасауға талпынысым болды. Менің бұл жобадағы мақсатым - айнада әлі де көрінетін сағаты бар айна жасау. Осылайша, сіз таңертең дайындалып жатқанда, дәл уақыт келді. Мен де жарнама жасауға тырыстым
Портативті ақылды айна/макияж қорапшасын қалай жасауға болады: 8 қадам
Портативті ақылды айнаны қалай жасауға болады/макияж қорапшасы комбинациясы: Дэвистегі қақпағым үшін соңғы жоба ретінде & Элкинс колледжінде мен үлкен айна мен порт ретінде жұмыс істейтін таңқурай пи мен сиқырлы айна бағдарламалық қамтамасыз ету платформасын қолданумен бірге саяхат қорапшасын жобалауға және құруға бел будым
Потенциометрі бар шексіз айна сағаты: 3 қадам
Потенциометрі бар шексіз айна сағаты: Мен шексіздік айнасын кездестірдім, мен оны керемет деп таптым. Бұл мені шексіз айна жасауға шабыттандырды, бірақ маған мақсат қажет болды. Сонымен, мен жұмыс істейтін шексіз айна сағатын жасауды шештім. Бұл сізге мүмкіндік беретін шексіз айна
Arduino мен TFT дисплейі арқылы нақты уақытты қалай жасауға болады - 3,5 дюймдік TFT дисплейі бар Arduino Mega RTC: 4 қадам
Arduino мен TFT дисплейі көмегімен нақты уақытты қалай жасауға болады | 3,5 дюймдік TFT дисплейі бар Arduino Mega RTC: Менің Youtube каналыма кіріңіз. Кіріспе:- Бұл жазбада мен 3,5 дюймдік TFT сенсорлы СКД, Arduino Mega көмегімен «Нақты уақыттағы сағат» жасаймын. 2560 және DS3231 RTC модулі… .Бастамас бұрын… бейнесін менің YouTube каналымнан қараңыз .. Ескерту:- Егер сіз Arduin қолдансаңыз