FPGA Robotics Vision för någon (4 / 5 steg)

Steg 4: Explenation VHDL-kod



VHDL-kod är inte lik C kod. VHDL är faktiskt en beskrivning språk, med detta språk du kan "beskriva" hur FPGA chip bör uppträda. Det är i princip som att rita en schematisk men nu du gör det i ord.

TopLevel

Ta en titt på bilden bifogas detta steg, detta kallas Toplevel. På toplevel alla enskilda kodblock kan ses och jag kommer att kort beskriva vad deras funktioner är.

POWER_ON_RESET_CONTROLLER

Detta block hand tar att alla andra återställs korrekt när kraften är anbringat sig till systemet. Detta sker genom väntar lång tid använder en state-maskin och väntan det gör det har produktionen NOT_POR_RESET låg. Denna signal är ansluten till alla andra block och återställer dem / hindrar dem från att starta tills detta återställa puls är över (kommer till hög nivå).

Blinkled

Bara mitt sätt att hello-world, jag använder detta för att låta min styrelse anger dess alive (genom blinkande lysdioder)

clock_divider

Dividerar klockan med 2 och matar detta till OV7670 eftersom OV7670 inte kan använda den 50MHz från fpga styrelsen (för höga).

datasplitter

Fungerar som en dubbelriktad buss buffert med 3state alternativ. Inte riktigt använt ännu, TFT är endast skriftliga till men är det möjligt att också läsa från TFT registren.

ili9325_16bitcameradata

Detta block först konfigurerar TFT är ansluten till (höger efter makt på återställning är klar). Exempelvis ställer TFT i RGB565 läge. Efter att det går in i skrivläge och allt den gör är ständigt uppdatera vyn TFT (visar antingen kameran eller tresholded bilder. När detta block är gjort signaler och konfigurera det till nästa block att det kan börja sin konfiguration:

OV7670_sccb_initialisation

Detta block tog en hel del arbete. Omnivision Kamera (OV7670) måste konfigureras efter uppstart. Till exempel behöver vi ställa in sin produktion på RGB565 läge (vilket betyder R-faktor på en pixel är 5 bitar, G är 6 och B är 5 igen). Jag valde att göra det matchar med min ILI9325 TFT som har samma funktioner. Sccb påminner mycket om I2C (I-torget-C, protokoll uppfanns av Philips för länge sedan). Men det har sina skillnader som tog mig många många timmar att få rätt!

image_tresholding

Sist men inte minst. Detta är där den verkliga magiskt händer. Blocket får bilder från OV7670 kameran (driven av kamerans HREF och VSYNC linjer som tillsammans visar en start + slutet av RAM (bild)). Inuti blocket görs jämförelsen för varje pixel (realtime!) med kännetecknen av pixel spänna vi leta efter (i detta fall ljusa pixlar). SW1 finns det att välja att se på TFT: vanlig kamera eller tresholded bilder. Image_treshold blocket skickar också raderna VSYNC och HREF av kameran till ili9325 block som krävs för att köra och synkronisera TFT för att visa bilderna.

Så detta var en grundläggande beskrivning av alla block, de som vill ha mer detaljer jag inbjuder att titta i VHDL-codefiles för alla dessa block.

Se Steg
Relaterade Ämnen

Hur man kan förbättra ögon utan smink

Hej! Här är hur man kan förbättra ögon utan smink... Mina ögon är antingen grön eller blå... Ingen kan verkligen berätta... Men genom att följa dessa tips mina ögon har fått många komplimanger.Steg 1: Steg 1 Detta är den viktigaste punkten... Få mass...

(POV) Ihållande Vision världen

! Uppdatera! Jag har lagt till ett excel-program som gör det mycket lättare att rita och kod nya bilder!En enkel persistens av vision klot. Spela upp VIDEODetta är ett projekt som jag haft i åtanke under en längre tid och "Göra det Glow" tävling...

8 ben gräsmatta Crawler

Denna 8 ben crawler kryper runt gräsmattan skrämmande trick eller treaters med några oväntade biverkningar att lämna gräsmattan sökvägen minst reste och godis skålen ett ställe som inte många vågar äventyr nära. Projektet är Robomower drivs som sätte...

Robot kostym

Under åren har jag upptäckt att denna kostym aldrig misslyckas med att skapa intresse hos både unga och gamla. Det är ingen överraskning heller, det är olika lampor, buzzers och fans (för bärarens komfort) gör alltid detta kostym en stor hit. Det är...

Multi-Functional Star Wars Astromech Droid

E4-B4Astromechdroid för hemmet.Videolänkar för mobila enheter som inte kommer att spela video bilderna ovan:Tillverkningen av E4-B4 Astromech Droid VideoE4-B4: Showcase Video, en del 1E4-B4: Rocket Man VideoE4-B4: Sugen på en Drink?E4-B4: Dome viftar...

Steampunk glasögon: Personliga Vision Enhancers

dessa Steampunk Goggles inspirerad av, bland annat Gogglerman på Instructables och Jake Van Slatt på The Steampunk Workshop, arbete är ett försök att kombinera den Steampunk estetiskt med produktionen av vissa funktionella eye-wear som skulle produce...

HDR glasögon: från cyborg svetsning hjälmar till Wearable beräkning i vardagen

Detta Instructable är inte en lektion om hur att använda befintliga HDR (High Dynamic Range) programvara. I stället det ger dig en DIY (gör det själv) metod att skriva din egen HDR programvara och skapa dina egna system som kan potentiellt gå utöver...

Intellekten Edison och Ridemakerz RC chassi Robotics plattform

När jag var inbjuden att delta i Intel IOT tävlingen trodde jag det var en fantastisk möjlighet. Först av allt, skulle det ge mig tillgång till några riktigt awesome hårdvara och sensorer. Jag är en maker på en budget, så det var bra. Jag är också en...

BristleSwarm: Explorations in svärm Robotics

En växande gren av robotteknik forskning är studier av svärm organisation, emergent beteende och artificiell intelligens med hjälp av autonoma robotic agenter. I detta Instructable ska jag gå igenom en veckas projekt som jag skapat som en del av min...

FPGA solpanel Optimizer

Solceller: Maximal irradians upptäcktSolceller konvertera ljus till elektricitet med hjälp av silikon eller några andra halvledarmaterial genom att absorbera fotoner med tillräckligt med energi för att slå elektronerna fria så att de kan flöda som en...

Bop med FPGA ombord

Välkommen till Bop det med FPGA styrelsen Instructable,Projektet arbetar med CPE 133 på Cal Poly, San Luis Obispo. Detta projekt skapades av Ian Nielsen och Omri Nissan. Utanför koder var inblandade på olika platser och nämns i den slutliga rapporten...

BitRunner FPGA spelet

Skapa och spela upp egna bitars Runner spel. Ingen konsol eller biffiga dator krävs! Tryck på knappen dodge att undvika inkommande hinder för att uppnå högsta poäng! Detta projekt är hyggligt hårt, en utmaning för nybörjare men inte för experter.Dett...

DIY 4WD bil organ för arduino robotics projekt och RC bilar

Hej instructables nördar hälsningar från Egypten :) :)i detta instructable jag kommer att visa dig hur att designa och göra en 4 hjul bil för robotics, arduino, RC bilar... etc. på ett enkelt sätt bara följa mig ;): D >>>Steg 1: Designa kroppen J...

