1
0
forked from tanchou/Verilog
Files
Verilog_Louis/Semaine_2/Projet_esp32/Projet_esp32.txt

78 lines
2.8 KiB
Plaintext
Raw Normal View History

Projet à faire avec un FPGA (tang nano 20k) et un esp32 :
2025-04-22 14:32:34 +02:00
Le but global est de pouvoir se connecter à l'esp32 et ensuite de pouvoir communiquer avec le pc (ou autre appareil connecté en USB au FPGA)
l'esp 32 agis comme esclave pour le FPGA et sert uniquement de portail wifi, le FPGA quand à lui, fera le lien entre les appareils en wifi et le périphérique USB
[ PC via USB-C ] ←→ [ FPGA (Tang Nano 20K) ] ←→ [ ESP32 ] ←→ [ Clients en Wi-Fi ]
Rôles des composants
FPGA (Tang Nano 20K) :
- Gère linterface UART avec lESP32
- Gère la communication USB avec le PC
- Fait le routage bidirectionnel des données (une sorte de mux / buffer intelligent)
ESP32 :
- Crée un réseau Wi-Fi local
- Écoute via une connexion série (UART) avec le FPGA
- Reçoit des commandes du FPGA et envoie les données des clients Wi-Fi
PC (ou autre appareil USB) :
- Peut recevoir/envoyer des données (par exemple, un terminal série ou un logiciel personnalisé)
Architecture
[ PC via USB ]
┌───────▼────────┐
│ uart_usb │ <— UART avec le PC
└──────┬─────────┘
┌──────────────┐
│ uart_core │ <— Routeur/contrôleur central
└────┬────┬────┘
│ │
┌─────────────┘ └────────────┐
▼ ▼
[uart_wifi] [user_logic] (capteur, LEDs, etc.)
<— UART avec ESP32 (comporte les modules fonctionnels)
uart_usb
Interface UART vers le PC (via USB-UART)
Peut utiliser un convertisseur USB-UART sur uart_rx_pc / uart_tx_pc
Fournit :
rx_data, rx_valid, rx_ready
tx_data, tx_valid, tx_ready
uart_wifi
UART avec l'ESP32
Même interface que uart_usb, mais sur uart_rx_esp / uart_tx_esp
Sert à communiquer avec le monde Wi-Fi
uart_core
Module central de routage UART
Cest lui qui gère la logique :
Tu peux le coder comme un FSM maître ou un router
Il fait par exemple :
Lecture des commandes depuis le PC → envoie à ESP32
Réception dune réponse de lESP32 → envoie au PC
uart_rx_pc UART RX depuis le PC
uart_tx_pc UART TX vers le PC
uart_rx_esp UART RX depuis ESP32
uart_tx_esp UART TX vers ESP32
fifo_rx_pc_to_esp Données du PC à transférer à lESP
fifo_rx_esp_to_pc Données de lESP à transférer au PC
link_manager Logique de contrôle des transferts entre buffers et UART
status_led Gère les LEDs de statut