Мінімальна тактова частота та надійність I2C


12

Чи є мінімальна тактова частота, визначена I2C? Я знаю, що найбільш поширена тактова частота - 100 кГц, і є "швидкий" режим 400 кГц, який підтримується деякими пристроями, і більш швидкий, але режим підтримується іншими пристроями (я думаю, 1 МГц?). Оскільки сигнал SCK генерується майстром, я припускаю, що він міг би працювати зі значно меншою швидкістю, ніж будь-який із них - чи є нижня межа на практиці? Якою мірою невільні пристрої піклуються про тактову частоту (наприклад, чи звичайно для них короткий час очікування)? Причина, про яку я питаю, полягає в тому, що мені цікаво, чи міг би я запустити I2C на більшій відстані (наприклад, 20 футів), щоб надійно запрограмувати I2C EEPROM в установці тестера виробництва. Я припускаю, що він не працюватиме надійно на цій відстані при стандартних швидкостях передачі даних.


Режим високої швидкості дозволяє тактову частоту 3,4 МГц на макс. Ємність шини 100 пФ.
stevenvh

Відповіді:


16

Ні, немає мінімальної частоти, мінімальна тактова частота 0 або DC. Див. Технічні характеристики , стор. 48.

Але вам доведеться звернути увагу на часи підйому та падіння. Це 1000 нс і 300 нс максимум, респ. А довший кабель з деякою ємністю впливатиме на краї, незалежно від частоти.

Саме та ємність разом із опорними опорами визначає час підйому. Час падіння не є проблемою, оскільки FET, який тягне лінію низько, має дуже низький опір, і тоді константа часу падіння також буде дуже низькою. Отже, нам залишився час підйому. Щоб отримати час підйому 1000 нс на кабелі 200 пФ, ваші резистори не повинні перевищувати 2,2 кОм. (час підвищення до 90% від кінцевої вартості.)

введіть тут опис зображення

На графіку показано максимальний опір підтягування (в Ω) проти ємності кабелю (в pF) для отримання 1000 нс зростаючих країв. Зауважте, що пристрої I2C не повинні опускати більше 3 мА, тому при 3,3 В ємність шини не повинна бути вище приблизно 395 пФ, інакше опір підтягування повинен бути меншим за 1100 Ом, а також більше ніж 3 мА. Ось зеленуваті пунктирні лінії. Для роботи на 5 В дозволена потужність становить навіть 260 пФ, для значення підтягування 1667 Ом (фіолетові пунктирні лінії).


Хто каже, що I2C-пристрій може максимально потопити 3mA? Мої пристрої I2C мають VOL = 0,4 В для IOL = 20 мА. Це означає, що він може занурюватися набагато більше струму, тому можуть бути менші резистори менше. Це призводить до того, що можна обробляти більше ємності. @stevenvh
Коно

Приклад - раби Ардуїно. Вони можуть затопити до 10mA до VOL = 0,4-0,5V. Це означає, що вони можуть їздити на значно більш завантажених автобусах.
Коно

Більшість пристроїв I2C дійсно можуть опускати лише 3mA, але в наші дні існує набагато більше пристроїв, які мають більше можливостей мийки. Пощастило!
Коно

4

Я запустив I2C близько 100 Гц без проблем. Як сказав @stevenvh, просто хвилюйтеся про максимальну швидкість і ємність лінії.


2
У мене одноступінчастий i2c. Це не гарантує, що кожен пристрій, який ви знайдете, буде зроблений таким чином, але технічно немає нічого, що заважало б йому працювати «до DC».
gbarry

4

Ви повинні мати можливість вирішувати проблеми довжини рядків при ретельному підборі драйверів та відповідності імпедансу.

Іншим варіантом, якщо припустити, що довгостроковий процес є частиною налаштування, а не продуктом, може бути використання того, що добре справляється з дистанцією, наприклад, RS422 (або практично навіть RS232), щоб поговорити з мікроконтролером, розміщеним у роз'ємі тестової джгута, який би потім говорив i2c на досить короткій відстані до цілі.

Або, можливо, ви могли б зробити це без розвідки, використовуючи невелику дошку, яка з'єднала протокол диференціальної сигналізації зі приймачами тригера Шмідта до та від i2c сигналізації в ціль.

Пробіг, ймовірно, недостатньо довгий, що час поширення сигналу (відсутні проблеми вирішення) потребуватиме особливо повільних тактових частот, щоб уникнути повороту шини, поки старі дані ще в польоті.

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

Просто для порівняння, на моніторах IIRC VGA є зчитування ідентифікатора i2c (або це схоже на i2c), яке, ймовірно, все ще працює, якщо ви додасте 6-футовий подовжувальний кабель до запасного 3-х або 4-футового кабелю.

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