Глава 8. Цифровая логика

8.8. Сбои и ловушки цифровых схем

Тупиковые состояния и начальная установка, логические гонки, метастабильность, перекос тактов и укороченные импульсы, «неопределённые правила», врождённые болезни ТТЛ и КМОП: токи входов, «подскок» земли, защёлкивание, плавающие входы, питание через вход.

≈ 31 мин чтения · пунктирное подчёркивание — наведите или нажмите, чтобы увидеть пояснение

Цифровая схема, собранная по правилам, обычно работает сразу. Но «обычно» — не «всегда», и неисправности цифровой техники бывают на редкость загадочными: прибор неделю работает безупречно, а потом зависает; сбой пропадает, стоит поднести к плате щуп осциллографа; новая партия микросхем «той же» марки ведёт себя иначе. Почти за каждой такой историей стоит одна из немногих типовых причин. Одни — тупиковые состояния, гонки, метастабильность — не зависят от типа логики. Другие — врождённые особенности конкретного семейства, как тиристорное защёлкивание КМОПКМОП — комплементарные МОП-транзисторы: n- и p-канальные приборы на одном кристалле. Основа почти всей цифровой логики и аналоговых ключей..

Ниже мы разбираем эти причины на примерах неисправностей, какие встречаются в жизни: описываем симптом, ищем механизм и выписываем лекарство. Если вы когда-нибудь будете в тупике с «необъяснимым» сбоем, пройдитесь по этому списку.

Два рода ловушек
Любая логикаКонкретное семейство
Примерытупиковые состояния, гонки, метастабильностьНеустойчивое промежуточное состояние триггера, когда данные изменились внутри окна установления — удержания: триггер какое-то время «не может решить», в какое состояние перейти., перекос тактов, укороченные импульсытоки входов ТТЛ, «подскок» земли AC/ACT, защёлкиваниеЗащёлкивание — включение паразитного тиристора в КМОП-структуре током через защитные диоды (от ~20 мА): питание замыкается накоротко, микросхема может сгореть. и плавающие входы КМОП
Где в разделепервые два пунктатретий пункт

8.8.1Состояния, из которых нет выхода

≈ 6 мин2 упр.
Главное
  • Все комбинации триггеровЭлемент памяти на один бит с двумя устойчивыми состояниями (бистабильный мультивибратор). вне рабочего цикла — потенциальные тупики: логика должна сама выводить из них схему.
  • Минимум — сигнал начальной установки: RC-цепь + инвертор с триггером Шмитта, .
  • Диод разряжает конденсатор при пропадании питания; резистор последовательно со входом КМОП защищает входной диод.

Симптом: гирлянда «застыла». Самодельная ёлочная гирлянда «бегущий огонь» сделана на трёхразрядном счётчике Джонсона: шесть фаз, огонёк красиво бежит по кругу. Однажды, когда в соседней комнате включили пылесос, гирлянда перешла на странный режим — две картинки попеременно, и так до утра. Помогло только выдернуть вилку из розетки.

Механизм. Из трёх триггеров получается восемь комбинаций, а рабочий цикл использует шесть. Две оставшиеся, 010 и 101, тоже переходят друг в друга по тем же правилам — образуют свой маленький паразитный цикл. Помеха по питанию перебросила триггеры в одну из этих комбинаций, и вернуться в рабочий цикл схема уже не может: правила переходов просто не ведут туда.

000100110111011001010101рабочий цикл6 состоянийпаразитныйциклwww.reknow.ru
3-разрядный счётчик Джонсона (, запись ): из 8 комбинаций рабочих 6. Помеха может перебросить счётчик в 010 или 101 — и он навсегда застрянет в чужом цикле 010 ↔ 101, если логика или сброс его оттуда не выведут.
Правило. Проектируя автомат или счётчик, выпишите все комбинации триггеров, не входящие в рабочий цикл, и проверьте, куда из них ведут переходы. Логику стройте так, чтобы из любой лишней комбинации схема сама за несколько тактов возвращалась в рабочий цикл (самокоррекция). Как минимум нужен сигнал начальной установки — от кнопки, при включении питания, от сторожевого таймера; часто его одного достаточно.
Упражнение 8.8.1

Счётчик Джонсона (регистр сдвигаРегистр сдвига — цепочка D-триггеров с общим тактом (выход каждого — на вход следующего): по каждому фронту слово сдвигается на один разряд., у которого на вход первого триггера подан инверсный выход последнего: ) из k триггеров проходит рабочий цикл из 2k состояний. Сколько комбинаций не входит в рабочий цикл у трёхразрядного счётчика гирлянды? А у шестиразрядного, который управляет двенадцатью светодиодами?

Решение

