Inhoudsopgave:
- Stap 1: Bouw een elektronisch circuit
- Stap 2: Bewerk Verilog-code
- Stap 3: Upload Verilog-code
- Stap 4: Upload Raspberry Pi-code
- Stap 5: Laten we het proberen
Video: FPGA Cyclone IV DueProLogic bestuurt Raspberry Pi-camera - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Ondanks dat de FPGA DueProLogic officieel is ontworpen voor Arduino, gaan we de FPGA en Raspberry Pi 4B communiceerbaar maken.
In deze zelfstudie worden drie taken geïmplementeerd:
(A) Druk tegelijkertijd op de twee drukknoppen op FPGA om de hoek van de RPi-camera om te draaien.
(B) Raspberry Pi 4B bestuurt het externe LED-circuit van FPGA.
(C) Live stream de Raspberry Pi Camera op Browser via WiFi
Stap 1: Bouw een elektronisch circuit
Stap 2: Bewerk Verilog-code
Wanneer u de FPGA DueProLogic koopt, zou u een dvd moeten ontvangen. Nadat u "Projects_HDL" hebt geopend, zou u het originele HDL-codebestand moeten zien. Nadat u de pinplanner heeft ingesteld, voegt u de gemarkeerde code toe zoals weergegeven in sectie 2A, 2B, 2C en 2D.
2A: Om drukknoppen te activeren, moet je deze code gebruiken
// Drukknopschakelaars
ingangsdraad UBA,
ingangsdraad UBB
Om met Raspberry Pi te communiceren, moet je deze toevoegen.
reg sel_send; // activeer Raspberry pi
reg ontvangst; // ontvangen van frambozenpi
2B: Om waarden aan de poorten toe te kennen, moet u de code dienovereenkomstig bewerken
toewijzen XIO_1[3] = start_stop_cntrl;
toewijzen XIO_2[2] = rece; //uitgang HOOG of LAAG in LED-circuit
toewijzen XIO_2[3] = ~UBA; //druk op de knop
toewijzen XIO_2[4] = UBB; //druk op de knop
toewijzen XIO_2[5] = sel_send; // FPGA stuurt signaal naar Raspberry Pi
toewijzen sel_read= XIO_5[1]; //FPGA ontvangt signaal van Raspberry Pi
wijs c_enable = XIO_5[2] toe; //XIO_5 -- UB57 -- D17
wijs LEDExt = XIO_5[5] toe;
2C: Als twee drukknoppen tegelijkertijd worden ingedrukt, stuurt de FPGA HOGE output naar Raspberry Pi.
altijd @(sel_send of UBB of UBA) //send to RPi
beginnen
als (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
anders
sel_send = 1'b0;
einde
2D: De FPGA leest het signaal van de Raspberry Pi met de klokfrequentie van 66MHz. De poort XIO_2[2] is gekoppeld aan 'rece'.
altijd @(sel_read) //lees pi
beginnen
if (sel_read == 1'b1)
rece = 1'b0;
anders
rece = 1'b1;
einde
Stap 3: Upload Verilog-code
Upload vervolgens het gecompileerde pof-bestand naar de FPGA. Als er geen hardware automatisch wordt gedetecteerd, klikt u op "Hardware Setup" om het handmatig te corrigeren
Stap 4: Upload Raspberry Pi-code
Door de gemarkeerde lijnen kan de FPGA communiceren met Raspberry Pi.
De volledige Raspberry Pi-code voor dit project,
A = GPIO.input(pin) #read FPGAprint(A);
als(A==1):
camera.rotatie = 0
GPIO.output (18, GPIO. LOW) #verzenden naar FPGA
als(A==0):
camera.rotatie = 180
GPIO.output (18, GPIO. HIGH) #verzenden naar FPGA
Stap 5: Laten we het proberen
Open uw browser en typ uw IP-adres, b.v. 192.168.xx.xxx:8000.
Het systeem moet immers werken!
Aanbevolen:
Maak elke sensor uit een FPGA: 4 stappen
Maak elke sensor uit een FPGA: de meeste makers hebben minstens één keer in hun leven geprobeerd een thermometer te bouwen, misschien is degene die ze thuis hebben niet slim genoeg, of misschien denken ze dat ze het volgende NEST kunnen bouwen. Niettemin hadden ze op een gegeven moment een microcontroller met hun status
FPGA-reactiespel: 10 stappen
FPGA-reactiespel: tegen de zomer Rutherford en Regita Soetandar
IoT-knop die uw app bestuurt: 6 stappen
IoT-knop die uw app bestuurt: een van de dingen die ik het leukst vind aan microcontrollers, is de mogelijkheid om ze als invoerapparaat te gebruiken, de Arduino Micro kan bijvoorbeeld worden gebruikt als een HID (human interface-apparaat), wat betekent dat met wat codering en knowhow je zou je eigen keyboa kunnen maken
PmodWiFi FPGA-stuurprogramma: 9 stappen
PmodWiFi FPGA-stuurprogramma: dit is een Instructable voor diegenen die een Pmod WiFi willen gebruiken in combinatie met een FPGA-bord
FPGA Asteroid Game: 7 stappen (met afbeeldingen)
FPGA Asteroid Game: Voor ons CPE 133 Final Project hebben we besloten om een asteroïden-game te maken op onze FPGA met behulp van twee drukknopschakelaars en het 7-segments display. De game werkt zo dat een asteroïde spawnt in een van de drie willekeurig geselecteerde rijen en naar de