ES
ComunicaciónBásicoUARTI2CSPICANbusprotocolo

Cómo hablan los chips (UART, I2C, SPI, CAN)

En 30 segundosUn bus son unos cables compartidos. Cada protocolo resuelve a su manera quién habla, a quién y cuándo: UART punto a punto, I2C por dirección, SPI con un cable de selección y CAN por ID de mensaje.

También disponible en: Català · English

La idea

Un bus son unos cables compartidos por varios dispositivos. Hay que resolver tres problemas: quién habla, a quién y cuándo.

Protocolo Cables Cómo elige destinatario Velocidad típica
UART 2 (TX, RX) No hace falta: punto a punto 9600 a 1 Mbaud
I2C 2 (SDA, SCL) Dirección de 7 bits 100 o 400 kHz
SPI 4 + un CS por dispositivo Baja la línea CS del elegido Varios MHz
CAN 2 diferenciales ID del mensaje; gana el menor Hasta 1 Mbit/s

Valores típicos; dependen del chip.

UART

Bit de inicio (línea baja), 8 bits de datos con el menos significativo primero y bit de parada. El baud rate fija la velocidad. Es la base de los adaptadores USB-serie, los GPS y el bus de los servos Feetech.

I2C

Primero se envía la dirección; solo el dispositivo que coincide responde con ACK. Si nadie tiene esa dirección, se recibe NACK. Se usa en IMU, pantallas y sensores pequeños.

SPI

El controlador baja la línea CS (chip select) del dispositivo que quiere. Los datos salen y entran a la vez. Rápido, pero con más cables.

CAN

Nadie tiene dirección: cada mensaje lleva un ID. Si dos hablan a la vez, gana el ID menor y no se pierde nada (arbitraje). Se usa en coches y articulaciones de robots.

En la demo

Una pestaña por protocolo. En I2C, prueba una dirección que nadie tiene para ver el NACK.

Demo interactiva

Conceptos relacionados