Sciences de l'ingénieur · Terminale · Chaîne d’information
Les bus de communication d’un système embarqué
UART, I2C ou SPI : lequel choisir ?
En bref
Dans un robot, le microcontrôleur parle à un écran, à une centrale inertielle, à un module radio.
Dans un robot, le microcontrôleur parle à un écran, à une centrale inertielle, à un module radio. Tous ces échanges passent par quelques fils et suivent des règles précises : les bus de communication.
Série ou parallèle, synchrone ou asynchrone
| Choix | Ce que ça veut dire | Conséquence |
|---|---|---|
| Parallèle | Plusieurs bits envoyés en même temps, un fil par bit | Rapide mais encombrant |
| Série | Les bits envoyés l’un après l’autre sur un même fil | Peu de fils : la norme dans l’embarqué |
| Synchrone | Une horloge partagée cadence les bits | Pas besoin de convenir d’un débit |
| Asynchrone | Pas d’horloge : émetteur et récepteur conviennent du débit | Des bits de départ et d’arrêt encadrent chaque octet |
Les trois bus à connaître
| Bus | Fils | Type | Ce qui le caractérise |
|---|---|---|---|
| UART (liaison série) | TX, RX, masse | Asynchrone, point à point | Débit convenu, par exemple 9 600 bauds ; TX de l’un sur RX de l’autre |
| I2C | SDA (données), SCL (horloge) | Synchrone, un maître, plusieurs esclaves | Chaque esclave a une adresse (souvent sur 7 bits) ; accusé de réception |
| SPI | MOSI, MISO, SCK, CS | Synchrone, full duplex | Rapide ; un fil de sélection CS par esclave |
I2C économise les fils (deux pour tout le bus) ; SPI économise le temps (plus rapide, envoi et réception simultanés). Le choix dépend de ce qui manque : des broches ou du débit.
La trame UART
Chaque octet part encadré :
| Élément | Nombre de bits | Rôle |
|---|---|---|
| Bit de départ (start) | 1 | Réveille le récepteur |
| Données | 8 | L’octet lui-même, bit de poids faible en premier |
| Parité (facultative) | 0 ou 1 | Détecte une erreur simple |
| Bit d’arrêt (stop) | 1 ou 2 | Termine la trame |
Pour 8 bits de données, il faut donc au moins 10 bits transmis : le débit utile est plus faible que le débit brut.
Relier TX à TX ne marche pas : ce qui sort de l’un doit entrer dans l’autre. On croise TX et RX.
Calculer une durée de transmission
- Compter les bits réellement envoyés (données + encadrement + adresses).
- Diviser par le débit en bits par seconde.
- Comparer au temps disponible dans le cahier des charges.
Exemple travaillé
On envoie 100 octets par une liaison UART à 9 600 bauds, format 8 bits, sans parité, 1 bit d’arrêt.
- Bits transmis : 100 × 10 = 1 000 bits.
- Durée : 1 000 / 9 600 ≈ 0,104 s.
- À 115 200 bauds, la même trame passerait en moins de 9 ms.
Teste-toi
6 questions pour vérifier
Touche une réponse : la correction s’affiche tout de suite.
1.Dans une liaison série, les bits sont envoyés…
2.Quels fils utilise le bus I2C ?
3.Comment un maître I2C désigne-t-il l’esclave avec lequel il veut parler ?
4.Une liaison UART est…
5.Pour relier deux cartes en UART, on relie TX à TX et RX à RX.
6.Combien de bits faut-il au minimum pour envoyer un octet en UART (8 bits, sans parité, 1 stop) ?
0 / 6 questions
Dans l’app, ce chapitre a son quiz complet, chronométré, et tes erreurs reviennent au bon moment pour ne plus les refaire.

La fiche de révision, sur une page
Tout « Les bus embarqués » sur une seule page A4 illustrée : l’essentiel, les pièges et un mini-test. Elle se débloque dans l’app avec des gemmes — et ton compte gratuit en offre assez pour tes trois premières fiches.

