Перейти к содержанию

Скоростные режимы I²C (Sm, Fm, Fm+, Hs, UFm)

Шина I²C начиналась со 100 кбит/с, а сегодня в спецификации пять режимов до 5 Мбит/с. Режим определяет не только частоту SCL, но и допустимое время фронта, ёмкость шины и нагрузочную способность выходов. Разбираем, чем они отличаются и совместимы ли между собой.

Обновлено Редакция GAW

Скоростные режимы I²C — классы устройств и шины, которые спецификация NXP UM10204 различает по скорости и электрическим требованиям. Кроме частоты SCL они задают допустимое время нарастания фронта, ёмкость шины, нагрузочную способность выходов и наличие входного фильтра.

Сравнение

РежимСкоростьФронт trЁмкость CbТок выхода IOL
Standard-mode (Sm)до 100 кбит/с≤ 1000 нс≤ 400 пФ≥ 3 мА
Fast-mode (Fm)до 400 кбит/с≤ 300 нс≤ 400 пФ≥ 3 мА
Fast-mode Plus (Fm+)до 1 Мбит/с≤ 120 нс≤ 550 пФ≥ 20 мА
High-speed (Hs)до 3,4 Мбит/сотдельные требования——
Ultra Fast-mode (UFm)до 5 Мбит/с, в одну сторонудвухтактная шина——

Что меняется с режимом

Фронты и подтяжка. Фронт на шине с открытым стоком формирует резистор подтяжки вместе с ёмкостью шины. Чем быстрее режим, тем короче допустимый фронт, и тем меньше должно быть сопротивление подтяжки. Для Fast-mode UM10204 допускает резистор при нагрузке до 200 пФ, а от 200 до 400 пФ — источник тока до 3 мА. Подбор подтяжки — в калькуляторе подтягивающих резисторов I²C.

Входной фильтр. Входы Fast-mode и выше должны подавлять выбросы короче 50 нс — см. фильтр выбросов I²C.

Fm+. Выходы держат 20 мА, поэтому шина может быть длиннее и тяжелее без буферов. Если на шине только устройства Fm+, UM10204 разрешает обменять скорость на ёмкость и увеличить её примерно в десять раз при соблюдении фронтов Standard-mode. Пример устройства Fm+ — драйвер ШИМ NXP PCA9685.

Совместимость

Режимы Sm, Fm и Fm+ обратно совместимы: быстрое устройство работает на медленной шине. Скорость шины определяет самое медленное устройство. Hs-mode включается специальным кодом ведущего, а UFm — отдельная однонаправленная шина без подтверждений. Подробнее — в статье I²C.

Частые вопросы

Можно ли подключить устройство Fast-mode к шине Standard-mode?

Да. Режимы I²C обратно совместимы: устройство Fast-mode или Fast-mode Plus работает на шине со скоростью 100 кГц. Обратное не гарантируется: если на шине есть устройство Standard-mode, частоту поднимать выше 100 кГц нельзя, а устройства Hs-mode переходят на высокую скорость только по специальной процедуре.

Чем Fast-mode Plus отличается от Fast-mode кроме скорости?

Выходами и ёмкостью. По UM10204 выход Fm+ должен держать не меньше 20 мА при 0,4 В против 3 мА у Fast-mode, а допустимая ёмкость шины — 550 пФ против 400 пФ. Поэтому на Fm+ можно поставить более сильную подтяжку и вести длинную шину без буферов. Фронт при этом должен быть не длиннее 120 нс.

Почему Ultra Fast-mode не похож на обычный I²C?

UFm — однонаправленная двухтактная шина: ведущий только передаёт, а ведомые только принимают. Подтверждений в ней нет — бит на девятом такте выставляется в единицу и игнорируется. Скорость до 5 Мбит/с достигается за счёт отказа от открытого стока; применяют UFm, например, для управления светодиодными драйверами.

Источники

  1. NXP. UM10204 I2C-bus specification and user manual, Rev. 7.0 (1 October 2021) — разд. 1–2: двунаправленная передача до 100 кбит/с в Standard-mode, до 400 кбит/с в Fast-mode, до 1 Мбит/с в Fast-mode Plus, до 3,4 Мбит/с в High-speed mode; Ultra Fast-mode — однонаправленный режим до 5 Мбит/с; разд. 3.2: UFm — двухпроводная двухтактная шина до 5 МГц, бит подтверждения игнорируется; разд. 5.1: Fast-mode — подавление выбросов и триггер Шмитта на входах, ограничение скорости спада на выходах; при нагрузке до 200 пФ подтяжка — резистор, от 200 до 400 пФ — источник тока до 3 мА или переключаемый резистор; разд. 5.2: Fm+ полностью совместим с Fast и Standard, выходы с большим током; при 400 пФ укладываются в тайминги Fm+; если на шине только устройства Fm+, скорость можно обменять на ёмкость и поднять её примерно в десять раз, пока фронты не хуже 1 мкс и спады не хуже 300 нс; табл. 10: IOL ≥ 3 мА при VOL = 0,4 В для Sm и Fm, ≥ 20 мА для Fm+; табл. 11: fSCL до 100/400/1000 кГц, tr ≤ 1000/300/120 нс, Cb ≤ 400/400/550 пФ
  2. NXP. PCA9685 16-channel, 12-bit PWM Fm+ I2C-bus LED controller, Product data sheet Rev. 4 (16 April 2015) — в названии и описании: интерфейс I²C Fast-mode Plus (Fm+) до 1 МГц

Нашли ошибку?