Quelle est la différence entre I2C et TWI?


26

Quelle est la différence entre les interfaces I2C et TWI? Wikipedia dit que TWI est une variante de I2C. Certaines autres sources disent que seul le nom est différent ...

i2c 

13
AFAIK TWI est ce que les fabricants appellent leur interface I2C pour éviter les problèmes juridiques avec Philips.
Wouter van Ooijen

33
Une version est livrée avec des avocats!
Connor Wolf

1
Wouter van Ooijen: Si oui, est-ce suffisant de simplement changer le nom? IANAL.

Réponses:


25

Je suis d'accord avec tout ce que @Wouter a dit ... A savoir, TWI est utilisé par les fabricants (comme Atmel) pour se référer à leur interface I2C afin d'éviter des problèmes juridiques avec Philips puisque I2C est une marque déposée. Certains fabricants (comme Atmel) ont implémenté des fonctionnalités propriétaires sur I2C afin que leur TWI soit un surensemble I2C.

Pour répondre à votre question de suivi, oui. Il suffit juste de changer le nom. Une marque ne protège que le nom. S'il était breveté, la situation serait différente.

Cependant, il est difficile de défendre un brevet sur un schéma de modulation / codage car il s'agit principalement de mathématiques. Souvent, le droit d'auteur est utilisé pour cela, mais il est généralement assez facile à contourner, car le droit d'auteur protège uniquement l'instanciation spécifique exacte (implémentation) du protocole, pas le protocole lui-même dans la plupart des cas.


1
Je pense que certains aspects de la négociation I2C seraient suffisamment nouveaux pour mériter une protection par brevet, bien que des choses comme les EEPROM qui n'utilisent pas la négociation ne puissent utiliser aucune fonctionnalité digne de brevet. En ce qui concerne les extensions I2C, celle que je souhaitais serait la possibilité pour les appareils esclaves de s'engager dans l'arbitrage de la même manière que les maîtres (un esclave qui tente de sortir un "1" tandis qu'un autre esclave sort un "0" devrait signaler un arbitrage perdu et abandonner pour le reste de cet octet) [le protocole de haut niveau déciderait à quel moment l'esclave pourrait rejoindre].
supercat

1
Compte tenu d'une telle fonctionnalité, il serait facile pour un nombre arbitraire d'appareils avec par exemple des numéros d'identification 64 bits d'avoir leur identité lue (plus facile qu'avec 1 fil). Avoir une adresse d'appareil "commencer à lire les ID", puis faire en sorte que chaque appareil produise un ID de 8 octets (abandon s'il perd l'arbitrage), et que chaque appareil qui n'a pas réussi à sortir son ID rejoigne tous les 8 octets. Le maître lirait ainsi l'ID de chaque appareil, dans l'ordre numérique, se terminant par tous les FF une fois tous les appareils terminés.
supercat

1
@supercat Et s'il était breveté, cela empêcherait d'autres fabricants de l'utiliser pour des produits à bas prix. Ce serait un autre cauchemar pour les utilisateurs.
JB.

@JB .: Je soupçonne que I2C interdit l'arbitrage des esclaves, car il pourrait être impossible pour les émetteurs-récepteurs de bus de comprendre de manière fiable ce qui se passait, mais pour les bus qui n'utilisent pas de tels émetteurs-récepteurs, un tel arbitrage pourrait certainement rendre les choses agréables.
supercat

9

De i2c-bus.org :

TWI signifie Two Wire Interface et ce bus est identique à I²C. Le nom TWI a été introduit par Atmel et d'autres sociétés pour éviter les conflits avec les problèmes de marque liés à I²C. Une description des capacités des interfaces TWI peut être trouvée dans les fiches techniques des appareils correspondants. Attendez-vous à ce que les périphériques TWI soient compatibles avec les périphériques I²C, à l'exception de certaines particularités comme la diffusion générale ou l'adressage 10 bits.

De plus, pour l'instant, il n'y a pas non plus de mode TWI haute vitesse.

Si vous avez un analyseur I²C, il fonctionnera également avec une configuration TWI sans modifications.


2

Les périphériques TWI ne sont généralement pas entièrement conformes à la spécification I2C.

Notamment, l'étirement de l'horloge n'est généralement pas pris en charge.


Telles que, si ma mémoire est bonne, l'interface I²C du Raspberry Pi fournie par le SoC Broadcomm en son cœur ...
SlySven
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.