Fonction Communiquer
1) Objet du chapitre
La fonction Communiquer assure l’échange fiable d’informations entre blocs d’un système (capteurs↔traitement, traitement↔actionneurs, systèmes embarqués↔réseaux). Elle englobe : codage, mise en trame, modulation, transmission sur un support, réception, synchronisation et détection/correction d’erreurs.
- Types de signaux : analogiques (continus) et numériques (binaires).
- Paramètres : débit binaire \(R_b\) (bit/s), débit symbole \(R_s\) (baud), BER, SNR, latence, atténuation, bande passante.
2) Chaîne de communication (blocs)
3) Signaux & grandeurs
- Amplitude, fréquence, phase; bande passante \(\mathrm{BP}\) d’un canal.
- Débit binaire \(R_b\) (bit/s), débit symbole \(R_s\) (baud), avec \(R_b=R_s\log_2(M)\) pour une modulation \(M\)-aire.
- SNR \(=\dfrac{P_{\text{signal}}}{P_{\text{bruit}}}\), influence le BER (taux d’erreurs).
4) Codage des données & lignes
- NRZ (Non-Return-to-Zero) : niveau constant sur toute la durée du bit.
- RZ (Return-to-Zero) : retour à 0 au milieu du bit.
- Manchester : transition milieu (bit 1 : haut→bas, bit 0 : bas→haut, convention IEEE).
- NRZI : transition = 1, pas de transition = 0 (ou l’inverse).
5) Modulation (porteuse)
- ASK : amplitude shift keying (amplitude varie).
- FSK : frequency shift keying (fréquence varie).
- PSK : phase shift keying (phase varie). QPSK (4 états), QAM (amplitude+phase).
Exemple : en QPSK \(M=4\) ⇒ \(R_b=R_s\log_2 4 = 2R_s\). À même \(R_s\), QPSK double le débit binaire vs BPSK.
6) Supports & contraintes
- Cuivre (UTP/STP, coax) : économique, sensible au bruit → distances limitées.
- Fibre optique : très haut débit, très faible atténuation, insensible CEM.
- Radio (Wi-Fi, Bluetooth, 4G/5G) : mobilité, interférences possibles, réglementation.
7) Indicateurs de performance
| Indicateur | Symbole | Définition | Unité |
|---|---|---|---|
| Débit binaire | \(R_b\) | bits transmis par seconde | bit/s |
| Débit symbole | \(R_s\) | symboles par seconde | baud |
| BER | \(P_e\) | taux d’erreurs binaire | — |
| SNR | \(\mathrm{SNR}\) | rapport signal/bruit | —, dB |
| Latence | \(T\) | temps bout-en-bout | s |
8) Protocoles & trames (exemples)
- UART : asynchrone, trame = start(0) + 8 bits + parité? + stop(1). Vitesse en bauds (ex : 115200).
- I²C : synchrone bus 2 fils (SCL,SDA), adressage, ACK/NACK.
- SPI : synchrone (SCLK, MOSI, MISO, CS), full-duplex, très rapide.
- CAN : priorités par ID, détection d’erreurs robuste (automobile).
9) Simulateurs — Débit, temps de transmission & vérification de parité
9.1) Calculateur de temps de transmission
Calcule le temps pour envoyer une trame (payload + en-têtes) selon le codage de ligne.
9.2) UART — temps d’envoi d’un octet
9.3) Vérificateur de parité (paire / impaire)
10) Exercices (10) + solutions
1 — NRZ vs Manchester
Un lien à \(R_b=1\,\text{Mbit/s}\). Comparer \(R_s\) pour NRZ et Manchester.
NRZ : \(R_s\simeq R_b=1\,\text{MBd}\). Manchester : \(R_s\simeq 2R_b=2\,\text{MBd}\).
2 — QPSK
En QPSK, combien de bits par symbole ? Quel débit binaire pour \(R_s=500\,\text{kBd}\) ?
\(\log_2 4=2\) bits/symbole. \(R_b=2\times 500\,\text{k} = 1\,\text{Mbit/s}\).
3 — UART 8N1
Baudrate 9600, 100 octets. Durée ?
8N1 = 10 bits/byte ⇒ \(1000\) bits. Temps \(=1000/9600\simeq0{,}104\,\text{s}\).
4 — BER & SNR
Expliquer qualitativement l’effet d’un SNR faible sur le BER.
SNR bas ⇒ bruit important ⇒ décisions de bits plus souvent erronées ⇒ BER ↑.
5 — Trame + overhead
Payload 1200 octets, overhead 40 octets, \(R_b=2\,\text{Mbit/s}\), Manchester. Temps ?
Bits totaux \(=8(1240)=9920\). Manchester ×2 ⇒ équiv. \(19840\) bits. Temps \(=19840/2\cdot10^6\simeq9{,}92\,\text{ms}\).
6 — M-aire
Pour \(M=8\), \(R_s=250\,\text{kBd}\). Calculer \(R_b\).
\(\log_2 8=3\) ⇒ \(R_b=3\times 250\,\text{k}=750\,\text{kbit/s}\).
7 — Choix du support
Pour un réseau industriel très bruité et long (>100 m), recommander un support et justifier.
La fibre (ou cuivre blindé différentiel type RS-485) : immunité CEM, faible atténuation, fiabilité.
8 — Parité
Mot 7 bits : 1010110. Quel bit de parité pair ?
Nombre de 1 = 4 (pair) ⇒ bit parité = 0.
9 — NRZI
En NRZI (transition=1), coder 001110.
Départ niveau bas : 0→pas de trans, 0→pas, 1→transition, 1→transition, 1→transition, 0→pas ⇒ motif niveaux : 0,0,1,0,1,1 (selon convention de départ).
10 — Débit utile
Sur 8N1, quel pourcentage utile (payload) par octet ?
8/10 = 80% utile, 20% d’overhead (start/stop).