Мазмұны:

Айна дисплейі: 8 қадам
Айна дисплейі: 8 қадам

Бейне: Айна дисплейі: 8 қадам

Бейне: Айна дисплейі: 8 қадам
Бейне: Анна Болейн - путь от престола на плаху #Shorts 2024, Шілде
Anonim
Айна дисплейі
Айна дисплейі
Айна дисплейі
Айна дисплейі
Айна дисплейі
Айна дисплейі

Бұл жобаның мақсаты - Smart Mirror кескінін көрсету функциясын құру. Айна болжамдарды (күн шуақты, күн ашық, бұлтты, жел, жаңбыр, найзағай, қар) және -9999 ° -дан 9999 ° -қа дейінгі температура мәндерін көрсете алады. Болжау мен температура мәндері оларды ауа -райының API -сінен талдауға еліктейтін сияқты қатаң кодталған.

Жоба FreeRTOS жұмыс істейтін Zynq-Zybo-7000 тақтасын қолданады және аппараттық құралдарды жобалау мен бағдарламалау үшін Vivado 2018.2 қолданады.

Бөлшектер:

Zynq-Zybo-7000 (FreeRTOS көмегімен)

19 «СКД (640x480)

VGA кабелі

12 «х 18» акрил айна

1 -қадам: Vivado -ны конфигурациялау

Vivado конфигурациясы
Vivado конфигурациясы
Vivado конфигурациясы
Vivado конфигурациясы

Xilinx -тен Vivado 2018.2 жүктеп алыңыз және Webpack лицензиясын қолданыңыз. Vivado мен «Жаңа жоба құру» іске қосыңыз және оған ат беріңіз. Содан кейін «RTL жобасын» таңдап, «Қазіргі уақытта дереккөздерді көрсетпеу» құсбелгісін қойыңыз. Бөлімді таңдағанда, «xc7z010clg400-1» таңдаңыз және келесі беттегі «Аяқтау» түймесін басыңыз.

2 -қадам: VGA драйверінің IP орамасы

VGA драйверінің IP орамасы
VGA драйверінің IP орамасы
VGA драйверінің IP орамасы
VGA драйверінің IP орамасы

Vga_driver.sv файлын Дизайн көздеріне қосыңыз. Әрі қарай, «Құралдар» түймесін басып, «Жаңа IP құру және бумалау» тармағын таңдаңыз. «Ағымдағы жобаны жинауды» таңдаңыз. Содан кейін IP орнын таңдаңыз және «.xci файлдарын қосыңыз.» Қалқымалы терезеде «ОК» түймесін басыңыз, содан кейін «Аяқтау».

«Қаптама қадамдары» бөлімінде «Қарап шығу және бумалау» бөліміне өтіп, «Пакеттік IP» таңдаңыз.

Енді vga_driver IP -блок ретінде қол жетімді болуы керек.

3 -қадам: Zynq IP

Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
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 IP
GPIO IP
GPIO IP
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 пайда болады.

Ұсынылған: