Удержание шины (bus hold)
Когда все устройства на шине переходят в третье состояние, линии повисают, и входы КМОП начинают потреблять ток и ловить помехи. Вместо резистора подтяжки на каждой линии некоторые серии логики сами запоминают последний уровень. Это и есть удержание шины.
Обновлено Редакция GAW
Удержание шины (bus hold, bus keeper) — встроенная во вход логической микросхемы слабая защёлка, которая запоминает последний установленный на линии уровень и держит его, когда все источники на шине перешли в третье состояние. Она решает проблему висящего входа без внешних резисторов подтяжки.
Зачем
TI в записке SCBA004 объясняет опасность висящей линии для КМОП-логики: если напряжение на входе оказалось в пороговой области, оба транзистора входного каскада открыты, ток питания достигает нескольких миллиампер на вход, а помехи вызывают ложные переключения. Классическое лечение — резистор подтяжки на каждой линии. Но он постоянно потребляет ток, когда линию держат в противоположном уровне, и TI советует резисторы для устройств с сетевым питанием, а для батарейных — удержание шины.
Как устроено
Схема — два инвертора, включённых в кольцо, причём обратная связь на вход идёт через резистор. Пока драйвер активен и держит линию, ток через резистор не течёт: выход кольца уже совпадает с уровнем линии. Когда драйвер отключается, кольцо продолжает держать тот же уровень через резистор. Потребление определяется только токами утечки.
Расчёт TI: если ток утечки одного драйвера в третьем состоянии — 10 мкА, резистор схемы — 5 кОм, а допустимое падение — 0,8 В, то одна схема удержания обслуживает до 0,8 / (10 мкА · 5 кОм) = 16 подключённых компонентов.
Где встречается
По таблице 6-1 SCBA004 удержание шины есть во всех микросхемах серий LVT и ALVC, LVC Widebus и ABT Widebus+, а также выпускается отдельными микросхемами SN74ACT1071 и SN74ACT1073. В обозначениях TI на это указывает буква H, например ALVCH, — расшифровка префиксов есть в справочнике по сериям логики. Похожий режим встречается и в портах микроконтроллеров, например у AVR XMEGA.
Ограничения
Удержание держит последний уровень, а не заданный: после включения питания он случаен. Драйвер должен перебить ток защёлки, а внешние резисторы подтяжки вместе с удержанием шины TI в записке SZZA036 применять не рекомендует. Если линия должна иметь определённый уровень по умолчанию, ставят резистор.
Частые вопросы
Чем удержание шины лучше резистора подтяжки?
Потреблением. Резистор подтяжки, к которому линия притянута в противоположном уровне, постоянно проводит ток. Схема удержания, по TI, потребляет только ток утечки — после того как уровень установился, ток через её резистор не течёт. Поэтому TI рекомендует её для батарейных устройств, а резисторы — для сетевых.
Может ли удержание шины помешать?
Да. Слабая защёлка сопротивляется смене уровня: драйвер должен перебить её ток, а линия с внешним резистором подтяжки большого номинала может так и остаться в старом состоянии. Кроме того, схема держит последний уровень, а не заданный — после включения питания он заранее не известен. Если нужен определённый уровень, ставят резистор.
Как понять, есть ли bus hold у микросхемы?
По названию и даташиту. У TI серии с буквой H в обозначении, например ALVCH, имеют удержание шины, а в даташите приводят минимальные токи удержания — пример такой таблицы есть в SCBA004 (табл. 6-2). TI перечисляет семейства в таблице 6-1 SCBA004: ABT Widebus+, LVT и ALVC — во всех микросхемах, а также отдельные микросхемы SN74ACT1071 и SN74ACT1073.
Источники
- Texas Instruments. Implications of Slow or Floating CMOS Inputs, SCBA004E (July 1994, revised July 2021) — разд. 1–2: висящий вход КМОП в пороговой области потребляет ток питания до нескольких миллиампер и может вызывать генерацию; разд. 5: подтягивающие резисторы рекомендуются для сетевых устройств, но не для батарейных; разд. 6: удержание шины — два встречно включённых инвертора с обратной связью через резистор; когда драйвер уходит в третье состояние, схема держит последний уровень, потребляя только ток утечки; пример: при токе утечки драйвера 10 мкА, резисторе 5 кОм и допустимом падении 0,8 В одна схема обслуживает до 16 компонентов; табл. 6-1: удержание шины во всех устройствах LVT, ALVC, LVC Widebus, ABT Widebus+, отдельные микросхемы SN74ACT1071 (10 бит) и SN74ACT1073 (16 бит); у ABT и LVT добавлен диод, блокирующий ток при входном напряжении выше VCC
- Texas Instruments. Understanding and Interpreting Standard-Logic Data Sheets, SZZA036C (December 2002, revised June 2016) — разд. 4.1.1.3: буква H в обозначении (например, ALVCH) — удержание шины; схема сохраняет последнее известное состояние входа и делает ненужными подтягивающие резисторы, экономя место и компоненты; разд. 4.1.2: подтягивающие резисторы вместе с удержанием шины применять не рекомендуется; в таблице электрических характеристик — ток удержания и минимальный ток, нужный, чтобы перебить схему
Нашли ошибку?
Смотрите также
- Плавающий входЦифровой вход без определённого уровня: ловит наводки и увеличивает потребление
- Третье состояние выходаZ-состояние: выход отключён от линии
- КМОП-логикаЛогика на комплементарных парах МОП-транзисторов: малое потребление, пороги от питания
- Подтягивающий резисторPull-up и pull-down: определённый уровень на свободной линии
- Серии логических микросхемTTL, LS, HC, HCT, AC, LVC, CD4000: питание, пороги, ток, задержка
- AVR XMEGAОтличия от ATmega, CCP, тактирование, PMIC, DMA, события, таймеры, PDI