Broche EA sur microcontrôleurs 8051 : contrôle accès externe
La broche EA (External Access) sur la famille 8051 (broche 31 sur DIP-40) est une sangle de configuration matérielle qui détermine si le processeur récupère le code depuis la ROM interne ou la mémoire externe. Elle est échantillonnée au reset et ne peut être changée dynamiquement.
Fonction
| État broche EA | Source mémoire programme | Comportement PSEN |
|---|---|---|
| Haut (Logique 1, VCC) | ROM/EPROM/Flash interne (0x0000–0xFFFF ou limite dispositif) | Inactif (haut) — pas lectures externes |
| Bas (Logique 0, GND) | Mémoire externe (0x0000–0xFFFF) | Actif — strobe bas pour chaque lecture externe |
Implications carte mémoire
- EA = 1 : 8051 utilise mémoire programme sur puce. Adresses au-delà limite sur puce (ex. >4 Ko pour 8051, >8 Ko pour 8052) inaccessibles sauf si EA=0.
- EA = 0 : Toutes lectures code depuis mémoire externe. ROM interne désactivée. Nécessite ROM/EPROM/Flash externe + verrouillage adresse (74HC373) + logique décodage.
- 8031/8032 (sans ROM) : EA doit être relié bas. Pas de ROM interne.
Implémentation matérielle
+5V | 10kΩ | EA (P31) --+---> Vers VCC (Interne) ou GND (Externe) | [Commutateur/Strap/Header config] - Résistance pull-up (10 kΩ) assure état défini si strap ouvert
- Strap vers GND = Mode externe. Strap vers VCC / ouvert = Mode interne
- Doit être stable à la libération reset. Pas commutation dynamique.
Interface mémoire externe (Quand EA=0)
- Port 0 : AD0–AD7 multiplexés (adresse octet poids faible + données)
- Port 2 : A8–A15 (adresse octet poids fort)
- ALE (Broche 30) : Address Latch Enable — verrouille octet poids faible P0 vers 74HC373
- PSEN (Broche 29) : Program Store Enable — strobe lecture actif bas pour ROM externe
- WR (P3.6) / RD (P3.7) : Écriture/lecture mémoire données (XRAM)
Configurations courantes
| Dispositif | ROM interne | EA=1 | EA=0 |
|---|---|---|---|
| 8051 (MCS-51) | 4 Ko | 0–4 Ko interne | 0–64 Ko externe |
| 8052 | 8 Ko | 0–8 Ko interne | 0–64 Ko externe |
| 8751 (EPROM) | 4 Ko EPROM | 0–4 Ko interne | 0–64 Ko externe |
| AT89C51 (Flash) | 4 Ko Flash | 0–4 Ko interne | 0–64 Ko externe |
| 8031/8032 | Aucune | Invalide | 0–64 Ko externe (requis) |
Variantes modernes (NXP, Silicon Labs, STC, etc.)
- Beaucoup ont >64 Ko Flash avec commutation bancs / pagination
- Broche EA peut sélectionner source démarrage (Flash interne vs SPI/parallèle externe)
- Certains permettent contrôle logiciel bancs mémoire après reset
- Vérifier datasheet : section « Fonction broche EA »
Considérations design
- Routing PCB : Garder trace EA courte, éviter couplage bruit. C'est broche config reset.
- Programmation production : EA=1 pour programmation circuit (ISP) via UART/USB. EA=0 pour programmeur externe bus parallèle.
- Débogage : EA=0 + RAM externe permet visibilité bus complet avec analyseur logique.
- Sécurité : EA=0 avec mémoire externe = code lisible. EA=1 + bits verrouillage = protection PI.
La broche EA est un strap matériel statique, pas un contrôle runtime. Réglez-la une fois au moment du design selon votre architecture mémoire. Pour la plupart projets 8051 modernes avec Flash sur puce : reliez EA à VCC.
