Как сделать отрицательное напряжение

Добавил пользователь Владимир З.
Обновлено: 31.08.2024

В некоторых приложениях может потребоваться источник отрицательного опорного напряжения (ИОН), обычно никем не предлагаемый в виде законченного компонента. До сих пор наиболее распространенный способ формирования отрицательного напряжения основывался на использовании операционного усилителя (ОУ), инвертирующего выходной сигнал прецизионного источника положительного напряжения. При таком подходе, как правило, требуются источник положительного опорного напряжения, ОУ и две шины питания.

В основу другого подхода положено использование инвертора напряжения на коммутируемых конденсаторах. Для этого метода понадобятся ИОН, зарядовый насос, ОУ и положительная шина питания. Хотя оба этих решения вполне работоспособны, каждое из них требует нескольких компонентов. Кроме того, большое количество компонентов увеличивает цену изделия, что, конечно же, нежелательно.

В статье представлен простой способ формирования отрицательного опорного напряжения из единственного источника питания, для реализации которого используется ОУ с интегрированным зарядовым насосом. Комбинация ОУ и зарядового насоса имеется, например, в микросхеме MAX9820, изначально разработанной для использования в качестве стерео усилителя для головных телефонов и поддерживающей различные функции, необходимые для аудио приложений. Здесь, однако, он служит другой цели, являясь основой схемы, формирующей отрицательное опорное напряжение при минимальном количестве внешних компонентов и единственной шине питания.

Описание схемы

В схеме на Рисунке 1 для формирования отрицательного опорного напряжения используются 3-вольтовый последовательный ИОН (U1) и ОУ с внутренним зарядовым насосом (U2). U1 обеспечивает на выходе точное напряжение 3 В, потребляя ток менее 5 мкА. В этой конфигурации выход U1 подключен к петле обратной связи усилителя U2. Благодаря отрицательной обратной связи на выходе ОУ установится напряжение –3 В. Низкое напряжение смещения выхода U2 в сочетании с прецизионностью U1 обеспечивают высокую точность выходного отрицательного напряжения.

Рисунок 1. Эта схема формирует отрицательное опорное напряжение.
Выход микросхемы ИОН U1 (MAX6010A) подключен к входу
операционного усилителя U2 (MAX9820). Напряжение на
выходе U2 имеет отрицательный знак.

Напряжение питания схемы должно быть достаточно высоким, чтобы иметь определенный запас для ИОН и ОУ. Микросхеме ИОН для формирования напряжения 3 В требуется входное напряжение не менее 3.2 В. Максимально допустимое напряжение питания и наибольшее рабочее напряжение обеих микросхем U1 и U2 равно 6 В и 5.5 В, соответственно. Эти требования определяют диапазон возможных напряжений шины питания – от 3.2 В до 5.5 В.

Возле источника опорного напряжения необходимо установить развязывающие конденсаторы. Рекомендуемые величины емкостей – 0.1 мкФ на входе и 0.01 мкФ на выходе. На схеме не показан элемент развязки питания усилителя U2, который должен состоять из включенных параллельно конденсаторов 10 мкФ и 0.1 мкФ.

В качестве R1 и R2 должны использоваться высокоточные согласованные резисторы, обеспечивающие стабильность выходного напряжения во всем диапазоне рабочих температур обоих компонентов (–40 °C … +85 °C).

Рисунок 2. Здесь в схеме Рисунок 1 два резистора заменены микросхемой
U3 (MAX5491) прецизионного согласованного делителя.

Есть более дорогая, но и более точная альтернатива использованию двух согласованных резисторов – включение в цепь обратной связи интегрального прецизионного резисторного делителя (Рисунок 2). Например, рассогласование сопротивлений в микросхеме MAX5491 (U3) составляет 0.035% для группы A, 0.05% для группы B и 0.1% для C в температурном диапазоне, перекрывающем область рабочих температур ИОН и ОУ. Этот прибор будет идеальным дополнением к регулятору напряжения.

Рисунок 3. Зависимость выходного напряжения от
температуры для схемы на Рисунке 1.

На Рисунке 3 представлена зависимость выходного напряжения от температуры для схемы на Рисунке 1. Наибольшее отклонение напряжения в диапазоне –40 °C … +85 °C составило 3 мВ, что не выходит за пределы максимальных значений, указанных в справочных данных на микросхему U1.

Рисунок 4. Зависимость выходного напряжения от тока
нагрузки для схемы на Рисунке 1.

Рисунок 4 демонстрирует зависимость выходного напряжения от тока нагрузки для схемы на Рисунке 1 при –40 °C, +25 °C и +85 °C. Испытания выполнялись с двумя резисторами в цепи обратной связи, имеющими допуск 1%, при напряжении питания 5 В.

Ранее я делал обзор источника отрицательного напряжения (здесь). А так же планировал добавить источник отрицательного нпаряжения в самодельный блок питания с расширенными возможностями. Расмотренный источник отрицательного напряжения был неудобен тем,что не мог обеспечить нагрузку током более 30 мА. А это очень мало.

Решил поискать еще варианты, как можно из положительного напряжения сделать отрицательное. Рассчетов не будет, подбор схемы экспериментальный.

Пример смещения напряжения на делителе напряжения

Есть класическая схема делителянапряжения, где средняя точка между резисторами принимается за землю. Вот рисунок: На левом рисунке "земля" на минусе и при равных R1 и R2, получаем 5В между резисторами, в середине примем за землюточку между резисторами, тогда на "+", получим +5, на "-", - получаем -5В. Правая схема показывет, что поменял полярность, можно получить вообще -10В. Но у этой схемы есть недостаток. При подсоединении нагрузки в любое из плечей делителя, параллельно R1 или R2, при том, что сопротивление нагрузки будет сильно меньше R1 или R2, то рассогласуется средняя точка, т.к нагрузка станетпараллельным сопротивлением к R1 или R2.

А это плохо, такая схема годится для известной нагрузки, когда можно подобрать R1 и R2 значительно меньше нагрузки. а что если нагрузка не известна заранее.

Подсмотрел схему в книге Паоло Аливерти "Электроника для начинающих", схема называется генератор массы и выглядит вот так:


Здесь используется свойство ОУ потреблять очень малый ток на входе, нам на руку играет высокое входное сопротивление, которое во много раз больше R1 и R2.

Выход усилителя становится стабильной массой, т.е если принять его за 0, то нагрузка не повлияет на делитель напряжения и на входе усилителя всегда будет половина от Vcc(т.е половина от питания).

Под рукой у меня был LM358N, усилитель с однополярным питанием, что очень кстати. Собрал схему и наткнулся на проблему. Ниже моделирование. Схема:


И моделирование при изменении нагрузки R3 от 5 до 1000Ом:


Как видно по графику -5В получаем только при R3>120 Ом. Т.е LM358 не выдает более 40мА на выход и при большой нагрузке все равно напряжение просаживается. Но что если усилитель будет питать более мощный транзистор(под рукой были BD139 и BD140). Собрал схему на макетной плате, чтоб проверить.


Вот схематичесское изображение, для более понятного вида:


Такая сбока прошла все испытания. Транзисторы способны прокачать до 1.5А. Я до таких величин не доводил, на 0.5А проверял, просадка напряжения не обнаружено

В итоге вы получите источник отрицательного напряжения с общим плюсовым проводом, способный выдать ток до 700мА и напряжением в диапазоне от 1,23в до примерно 20в с защитой от перегрузок по току и от перегрева кристалла.

Почему 2576 ? Потому что я полюбил этот чип за надёжность, низкую стоимость, простоту и удобство.

Немного на мой взгляд неудачно у них нарисовано, поэтому сделаем зелёным.

Как видите это инвертирующий преобразователь, по буржуйски inverting buck-boost.

Ключ замыкается (биполярный транзистор, коллектор которого — это 1-й вывод LM2576, эмиттер — 2-й вывод), энергия запасается в сердечнике дросселя, затем ключ размыкается, и накопленная энергия через диод шоттки уходит в выходной электролит, цикл повторяется, пока цепь обратной связи не даст команду сбавитьобороты.

Цепь обратной связи (ОС) состоит из делителя R1, R2 для adj-версии микросхемы, а для версии с фиксированным выходным напряжением вывод 4 сразу сажаем на анод диода. Для версии с внутренним делителем, которую мы вдруг захотим включить на большее выходное напряжение, учитываем, что сопротивление внутреннего R2 равно:

3.3V R2 = 1.7k
5V, R2 = 3.1k
12V, R2 = 8.84k
15V, R2 = 11.3k

Выходное напряжение, как обычно, считаем по формуле Uвых = ((R2R1)+1)*1,23, где 1,23 — это напряжение источника опорного напряжения.

Для R2 = 2 кОм, R1 = 240 рассчётно получается 11,48 в с учётом погрешности (в моём случае получилось 11,4в).

Для тех кто хочет спросить почему на выходе только 700мА, ведь в даташите написано микросхема обеспечивает 3а, отвечу заранее: согласно даташиту ток ключа ограничивается внутренней схемой на уровне примерно 5,8а, а пиковый ток ключа в нашем обратноходовом преобразователе считается по формуле:

если после такого расчёта ваш мозг не аннигилировал в другое измерение то продолжим.

Короче, чтобы не хавать ваш мозг, пиковый ток обратнохода можно примерно прикинуть по формуле: Iпик = 5,5*(Pout)Vin, где Pout — выходная мощность. Как видите, чем меньше входное напряжение, тем больше пиковый ток, поэтому крайне не рекомендую питать схему от источника менее 10в (даташит говорит что минимальный "drop" равен 4,7в, т.е. при выходном 12,7в минимальное входное будет 8 вольт, если меньше то выходной ключ открывается. а его нагрузка по постоянному току дросель. со всеми вытекающими)

Ладно, хватит мудрёных формул, ближе к делу. У меня получилась платка размером 15х34 мм, нарисовал в спринте вот так:

Резисторы делителя 1206, электролиты диаметром 12. 13мм, дроссель намотал на колечке Т60 из 52-го материала, особо не думая о количестве витков, просто намотал в 4 жилы проводом 0,3. 0,4мм до заполнения, получилось примерно 70..80 витков (200. 250мкГн)

Ну а дальше как обычно, в путь: стеклотекстолит, утюг, хлорное железо, паяльник.

Итак, нам понадобится всего несколько деталей:

  1. Собственно сама LM2576
  2. Два электролита на вход и выход
  3. Диод Шоттки на 1а, например 1N5819
  4. Индуктивность примерно на 100. 300мкГн 1а
  5. Пара резисторов если LM2576-adj
  6. Парочка керамических конденсаторов на 0,1мкФ
  7. Возможно ещё керамика 0,1. 0,01мкФ, если ваша разводка окажется настолко неудачной, что схема начнёт самовозбуждатся и переводить потребляемую энергию в тепло.

В итоге вы получите источник отрицательного напряжения с общим плюсовым проводом, способный выдать ток до 700мА и напряжением в диапазоне от 1,23в до примерно 20в с защитой от перегрузок по току и от перегрева кристалла.

Почему 2576 ? Потому что я полюбил этот чип за надёжность, низкую стоимость, простоту и удобство.

Немного на мой взгляд неудачно у них нарисовано, поэтому сделаем зелёным.

Как видите это инвертирующий преобразователь, по буржуйски inverting buck-boost.

Ключ замыкается (биполярный транзистор, коллектор которого — это 1-й вывод LM2576, эмиттер — 2-й вывод), энергия запасается в сердечнике дросселя, затем ключ размыкается, и накопленная энергия через диод шоттки уходит в выходной электролит, цикл повторяется, пока цепь обратной связи не даст команду сбавитьобороты.

Цепь обратной связи (ОС) состоит из делителя R1, R2 для adj-версии микросхемы, а для версии с фиксированным выходным напряжением вывод 4 сразу сажаем на анод диода. Для версии с внутренним делителем, которую мы вдруг захотим включить на большее выходное напряжение, учитываем, что сопротивление внутреннего R2 равно:

3.3V R2 = 1.7k
5V, R2 = 3.1k
12V, R2 = 8.84k
15V, R2 = 11.3k

Выходное напряжение, как обычно, считаем по формуле Uвых = ((R2R1)+1)*1,23, где 1,23 — это напряжение источника опорного напряжения.

Для R2 = 2 кОм, R1 = 240 рассчётно получается 11,48 в с учётом погрешности (в моём случае получилось 11,4в).

Для тех кто хочет спросить почему на выходе только 700мА, ведь в даташите написано микросхема обеспечивает 3а, отвечу заранее: согласно даташиту ток ключа ограничивается внутренней схемой на уровне примерно 5,8а, а пиковый ток ключа в нашем обратноходовом преобразователе считается по формуле:

если после такого расчёта ваш мозг не аннигилировал в другое измерение то продолжим.

Короче, чтобы не хавать ваш мозг, пиковый ток обратнохода можно примерно прикинуть по формуле: Iпик = 5,5*(Pout)Vin, где Pout — выходная мощность. Как видите, чем меньше входное напряжение, тем больше пиковый ток, поэтому крайне не рекомендую питать схему от источника менее 10в (даташит говорит что минимальный "drop" равен 4,7в, т.е. при выходном 12,7в минимальное входное будет 8 вольт, если меньше то выходной ключ открывается. а его нагрузка по постоянному току дросель. со всеми вытекающими)

Ладно, хватит мудрёных формул, ближе к делу. У меня получилась платка размером 15х34 мм, нарисовал в спринте вот так:

Резисторы делителя 1206, электролиты диаметром 12. 13мм, дроссель намотал на колечке Т60 из 52-го материала, особо не думая о количестве витков, просто намотал в 4 жилы проводом 0,3. 0,4мм до заполнения, получилось примерно 70..80 витков (200. 250мкГн)

Ну а дальше как обычно, в путь: стеклотекстолит, утюг, хлорное железо, паяльник.

Блог о электронике

Иногда нужен потенциал ниже нуля, т.е. отрицательное напряжение. Такое бывает нужно в аналоговой технике или, например, чтобы запустить LCD индикатор от низкого напряжения. Контроллер дисплея какого нибудь HD44780 часто отлично работает от 3.3 вольт, но на панели ничего не видно по причине низкого контраста, даже выкрутив потенциометр в землю не удается получить яркие символы. Нужно опустить Vss ниже нуля. На некоторых дисплеях даже стоит специальная схема, генерирующая минус. Но не везде. А тем не менее на простейшей конденсаторной схеме можно сделать такой генератор на ровном месте.

Итак, вот такая вот простая схема легко дает небольшой отрицательный потенциал .


На вход ей надо подать прямоугольный сигнал, от нуля до Vcc, а с выхода снимется отрицательный потенциал. Зависящий от частоты, уже от нескольких сот герц там будет -1 вольт, а вообще можно и больше накачать.

Как это работает? Да просто. Чтобы лучше понимать работу конденсатора в динамике вспомним статью для самых маленьких и достанем из нее три упрощения:

1) Когда конденсатор заряжается он ведет себя как резистор у которого сопротивление растет с 0 до бесконечности. Растет по экспоненте, но нам все равно как.

2) Когда конденсатор разряжается он ведет себя подобно батарейке у которой заряд садится, садится тоже по экспоненте, но это все равно пофигу.

3) Конденсатор всегда можно дозарядить, при этом на нем растет напряжение. Идеальный конденсатор можно заряжать бесконечно. Реальный же пробьет.

Вот на этих трех китах мы и все разберем постадийно.

Еще упростим до того, что диоды идеальные и у них нет никаких падений напряжения, а значит их можно тупо выбросить и закоротить для прямого случая и оборвать для обратного, ведь нас интересует процессы в конкретной стадии, а диоды будут только отвлекать.

?Стадия 1
С1 разряжен
С2 разряжен.


Конденсатор зарядился, стал источником напряжения, встав в противовес источнику генератора. На генераторе пока +5 еще (верхняя часть меандра). И ток в цепи остановился.



Вот такой путь разряда. А теперь давайте посчитаем чему равен потенциал в точке выхода нашей схемы? Для расчета потенциала надо определиться с системой координат, выбрать обход контура относительно направления которого мы будем считать знак потенциала. Так как тут истинный источник энергии только один — генератор, то положительным направлением обхода контура будет считаться ток ИЗ ГЕНЕРАТОРА, тот что заряжал конденсатор в самом начале. Т.е. когда мы из земли идем через генератор, то после прохода источника напряжения генератора, потенциал точки вырастет на величину напряжения генератора ( в данном случае 0, т.к. он в нижней точке меандра). А следующий источник напряжения, конденсатор, будет нам встречно, а значит приращение потенциала будет отрицательным. И после него, вуаля! Мы получим некий отрицательный потенциал относительно земли.


Все здорово, но что будет с нашим конденсатором С1 который сейчас, активно заряжаясь, косит под резистор? Он зарядится отрицательным напряжением, сколько успеет. Потом его сопротивление вырастет, он сам станет источником напряжения (отрицательного), а кондер С2 иссякнет. Конденсатор С1 не сможет разрядиться потому, что на его пути будут стоять аж два диода встречно его разрядному току.

И на какое то время, пока генератор находится в нуле, процесс остановится.


?Стадия 1 (снова)
Но вот генератор снова переходит в высокое состояние. B все повторяется как в стадии 1 только С1 заряжен отрицательно. Но это не играет роли, так как току из источника туда мешает идти диод D2, а вот через D1 все прекрасно проходит и конденсатор С2 снова начинает заряжаться, как и в первом состоянии.


Точно также зарядится конденсатор С2 и все повториться, за исключением того, что С1 уже заряжен отрицательно. Часть этого заряда подсядет из-за саморазряда конденсатора С1, часть утечет в схему ради которой мы генерируем отрицательное напряжение. Поэтому оно снизится. Но не беда, когда источник кинется в ноль, то С2 надо будет снова разрядиться и он сделает это через С1, еще сильней просадив напряжение.

?Моделирование
На пальцах рассказал, теперь можно показать в динамике. Давайте смоделируем эту схему в эмуляторе EasyEDA. Там кроме схемотехнического редактора и трассировщика есть еще SPICE симулятор.

SPICE это достаточно древняя (75 год) и уже давно ставшая промышленным стандартом система моделирования электронных схем. На входе у ней нетлист — текстовый список соединений компонентов и описание самих компонентов в виде списка параметров примерно вот такого вида:

.MODEL MPS3866 NPN (IS=40.6F NF=1 BF=130 VAF=98.6 IKF=0.24 ISE=40.3P NE=2 BR=4 NR=1 VAR=14 IKR=0.36 RE=0.129 RB=0.515 RC=51.5M XTB=1.5 CJE=48.4P VJE=1.1 MJE=0.5 CJC=15.6P VJC=0.3 MJC=0.3 TF=318P TR=221N)

В результате по этим данным и нетлисту строится математическая модель из систем уравнений. А на выходе будут графики, значения напряжений которые мы запросим как выходные данные.

За счет того, что сами модели это простые текстовые описания, а сама система опенсорсная с рождения, то она встречается повсеместно.


Чтобы получить колебания нам нужен генератор. Возьмем источник питания и затянем его на лист схемы. Если его выделить, чтобы он стал красным, то справа будут его параметры:


Меняем функцию на PULSE и задаем следующие параметры:

  • Vinitial = 0V стартовое значение. Он же ноль.
  • Von = 5V значение высокого уровня.
  • Tdelay = 0 задержка при запуске.
  • Trise = 0.000001 время восходящего фронта.
  • Tfall = 0.000001 время спадающего фронта.
  • Ton = 0.00005 длительность импульса.
  • Tperiod = 0.0001 длительность периода.
  • AC Аmplitude = 5 амплитуда сигнала.
  • AC Phase = 0 фаза сигнала.


Тем самым мы создадим генератор с частотой 1кГц и скважностью порядка 50%, с амплитудой 5 вольт. Как если бы мы дрыгали ногой контроллера. Осталось добавить землю и наши диоды с конденсаторами.


Выбирая конденсатор можно сразу же там выбрать тип. К сожалению типов пока маловато. Но можно создавать свои библиотеки. Клавиша R вращает компонент. А надписи у компонентов можно утащить куда подальше, чтобы не мешались. Особенно у источника, там такая портянка образовалась, жуть.

Диоды лучше брать Шоттки, у них меньше падения напряжения, а значит отрицательное напряжение можно получить гораздо ближе к -V питания. Т.е. к -5 вольтам. Полные -5 вольт мы, конечно, не получим. Т.к. диод Шоттки свои 0.2 вольта сожрет за милую душу. Но лучше чем 0.7 у обычного диода. А диодов там еще и два, т.е. предельный минус будет где то на пол вольта, а то и меньше чем амплитуда питания.

Линии связи рисуем инструментом Wire c панели Wiring Tool и только им:


И не забываем землю. Должно получиться что то вот такое:


Теперь добавим пробники для выхода SPICE модели. Это в той же панели Wiring Tools такая закорючка. Воткнем их на выход генератора и туда где у нас формируется отрицательное напряжение:


Сохраним схему и запустим нашу симуляцию. Раньше кнопка симуляции была прям наверху. Но видать по ней было очень много вопросов и ее спрятали подальше от пытливого взора пионеров ? Но я нашел ? Есть еще хоткей Ctrl + R.


Будет такое вот окно:


Жмем Run и получаем в соседней вкладке график:


По нему видно ,как за несколько качков нашего генератора напряжение на С1 упало до хорошего такого минуса. Впрочем, это без утечек на сторону. При подключении к нагрузке процесс будет более пологим.

?Практика
С теорией закончили. А теперь практическая реализация этой штуки. Данный узел с недавних пор появился на Pinboard II третьей ревизии. Которая вышла в декабре. Что то я как то завертелся и даже не презентовал обновление. Ну так вот.

Одной из проблем платы было то, что стоящий из коробки дисплей имеет 5 вольтовое питание, а сама плата на ряде контроллеров работает на 3.3 вольта. Конечно гибкая схема питания платы позволяет запитать дисплей от 5 вольт, контроллер от 3.3 вольт, а контроллеры имеют 5В толерантные входы.. И как бы проблемы нет. Но ведь демоплата это только отправная точка, потом будет устройство и там придется городить сложное двух уровневое питание. Тогда как известно, что контроллер HD44780 умеет прекрасно работать от 3.3 вольт и даже ниже. Чего не скажешь о системе контраста LCD дисплея. Которой надо для полного счастья хотя бы 3,8 вольт от минимума до максимума, чтобы яркость индикации не падала.



Как падает контраст изображения с понижением напряжения питания

А если у нас питание всего то 3.3 вольта везде, включая контроллер дисплея и его стекляшку, то размаха может не хватить. Вывод управления контрастом можно посадить в ноль, но толку это особо не даст. Что делать? Посадить линию контраста в минус, пробросив ее ниже нуля. Тогда дисплею хватит разницы напряжений на создание нормального контрастного изображения. В некоторых версиях дисплеев на HD44780 есть даже встроенный генератор отрицательного напряжения, чьи выводы вытащены на контакты подсветки ,что черевато тем, что если воткнуть туда подсветку, то генератор или ваш источник питания сгорит. Западло вот такое вот, читайте даташит ?

Ну, а мы сделаем генератор сами. Можно, например, дрыгать ногой контроллера вручную. А можно взять любой дрыгающийся сигнал с интерфейса самого дисплея. Например на линии E интерфейса HD44780 идет максимальная движуха, т.к. это стробирующий сигнал и без дрыга им ничего не делается. Им и можно попробовать подрыгать конденсатор.

Лишь бы дергало не слишком активно, в зависимости от модели дисплея накачать надо от -0.3 до -1 вольта. А если дергать будет сильно активно, то будет -2..-3 вольта, что даст переконтраст в виде двух рядов черных прямоугольников. Хотя, всегда можно пропустить через потенциометр на землю и подрегулировать.

Впрочем, я это делать на плате не стал. Там у меня идет напрямую на вывод контраста. А дрыгаю отдельной ногой с частотой около килогерца. Как раз хватает утечки на дисплей, чтобы поддерживать напряжение в районе -0.5 вольта. Дрыгаешь чаще — контраст повышается, дрыгаешь реже — понижается.

Подключение простое. На плате добавился джампер, позволяющий выбрать откуда брать напряжение контрста. С потенциометра (позитивное) или с генератора минус (негативное), а также появился вывод CPUMP который и надо дергать ножкой контроллера, чтобы на NEG появился отрицательный потенциал.


Подаем на CPUMP меандр с частотой 1Кгц и переключив контраст на NEG получаем четкое изображени даже на 3.3 вольтах. Можно и до 2.5 опуститься, правда частоту надо будет поднять килогерц до трех. А на выходе CONTRAST около -0.6 вольт.


Революционный микропроцессор Intel 8086, представленный в 1978 году, породил целую группу процессоров х86, которые и по сей день используются в настольных и серверных компьютерах. Чип построен на цифровых цепях, однако в нём присутствуют и аналоговые контуры: генераторы подкачки заряда, превращающие питание процессора 5 В в отрицательное напряжение для увеличения быстродействия. Я занимаюсь реверс-инжинирингом 8086 на основе фоток кристалла, и в данной записи описываю конструкцию этих генераторов подкачки заряда и принцип их работы.

Инженерные афоризмы Вонады



Фото кристалла микропроцессора 8086. Слева расположено АЛУ и регистры. Внизу справа – ПЗУ с микрокодом. По ссылке с фото открывается фото побольше. По данной ссылке – оригинал фото (10 000 x 10 000 пкс, 24 МБ — не влезает на habrastorage).

На фото выше показан крохотный кристалл процессора 8086 под микроскопом. Виден металлический слой сверху чипа, под которым прячется кремний. По внешнему краю видны распаечные провода, соединяющие контактные площадки кристалла с 40 внешними контактами чипа. Но если присмотреться внимательно, видно, что у кристалла 42 площадки. Зачем ему две лишние?

Интегральная схема строится на кремниевой подложке, на которую наносятся транзисторы. Для высокоскоростных ИС полезно бывает подавать на подложку отрицательное "напряжение смещения". Для этого у многих чипов из 1970-х годов есть внешний контакт, на который подаётся – 5 В, однако использовать дополнительный источник питания инженерам было неудобно. К концу 1970-х были разработаны схемы генератора подкачки заряда прямо на чипе, что позволяло получать отрицательное напряжение на месте. Такие чипы используют удобное единственное питание + 5 В, и все инженеры счастливы.

У подачи отрицательного напряжения смещения есть несколько преимуществ. Оно уменьшает паразитную ёмкость, что ускоряет чип, делает пороговое напряжение транзисторов более предсказуемым и уменьшает утечки тока.

