Qual é a diferença entre I2C e TWI?


26

Qual é a diferença entre as interfaces I2C e TWI? A Wikipedia diz que o TWI é uma variante do I2C. Algumas outras fontes dizem que apenas o nome é diferente ...

i2c 

13
AFAIK TWI é o que os fabricantes costumavam chamar de interface I2C para evitar problemas legais com a Philips.
Wouter van Ooijen

33
Uma versão vem com advogados!
Connor Lobo

11
Wouter van Ooijen: Se sim, basta mudar o nome? IANAL.

Respostas:


25

Concordo com tudo o que a @Wouter disse ... Ou seja, o TWI é usado pelos fabricantes (como o Atmel) para se referir à sua interface I2C para evitar problemas legais com a Philips, pois I2C é uma marca registrada. Alguns fabricantes (como Atmel) implementaram recursos proprietários no I2C, de modo que o TWI é um superconjunto do I2C.

Para responder sua pergunta de acompanhamento, sim. Basta mudar o nome. Uma marca comercial protege apenas o nome. Se fosse patenteado, a situação seria diferente.

No entanto, é difícil defender uma patente em um esquema de modulação / codificação, pois é principalmente apenas matemática. Freqüentemente, os direitos autorais são usados ​​para isso, mas geralmente é muito fácil contornar, pois os direitos autorais protegem apenas a instanciação exata exata (implementação) do protocolo, e não o próprio protocolo na maioria dos casos.


11
Eu acho que alguns aspectos do handshake do I2C seriam novos o suficiente para merecer proteção de patente, embora coisas como EEPROMs que não usam handshaking possam não usar recursos dignos de patente. Quanto às extensões I2C, uma que eu desejaria seria a capacidade dos dispositivos escravos de se envolverem em arbitragem da mesma maneira que os mestres (um escravo que tenta gerar um "1" enquanto outro escravo produz um "0" deve sinalizar uma arbitragem perdida e desistir do restante do byte) [o protocolo de alto nível decidirá em que ponto o escravo poderá se unir].
Super12 dez12

11
Dado esse recurso, seria fácil para um número arbitrário de dispositivos com, por exemplo, números de identificação de 64 bits, ler suas identidades (mais fácil do que com 1 fio). Tenha um endereço de dispositivo "comece a ler IDs" e faça com que cada dispositivo produza um ID de 8 bytes (deixando cair se perder a arbitragem), e faça com que cada dispositivo que não tenha produzido com êxito seu ID volte a se juntar a cada 8 bytes. Assim, o mestre leria a ID de todos os dispositivos, em ordem numérica, terminando com todos os FFs assim que todos os dispositivos estivessem prontos.
Super12 dez12

11
@supercat E se fosse patenteado, impediria que outros fabricantes o usassem para produtos de baixo custo. Seria outro pesadelo para os usuários.
JB.

@JB .: Suspeito que o I2C desautorize a arbitragem escrava, pois isso tornaria impossível para os transeuntes de ônibus descobrir com segurança o que estava acontecendo, mas para os ônibus que não usam esses tranceivers, essa arbitragem certamente tornaria as coisas boas.
Supercat

9

Do i2c-bus.org :

TWI significa Two Wire Interface e esse barramento é idêntico ao I²C. O nome TWI foi introduzido pela Atmel e outras empresas para evitar conflitos com questões de marcas registradas relacionadas ao I²C. Uma descrição dos recursos das interfaces TWI pode ser encontrada nas folhas de dados dos dispositivos correspondentes. Espere que os dispositivos TWI sejam compatíveis com os dispositivos I²C, exceto por algumas particularidades como transmissão geral ou endereçamento de 10 bits.

Além disso, por enquanto, também não há modo de alta velocidade TWI.

Se você possui um analisador de I²C, ele também funciona com uma configuração TWI sem modificações.


2

Os dispositivos TWI normalmente não estão de acordo com a especificação I2C.

Notavelmente, o alongamento do relógio geralmente não é suportado.


Tais como, se minha memória não me falha, a interface do Raspberry Pi I²C fornecido pelo Broadcomm SoC para ele do coração ...
SlySven
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.