¿Hay una referencia o cuál es la explicación de que I²C y SPI sean solo protocolos de capa física en el modelo OSI (sé que este modelo es para comunicación y tal vez no exactamente para buses integrados) o el protocolo de capa de enlace de datos está definido dentro? ¿a ellos?
¿Qué tal el protocolo CAN?
Ambos. La pila OSI es tan abstracta que es muy probable que prácticamente cualquier protocolo utilizado en la industria contenga consideraciones prácticas que implementen efectivamente múltiples niveles.
I2C opera en términos de transacciones definidas, con arbitraje y protocolo de enlace, por lo que puede considerarse razonablemente como una capa de enlace de datos además de una capa física, aunque no necesariamente se ajusta muy bien al patrón OSI. SPI no es realmente un estándar sino un término que se usa para describir una amplia variedad de diseños de comunicaciones. Como tal, apenas califica como un protocolo de capa física.
Tanto con SPI como con I2C, uno puede avanzar a capas superiores si restringe su enfoque a estilos particulares de chip. Por ejemplo, hay un estándar común para EEPROM I2C de hasta 2 Kbytes, y otro que sería aplicable a EEPROM I2C de hasta 512 Kbytes (aunque no he visto dispositivos tan grandes que lo usen). Dichos estándares no solo definen cómo realizar transacciones en el chip, sino que también especifican qué hará el chip con los datos que contiene.
Nada tan explícito. Puede intentar definir ciertas partes del protocolo I²C para diferentes capas OSI, pero la forma en que las define y cómo las define otra persona no coincidiría (pregunte a cinco ingenieros y obtenga siete respuestas diferentes).
Mi opinión es que la capa física es la más simple. I²C requiere dos líneas de bus de colector abierto, vinculadas a V CC con resistencias pull-up de valor X, limitadas a Y pF de capacitancia (donde X e Y se calculan en función de la frecuencia deseada del bus I²C). Los dispositivos I²C deben liberar la línea cuando están inactivos y solo bajar la línea cuando se comunican activamente. Esa es la capa física.
La capa de datos es un poco más compleja. Los maestros I²C, especialmente en un sistema multimaestro, al intentar comunicarse, deben verificar si las líneas están bajas, si están libres, intentar la comunicación y verificar la línea nuevamente. Si en algún momento es inesperadamente bajo, siga los protocolos de arbitraje . Los esclavos I²C (y maestros) también pueden implementar la ampliación del reloj , controlando la comunicación evitando los pulsos del reloj.
El direccionamiento físico y lógico se encuentra tanto en la capa de enlace de datos como en la capa de red, si incluye expansores de bus/multiplexores/búferes/IC de intercambio en caliente. I²C realmente no tiene una topología de red o un equivalente de IP , y los expansores de bus son una solución pirateada sin especificación que han ideado los fabricantes.
leon heller
michelle
michelle
olin lathrop