Ранним чипам памяти DRAM и микропроцессора часто требовалось три напряжения питания: +5 В (Vcc), +12 В (Vdd) и -5 В (Vbb). В конце 1970-х улучшения технологии производства чипов позволили использовать единственное напряжение. К примеру, MK4116 (16-килобитная DRAM от Mostek 1977 года) требовала три напряжения, а улучшенная MK4516 (1981) работала уже с единственным +5 В, что упрощало проектирование схем. Забавно, что у некоторых из новых чипов для обратной совместимости были не подсоединённые ни к чему контакты Vbb и Vcc.

Чипы памяти от Intel пошли по похожему пути: 2116 DRAM (16 КБ, 1977) использовали три напряжения, а улучшенная 2118 (1979) всего одно. Точно так же знаменитый микропроцессор Intel 8080 (1974) использовал МОП-транзисторы с индуцированным каналом, и ему для работы требовались три напряжения. Микропроцессор Motorola 6800 (1974) использовал другой подход, работая с одним напряжением питания; хотя 6800 и был создан на транзисторе старого типа, ему не нужно было +12 В внешнего питания, так как он реализовывал удвоитель напряжения на месте.

Как работают генераторы подкачки заряда

На фото ниже выделены два генератора подкачки заряда процессора 8086. Мы рассмотрим верхний; схема работы нижнего такая же, он просто скомпонован по-другому, чтобы уместиться в доступное пространство. У каждого генератора есть цепь драйвера, большой конденсатор и площадка с проводом, соединяющим его с подложкой. Каждый генератор расположен рядом с одной из двух площадок заземления 8086 – вероятно, для минимизации электрического шума.



Фото кристалла микропроцессора 8086 с увеличенными генераторами напряжения смещения


Генератор подкачки заряда 8086 использует полевой транзистор с МОП-структурой и диоды для переключения конденсатора между состояниями, и генератор для управления транзистором – как показано на схеме ниже. Кольцевой генератор состоит из трёх инверторов, соединённых в петлю (кольцо). Поскольку количество инверторов нечётное, система нестабильна и колеблется. Если бы у неё было чётное количество инверторов, она была бы стабильной в одном из двух состояний. Такую технику используют в регистрах 8086 – пара инверторов хранит бит.

К примеру, если на первый инвертер приходит 0, он выдаст 1, второй выход будет 0, а третий – 1. Это переключает первый инвертер, и это переключение перемещается по петле, приводя к осцилляциям. Для замедления скорости осцилляции в кольцо вставлены две RC-цепи. Поскольку на зарядку и разрядку конденсатора уходит какое-то время, осцилляции замедляются, давая генератору подкачки заряда время сработать.

Я пытался измерить частоту генератора подкачки заряда, изучая ток чипа в поисках осцилляций. Я измерил флуктуации на 90 МГц, но, подозреваю, что на самом деле я мог мерить шум.



Схема генератора подкачки заряда в Intel 8086, дающего отрицательное напряжение смещения на подложке

Выходы с конденсатора приходят на транзисторный драйвер конденсатора. На первом шаге включается верхний транзистор, что заставляет конденсатор заряжаться через первый диод до 5 В по отношению к земле. На втором шаге происходит всё волшебство. Включается нижний транзистор, и соединяет верхнюю часть конденсатора с землёй. Поскольку конденсатор всё ещё заряжен до 5 В, нижняя часть должна выдавать -5 В, что и даёт нам нужное отрицательное напряжение. Ток идёт через второй диод и распаечный провод на подложку. Когда осциллятор переключается снова, включается верхний транзистор и цикл повторяется. Генератор подкачки заряда называется так потому, что подкачивает заряд с выхода к земле. Диоды похожи на запорные клапаны водяного насоса, поскольку обеспечивают движение заряда в нужном направлении.

Я, конечно, немного упростил схему работы. Из-за падения напряжения на транзисторе напряжение на подложке будет равняться -3 В, а не -5 В. Если чипу нужно более сильное падение напряжения, можно сделать каскад из нескольких генераторов подкачки заряда. Говоря о направлении работы генератора, я имею в виду направление тока. Если вы представляете себе подкачку электронов, то считайте, что отрицательно заряженные электроны закачиваются в противоположном направлении, в подложку.

Реализация в кремнии

На фото ниже показана реализация генератора подкачки заряда на чипе. На фото вверху видно металлические проводники, под которыми находится красноватый поликремний. Внизу – бежевый кремний. В центре видно основной конденсатор, с проводниками в виде буквы Н, соединяющими его с цепью слева. Часть конденсатора спрятана под широкой металлической дорожкой питания вверху. Справа распаечный провод подсоединён к площадке. Под площадкой расположен тестовый узор – по квадратику для каждой маски, использовавшейся для нанесения очередного слоя на чип.



Генератор подкачки заряда с металлическим слоем

