Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Bien que le FPGA DueProLogic soit officiellement conçu pour Arduino, nous allons rendre le FPGA et le Raspberry Pi 4B communicables.
Trois tâches sont mises en œuvre dans ce tutoriel:
(A) Appuyez simultanément sur les deux boutons poussoirs du FPGA pour inverser l'angle de la caméra RPi.
(B) Raspberry Pi 4B contrôle le circuit LED externe du FPGA.
(C) Diffusez en direct la caméra Raspberry Pi sur le navigateur via WiFi
Étape 1: Construire un circuit électronique
Étape 2: Modifier le code Verilog
Lorsque vous achetez le FPGA DueProLogic, vous devriez recevoir un DVD. Après avoir ouvert "Projects_HDL", vous devriez voir le fichier de code HDL d'origine. Après avoir configuré le planificateur de broches, ajoutez le code en surbrillance comme indiqué dans les sections 2A, 2B, 2C et 2D.
2A: Pour activer les boutons poussoirs, vous devez utiliser ce code
//Commutateurs à bouton-poussoir
fil d'entrée UBA,
fil d'entrée UBB
Pour communiquer avec Raspberry Pi, vous devez les ajouter.
reg sel_send; //activer Raspberry pi
reg rece; //reçu de raspberry pi
2B: Pour attribuer des valeurs aux ports, vous devez modifier le code en conséquence
assigner XIO_1[3] = start_stop_cntrl;
assigner XIO_2[2] = rece; //sortie HAUT ou BAS dans le circuit LED
assigner XIO_2[3] = ~UBA; // bouton poussoir
affecter XIO_2[4] = UBB; // bouton poussoir
assigner XIO_2[5] = sel_send; // Le FPGA envoie un signal au raspberry pi
assigner sel_read= XIO_5[1]; //Le FPGA reçoit le signal de Raspberry Pi
assigner c_enable = XIO_5[2]; //XIO_5 -- UB57 -- D17
affecter LEDExt = XIO_5[5];
2C: Si deux boutons poussoirs sont enfoncés simultanément, le FPGA envoie une sortie HAUTE au Raspberry Pi.
toujours @(sel_send ou UBB ou UBA) //envoyer à RPi
commencer
si (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
autre
sel_send = 1'b0;
finir
2D: Le FPGA lit le signal de Raspberry Pi avec la fréquence d'horloge de 66MHz. Le port XIO_2[2] est lié à 'rece'.
toujours @(sel_read) //lire pi
commencer
si (sel_read == 1'b1)
rece = 1'b0;
autre
rece = 1'b1;
finir
Étape 3: Télécharger le code Verilog
Téléchargez ensuite le fichier pof compilé sur le FPGA. Si aucun matériel n'est détecté automatiquement, cliquez sur "Hardware Setup" pour le corriger manuellement
Étape 4: Téléchargez le code Raspberry Pi
Les lignes en surbrillance permettent au FPGA de communiquer avec Raspberry Pi.
Le code Raspberry Pi complet pour ce projet,
A = GPIO.input(pin) #read FPGAprint(A);
si(A==1):
camera.rotation = 0
GPIO.output (18, GPIO. LOW) #envoyer au FPGA
si(A==0):
camera.rotation = 180
GPIO.output (18, GPIO. HIGH) # envoyer au FPGA
Étape 5: Essayons-le
Ouvrez votre navigateur et saisissez votre adresse IP, par ex. 192.168.xx.xxx:8000.
Après tout, le système devrait fonctionner !