Чим відрізняється I2C від TWI?


26

Яка різниця між інтерфейсами I2C та TWI? Вікіпедія говорить, що TWI - це варіант I2C. Деякі інші джерела стверджують, що лише ім'я відрізняється ...

i2c 

13
AFAIK TWI - це те, що виробники (раніше) називали свій інтерфейс I2C, щоб уникнути юридичних проблем з Philips.
Wouter van Ooijen

33
Одна версія поставляється з юристами!
Коннор Вольф

1
Wouter van Ooijen: Якщо так, то чи достатньо лише змінити ім’я? IANAL.

Відповіді:


25

Я погоджуюся з усім, що сказав @Wouter ... А саме, TWI використовується виробниками (як Atmel) для посилання на їх інтерфейс I2C, щоб уникнути юридичних проблем з Philips, оскільки I2C є зареєстрованою торговою маркою. Деякі виробники (як-от Atmel) впровадили власні функції поверх I2C, так що їх TWI - це суперсет I2C.

Щоб відповісти на ваше подальше запитання, так. Досить просто змінити ім’я. Торгова марка захищає лише ім'я. Якби це було запатентовано, ситуація була б іншою.

Однак захистити патент на схему модуляції / кодування важко, оскільки це здебільшого лише математика. Часто для цього використовується авторське право, але зазвичай його досить легко обійти, оскільки авторські права захищають лише точну конкретну інстанцію (реалізацію) протоколу, а не сам протокол у більшості випадків.


1
Я думаю, що деякі аспекти рукостискання I2C будуть досить новими, щоб заслужити патентну захист, хоча такі речі, як EEPROM, які не використовують рукостискання, можуть не використовувати жодних гідних для патенту функцій. Що стосується розширень I2C, я хотів би, щоб підлеглий пристрій брав участь у арбітражі щось подібне, як це роблять господарі (раб, який намагається вивести "1", а інший підлеглий виводить "0" повинен сигналізувати про втрачений арбітраж і випадає на залишок цього байта) [протокол високого рівня вирішив би, в який момент раб може знову приєднатися].
supercat

1
Враховуючи таку особливість, довільній кількості пристроїв з 64-бітовими номерами ідентифікаторів було б легко прочитати їхні ідентичності (простіше, ніж за допомогою 1-провідного). Майте адресу пристрою "почати читання ідентифікаторів", а потім кожному пристрою виведіть 8-байт ідентифікатора (випадає, якщо він втратить арбітраж), і кожен пристрій, який не успішно виводить свій ідентифікатор, знову приєднується кожні 8 байт. Таким чином, майстер зачитував ідентифікатор кожного пристрою в цифровому порядку, закінчуючи всім FF, коли всі пристрої були зроблені.
supercat

1
@supercat І якщо б він був запатентований, це не дозволить іншим виробникам використовувати його для недорогих товарів. Це був би ще один кошмар для користувачів.
JB.

@JB: Я підозрюю, що I2C забороняє рабський арбітраж, оскільки це може унеможливити перекладників автобусів надійно розібратися, що відбувається, але для автобусів, які не використовують таких перекладачів, такий арбітраж може впевнитись, що це стане добре.
supercat

9

З i2c-bus.org :

TWI означає два провідних інтерфейсу, і ця шина ідентична I²C. Назва TWI була введена Atmel та іншими компаніями, щоб уникнути конфліктів із питаннями торговельної марки, пов'язаними з I²C. Опис можливостей інтерфейсів TWI можна знайти в таблицях даних відповідних пристроїв. Очікуйте, що пристрої TWI будуть сумісні з пристроями I²C за винятком деяких особливостей, таких як загальна трансляція або 10-бітова адресація.

Також наразі також немає швидкісного режиму TWI.

Якщо у вас є аналізатор I²C, він також працюватиме з налаштуванням TWI без змін.


2

Пристрої TWI зазвичай не повністю відповідають специфікації I2C.

Зокрема, розтягування годинника зазвичай не підтримується.


Наприклад, якщо моя пам'ять слугує мені правильно, інтерфейс
I²C
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.