После удаления металлического слоя становится лучше видно схему. Правую половину фото занимает крупный конденсатор подкачки заряда. Он, конечно, микроскопического размера, но по стандартам чипов огромен – примерно сравним с 16-битным регистром. Конденсатор состоит из поликремния, расположенного над кремнием, между которыми проложен изолирующий оксид. Поликремний и кремний формируют пластины конденсатора. Слева расположены конденсатор поменьше и резисторы, придающие генератору RC-задержку. Под ними находится цепь генератора и транзисторы.

Генератор собран из 13 транзисторов. Семь транзисторов формируют 3 инвертера (у одного транзистора есть дополнительный инвертер для дополнительного выходного тока). Из шести транзисторов драйвера два транзистора подтягивают выход вверх и четыре вниз. Схема странным образом отличается от обычной схемы инвертера, поскольку требования к току отличаются от обычной цифровой логики.



Ключевые компоненты генератора подкачки заряда 8086. Металлический слой удалён, видно слои поликремния и кремния.

Одна интересная особенность генератора подкачки заряда заключается в двух диодах, каждый из которых состоит из восьми транзисторов, расположенных через регулярные промежутки. На диаграмме ниже показана структура транзистора. Транзистор можно считать переключателем, позволяющим току протекать между двумя его участками, истоком и стоком. Транзистор контролируется затвором, сделанным из кремния особого типа, поликремния. Высокое напряжение на затворе позволяет току течь между истоком и стоком, а низкое – блокирует ток. Эти крохотные транзисторы можно комбинировать, формируя логические затворы – компоненты микропроцессора и других цифровых чипов. Однако в данном случае транзисторы используются как диоды.



Структура транзисторов, реализованных в ИС

На фото ниже показан вид сверху на транзистор в генераторе подкачки заряда. Как и на диаграмме, поликремний формирует затвор между участками кремния с добавками с обеих его сторон. Диод можно сделать из МОП-структуры, соединив затвор и сток через соединение кремний/поликремний, расположенное внизу фото. Кремний также можно соединять с металлическим слоем через сквозные контакты. Для этого фото металлический слой удалён, но оставшиеся бледные кружочки обозначают местонахождение сквозных контактов.



Транзистор в схеме генератора подкачки заряда. Поликремниевый затвор разделяет исток и сток транзистора.

На диаграмме ниже показано, как два диода собраны из 16 транзисторов. Для поддержки относительно большого тока генератора подкачки заряда в каждом диоде используется по 8 параллельных транзисторов. Отметьте, что у соседних транзисторов общие исток и сток, поэтому их получилось упаковать так плотно. Синие линии отмечают место, где были металлические провода – для этого фото их удалили. Тёмные кружочки – места, где были сквозные контакты между металлом и кремнием.



У генератора подкачки заряда есть два диода, каждый из которых сделан из 8 транзисторов. Исток, затвор и сток обозначены буквами S, G и D.

В итоге истоки верхних восьми транзисторов соединены с землёй металлическим проводом. Их затворы и стоки соединяются поликремнием под транзисторами, в результате чего из них получаются диоды. К конденсатору они подсоединены металлическим проводом. Восемь нижних транзисторов формируют второй диод. Их затворы и стоки соединены нижней металлической петлёй. Отметьте, как оптимизировано расположение элементов; к примеру, затворы изогнуты так, чтобы не касаться сквозных контактов.

Заключение

Генератор напряжения смещения на чипе 8086 представляет собой интересную комбинацию цифровой схемы (кольцевого генератора, составленного из инверторов) и аналогового генератора подкачки заряда. Он может показаться вам давно забытым устройством из истории компьютеров 1970-х, но на самом деле он присутствует и в современных ИС. В современных чипах это куда как более сложная схема, тщательно настроенная на выдачу нескольких регулируемых напряжений смещения на участках с отдельным питанием. В чём-то она похожа на архитектуру х86, начавшую свой путь в 1970-х и ставшую ещё более популярной сегодня, однако в рамках постоянного улучшения эффективности сложность её возросла невероятно.

Сегодня генераторы напряжения смещения продаются в качестве готовых патентованных идей – можно купить схему такого генератора и вставить в проект своего чипа (см. ссылки 1, 2, 3, 4, 5, 6). Существует даже стандарт на питание IEEE 1801, согласно которому инструменты разработки ИС могут генерировать необходимые схемы.

У математического сопроцессора Intel 8087, пристраиваемого к 8086, тоже есть свой генератор напряжения смещения. Он работает по тем же принципам, однако, как ни странно, использует другую схему с 5 инверторами

Читайте также: