¿Cuál es la diferencia entre I2C y TWI?


26

¿Cuál es la diferencia entre las interfaces I2C y TWI? Wikipedia dice que TWI es una variante de I2C. Algunas otras fuentes dicen que solo el nombre es diferente ...

i2c 

13
AFAIK TWI es lo que los fabricantes (solían) llamar su interfaz I2C para evitar problemas legales con Philips.
Wouter van Ooijen

33
¡Una versión viene con abogados!
Connor Wolf

1
Wouter van Ooijen: Si es así, ¿es suficiente con cambiar el nombre? IANAL

Respuestas:


25

Estoy de acuerdo con todo lo que dijo @Wouter ... Es decir, los fabricantes utilizan TWI (como Atmel) para referirse a su interfaz I2C para evitar problemas legales con Philips, ya que I2C es una marca registrada. Algunos fabricantes (como Atmel) han implementado características propietarias además de I2C para que su TWI sea un superconjunto I2C.

Para responder a su pregunta de seguimiento, sí. Basta con cambiar el nombre. Una marca registrada solo protege el nombre. Si fuera patentado, la situación sería diferente.

Sin embargo, es difícil defender una patente en un esquema de modulación / codificación ya que es principalmente matemática. A menudo, los derechos de autor se utilizan para esto, pero generalmente es bastante fácil de eludir, ya que los derechos de autor protegen solo la instanciación (implementación) específica exacta del protocolo, no el protocolo en sí en la mayoría de los casos.


1
Creo que algunos aspectos del apretón de manos de I2C serían lo suficientemente novedosos como para merecer la protección de la patente, aunque cosas como las EEPROM que no usan el apretón de manos pueden no usar ninguna característica digna de patente. En cuanto a las extensiones I2C, una que he deseado sería la capacidad de los dispositivos esclavos de participar en el arbitraje de la misma manera que lo hacen los maestros (un esclavo que intenta emitir un "1" mientras que otro esclavo está emitiendo un "0" debería indicar un arbitraje perdido y se retira por el resto de ese byte) [el protocolo de alto nivel decidiría en qué punto el esclavo podría unirse].
supercat

1
Dada tal característica, sería fácil para un número arbitrario de dispositivos con, por ejemplo, números de identificación de 64 bits, leer sus identidades (más fácil que con 1wire). Tenga una dirección de dispositivo para "comenzar a leer ID", y luego haga que cada dispositivo genere un ID de 8 bytes (que se descarta si pierde el arbitraje), y haga que cada dispositivo que no haya emitido su ID se vuelva a unir cada 8 bytes. El maestro leería así la identificación de cada dispositivo, en orden numérico, terminando con todos los FF una vez que todos los dispositivos estuvieran listos.
supercat

1
@supercat Y si fuera patentado, evitaría que otros fabricantes lo usen para productos de bajo costo. Sería otra pesadilla para los usuarios.
JB.

@JB .: Sospecho que I2C no permite el arbitraje de esclavos porque podría hacer que sea imposible para los tranceceptores de autobuses averiguar de manera confiable lo que estaba sucediendo, pero para los autobuses que no usan dichos tranceivers, tal arbitraje podría hacer las cosas bien.
supercat

9

Desde i2c-bus.org :

TWI significa Two Wire Interface y este bus es idéntico a I²C. El nombre TWI fue introducido por Atmel y otras compañías para evitar conflictos con problemas de marcas relacionadas con I²C. Se puede encontrar una descripción de las capacidades de las interfaces TWI en las hojas de datos de los dispositivos correspondientes. Espere que los dispositivos TWI sean compatibles con los dispositivos I²C, excepto por algunas particularidades como la transmisión general o el direccionamiento de 10 bits.

Además, por ahora, tampoco hay modo de alta velocidad TWI.

Si tiene un analizador I²C, también funcionará con una configuración TWI sin modificaciones.


2

Los dispositivos TWI generalmente no se ajustan completamente a la especificación I2C.

En particular, el estiramiento del reloj generalmente no es compatible.


Por ejemplo, si mi memoria me sirve correctamente, la interfaz I²C de Raspberry Pi proporcionada por Broadcomm SoC es su núcleo ...
SlySven
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.