Qual è la differenza tra I2C e TWI?


26

Qual è la differenza tra le interfacce I2C e TWI? Wikipedia afferma che TWI è una variante di I2C. Alcune altre fonti dicono che solo il nome è diverso ...

i2c 

13
AFAIK TWI è ciò che i produttori (una volta) chiamavano la loro interfaccia I2C per evitare problemi legali con Philips.
Wouter van Ooijen,

33
Una versione arriva con gli avvocati!
Connor Wolf,

1
Wouter van Ooijen: In tal caso, è sufficiente cambiare il nome? IANAL.

Risposte:


25

Sono d'accordo con tutto ciò che ha detto @Wouter ... Vale a dire, TWI viene utilizzato dai produttori (come Atmel) per fare riferimento alla loro interfaccia I2C per evitare problemi legali con Philips poiché I2C è un marchio registrato. Alcuni produttori (come Atmel) hanno implementato funzionalità proprietarie su I2C in modo che il loro TWI sia un superset I2C.

Per rispondere alla tua domanda di follow-up, sì. Basta cambiare il nome. Un marchio protegge solo il nome. Se fosse brevettato, la situazione sarebbe diversa.

Tuttavia, è difficile difendere un brevetto su uno schema di modulazione / codifica poiché è principalmente solo matematica. Spesso, per questo viene usato il copyright, ma di solito è abbastanza facile da eludere, poiché il copyright protegge solo l'esatta istanza specifica (implementazione) del protocollo, non il protocollo stesso nella maggior parte dei casi.


1
Penserei che alcuni aspetti dell'handshaking di I2C sarebbero abbastanza nuovi da meritare la protezione brevettuale, anche se cose come le EEPROM che non usano l'handshaking potrebbero non usare alcuna caratteristica degna di brevetto. Per quanto riguarda le estensioni I2C, quella che desideravo sarebbe stata la capacità dei dispositivi slave di impegnarsi in arbitrati in qualcosa di simile allo stesso modo dei master (uno slave che tenta di emettere un "1" mentre un altro slave sta emettendo uno "0" dovrebbe segnalare un arbitrato perduto e abbandonare per il resto di quel byte) [il protocollo di alto livello deciderà in quale momento lo slave potrebbe ricongiungersi].
supercat

1
Data tale funzionalità, sarebbe facile per un numero arbitrario di dispositivi con ad esempio numeri ID a 64 bit leggere le loro identità (più facile che con 1wire). Avere un indirizzo di dispositivo "inizia a leggere gli ID", quindi fare in modo che ciascun dispositivo emetta un ID di 8 byte (eliminando se perde l'arbitrato) e ogni dispositivo che non ha correttamente emesso il proprio ID si ricollega ogni 8 byte. Il master avrebbe quindi letto l'ID di ogni dispositivo, in ordine numerico, terminando con tutti gli FF una volta che tutti i dispositivi fossero stati eseguiti.
supercat

1
@supercat E se fosse brevettato, impedirebbe ad altri produttori di utilizzarlo per prodotti a basso costo. Sarebbe un altro incubo per gli utenti.
JB.

@JB .: Sospetto che I2C non ammetta l'arbitrato degli schiavi perché potrebbe rendere impossibile per i tranceiver di autobus capire in modo affidabile cosa stava succedendo, ma per gli autobus che non usano tali tranceiver un tale arbitrato potrebbe sicuramente rendere le cose belle.
supercat

9

Da i2c-bus.org :

TWI è l'acronimo di Two Wire Interface e questo bus è identico a I²C. Il nome TWI è stato introdotto da Atmel e altre società per evitare conflitti con i marchi relativi a I²C. Una descrizione delle funzionalità delle interfacce TWI è disponibile nelle schede tecniche dei dispositivi corrispondenti. Aspettatevi che i dispositivi TWI siano compatibili con i dispositivi I²C ad eccezione di alcune particolarità come la trasmissione generale o l'indirizzamento a 10 bit.

Inoltre, per ora, non esiste nemmeno la modalità TWI ad alta velocità.

Se si dispone di un analizzatore I²C funzionerà anche con una configurazione TWI senza modifiche.


2

I dispositivi TWI in genere non sono completamente conformi alle specifiche I2C.

In particolare, lo stretching dell'orologio di solito non è supportato.


Ad esempio, se la mia memoria mi serve correttamente, l'interfaccia I²C di Raspberry Pi fornita dal SoC Broadcomm nel suo cuore ...
SlySven
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.