Мне нужен способ инвертировать цифровой сигнал, т. Е. Если входной сигнал высокий, я хочу, чтобы выходной сигнал был низким, а если входной сигнал низкий, я хочу, чтобы выходной сигнал был высоким.
Я думаю, что это может быть достигнуто с одним транзистором PNP, но хотел проверить это здесь. Напряжения, с которыми я имею дело, меньше 5В.
transistors
digital-logic
Мэтт Руве
источник
источник
Ответы:
Или, поскольку вы в любом случае говорите о цифровых сигналах, вы используете инвертор .
A
является входом (для ворота с большим количеством входов , которые будутA
,B
,C
и т.д.),Y
является выходным. Если это не слишком усложняет вашу схему, поместите символ с вводом слева.NXP имеет инверторы с одним затвором . Всего четыре подключения: источник питания, заземление, вход и выход.
Это можно сделать с помощью транзистора и двух резисторов. Это простая схема, но вам все равно придется сделать несколько простых расчетов. У вас будут точно такие же соединения, как и с инвертором.
Кстати, PNP является опцией, но чаще будет использоваться NPN.
редактировать (пересмотреть ваш комментарий)
Если входной сигнал высокий, то через R2 и транзистор базы-эмиттера будет проходить ток (база, а не затвор). Этот ток будет усилен, и ток коллектора через R1 вызовет падение напряжения, так что выход будет низким. Вход высокий, выход низкий.
Если входной сигнал низкий, то не будет никакого базового тока и тока коллектора. Отсутствие тока через R1 означает отсутствие падения напряжения, поэтому выходной сигнал будет на уровне + V. Вход низкий, выход высокий.
Это уже ведет немного дальше, но, как я уже сказал в комментарии к sandun, результат очень асимметричный. Если выход подключен к конденсатору, высокий выходной уровень будет означать, что конденсатор заряжается через R1, что приведет к экспоненциальному наклону с постоянной времени R1C. Когда выходной сигнал становится низким, конденсатор будет разряжаться через намного более низкое сопротивление, и наклон будет намного круче. Вы не получите эту разницу с КМОП-вентилями, которые имеют симметричные возможности источника / приемника.
Вход версии транзистора также будет потреблять (небольшой) ток при высоком уровне. Версия CMOS будет иметь малый ток утечки как при высоком, так и при низком уровне.
В целом, интегрированные логические ворота - победитель.
источник
Да, это можно сделать с помощью одного транзистора и резистора, но существуют микросхемы, специально предназначенные для инвертирования цифровых сигналов. Как ни странно, их называют инверторами . Проверьте 74HC04, например. Это дает вам шесть отдельных инверторов в одном 14-контактном корпусе. Есть также одиночные инверторы (и другие маленькие логические вентили), доступные в небольших пакетах SOT-23, то есть в том же пакете, в который входят отдельные транзисторы.
Существует мало причин, чтобы попытаться сделать свой собственный инвертор, но да, это возможно.
Добавлено в ответ на комментарий:
Как я уже сказал, один биполярный транзистор может быть использован в качестве основы для простого инвертора. Как минимум, вам нужен транзистор и базовый резистор. Для полноты картины я также добавлю выходной нагрузочный резистор, который, как вы должны полагать, необходим, если только вы не знаете, что то, что будет подключено к выходу, обеспечит необходимую нагрузку. В частности, в PNP-транзисторе нет ничего волшебного. NPN также может быть использован. Вот как каждый из них будет использоваться:
Обратите внимание, что у каждого есть 4 соединения: питание, земля, вход и выход. Разница между ними заключается в том, в каком направлении он загружает вход, и в каком направлении выход активно приводится в движение, а не пассивно притягивается нагрузкой. Если вас не волнуют эти проблемы, то эти две схемы функционально эквивалентны.
Однако это проще:
Он также быстрее, потребляет меньше энергии в устойчивом состоянии, имеет более высокое импедансное сопротивление и меньше. Он имеет те же четыре соединения, что и вышеупомянутые инверторы. Одиночные вентили, подобные этому, доступны в корпусах SOT-23, то есть в том же пакете, в который входят одиночные транзисторы. Для этого требуется только одна внешняя часть, крышка байпаса. Он не нуждается в нагрузочном резисторе, так как его выход активно работает в обоих направлениях.
Действительно, для общего инвертирования цифровых сигналов создание собственного инвертора глупо для обычных применений.
Не по теме в сторону схематического рисунка:
Сценарий на самом деле всего три строчки. Вот весь файл:
Это очень специфический одноразовый скрипт, но он достаточно хорош для этой цели. В Eagle я экспортирую схему в файл изображения \ temp \ a.tif, запускаю скрипт, который делает \ temp \ b.gif. Параметр Eagle для экспорта изображений: 600 DPI и монохромный. На самом деле, это все, что нужно сделать. Наверное, звучит сложнее, чем есть.
источник
Вот некоторые значения резисторов, которые работают для сигналов CMOS:
Я нашел эту ветку, потому что хотел подключить старый «LCD Digital Backpack» к Arduino. Arduino выдает положительные последовательные сигналы, а цифровой рюкзак хочет инвертированные сигналы. Более новая версия контроллера LCD имеет перевернутую / неинвертированную перемычку, но моя нет. Точно так же можно генерировать инвертированные последовательные сигналы с помощью программного обеспечения, но это требует запуска нестандартной библиотеки. Я хотел использовать стандартные
Serial.write
команды.Первоначально я подключил один из 4 NOR в шлюзе 4001 CMOS Quad NOR в качестве инвертора, но это занимает много места на моем макете, и, поскольку вы должны связать все неиспользуемые входы с землей, требуется много электропроводка. (Я думаю, что мне нужно было подключить все, кроме 3 из 14 контактов на упаковке; все, кроме выходов на 3 неиспользуемых NOR.)
Я хотел более простое решение. Я использовал схему, предоставленную @stevenvh.
Связано здесь:
Я имею дело с 5V CMOS-логикой на 9600 бод, поэтому входное сопротивление очень высокое / ток очень низкий. Поскольку я переключаюсь только на 9600 бод, я не думаю, что асимметричное поведение транзисторного инвертора меня сильно ранит.
Я обнаружил, что резистор 100 кОм на входе (R2 на диаграмме Стивенва) работал, и использовал резистор 3,3 кОм в качестве подтягивающего резистора на R1. Основываясь на моих расчетах (I = V / R, 5/3300), эта установка потребует <= 1,5 мА во включенном состоянии (несколько меньше из-за внутреннего сопротивления транзистора.) Я мог бы подключить горшок и посмотреть, насколько велик резистор, который я могу сойти с рук, пока ЖК-дисплей получает сигнал.
источник
Вот как вы делаете это способом CMOS:
смоделировать эту схему - схема, созданная с использованием CircuitLab
Напряжение на шине питания может повышаться до тех пор, пока оно ниже, чем напряжение пробоя затвора.
источник