Bus I2C
Las principales diferencias pueden recogerse en las siguientes:
Número de líneas utilizadas.
Independientemente del número de maestros o esclavos utilizados, elprotocolo I2C tan sólo necesita hacer uso de dos líneas diferenciadas: SDA (Serial DataLine) y SCL (Serial Clock Line) a las que se conectan todos los dispositivos.
El protocolo SPI, por su parte, haceuso de al menos 3 líneas, además de una línea adicional por cada esclavo que se añada al sistema. Estas tres líneas incluyen una línea de entrada de datos (MISO), una línea de salida datos (MOSI) yuna línea de reloj. Además, cada uno de los esclavos necesita una línea de chip – select.
Emisión de datos simultánea.
La emisión de datos en el caso del protocolo I2C es half dúplex, de modo queel envío de datos puede realizarse de manera bidireccional pero no de manera simultánea. Sin embargo, la emisión en el caso del protocolo SPI es full dúplex, por lo que además de producirse unacomunicación bidireccional, esta puede llevarse a cabo de manera simultánea.
Velocidad de transmisión.
La velocidad a la que el protocolo I2C puede trabajar puede alcanzar 3.4MBits por segundo si tenemosen cuenta el modo de alta velocidad. En el caso del protocolo SPI la velocidad se encuentra limitada por la señal de reloj, pero puede alcanzar fácilmente una velocidad superior a la más altaimpuesta por el protocolo I2C.
Control de flujo.
El protocolo I2C posee funciones para llevar a cabo un control de flujo en el envío y recepción de datos mediante el envío de un ACK por cada byte dedatos que el dispositivo receptor ha obtenido. Sin embargo, el protocolo SPI no posee ninguna funcionalidad de control de flujo definida, por lo que en cualquier aplicación no puede conocerse si una...
Regístrate para leer el documento completo.