Когда я участвовал в проведении конкурса 7400, я понял, что многим из представленных логических схем для надежной работы не хватает простейших защитных элементов. Одним из самых часто встречающихся недостатков конструкции было отсутствие блокировочных емкостей. Позже, прочитав статью о законе Мёрфи, я решил немного написать о развязке и блокировочных конденсаторах.
Как человек, которого можно назвать старожилом в области электроники, я познакомился с проблемой отсутствия развязки на собственном опыте. Свою первую высокоскоростную схему я собрал, будучи стажером в крупной фирме по производству электроники. Та схема, цифровой частотомер, была собрана на логике семейства 74Fxx и работала на частоте 11 МГц (по тем временам это считалось очень много). Это была плата размером 23 × 16 см (Double Eurocard), содержащая около 40 микросхем, соединенных монтажом накруткой (wire wrap). Когда пришло время ее включать, я увидел, что схема не работает, как надо, а выдает полную ерунду.
Проверив несколько раз сборку, я рассказал о проблеме своему руководителю, а он взглянул на плату и сказал: «Не хватает блокировочных конденсаторов. Поставь их на питание около каждой микросхемы, тогда и поговорим.» Совершенно растерянный, я сделал, как было сказано, и — о чудо! — все сразу заработало. Почему, казалось бы, ни на что не влияющая емкость заставила схему работать? Мой руководитель рассказал мне о бросках тока при переключении, об индуктивности проводников и о развязке. Я признаю, что прошло несколько лет, прежде чем я действительно понял, что он тогда говорил, но урок был усвоен: всегда ставить конденсаторы на питание цифровых микросхем.
Термины «блокировочный конденсатор» и «развязка» — не случайные слова, а имеют в данном контексте вполне определенное значение:
развязка — действие, направленное на (частичное) отделение цепей питания микросхемы от общего источника питания;
блокировочный конденсатор — конденсатор, установленный таким образом, что он шунтирует питание микросхемы и действует как местный источник питания.
Почему это всё так важно? Взгляните, например, сюда:
Рисунок 1. Отсутствие блокировочноых конденсаторов.
Разве это похоже на цифровой сигнал? Такую ерунду вы получите без блокировочных конденсаторов.
Пожалуйста, обратите внимание, что тактовая частота не важна. Проблема заключается в восходящих и спадающих фронтах сигнала. Так, одни и те же соображения применимы для систем, работающих на частоте 1 Гц, 20 кГц или 50 МГц. Используемые частоты в примерах ниже выбраны такими, чтобы их было удобно наблюдать на осциллографе.
Следует отметить, что на высокой частоте сбой наступает быстрее, чем на низкой, за счет большего числа фронтов в единицу времени. Однако это не означает, что низкочастотные схемы будут работать надежно. Это далеко не так, они будут сбоить так же легко, согласно закону Мёрфи. Да, и кстати, вы подумали о ваших маленьких микроконтроллерах, работающих на частоте 16 МГц?
Измерение всплесков тока
Чтобы увидеть, что происходит, нужно измерить токи, протекающие через схему. Вот простая экспериментальная установка, собранная для иллюстрации:
Рисунок 2. Подключение инвертора.
Рисунок 3. Измерительная схема.
Генератор импульсов подключен к инвертору 74HC04, нагруженному на емкость 10 пФ. Сигнал на выходе инвертора, TP1, показан на верхней осциллограмме. Источник питания подключен к выводам микросхемы 7 и 14. В разрыв земляного проводника включен токоизмерительный резистор 10 Ом.
Напряжение в точке TP2 пропорционально потребляемому микросхемой току и отображается на нижней осциллограмме. Блокировочный конденсатор может быть подключен или отключен при необходимости. Щупы осциллографа снабжены делителями 1:10, так что масштаб осциллограммы по вертикали нужно умножить на 10. Все неиспользуемые входы 74HC04 заземлены. Установка выглядит так:
Рисунок 4. Установка, собраннная на макетной плате.
Рисунок 5 показывает проблемы, возникающие на высоких и низких частотах. Картинки слева — без блокировочного конденсатора, справа — с ним.
Рисунок 5. Выходное напряжение (верхний канал) и потребляемый ток (нижний канал).
Сверху — тактовая частота 330 кГц, снизу — 3,3 МГц.
Слева — без блокировочного конденсатора, справа — с ним.
Некоторые наблюдения из рисунка 5:
- Измеренный ток — это только ток через ногу GND и блокировочный конденсатор. Он не в точности соответствует току, потребляемому микросхемой. Сложно измерять ток через ноги Vcc и GND одновременно (ограничения, накладываемые конструкцией осциллографа. — Прим. перев.). Однако, измерение тока через вывод GND достаточно для иллюстративных целей.
- При логической «1» на выходе наблюдается высокочастотный «звон». Его размах больше 2 В, и выбросы превосходят напряжение питания. Добавление блокировочного конденсатора снижает «звон» до практически несущественного уровня. Выброс все еще остается, но затухает гораздо быстрее
- Фронтам сигнала соответствуют выбросы («иголки») потребляемого тока. Добавление блокировочного конденсатора уменьшает эти выбросы и делает их симметричными при восходящем и спадающем фронтах. Диапазон выбросов от -22 до +45 мА без блокировочного конденсатора и от -32 до +36 мА — с ним.
- Симметричная форма тока при наличии блокировочного конденсатора говорит, что энергия запасается и извлекается обратно. Это очень важная особенность.
- Остаточный ВЧ звон во многом зависит от положения щупа осциллографа (не показано), что говорит о том, что схема содержит паразитные LC-элементы и радиочастотные антенны. Расположение на плате и взаимное положение соединительных проводов оказывает значительное влияние на амплитуду и частоту колебаний. Эти помехи не могут быть полностью устранены, но их можно сильно уменьшить, правильно разведя печатную плату.
Взглянем на фронты сигнала поближе:
Рисунок 6. Фронты выходного напряжения (верхний канал) и потребляемого тока (нижний канал).
Сверху — задний (спадающий) фронт, снизу — передний (восходящий) фронт.
Слева — без блокировочного конденсатора, справа — с ним.
Оценка потребляемого тока
Микросхема 74HC04 выполнена по технологии КМОП. Это означает, что статический потребляемый ток близок к нулю. Ток потребляется только при переключениях из «0» в «1» и из «1» в «0». При переключении все нагрузочные и паразитные емкости должны быть перезаряжены. Для экспериментальной схемы нагрузка имеет емкость 10 пФ. Сюда нужно добавить емкости выводов и паразитные емкости, которые составляют примерно 5+2 пФ. Щуп осциллографа имеет емкость 10 пФ, которую тоже нужно учесть. Таким образом, суммарная емкость нагрузки на выходе инвертора примерно 27 пФ.
Выходную емкость нужно зарядить от 0 до 5 В примерно за 4,3 нс. Приняв для простоты, что зарядный ток постоянный, оценим его величину:
Q = I · t = C · U
I = (5 · 27 · 10-12)/(4,3 · 10-9) = 31,4 мА
Это означает, что через выход инвертора при каждом переключении втекает или вытекает огромный (по меркам КМОП. — Прим. перев.) ток. Откуда черпается энергия на это? Конечно, из источника питания. На рисунке 6 хорошо видно, что ток не возникает мгновенно, а нарастает до определенного уровня, а затем падает снова. Такое поведение явно указывает на наличие индуктивных элементов.
Лучше всего это видно на рисунке 6 справа, где ток достигает максимума в тот момент, когда выходное напряжение падает до нуля. Затем ток падает, вызывая провал выходного напряжения. Расчетный ток достаточно хорошо совпадает с измеренным, учитывая, что была проведена лишь простейшая оценка.
Так зачем же нужен блокировочный конденсатор?
Еще раз внимательно взглянем на нижнюю половину рисунка 6. Слева выходное напряжение не доходит до 5 В в течение некоторого времени, а справа — достигает почти сразу. Без блокировочного конденсатора микросхеме не хватает мощности питания для формирования крутого фронта, и напряжение застревает на уровне 4 вольт. Блокировочный конденсатор выдает необходимую мгновенную мощность на некоторое время.
Блокировочный конденсатор примерно в 4000 раз больше, чем емкость нагрузки, значит, следует ожидать, что падение напряжения питания будет в 4000 раз ниже (чем размах выходного напряжения. — Прим. перев.) — порядка 1-2 мВ.
При обратном переключении, из «1» в «0», как на рисунке 6 сверху, блокировочный конденсатор выступает в роли резервуара для принятия выделившейся энергии. Емкость нагрузки разряжается, и ток должен стечь на землю. Тем не менее, энергия не может быть мгновенно передана в источник питания, и блокировочный конденсатор будет временно хранить ее.
Локальный источник питания
Основной источник питания не может обеспечить микросхему достаточной мощностью из-за индуктивности проводников. Каждый провод обладает паразитной индуктивностью, которая препятствует изменению тока. Из определения индуктивности:
U = L · dI / dt ⇒ dI = U · dt / L
Из этого уравнения видно, что изменение тока обратно пропорционально индуктивности. Иными словами, если возрастает индуктивность, становится труднее изменить ток за заданный промежуток времени, при прочих равных параметрах. Кроме того, изменение тока вызывает падение напряжения на индуктивности. Чем длиннее провод (или дорожка на плате) тем более высокую индуктивность он имеет, тем сильнее он сопротивляется быстрому изменению тока, и тем больше будет падение напряжения.
Блокировочный конденсатор является локальным накопителем энергии. Он всегда должен быть установлен как можно ближе к выводам питания микросхемы, чтобы свести к минимуму индуктивность проводников от конденсатора до микросхемы. Такая схема развязывает общие и локальные цепи питания.
Увеличиваем нагрузку
Микросхема состоит из шести инверторов, поэтому схему можно изменить так, чтобы увеличить потребляемый ток:
Рисунок 7. Экспериментальная схема с дополнительной нагрузкой.
Рисунок 8. Выходное напряжение (верхний канал) и потребляемый ток (нижний канал) для схемы с дополнительной нагрузкой.
Сверху — тактовая частота 330 кГц, снизу — 3,3 МГц.
Слева — без блокировочного конденсатора, справа — с ним.
Обратите внимание на другой масштаб по оси Y для канала измерения тока, по сравнению с рисунками 5 и 6.
Ток через вывод GND теперь имеет выбросы около 70 мА при отсутствии блокировочного конденсатора. Если же последний установлен, снова наблюдаем симметричную форму выбросов амплитудой ±50 мА при восходящих и спадающих фронтах.
Обратите внимание, что фронт сигнала, как видно на рисунке 8 внизу слева, теперь гораздо более пологий. Микросхеме просто-напросто не хватает энергии для быстрого переключения. Установка блокировочного конденсатора (рисунок 8 справа) восстанавливает крутизну фронта до приемлемого уровня.
Рисунок 9. Фронты выходного напряжения (верхний канал) и потребляемого тока (нижний канал).
Слева — задний (спадающий) фронт, справа — передний (восходящий) фронт.
Блокировочный конденсатор установлен.
Подробное рассмотрение фронтов сигнала выявляет увеличенный по продолжительности выброс тока, что вызвано большими потребностями в энергии. Нагрузка микросхемы примерно в шесть раз выше, чем раньше (первый инвертор нагружен на входные емкости остальных инверторов, которые составляют 5 раз по 5 пФ).
Это был лишь простой пример — микросхема из шести инверторов. А теперь экстраполируйте вышесказанное на сложную логическую схему, содержащую множество элементов и множество внутренних соединений. В ней очень много паразитных емкостей, которые должны перезаряжаться при каждом изменении входных сигналов. Наконец, представьте себе микроконтроллер, состоящий из многих тысяч вентилей.
Заземление
Изложенные выше объяснения и иллюстрации должны дать ясное понимание того, что блокировочный конденсатор — важный элемент, выполняющий свою специальную функцию. Он запасает энергию источника питания локально, выдает её при необходимости, а также принимает избытки энергии.
Локальное хранилище энергии постоянно пополняется из основного источника питания через проводник Vcc. В то же время, избыточная энергия должна быть сброшена в источник питания через проводник GND. Сброс энергии в блокировочный конденсатор повышает напряжение на нем, и, по сути, кратковременно создает на схеме локальную область с другим потенциалом. Устранение этого дисбаланса является очень важным и осуществляется при помощи заземления. (Здесь под заземлением понимается не подключение к массе нашей планеты, а соединение с общим проводом источника питания. — Прим. перев.)
Печатные платы часто имеют отдельные заземленные слои, которые очень эффективны для соединения элементов с общим проводником источника питания. Хорошо проработанная разводка земли имеет первостепенное значение для сброса избыточной энергии. Но будьте осторожны, в сплошном заземленном слое могут возникать вихревые токи, а многочисленные связи с общим проводом — образовывать т.н. земляные петли.
Всегда будет хорошей идеей обратиться к знакомому разработчику со стажем. Большинство ошибок уже было кем-либо допушено раньше, и нет никакой необходимости повторять их до бесконечности.
Автор: Ocelot