Atelier Systèmes Temps Réels

Les composants de la carte ESP32

Le circuit Driver pour l'ESP32

Pour programmer votre ESP32 via un câble USB, votre ordinateur a besoin du driver correspondant à la puce de conversion soudée sur la carte :
CP2102 / CP2104 (par Silicon Labs) : Utilisé sur de nombreuses cartes officielles et de développement (comme l'ESP32 DevKitC). Vous pouvez télécharger les CP210x Windows Drivers.
CH340 / CH341 (par WCH) : Très fréquent sur les versions économiques ou génériques de l'ESP32.
FTDI (par FTDIChip) : Présent sur certains modules spécifiques (comme l'ESP-WROVER-KIT).

L'architecture Hardware de SOC


L'Xtensa LX6 ;

 L'Xtensa LX6 est un processeur RISC 32 bits configurable et extensible développé par  Cadence Tensilica,  surtout célèbre pour équiper le microcontrôleur ESP32.

  • Architecture : Conception RISC 32 bits de type Harvard, disponible en version simple ou double cœur. 
  • Fréquence : Fonctionne généralement à 160 MHz ou 240 MHz, offrant une puissance allant jusqu'à 600 DMIPS (Dhrystone Million Instructions Per Second).
  • Pipeline : Utilise un pipeline configurable à 5 ou 7 étages. 
  • Extensibilité : Permet d'ajouter des instructions personnalisées grâce au langage TIE (Tensilica Instruction Extension). 



Le DMA

Le DMA (Direct Memory Access, ou Accès Direct à la Mémoire).

     Dans un SoC classique sans DMA, si une carte réseau ou un espace de stockage doit copier 10 Mo de données dans la RAM, le CPU doit effectuer lui-même l'action : lire la donnée sur le périphérique, puis l'écrire dans la RAM, octet par octet. Cela gaspille des cycles de calcul précieux et ralentit tout le système.

      Avec le DMA, le CPU donne simplement un ordre du type : "Copie ces 10 Mo du point A au point B", puis il retourne à ses occupations. C'est le contrôleur DMA qui gère tout le travail en arrière-plan. Une fois le transfert terminé, le DMA envoie une alerte (une interruption) au CPU pour le prévenir.


TP N°1 : Initiation à l'environnement VS Code et programmation de la carte ESP32

1- Téléchargez et installez VSCode.

2- Installation de l'extension PlatformIO sur VSCode.

3Créer un nouveau projet

     a- Sur VS Code, cliquez sur le PlartfomIO Accueil icône. Cliquez sur + Nouveau projet pour démarrer un nouveau projet.

    bCrée un projet avec le fichier platformio.ini suivant :

                [env:nodemcu-32s]

                platform = espressif32

                board = nodemcu-32s

                framework = arduino

                monitor_speed = 115200

4- Ecrire un programme de clignotement d'une LED sur une broche numérique de l'esp32.
5 - Déterminer la fréquence d'exécution de l'esp32 avec la fonction " getCpuFrequencyMhz() "
6- Déterminer la capacité de la mémoire RAM libre avec "ESP.getFreeHeap()"
7- micros() est une fonction qui retourne le nombre de microsecondes écoulées depuis le démarrage de l’ESP32. Elle permet notamment de mesurer le temps d’exécution d’une partie ou de plusieurs instructions d’un programme. calculez le temps d'exécution d'un programme qui permet de faire la somme des éléments d'une matrice 8*8.  


 TP N°2 : Découverte de FreeRTOS et création de tâches simples

Aucun commentaire:

Enregistrer un commentaire