1
0
forked from tanchou/Verilog
Files
Verilog_Louis/Semaine_3/Projet_esp32/Projet_esp32.md
Gamenight77 505f71974e New Week
2025-04-28 09:22:17 +02:00

3.2 KiB
Raw Blame History

Projet FPGA (Tang Nano 20K) + ESP32

Objectif global

Le but est de pouvoir se connecter à lESP32 via Wi-Fi, et de communiquer avec un PC (ou autre appareil USB connecté au FPGA).
LESP32 agit comme esclave pour le FPGA et sert uniquement de portail Wi-Fi.
Le FPGA fait le lien entre les appareils Wi-Fi et le périphérique USB.


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 (mux / buffer intelligent)

ESP32

  • Crée un réseau Wi-Fi local
  • Écoute via une connexion UART avec le FPGA
  • Reçoit les commandes du FPGA et envoie les données des clients Wi-Fi

PC (ou autre appareil USB)

  • Envoie et reçoit des données (via terminal série ou logiciel personnalisé)

Architecture

                      [ PC via USB ]
                           │
                   ┌───────▼────────┐
                   │    uart_usb    │  <— UART avec le PC
                   └──────┬─────────┘
                          │
                          ▼
                   ┌──────────────┐
                   │   uart_core  │  <— Routeur/contrôleur central
                   └────┬────┬────┘
                        │    │
          ┌─────────────┘    └────────────┐
          ▼                               ▼
 [uart_wifi]                         [user_logic] (LEDs)
 <— UART avec ESP32              (comporte les modules fonctionnels)

Détails des modules

uart_usb

  • Interface UART vers le PC (via USB-UART)
  • Peut utiliser un convertisseur USB-UART via uart_rx_pc / uart_tx_pc
  • Fournit :
    • rx_data, rx_valid, rx_ready
    • tx_data, tx_valid, tx_ready

uart_wifi

  • Interface UART avec lESP32
  • Même interface que uart_usb, mais avec uart_rx_esp / uart_tx_esp
  • Sert à la communication Wi-Fi

uart_core

  • Module central de routage UART
  • Gère la logique de communication :
    • Lecture des commandes depuis le PC → envoie à lESP32
    • Réception de réponse de lESP32 → envoie au PC
  • Peut être codé comme une FSM maître ou un router simple

Signaux principaux

Signal Description
uart_rx_pc UART RX depuis le PC
uart_tx_pc UART TX vers le PC
uart_rx_esp UART RX depuis lESP32
uart_tx_esp UART TX vers lESP32
fifo_rx_pc_to_esp Données du PC à transférer à lESP32
fifo_rx_esp_to_pc Données de lESP32 à transférer au PC
link_manager Logique de contrôle des transferts entre buffers/UART
status_led Gestion des LEDs de statut