Billiga DIY lupp för Low Vision patienter

detta är en låg vision läsa lupp. Enkel och billig DIY lupp.Personer med nedsatt syn, behöver något att förstora bokstäverna för att kunna läsa den.Med detta, allt du behöver göra är att placera den över texten och Läs.Du behöver:En glödlampa.Vatten....

Anpassade läsglasögon

så här lata gamla Geek gick in Dollar store att prova på några läsglasögon. Jag försökte en 1.0 makt och jag kunde läsa ganska bra med mitt vänstra öga. Jag försökte en 3.0 makt och jag kunde läsa ganska bra med mitt högra öga.Konstigt men jag vet eg...

Charlie Sheen Warlock Laser ögon

Rösta i "Wicked Lasers Contest" & "MakerBot utmaning" Charlie säger vinnareNya videor läggs, fortfarande ganska mörkt ändå!Bara så alla vet, detta inte är en attack på Charlie Sheen i synnerhet. Detta skulle ha kunnat baseras på nå...

Sätta fast misstag koden E17 & E13 Bosch Vision 500 med Aquashield

Min Bosch Vision 500 bricka ger alltid mig felkoder E17 och E13.E17 visar att vatten är läcker och komma in i botten av din dator.E13 indikerar att din pump tar för lång tid att tömma maskinen och måste rensas ut.Idag ska jag visa dig hur du tar "Aqu...

En riktigt enkel/lätt/inte komplicerat sätt att göra människor/människor/djur/robotar ser ut som de har verkligen cool/ljusa värme vision (valfri färg) med hjälp av GIMP

läsa... den... titel...Steg 1: Duh! Öppen upp en bild av någon på gimp.Steg 2: Borttagning av röda ögon (valfritt) Pic 1 - gå till filter > förbättra > borttagning av röda ögon.Bild 2 - Skjut tröskeln till 100Bild 3 - resultatet. Jag gör detta för a...

8-stegs FPGA Sequencer och Synthesizer

I denna tutorial ska vi göra en 8-stegs synthesizer för vår FPGA styrelse. Vi kommer att arbeta med Digilient Nexys 2 styrelsen men vår kod skulle kunna ändras för andra styrelser. Projektet byggdes av Lincoln Tran och Joseph Coplon för vårt sista pr...