Was ist der Unterschied zwischen I2C- und TWI-Schnittstellen? Wikipedia sagt, dass TWI eine Variante von I2C ist. Einige andere Quellen besagen, dass nur der Name unterschiedlich ist ...
Was ist der Unterschied zwischen I2C- und TWI-Schnittstellen? Wikipedia sagt, dass TWI eine Variante von I2C ist. Einige andere Quellen besagen, dass nur der Name unterschiedlich ist ...
Antworten:
Ich stimme allem zu, was @Wouter gesagt hat ... TWI wird von Herstellern (wie Atmel) verwendet, um auf ihre I2C-Schnittstelle zu verweisen und rechtliche Probleme mit Philips zu vermeiden, da I2C eine eingetragene Marke ist. Einige Hersteller (wie Atmel) haben proprietäre Funktionen zusätzlich zu I2C implementiert, sodass ihr TWI eine I2C-Obermenge ist.
Um Ihre Frage zu beantworten, klicken Sie auf Ja. Es reicht aus, nur den Namen zu ändern. Eine Marke schützt nur den Namen. Wenn es patentiert wäre, wäre die Situation anders.
Es ist jedoch schwierig, ein Patent für ein Modulations- / Codierungsschema zu verteidigen, da es sich meist nur um Mathematik handelt. Oft wird hierfür das Urheberrecht verwendet, aber es ist normalerweise ziemlich einfach zu umgehen, da das Urheberrecht nur die genaue spezifische Instanziierung (Implementierung) des Protokolls schützt, in den meisten Fällen nicht das Protokoll selbst.
Von i2c-bus.org :
TWI steht für Two Wire Interface und dieser Bus ist identisch mit I²C. Der Name TWI wurde von Atmel und anderen Unternehmen eingeführt, um Konflikte mit Markenproblemen im Zusammenhang mit I²C zu vermeiden. Eine Beschreibung der Funktionen der TWI-Schnittstellen finden Sie in den Datenblättern der entsprechenden Geräte. Erwarten Sie, dass TWI-Geräte mit Ausnahme einiger Besonderheiten wie allgemeines Broadcasting oder 10-Bit-Adressierung mit I²C-Geräten kompatibel sind.
Außerdem gibt es derzeit keinen TWI-Hochgeschwindigkeitsmodus.
Wenn Sie einen I²C-Analysator haben, funktioniert dieser auch mit einem TWI-Setup ohne Änderungen.
TWI-Geräte entsprechen normalerweise nicht vollständig der I2C-Spezifikation.
Insbesondere wird Clock-Stretching normalerweise nicht unterstützt.