INHOUDSOPGAWE:
- Stap 1: Configureer Vivado
- Stap 2: Verpakking van die VGA -bestuurder -IP
- Stap 3: Zynq IP
- Stap 4: GPIO IP
- Stap 5: Blok geheue
- Stap 6: Ander IP
- Stap 7: SDK
- Stap 8: Gevolgtrekking
Video: Spieëlskerm: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Die doel van hierdie projek is om die beeldskermfunksies van 'n Smart Mirror te skep. Die spieël kan voorspellings (sonnig, gedeeltelik sonnig, bewolk, winderig, reën, donder en sneeu) en temperatuurwaardes van -9999 ° tot 9999 ° vertoon. Voorspellings- en temperatuurwaardes word hard gekodeer asof dit geëvalueer word deur die ontleding van 'n weer -API.
Die projek gebruik 'n Zynq-Zybo-7000-bord met FreeRTOS en gebruik Vivado 2018.2 om die hardeware te ontwerp en te programmeer.
Dele:
Zynq-Zybo-7000 (met FreeRTOS)
19 LCD (640x480)
VGA kabel
12 "x 18" akriel spieël
Stap 1: Configureer Vivado
Laai Vivado 2018.2 van Xilinx af en gebruik die Webpack -lisensie. Begin Vivado en "Skep nuwe projek" en gee dit 'n naam. Kies dan 'RTL -projek' en merk 'Moenie bronne spesifiseer nie'. As u 'n onderdeel kies, kies 'xc7z010clg400-1' en die treffer 'Voltooi' op die volgende bladsy.
Stap 2: Verpakking van die VGA -bestuurder -IP
Voeg die vga_driver.sv -lêer by die ontwerpbronne. Klik vervolgens op "Tools" en kies "Create and Package New IP." Kies "Pak u huidige projek in." Kies dan 'n IP -ligging en "Sluit.xci -lêers in." Klik op "OK" in die pop -upvenster en dan op "Voltooi".
Gaan na "Verpakkingstappe" na "Hersien en verpak" en kies "Pakket -IP."
Nou moet die vga_driver beskikbaar wees as 'n IP -blok.
Stap 3: Zynq IP
Kies "Skep blokontwerp" onder die afdeling "IP Integrator". Voeg die "ZYNQ7 Processing System" by en dubbelklik op die blok. Klik op "Import XPS Settings" en laai die ZYBO_zynq_def.xml -lêer op.
Open vervolgens onder 'PS-PL-konfigurasie' die aftreklys vir 'AXI Non Secure Enablement' en kyk na 'M AXI GP0-koppelvlak'.
Open vervolgens die 'vervolg keuselys' onder 'MIO -konfigurasie' vir 'Toepassingsverwerker -eenheid' en kyk na 'Timer 0' en 'Watchdog'.
Laastens, onder "Klokkonfigurasie", open die aftreklys vir "PL Fabric Clocks" en merk "FCLK_CLK0" en by 100 MHz.
Stap 4: GPIO IP
Voeg twee GPIO -blokke by die Block Design. Die GPIO's sal gebruik word om die pixeladres en die RGB -komponente van die pixels te beheer. Stel die blokke op soos in die prente hierbo getoon. Nadat u albei blokke bygevoeg en gekonfigureer het, klik dan op "Run Connection Automation".
GPIO 0 - Kanaal 1 beheer die pixeladres en kanaal 2 beheer die rooi kleur.
GPIO 1 - Kanaal 1 beheer die groen kleur en kanaal 2 beheer die blou kleur.
Stap 5: Blok geheue
Voeg 'n Block Memory Generator IP by die Block Design en stel dit op soos hierbo getoon. Die pixelkleure word na geheue -adresse geskryf, wat dan deur die VGA -bestuurder gelees word. Die adresreël moet ooreenstem met die hoeveelheid pixels wat gebruik word, sodat dit 16 bis moet wees. Die data in is ook 16 bisse, aangesien daar 16 kleurbitte is. Ons gee nie om die erkenning van stukkies nie.
Stap 6: Ander IP
Die aangehegte pdf toon die voltooide blokontwerp. Voeg die ontbrekende IP by en voltooi die verbindings. Ook "Make Externals" vir die VGA -kleuruitsette en die vertikale en horisontale sinchronisasie -uitsette.
xlconcat_0 - Verbind die individuele kleure om een 16 -bis RGB -sein te vorm wat in die blok -RAM ingevoer word.
xlconcat_1 - Verbind die kolom- en ry -seine van die VGA -bestuurder en word in poort B van die blok -RAM gevoer. Dit stel die VGA -bestuurder in staat om pixelkleurwaardes te lees.
VDD - Constant HIGH is gekoppel aan die skryfaktiwiteit van die Block RAM, sodat ons dit altyd kan regkry.
xlslice_0, 1, 2 - Die snye word gebruik om die RGB -sein in individuele R-, G- en B -seine te breek wat in die VGA -bestuurder ingevoer kan word.
Sodra die blokontwerp voltooi is, genereer 'n HDL -omhulsel en voeg die beperkingslêer by.
*Blokontwerp is gebaseer op die tutoriaal wat deur Benlin1994 geskryf is*
Stap 7: SDK
Die kode wat hierdie blokontwerp uitvoer, is hieronder ingesluit. Init.c bevat die funksies wat die tekening hanteer (voorspellings, getalle, graadsimbool, ens.). Die hooflus in main.c is wat loop wanneer die bord geprogrammeer word. Hierdie lus stel die voorspellings- en temperatuurwaardes in en noem dan die tekenfunksies in init.c. Dit loop tans deur al sewe voorspellings en vertoon die een na die ander. Dit word aanbeveel dat u 'n breekpunt by reël 239 byvoeg sodat u elke prent kan sien. Daar word kommentaar gelewer op die kode en dit sal u meer inligting gee.
Stap 8: Gevolgtrekking
Om die huidige projek te verbeter, kan u voorspellingsbeelde in die vorme van COE -lêers na laai -geheueopwekkers oplaai. Dus, in plaas van om die voorspellings met die hand te teken, soos ons in die C -kode gedoen het, kan u die beelde laat inlees. Ons het probeer om dit te doen, maar kon dit nie laat werk nie. Ons kon pixelwaardes lees en dit aflewer, maar dit het rommelige beelde geskep wat niks anders was as die wat ons na die RAM gelaai het nie. Die datablad van die Block Memory Generator is handig om te lees.
Die projek is in wese 'n halwe Smart Mirror, aangesien dit nie die internetverbindingsaspek ontbreek nie. As u dit byvoeg, kry u 'n volledige Smart Mirror.
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies