Вентиль ОК при работе на шину

4-битные микроконтроллеры и микропроцессоры (прошлое, настоящее, будущее)

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Динамическая нагрузка для ОК

Post by Lavr »

Динамическая нагрузка для ОК

Прежде, чем приступить к оптимизации схемы АЛУ, я хотел бы всё же обсудить вопрос с динамической нагрузкой для вентилей с ОК, поскольку это никаких комментариев не вызвало.

Известно, что исторически первой схемой объединения выходов были схемы с открытым коллектором
(монтажное "ИЛИ").
http://digital.sibsutis.ru/proc/BusForm.htm

Image

Недостатком приведенной схемы объединения нескольких микросхем на один провод является низкая скорость передачи информации, обусловленная затягиванием переднего фронта. Это явление связано с различным сопротивлением заряда и разряда паразитной ёмкости шины. Заряд паразитной ёмкости происходит через сопротивления R1 и R2, которые много больше сопротивления открытого транзистора. Величину этого сопротивления невозможно уменьшить меньше некоторого предела, определяемого напряжением низкого уровня, который определяется в свою очередь допустимым током потребления всей схемы в целом.

Image

На мой взгляд, улучшить характеристики вентиля с ОК можно, применив вместо пассивного резистора динамическую нагрузку в коллекторной цепи в виде источника тока.

Для этого я смоделировал поведение 2-х идентичных каскадов с ОК, нагрузкой одного из которых (VT3) было сопротивление типичным номиналом в 300 Ом, а нагрузкой другого VT2 - простой источник тока на транзисторе VT1.

Image

Транзисторы VT4 и VT5 изображают входные цепи следующих каскадов. Сопротивления номиналом 10 Ом и резисторы в 10 пФ - соответственно сопротивление и ёмкость шины.

Применённый источник тока на биполярном транзисторе VT1 собран по весьма простой и известной схеме:

Image

Расчет тока стабилизации весьма прост: I = (Uстаб – Uб-э) / Rэ и выбран примерно 20 мА, что характерно для допустимого тока выходного каскада мс. К155ЛА8.
Uб-э ~ 0,7...1,0 В для кремневых транзисторов и ~ 0,4...0.6 В – для германиевых.
На этом стабилизаторе падает примерно 0,6...0.7 В.

Из эпюр напряжения видно, что активная нагрузка существенно улучшает фронт сигнала (зелёный цвет), по сравнению с линейной резистивной нагрузкой (красный).

Image

Если питать генератор стабильного тока от отдельного источника питания и позволить иметь запас по напряжению, чтобы транзистор VT1 дольше находился в активном режиме, можно достичь и несколько лучших параметров фронта (если проводить измерение на уровне 0.9 от максимальной амплитуды).
Как видно из графика, динамическая нагрузка позволяет существенно улучшить характеристики вентиля с ОК, и, таким образом, применение таких вентилей не должно существенно ухудшить времена задержки в нашем АЛУ. Что и можно оценить в проекте.

Image

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

Image
User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Re: Динамическая нагрузка для ОК

Post by Stan »

Меня что-то вот этот расчет заинтересовал в связи с магистральными формирователями, в частности, с общим коллектором.
Lavr wrote:Динамическая нагрузка для ОК
...
Из эпюр напряжения видно, что активная нагрузка существенно улучшает фронт сигнала (зелёный цвет), по сравнению с линейной резистивной нагрузкой (красный).

Image

Если питать генератор стабильного тока от отдельного источника питания и позволить иметь запас по напряжению, чтобы транзистор VT1 дольше находился в активном режиме, можно достичь и несколько лучших параметров фронта (если проводить измерение на уровне 0.9 от максимальной амплитуды).
Как видно из графика, динамическая нагрузка позволяет существенно улучшить характеристики вентиля с ОК, и, таким образом, применение таких вентилей не должно существенно ухудшить времена задержки в нашем АЛУ. Что и можно оценить в проекте.

Image
Из этих осциллограмм получается, что на частотах до 8 МГц вентиль с ОК при работе на шину не сильно ухудшает фронты сигнала.

В похожем расчете П.Хоровица, У.Хилла:
Усилитель с «открытым коллектором» при работе на шину

Получаются более худшие результаты

Image

Хотя у них и емкость шины побольше - 50 пФ и нагрузка более высокоомная - 1 КОм супротив 300 Ом здесь.

Image

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

А кто-нибуть из личного опыта знает, до каких частот работоспособна линия, возбуждаемая ОК?

Единственную численную оценку я нашел для шины I2C:
I2C использует две двунаправленные линии, подтянутые к напряжению питания и управляемые через открытый коллектор или открытый сток.
Основной режим работы — 100 кбит/с; Скорость также увеличивается до 400 кбит/с в скоростном режиме.
Максимальное допустимое количество микросхем, подсоединенных к одной шине, ограничивается максимальной емкостью шины в 400 пФ.
Mixa64
Doomed
Posts: 480
Joined: 25 Aug 2009 07:02
Location: Москва

Post by Mixa64 »

Чего-то припоминается, что коаксиальный Ethernet ключеванием на землю возбуждается. 10 МГц :) Кто больше?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Вентиль ОК при работе на шину

Post by Lavr »

Тут вот Shaos заинтересовался различными аспектами передачи сигнала каскадом с открытым
коллектором при работе на длинную линию.

Я в своё время делал здесь все эти расчеты с двумя целями: вентили ОК я применял в схеме
4-bit Processor, и меня интересовало, насколько это решение ухудшит быстродействие.

Ну а второй момент: всем нам так или иначе приходится применять вентили ОК в том случае, если
мы запускаем наш любимый КР580ВМ80А без дефицитного генертора 580ГФ24.
Этот вопрос меня беспокоил, еще когда я свой "Специалист" делал, и я в нём поставил вентили ОК
531 серии с притяжкой к +12В резисторами в 300 Ом.
Этот узелок неслабо грелся у меня, ну и гораздо позже я осознал, что это влияет лишь на длительность
среза импульса, а его и вентили ОК серии 155 неплохой создают. А вот на длительность фронта влияет
сугубо величина притягивающего резистора и импеданс нагрузки.

С генераторами импульсов Ф1 и Ф2 по разным вариантам я поигрался, когда делал свой вариант
Простейшей микроЭВМ (КР580ВМ80А). Я посмотрел всё осциллографом и пришел к выводу,
что до 4 МГц формирователи импульсов Ф1 и Ф2 на вентилях с ОК совершенно точно никаких
проблем не создают, и главное, чтобы Ф1 и Ф2 не перекрывались.

Что касается работы каскада с ОК на шину или длинную линию, я в то время нашел материал, где
всё доступно объяснялось, и на этом я счел вопрос этот для себя закрытым.
Но если кто столкнётся с подобными вопросами, то этот материал хорошо изложен вот здесь:
4.4. Правила работы с согласованными линиями связи.

Если эта ссылка протухнет, а так бывает частенько в этом нашем Интернете, то материал цитируют
из книги: Шевкопляс Б.В. «Микропроцессорные структуры. Инженерные решения.» Москва,
издательство «Радио», 1990 год. Глава 4.
iLavr