Всего комбинаций, рабочих : для лишних (те самые 010 и 101), для — . Лишние состояния образуют свои паразитные циклы, и чем длиннее счётчик, тем больше шансов, что помеха забросит его туда. Лекарство — самокорректирующая логика: например, подать на вход первого триггера не просто , а функцию, которая на рабочих состояниях совпадает с ней, а запрещённые комбинации выталкивает в рабочий цикл. Так сделано в микросхеме 4017 — пятиразрядном счётчике Джонсона с дешифраторомПо -разрядному коду возбуждает один из выходов (у '138 — выбранный выход НИЗКИЙ). на десять выходов.

Симптом: после «мигания» света прибор не запускается. Контроллер котла прекрасно стартует, если его надолго выключить. Но после короткого провала сети (свет моргнул на полсекунды) индикатор показывает ерунду, реле щёлкают невпопад, и помогает только повторное выключение на минуту.

Механизм. Цифровая система в момент включения находится в случайном состоянии, и в порядок её приводит сигнал начальной установки. Его обычно делают RC-цепью: пока конденсатор заряжается, держится СБРОС. Если питание пропало ненадолго, конденсатор не успевает разрядиться — при повторном включении сброса не будет. Есть и вторая беда: напряжение на конденсаторе растёт медленно, и обычный вентиль на таком входе может «дребезжать», выдавая несколько импульсов сброса подряд.

Лекарство — правильная цепь сброса.

+Ucc47 кОм10 мкФ16 В1 кОм(для ТТЛ не нужен)1СБРОС1СБРОСwww.reknow.ru1Резистор 47 кОм. вместе с конденсатором задаёт длительность сброса 2Конденсатор 10 мкФ. при включении разряжен: на входе инвертора 0 — идёт сброс3Диод. при пропадании питания быстро разряжает конденсатор — следующее включение снова даст сброс4Резистор 1 кОм. только для КМОП: ограничивает ток через защитный диод входа, когда питание пропало, а конденсатор ещё заряжен5Инвертор с триггером Шмитта. чисто переключается на медленно нарастающем напряжении, без дребезга6СБРОС и СБРОС. оба уровня — для микросхем с активным высоким и активным низким сбросом
Сброс при включении питания: конденсатор заряжается через резистор, инвертор с гистерезисом чисто отпускает СБРОС, диод быстро разряжает конденсатор при пропадании питания.
Что здесь что (6)
  1. Резистор 47 кОм. вместе с конденсатором задаёт длительность сброса
  2. Конденсатор 10 мкФ. при включении разряжен: на входе инвертора 0 — идёт сброс
  3. Диод. при пропадании питания быстро разряжает конденсатор — следующее включение снова даст сброс
  4. Резистор 1 кОм. только для КМОП: ограничивает ток через защитный диодЗащитные (фиксирующие) диоды входа КМОП — диоды от входа на шину питания и на землю; открываются, если вход выходит за шины более чем на 0,6 В. входа, когда питание пропало, а конденсатор ещё заряжен
  5. Инвертор с триггером Шмитта. чисто переключается на медленно нарастающем напряжении, без дребезгаМногократное замыкание и размыкание механических контактов в течение ~1 мс после переключения — от 10 до 100 «отскоков».
  6. СБРОС и СБРОС. оба уровня — для микросхем с активным высоким и активным низким сбросом

Каждая деталь здесь отвечает за свой симптом. Диод параллельно резистору разряжает конденсатор в шину питания, как только та просела, — и следующее включение снова даст полноценный сброс. Инвертор с триггером Шмитта (значок гистерезисаГистерезис — два разных порога переключения: вверх — при одном напряжении, вниз — при другом. Состояние зависит от истории, шум меньше «петли» не вызывает дребезга. на рисунке: ТТЛ 74LS14, КМОП 40106, 74C14, 'HC14 или 4093) отпускает СБРОС один раз и чисто, как бы медленно ни нарастало напряжение. Резистор последовательно со входом нужен в КМОП-схемах: когда питание выключено, а конденсатор ещё заряжен, он пытался бы «питать» микросхему через защитный диод её входа и мог бы этот диод повредить.

Длительность сигнала начальной установки
Обозначения:через сколько после включения снимается СБРОСпостоянная времени цепи, здесь 47 кОм · 10 мкФ = 0,47 спорог триггера Шмитта при нарастании
Упражнение 8.8.2

В цепи сброса 47 кОм и 10 мкФ, питание КМОП-логики 5 В включается скачком, порог триггера Шмитта при нарастании — . Через сколько после включения снимется СБРОС? При выключении питание быстро падает до нуля, а конденсатор заряжен до 5 В; пусть ток идёт через резистор 1 кОм и защитный диод входа (0,6 В) в шину питания. Каков этот ток?

Решение

с. Напряжение достигает при с.

При выключении: мА — безопасно для защитного диода (обычно допускают 10–20 мА). Без резистора ток ограничивало бы лишь внутреннее сопротивление конденсатора — сотни миллиампер. На деле большую часть заряда забирает диод параллельно резистору 47 кОм, и ток через вход ещё меньше.

8.8.2Когда всё решают наносекунды

≈ 11 мин3 упр.
Главное
  • Входы триггеров должны меняться после фронта и успевать установиться к следующему; перекос тактовПерекос тактов (clock skew) — разные триггеры «видят» один и тот же фронт такта в разные моменты; источник гонок. рождает гонки.
  • Нарушение времени установки → метастабильность; лекарство — цепочка из 2–3 триггеров, MTBFMTBF — среднее время между сбоями; для синхронизатора растёт экспоненциально со временем, отведённым на «успокоение» триггера. растёт как .
  • Затянутый фронт такта + разброс порогов КМОП (⅓–⅔ ) = перекос тактов и потеря битов.
  • Укороченные импульсыУкороченный импульс (runt) — импульс короче гарантированного минимума: часть схемы его замечает, часть — нет. и «неопределённые правила» ('74 в 74C, время восстановления) — проверяйте худший случай и документацию.

Логические гонки. Самая коварная ловушка — когда исход зависит от того, какой из двух сигналов придёт раньше. Типичная ситуация: вентиль управляется выходом триггера, а сам вентиль подаёт такт или данные на другой триггер. В момент фронта вентиль открыт, но через задержку триггера закроется — и успеет ли такт «проскочить», решает соотношение задержек конкретных экземпляров микросхем при данной температуре. На столе схема работает, в мороз — нет. Классический пример такой ситуации — синхронизаторТактируемый триггер, приводящий асинхронный внешний сигнал к такту системы. асинхронного сигнала, который мы разбирали в разделе 8.4.

Правило. В синхронной схеме входы триггеров меняются только после тактового фронта и успевают установиться к следующему — в этом её главное преимущество. Задержки в тактовых цепях (перекос тактов) разрушают это правило и рождают гонки. Если что-то и приходится задерживать, задерживайте так, чтобы данные гарантированно стояли неподвижно в окне «установка — удержание» вокруг фронта. Проглядеть гонку необычайно легко — проверяйте каждое место, где такт проходит через логику.
tустфронтtудТактD — правильноD — гонкавход сменился в окнеwww.reknow.ru
Окно «установка — удержание»: в интервале от до фронта и после него вход триггера должен стоять неподвижно. Синхронная схема меняет входы сразу после фронта — далеко от окна.

Симптом: энкодер раз в несколько часов сбивается. Ручка громкости с инкрементным энкодером работает идеально, но иногда громкость сама прыгает на случайное значение. Сигналы энкодера поступают в синхронную схему (или в программируемую логику) прямо, без синхронизации.

Механизм — метастабильность. Триггер гарантированно записывает вход, только если тот не менялся в течение времени установки до фронта (и времени удержания после). Асинхронный сигнал рано или поздно сменится именно внутри этого окна. Тогда триггер может «зависнуть» в промежуточном состоянии: выход застревает около логического порога и лишь спустя случайное время уходит в 0 или 1. В худшем случае это несколько микросекунд — при нормальной задержке элементов ТТЛТранзисторно-транзисторная логика: биполярное семейство, питание +5 В, порог ≈1,3 В, заметный ток покоя. Серии LS, ALS, AS, F. около 20 нс. Если за это время выход успели прочитать два разных узла, один увидит 0, другой 1, и схема окажется в невозможном состоянии.

Обычно проблемой пренебрегают, и для медленных систем это оправданно. Но в быстрых системах, где асинхронные сигналы синхронизируются постоянно, она вполне реальна. Метастабильности часто приписывают таинственные сбои компьютеров; к таким объяснениям стоит относиться скептически и сначала проверить более прозаические причины — но и исключать её нельзя.

окно tустфронтТактDQ0метастабильно0 или 1www.reknow.ru
Нарушено время установки: D сменился внутри окна установки (ближе чем за tуст до фронта). Выход может надолго зависнуть около порога и лишь потом случайно уйти в 0 или 1.
Совет. Лекарство — цепочка синхронизаторов: два-три триггера подряд на одном такте, каждый получает целый период на «успокоение» предыдущего. Встречаются и «детекторы метастабильности», сбрасывающие зависший триггер, но цепочка проще и надёжнее.
Среднее время между сбоями синхронизатора
Обозначения:время, которое даётся триггеру на «успокоение»параметры триггера (τ — постоянная времени выхода из метастабильности)частота тактачастота смены асинхронных данных
Каждая лишняя наносекунда на «успокоение» умножает MTBF на — поэтому второй триггер решает проблему.
Модель: синхронизатор — MTBF в зависимости от времени на «успокоение»
Упражнение 8.8.3

Сигнал энкодера (меняется в среднем МГц — с учётом дребезга контактов) поступает в схему с тактом МГц. Параметры триггера: нс, нс. Выход единственного триггера-синхронизатора читается уже через 6 нс после фронта. Найдите MTBF по формуле выше (в секундах). На сколько порядков () он вырастет, если поставить второй триггер, т. е. добавить целый период такта (20 нс)?

Решение

. , с — сбой каждые несколько минут.

Второй триггер добавляет 20 нс: выигрыш , . MTBF становится порядка с — гораздо больше возраста Вселенной. Один дополнительный триггер превращает «сбой раз в несколько минут» в «никогда».

Симптом: картинка «съезжает» на пиксель. Светодиодная матрица собрана из двух плат на регистрах сдвига, соединённых метровым шлейфом. Такт для обеих плат идёт от выхода КМОП-микросхемы серии 4000. Правая половина изображения иногда сдвинута на один столбец.

Механизм — перекос тактов из-за затянутого фронта. Выход КМОП (особенно старых серий) имеет заметное выходное сопротивление — сотни ом, у 4000B при питании 5 В около 500 Ом. Ёмкость длинного шлейфа и многих входов превращает фронт такта в пологую экспоненту. А пороги срабатывания КМОП-входов разбросаны очень широко — от 1/3 до 2/3 , и реально бывают какими угодно в этих пределах. Если порог первого регистра ниже, он сдвинет раньше, его последний бит сменится до того, как второй регистр «увидит» фронт, — и второй запишет уже новое значение. Один бит теряется, картинка съезжает. На КМОП это проявляется сильнее, чем на ТТЛ: у ТТЛ и выход «крепче», и пороги стабильнее.

регистр №1DпослCQпослрегистр №2DпослCQпослтакт от 4000BCпаршлейф 1 мпорог №1порог №2медленный фронт тактаwww.reknow.ru1Регистр №1. его порог может оказаться ниже — он сдвинет раньше2Регистр №2. порог выше: «увидит» фронт позже и запишет уже новый бит соседа3Последовательная связь. последний бит №1 → вход №2: именно он и теряется4Ёмкость линии C_пар. длинный провод и много входов затягивают фронт: 5Такт от КМОП. выходное сопротивление — сотни ом6Два порога. ⅓ и ⅔ — фронт пересекает их в разные моменты
Две платы матрицы на общем такте: выходное сопротивление КМОП и ёмкость шлейфа делают фронт пологим, и регистры с разными порогами сдвигают в разные моменты.
Что здесь что (6)
  1. Регистр №1. его порог может оказаться ниже — он сдвинет раньше
  2. Регистр №2. порог выше: «увидит» фронт позже и запишет уже новый бит соседа
  3. Последовательная связь. последний бит №1 → вход №2: именно он и теряется
  4. Ёмкость линии C_пар. длинный провод и много входов затягивают фронт:
  5. Такт от КМОП. выходное сопротивление — сотни ом
  6. Два порога. ⅓ и ⅔ — фронт пересекает их в разные моменты
Перекос тактов от затянутого фронта
Обозначения:постоянная времени фронта: выходное сопротивление × ёмкость линиипороги двух регистров
Если больше минимальной задержки «такт → выход» первого регистра, бит теряется.
Упражнение 8.8.4

Такт матрицы идёт от выхода с сопротивлением 400 Ом и нагружен ёмкостью 150 пФ (шлейф и входы двух плат). Пороги регистров — и . На сколько различаются моменты их срабатывания? Потеряется ли бит, если минимальная задержка «такт → последовательный выход» первого регистра 12 нс?

Решение

нс. Порог достигается при нс, порог — при нс. Разница нс — больше 12 нс: последний разряд первого регистра сменится раньше, чем второй регистр «увидит» фронт, и бит будет потерян. Лекарства: буферБуфер — повторитель с : огромное входное и малое выходное сопротивление, развязывает источник и нагрузку. с гистерезисом (например, 'HC14) на входе такта каждой платы, мощный драйвер такта, короткие тактовые линии; надёжнее всего — передавать такт и данные так, чтобы данные менялись по противоположному перепаду.

Совет. Лучшая профилактика — располагать тактируемые корпуса рядом и не нагружать тактовую линию большой ёмкостью.
Ловушка. С тактовыми входами любых микросхем обращайтесь бережно. Такт с шумом или «звоном» сначала «очистите» вентилем (лучше с гистерезисом), а потом подавайте на тактируемый кристалл. Особенно коварны такты, приходящие с другой платы или от другого логического семейства: медленная логика 4000B или 74C, тактирующая быстрые HC или AC, почти наверняка даст перекос тактов или многократные срабатывания на одном фронте.

Укороченные импульсы. Мы уже встречали их в разделе 8.7: счётчик, который сбрасывает или перезагружает сам себя асинхронно, порождает импульс длиной в сумму задержек. То же касается импульсов загрузки счётчиков и регистров сдвига, импульсов, «вырезанных» вентилем из такта, и т. п. Укороченный импульс одна часть схемы замечает, другая — нет.

Ловушка. Укороченные импульсы — неиссякаемый источник неприятностей: схема работает «на грани» и время от времени сбоит. Считайте задержки по наихудшему случаюПроектирование на наихудший случай — расчёт при самом неблагоприятном сочетании входного напряжения, нагрузки, допусков и температуры., а лучше устраняйте такие импульсы синхронной загрузкой и сбросом.

Симптом: «такую же» микросхему поставили из другой серии — и схема сломалась. Пока полупроводниковая промышленность шла от резисторно-транзисторной логики 1960-х через ТТЛ и ТТЛШ к современным КМОП, значение единообразия цоколёвки, параметров и функций было понято не сразу. Наследство той эпохи — набор «неопределённых правил», которые приходится знать.

  • У 7400 (четыре И-НЕВентиль И-НЕ: на выходе низкий уровень, только когда все входы высокие. В КМОП — n-канальные ключи последовательно, p-канальные параллельно.) одна цоколёвка вентилей, у 7401 (те же И-НЕ, но с открытым коллектором) — другая. Путаница была такой, что выпустили «мутанта» 7403 — тот же 7401, но с цоколёвкой 7400.
  • У двоично-десятичного счётчика 7490 выводы питания посередине корпуса, а не в углах. (Забавно, что средние выводы питания «вернулись» в быстрых КМОП — ради меньшей индуктивности и лучшей развязки.)
  • D-триггер '74 есть в каждом семействе. Если одновременно подать активные уровни на установку и сброс, оба выхода станут высокими — во всех семействах, кроме 74C, где оба выхода станут низкими. Это не совсем «неопределённое» правило — в хорошей документации разница указана, — но на жаргоне такое называют «попался!» (gotcha).
  • '96 — 5-разрядный регистр сдвига с хитрыми входами загрузки: ими разряды можно установить в 1, но нельзя сбросить.
7400 / 7401разная цоколёвка4 × И-НЕ и И-НЕ с открытым коллектором — вентили на разных выводах.
7403«мутант»Тот же 7401, но с цоколёвкой 7400.
7490питание посерединеВыводы питания не в углах корпуса.
'74 в 74CS = R = 1 → оба выхода 0В остальных семействах — оба 1.
'96загрузка только в 1Входами загрузки разряды можно установить, но нельзя сбросить.

По-настоящему неопределённым и очень важным долго оставался параметр время восстановленияRecovery time: сколько выждать после снятия асинхронного сброса или установки до тактового фронта, чтобы он гарантированно сработал. (recovery time) — сколько нужно выждать после снятия асинхронного сигнала (сброса или установки), чтобы следующий тактовый фронт гарантированно сработал. Разработчики схем всегда хотели его знать, но в документации он появился лишь тогда, когда около 1980 г. старые семейства вытеснили улучшенные ТТЛШ и быстрые КМОП.

Правило. Если работаете со старой логикой (например, 74C), будьте консервативны: считайте время восстановления равным времени установки данных, хотя обычно оно меньше. Для сравнения, у D-триггера 74HC74 минимальное время восстановления 5 нс, а время установки данных — 20 нс.
Упражнение 8.8.5

Схема начальной установки при включении питания на мгновение подаёт активные уровни сразу на вход установки и на вход сброса D-триггера '74, а затем снимает оба одновременно. Что будет на выходах во время действия сигналов и после их снятия?

Решение

Внутренние вентили И-НЕ (в 74C — ИЛИ-НЕВентиль ИЛИ-НЕ: на выходе низкий уровень, если высокий хотя бы один вход. В КМОП — n-канальные ключи параллельно, p-канальные последовательно.) при одновременно активных асинхронных входах дают одинаковые уровни на обоих выходах: высокие в ТТЛ-подобных семействах и низкие у 74C. А при одновременном снятии сигналов триггер оказывается в гонке «кто отпустит первым», и его состояние случайно. Если схема сброса так устроена, перепроектируйте её: подавайте на каждый триггер только один из асинхронных входов.

8.8.3Врождённые слабости ТТЛ и КМОП

≈ 14 мин3 упр.
Главное
  • ТТЛ: вход в нуле — источник токаИсточник тока — устройство, ток которого почти не зависит от напряжения на нагрузке (бесконечное дифференциальное сопротивление); идеал — . (0,25–0,6 мА), порог близко к земле, жёсткое питание 5 В ± 5 % и шунтирование 0,1 мкФ на корпус.
  • КМОП: статика, разброс порогов, неподключённые входы — всегда к шине.
  • Быстрые AC/ACT: «подскок» земли«Подскок» земли (ground bounce) — бросок на индуктивности вывода земли при одновременном переключении многих выходов. до 1–2 В; если скорость не нужна — HC/HCT.
  • КМОП-аномалии: тиристорноеТиристор (кремниевый управляемый вентиль, КУВ) — ключ с «памятью»: открывается током управляющего электрода и остаётся открытым, пока анодный ток не упадёт почти до нуля. защёлкивание, коварные отказы, питание через вход.

Сначала — особенности, которые просто доставляют неудобства и которые надо учитывать с самого начала. Потом — настоящее «ненормальное» поведение, при котором схема ведёт себя так, будто нарушены законы физики.

Неудобства двух семейств
Биполярная ТТЛКМОП
Вход в низком состоянииисточник тока 0,25–0,6 мАток практически нулевой
Порогблизок к земле — чувствительна к помехамот ⅓ до ⅔ , большой разброс
Питание+5 В ± 5 %, немалая мощностьширокий диапазон, малая мощность
Главная бедапомехи по питанию и землестатика, защёлкивание, плавающие входы
Выходное сопротивлениенизкое200–500 Ом

ТТЛ: с чем приходится мириться

Симптом: кнопка с RC-фильтром «не нажимается». К входу LS-ТТЛ подключили кнопку и RC-фильтр от дребезга: резистор 10 кОм на землю, кнопка к +5 В, конденсатор 1 мкФ. На КМОП такая цепь работает, а здесь вход всегда воспринимается как единица, нажимай не нажимай.

Причина — в устройстве входа ТТЛ. В низком состоянии он не «ничего не потребляет», как КМОП, а сам является источником тока: около 0,25–0,4 мА у LS и 0,5–0,6 мА у F. Этот ток, протекая через резистор 10 кОм, поднимает вход до нескольких вольт — выше порога. Поэтому RC-цепочки на входах ТТЛ должны быть низкоомными, а сигналы линейных схем к ним надо подключать с оглядкой.

Почему RC-цепи на входах ТТЛ низкоомные
Обозначения:наибольший резистор от входа ТТЛ на землюдопустимый подъём уровня (запас до порога низкого уровня)ток, вытекающий из входа ТТЛ в нуле
Упражнение 8.8.6

Вход в низком состоянии отдаёт до 0,4 мА у LS-ТТЛ и до 0,6 мА у F-ТТЛ. RC-цепь должна держать вход не выше 0,5 В, т. е. с подъёмом не больше 0,3 В над землёй. Каково наибольшее сопротивление резистора на землю для LS и для F? Какая ёмкость понадобится в LS-варианте для постоянной времениПостоянная времени (или ) — за неё экспонента проходит 63% пути к новому значению; за — 99%. 1,5 мкс?

Решение

Ом для LS и Ом для F. Для мкс при 750 Ом нужно нФ. На КМОП тот же интервал получился бы с 1 МОм и 1,5 пФ — вот почему RC-задержки на ТТЛ громоздки и неточны (к тому же входной ток зависит от экземпляра и температуры). А кнопку из примера правильно подключать наоборот: резистор к +5 В, кнопка на землю.

  • Порог ТТЛ близок к земле (так же и у имитирующих её серий HCT и ACT), поэтому семейство заметно чувствительно к помехам (подробнее — в разделе 9.2). Будучи быстрым, оно «замечает» короткие выбросы на шине землиВыброс на земле (ground bounce) — скачок потенциала «земли» внутри микросхемы из-за в выводе земли при одновременном переключении многих выходов., которые само же и порождает быстрыми переключениями.
  • Требования к питанию жёсткие: +5 В ± 5 % при немалой мощности. Выходы с активной нагрузкойАктивная нагрузка — источник тока (или токовое зеркало) в коллекторе вместо резистора: огромное сопротивление для сигнала при малом падении постоянного напряжения, усиление — тысячи. при переключении создают броски тока в шинах питания, поэтому питание шунтируют — в идеале керамическим конденсатором 0,1 мкФ у каждого корпуса.
ИМСUccземля0,01–0,1 мкФнизкоиндуктивная земляная шина (полигон)+5 Вwww.reknow.ru1Микросхема. выходы с активной нагрузкой дают броски тока в шинах питания2Конденсатор 0,01–0,1 мкФ. керамический, с короткими выводами — у каждого корпуса3Короткая связь с землёй. чем короче, тем меньше индуктивность и броски напряжения4Земляной полигон. низкоиндуктивная шина земли
Развязка питания: керамический конденсатор с короткими выводами прямо у корпуса и кратчайший путь к низкоиндуктивной земле.
Что здесь что (4)
  1. Микросхема. выходы с активной нагрузкой дают броски тока в шинах питания
  2. Конденсатор 0,01–0,1 мкФ. керамический, с короткими выводами — у каждого корпуса
  3. Короткая связь с землёй. чем короче, тем меньше индуктивность и броски напряжения
  4. Земляной полигон. низкоиндуктивная шина земли

КМОП: с чем приходится мириться

  • Статическое электричество. Входы и выходы КМОП боятся разрядов: зимой, в сухом воздухе, «смертность» КМОП действительно подскакивает. Новые семейства с поликремниевыми затворами (HC(T), AC(T)) чувствительнее предков с металлическими затворами. Браслет заземления и антистатический коврик — не прихоть.
  • Разброс порогов и высокое выходное сопротивление (200–500 Ом) — источник перекоса тактов, который мы разобрали выше; на медленно нарастающем входе выход может переключиться несколько раз.
  • Неиспользуемые входы, в том числе входы незадействованных вентилей, обязательно подключают к шине питания или земли. Почему — в истории про «висящий вход» ниже.

Симптом: восьмой выход «дёргается». Восьмиразрядный буфер AC244 зажигает семь светодиодов табло, а восьмым выходом держит в нуле линию сброса соседнего узла. При каждой смене картинки соседний узел иногда сбрасывается, хотя восьмой выход всё время «стоит» в нуле.

Механизм — «подскок» земли (ground bounce), врождённая болезнь быстрых КМОП, особенно AC и ACT. Быстрый выход, заряжающий или разряжающий ёмкостную нагрузкуЁмкостная нагрузка добавляет в петлю ОС ОУ лишний фазовый сдвиг; многие ОУ на ней звенят или генерируют., гонит через вывод земли корпуса огромный кратковременный ток. У этого вывода есть индуктивность в несколько наногенри, и на ней возникает напряжение . Земля самого кристалла подпрыгивает относительно земли платы — а вместе с ней подпрыгивает и низкий уровень на всех остальных выходах той же микросхемы. Амплитуда 1–2 В — не редкость.

Откуда берётся «подскок» земли
Быстрый фронтперепад 5 В за единицы наносекунд
Ток заряда нагрузки — десятки миллиампер на выход
Много выходов разомсотни миллиампер через один вывод земли
Индуктивность вывода
«Подскок» земли 1–2 Внизкий уровень «молчащих» выходов подпрыгивает
Оценка «подскока» земли
Обозначения:ёмкость нагрузки выходаскорость фронтаиндуктивность вывода земли корпуса, единицы нГнбросок потенциала земли на кристалле

Оценим порядок величины: перепад 5 В за 3 нс на ёмкости 50 пФ даёт мА на один выход, а восьмиразрядный буфер может разом переключить восемь таких нагрузок — около 2/3 А через один вывод земли! После этого 1–2 вольта «подскока» уже не удивляют.

83 мАна один выход5 В за 3 нс на 50 пФ.
≈ ⅔ Авосемь выходовВесь ток идёт через один вывод земли.
1–2 В«подскок»Больше порога ТТЛ-уровней (0,8 В)!
-10010203040-2-1012345время, нсвыходное напряжение, Впереключаемые выходы 1 → 0выход, удерживаемый в 0www.reknow.ru
«Подскок» земли (качественно): семь выходов буфера AC разом разряжают нагрузку, а восьмой, который «стоит» в нуле, подпрыгивает на 1–2 В вместе с землёй кристалла.
Модель: «подскок» земли при одновременном переключении выходов

Проблема оказалась настолько серьёзной, что породила новые варианты серий AC/ACT с выводами питания и земли посередине корпуса, где индуктивность меньше. Когда эти серии появились, производители разошлись во мнениях: TI продвигала новую цоколёвку, а RCA и Fairchild защищали традиционную, с питанием по углам. В итоге существуют оба варианта, и при замене микросхемы надо проверять, какой именно у вас.

Совет. Применяя AC/ACT, держите индуктивность земли минимальной: печатная плата со сплошным земляным слоем и множество низкоиндуктивных развязывающих конденсаторов. А если высокая скорость на самом деле не нужна, лучшее лекарство — отказаться от AC/ACT в пользу HC/HCT: их фронты медленнее, и «подскок» в разы меньше.
Упражнение 8.8.7

Восемь выходов буфера AC одновременно переключаются из 1 в 0 при питании 5 В, фронт 2,5 нс, нагрузка каждого 30 пФ. Найдите средний ток одного выхода за фронт и суммарный ток. Считая, что суммарный ток в выводе земли имеет форму треугольника той же площади (нарастает за половину фронта до удвоенного среднего значения), оцените «подскок» земли при индуктивности вывода 2 нГн.

Решение

мА; А. Пик треугольника А достигается за 1,25 нс: А/с, и В — почти вдвое больше порога ТТЛ-уровней (0,8 В): для нагрузки со входом HCT/ACT «молчащий» восьмой выход на мгновение станет единицей. Меры: меньше одновременно переключаемых выходов (или разнести их по двум корпусам), последовательные резисторы 22–33 Ом в выходах, корпус с центральными выводами земли, сплошной земляной слой — или просто серия HC.

Странности ТТЛ

Таинственных явлений у ТТЛ немного. Некоторые одновибраторыОдновибратор — схема, выдающая по запуску один импульс заданной длительности. ТТЛ срабатывают от выбросов в цепях питания или земли и вообще ведут себя «нервно». Схема, прекрасно работающая на LS, может начать сбоить, если заменить микросхемы на AS: та же логика, но фронты быстрее и токи в земле больше (серия 74F в этом смысле спокойнее). Как правило, загадочное поведение ТТЛ сводится к помехам по питанию и земле.

Странности КМОП

А вот КМОП способны свести с ума кого угодно. Разберём пять историй.

+Ucc микросхемыземлявходRлекарствоток в подложкуp-n-pn-p-nток КЗwww.reknow.ru1Вход под напряжением раньше питания. внешний сигнал выше микросхемы2Защитный диод. ток 50 мА и больше течёт через него в карман/подложку3Паразитный тиристор. пара p-n-p и n-p-n, перекрёстно связанных, — побочный продукт изоляции p-n-переходом4Ток короткого замыкания. включившийся тиристор замыкает на землю; ток ограничен только источником — кристалл греется5Лекарство — резистор. ограничивает ток через защитный диод; помогают и диоды Шоттки, и порядок включения питания
Тиристорное защёлкивание: ток через защитный диод входа включает паразитную пару p-n-p/n-p-n, и она замыкает питание микросхемы на землю, пока питание не снимут. Резистор последовательно со входом ограничивает ток диода.
Что здесь что (5)
  1. Вход под напряжением раньше питания. внешний сигнал выше микросхемы
  2. Защитный диод. ток 50 мА и больше течёт через него в карман/подложкуПодложка («тело») — кристалл кремния, в котором сделан МОП-транзистор; образует с каналом диод, поэтому её подключают к истоку или к самому отрицательному (для n-канала) потенциалу.
  3. Паразитный тиристор. пара p-n-p и n-p-n, перекрёстно связанных, — побочный продукт изоляции p-n-переходом
  4. Ток короткого замыканияТок короткого замыкания — ток через перемычку, соединившую выводы источника.. включившийся тиристор замыкает на землю; ток ограничен только источником — кристалл греется
  5. Лекарство — резистор. ограничивает ток через защитный диод; помогают и диоды ШотткиДиод Шоттки — переход металл — полупроводник: прямое падение 0,3–0,5 В вместо 0,7–0,9 В и почти нет времени восстановления; обратное напряжение обычно до 40–100 В., и порядок включения питания
  • Тиристорное защёлкивание. Симптом: датчик со своим блоком питания подключён к плате; если датчик включить раньше платы, плата после включения сильно греется и не работает, пока её не обесточить. Механизм: когда на вход (или выход) КМОП подан сигнал, а питание микросхемы ещё не появилось, ток 50 мА и более через входные защитные диоды может открыть пару паразитных перекрёстно связанных транзисторов — неизбежный побочный продукт КМОП-технологии с изоляцией p-n-переходами (та же беда грозит аналоговым КМОП-ключам — раздел 3.3). Получается тиристор между и землёй: он замыкает питание, кристалл греется, и вернуть его к жизни можно, только сняв питание; если не сделать этого за несколько секунд, микросхему придётся менять. Некоторые новые КМОП (серия HC с поликремниевыми затворами GE/RCA и National) не защёлкиваются даже при входном сигнале на несколько вольт выше питания.
  • Коварные отказы. Симптом: прибор то работает, то ошибается, причём ошибки зависят от того, какие числа он обрабатывает. Механизм: в КМОП-микросхеме может оборваться один выходной транзистор, и тогда выход «держит» уровень только ёмкостью — появляются кодозависимые ложные срабатывания, которые очень трудно найти. Вход может начать работать как источник тока или как нагрузка, весь корпус — потреблять заметный ток. Чтобы быстро найти «прожорливую» микросхему, полезно ставить последовательно с выводом питания каждой КМОП-микросхемы резистор 10 Ом (меньше — для микросхем с большой нагрузкой и мощных формирователей, например серии AC): падение на нём сразу показывает ток.
  • Разные пороги одного входа. КМОП-кристаллы сильно различаются по порогу, и даже у одного кристалла пороги для разных функций одного и того же входа неодинаковы. Так, у 4013 при сбросе по входу R выход Q становится высоким раньше, чем Q становится низким. Если снимать сигнал сброса по изменению Q, получившийся импульс может не успеть сбросить триггер.
  • Висящий вход. Симптом: кнопка подключена к входу без подтягивающего резистора; схема время от времени срабатывает сама, особенно если поднести руку. Вы ставите щуп осциллографа на вход, видите 0 В, как и должно быть, — и несколько минут всё работает идеально. Потом снова сбой. Механизм: щуп разрядил ёмкость висящего входа, и ей нужно время, чтобы утечками и наводками снова зарядиться до порога. Лекарство — никогда не оставлять входы КМОП неподключёнными.
  • Питание через вход. Симптом: чистая фантастика — вы забыли подключить вывод микросхемы, а схема работает! Или плата выключена, но светодиод питания на ней тускло светится. Механизм: кристалл питается через один из логических входов: вход — защитный диод — шина питания. Можно долго ничего не замечать, пока на всех входах корпуса одновременно не окажется низкий уровень: тогда кристалл теряет питание и «забывает» состояние. Нормальной такую работу не назовёшь в любом случае: выходной каскад питается плохо и не даёт номинального тока. Хуже всего, что проблема проявляется эпизодически, и можно пробегать не один круг, прежде чем понять, в чём дело.
АдаптерUSB-UART, 5 ВTX → RXМК на платеRXUccзащитный диодCпитшина +U платысветитсявполнакалапитание платы выкл.www.reknow.ru
Плата выключена, а адаптер уже подключён: высокий уровень на линии TX течёт через защитный диод входа RX в шину питания и «питает» всю плату.
Совет. Резистор 10 Ом последовательно с выводом питания каждой КМОП-микросхемы сразу выдаёт «прожорливый» корпус: падение на нём показывает ток. Все неиспользуемые входы КМОП — к шине питания или земли.
Упражнение 8.8.8 задача

Плата с микроконтроллером (КМОП, питание 5 В от своего блока) получает команды по UART от компьютера через адаптер USB-UART. Если адаптер подключить, пока плата выключена, на ней тускло светится индикатор питания. А иногда после включения платы микроконтроллер сильно греется и не отвечает, пока плату не выключить. Объясните оба явления и предложите схемные меры, которые сделают прибор устойчивым к любому порядку включения.

Решение

Тусклый индикатор — питание через вход. Линия TX адаптера в покое высокая (5 В). Через вход RX и его верхний защитный диод ток течёт в шину питания выключенной платы и заряжает её конденсаторы примерно до 4,4 В; от этого светится индикатор и наполовину «живут» микросхемы. Состояние платы при таком «питании» непредсказуемо, а ток через защитный диод может превысить допустимый.

Нагрев и отказ — тиристорное защёлкивание. Пока питание платы ещё не установилось (или нарастает медленнее, чем сигнал на входе), напряжение на входе выше : ток через защитный диод в карман и подложку создаёт падения напряжения на их сопротивлениях и открывает паразитную пару p-n-p/n-p-n — четырёхслойную структуру между и землёй. Она остаётся включённой, пока питание не снимут; ток ограничен только источником, и микросхема греется.

Меры: 1) резистор последовательно с входом RX (единицы килоом — для скоростей UART этого достаточно), ограничивающий ток через защитный диод заведомо ниже порога защёлкивания (несколько миллиампер); 2) внешние диоды Шоттки от входа к шинам, которые забирают ток на себя; 3) буфер с допуском входного напряжения при выключенном питании (такие есть в современных сериях LVC — с пометкой «вход допускает напряжение при ») или оптронСветодиод и фототранзистор в одном непрозрачном корпусе: передаёт сигнал светом, изоляция между ними — тысячи вольт., если платы питаются от разных источников; 4) сигналы на вход — только после того, как питание установилось (общий порядок включения, буфер с разрешением от монитора питания); 5) микросхемы, нечувствительные к защёлкиванию, и ограничение тока источника.