Com parlen els xips (UART, I2C, SPI, CAN)
També disponible en: English · Castellano
La idea
Un bus són uns cables compartits per diversos dispositius. Cal resoldre tres problemes: qui parla, amb qui i quan.
| Protocol | Cables | Com tria el destinatari | Velocitat típica |
|---|---|---|---|
| UART | 2 (TX, RX) | No cal: punt a punt | De 9600 a 1 Mbaud |
| I2C | 2 (SDA, SCL) | Adreça de 7 bits | 100 o 400 kHz |
| SPI | 4 + un CS per dispositiu | Baixa la línia CS de l’escollit | Diversos MHz |
| CAN | 2 diferencials | ID del missatge; guanya el menor | Fins a 1 Mbit/s |
Valors típics; depenen del xip.
UART
Bit d’inici (línia baixa), 8 bits de dades amb el menys significatiu primer i bit de parada. El baud rate fixa la velocitat. És la base dels adaptadors USB-sèrie, dels GPS i del bus dels servos Feetech.
I2C
Primer s’envia l’adreça; només el dispositiu que coincideix respon amb un ACK. Si ningú no té aquella adreça, es rep un NACK. Es fa servir en IMU, pantalles i sensors petits.
SPI
El controlador baixa la línia CS (chip select) del dispositiu que vol. Les dades surten i entren alhora. Ràpid, però amb més cables.
CAN
Ningú no té adreça: cada missatge porta un ID. Si dos parlen alhora, guanya l’ID menor i no es perd res (arbitratge). Es fa servir en cotxes i en articulacions de robots.
A la demo
Una pestanya per protocol. A l’I2C, prova una adreça que no té ningú per veure el NACK.