О логических уровнях и о конверторах
Сначала вспомним классические вещи, просто что бы настроится на статью
Логический сигнал (бинарный сигнал) – это сигнал, принимающий два возможных значения — «истина» или «ложь», «высокое» или «низкое» состояние, «0» или «1».
Логический уровень это напряжение которое однозначно будет воспринимается как «0» или «1» и о нем подробнее будет ниже.
ТТЛ Транзисторно-транзисторная логика (TTL)
Это разновидность цифровых логических микросхем, построенных на основе биполярных транзисторов и резисторов.
Из определение нам важно, что используется биполярные транзисторы, они могут обеспечить уровень логического сигнала до 24 вольт, но это теоретический максимум на котором уже много помех и вообще так никто не делает! А хорошо они работают при напряжении 5 вольт, это напряжение для них стандартно, можно даже сказать оно для них классическое. И вот отсюда пошел стандарт логического уровня 0-5 вольт.
- Идеальное (классическое) напряжение для работы микросхем на Транзисторно-транзисторной логике (ТТЛ, TTL) 0-5 вольт.
На затем для повышение быстродействие и снижение энергопотребления стали выпускать логических элементов с уменьшенным напряжение питания (LVTTL) в 3,3 Вольт и они как правило совместимы с классическими TTL
Представители это линейки, микросхемы серии:
Отечественные
- К155
- К555 (но тут еще и ТТЛШ, что это см. ниже)
- К1533, К153
Зарубежные
- Серия SN74 (SN74ALS, SN74F) и SN54
- SN74ALB - это как раз представитель LVTTL питание 3 вольта
А какие еще бывают логические элементы?
Вот перечень который я нашел
Логика микросхем (в порядке появление на свет, но это не точно)
- Резисторно-транзисторная логика (РТЛ)
- Резисторно-емкостная транзисторная логика (РЕТЛ)
- Диодно-транзисторная логика (ДТЛ)
- Транзисторно-транзисторной логике (ТТЛ, TTL)
- Транзисторно-транзисторной логике со сниженным напряжением (LVTTL)
- Транзисторно-транзисторная логика с диодами Шоттки (ТТЛШ)
- Комплементарная логика на КМОП (CMOS) технологиях
На сегодняшний момент активно используется две технологии
- Транзисторно-транзисторной логике (ТТЛ, TTL)
- Транзисторно-транзисторной логике со сниженным напряжением (LVTTL), это как все то же самое что TTL только питание понижено.
- Комплементарная логика на КМОП (CMOS) технологиях (наиболее распространённая)
Ну с значениями напряжение для "0" и "1" определились, она бывает самое разное, но распространенных три:
- 0-5 вольт
- 0-3.3 вольта
- 0-1.8 вольт (1,6 вольта?)
А теперь поехали дальше.
Где начинается ноль и заканчивается единица?
Говоря о логическом сигнале нуле или единице мы утверждали что 0 вольт это логический "0", а +5 вольт это логическая "1". А теперь вопрос, а +2,5 вольта это "0" или "1"? А +1вольт, 2 вольта и так далее? Дело в том, что для каждой логике ответ на этот вопрос будет разным. Так для РТЛ и РЕТЛ уровень сигнала логической "1" от 0,9 вольт до напряжение питания этой самой логики, а с технологиями TTL (LVTTL) и CMOS (КМОП) мы разберем подробнее ниже так как именно они активно используются в сегодняшней микроэлектронике и задают стандарты.
Уровни напряжение для входов и выходов "0" и "1" для логики TTL (LVTTL)
Для напряжения 5.0вольт (4,5-5,5вольт) TTL
Вход (In):
- Для единицы ,"1": не ниже 2,0 В
- Для нуля, "0": не больше 0,8 В
Выход (Out):
- Для единицы ,"1": не ниже 2 В (В сети я нахожу постоянно разные значения от 2,4;2,7)
- Для нуля, "0": не больше 0,8 В (В сети я нахожу постоянно разные значения от 0.4V; 0.5V)
Для напряжения 3.3вольт (2,7-3,6вольт) LVTTL
Вход (In):
- Для единицы ,"1": не ниже 2,0В
- Для нуля, "0": не больше 0,8 В
Выход (Out):
- Для единицы ,"1": не ниже 2,4 В
- Для нуля, "0": не больше 0,4 В
Комплементарная логика на КМОП (КМДП, CMOS) технологиях
КМОП или МОП (Комплиментарный Металл-Оксид-Полупроводник) или КМДП (Комплиментарный Металл- Диэлектрик-Полупроводник) или по другому, по иностранному CMOS (complementary metal-oxide-semiconductor)
Для этой логике используются транзисторы, но другие, полевые.
Для напряжения 5.0 вольт (4,5-5,5вольт) CMOS
Вход (In):
- Для единицы ,"1": не меньше 0,7В
- Для нуля, "0": не больше 0,3В
Выход (Out):
- Для единицы ,"1": не меньше 4,44 В
- Для нуля, "0": не больше 0,5 В
Для напряжения 1.8 вольт CMOS
Входы (In):
- Для единицы ,"1": не меньше 0,65В
- Для нуля, "0": не больше 0,35В
Выход (Out):
- Для единицы ,"1": не меньше 0,45 В
- Для нуля, "0": не больше 0,45 В
Хочу напомнить что все современные процессоры и микросхемы изготавливаются по технологии МОП (Металл-Оксид-Полупроводник) ну так дешевле в массовом производстве и выгоднее по электрически параметрам.
А вот сводная информация та которая была выше в виде табличек.
Какие логические уровни обеспечивает конкретная микросхема это огромный вопрос, все что выше была теория, но она иногда совершенно не сходится с практикой. Поэтому, ниже логические уровни для конкретных микросхем. Ардуина совсем не совпадает с теорией, смотрите сами.
Логические уровни Ардуины и ESP8266 (Arduino and ESP8266 Logic Levels)
Это табличка позволяет наглядно понять, что передать логический нолик и единичку ESP8266 Ардуине сможет, а вот принять единичку ESPшка уже не сможет, сгорит от высокого напряжения либо сама микросхема либо порт. Так должно быть в теории, а на практике, пишут, что все работает без всяких согласований и ничего не горит! Но лучше, по фен шую, применять конвертер уровней, что бы банально опустить максимальное напряжение с 5 вольт до приемлемых 3,3 вольта, а можно и до 2 вольт.
Или например с помощью этой таблички мы сможем подключить фоторезистор который будет выдавать аналоговый сигнал к цифровому ПИНу ESP8266 и понять когда этот самый ПИН перейдет в высокое состояние (единицу) (это произойдет с 2,0 вольт) и упадет в низкий уровень (нолик), произойдет это с 0,8 вольт.
И вот, наконец то мы плавно переходим к преобразователям логических уровней.
Конвертеры логических уровней
Называются они по разному: конвертер логических уровней, преобразователь уровней, согласование уровней и так далее.
Мы наблюдаем продолжающуюся тенденцию перехода производителей микросхем на все более пониженное питание, ну это и понятно, требования по скорости и энергоэффективной растут и остается только уменьшать размеры и понижать питание микросхем. С 5 вольтового питание мы переходим на 3,3 вольтовое и на 1,8 вольтовое и еще ниже. В связи с этим возникает задача согласования логических уровней устройств с различными питающими напряжениями. Наиболее часто такая проблема возникает при подключение 3.3В устройств к 5В устройствам. Для этого мы и должны согласовать логические уровни, там где надо понизить напряжение, а там где надо повысить напряжение.
Конвертер логических уровней делятся
- По направлению передачи:
- Однонаправленные
- Двунаправленные
Ну тут и объяснять нечего, все и так понятно.
- По конвертируемому напряжению:
Бывают самые разные, но чаще всего 5,0 вольта в 3,3 вольт
По строению (на каких электронных компонентах собраны)
- Резисторный, однонаправленный
- Диодный, однонаправленный
- Транзисторный (имеется в виду NPN транзистор), однонаправленный
- Оптронный, однонаправленный
- На полевых (MOSFET) транзисторах, двунаправленный
- На базе микросхем, двунаправленный
Первые четыре это однонаправленные схемы, две последние - двунаправленные.
Последовательно включенный резистор
Самый простой вариант, нужен всего то один резистор! Но это не самый лучший вариант! Резистор обычно берут около 10кОм. Помните (!) не все устройства можно подключать таким образом, может наблюдаться нестабильное питание 3,3 вольта, а можно вообще спалить порт! Схема является двухсторонней.
Резистивный делитель напряжения
Про делитель мы говорили в статье: "Резистивный делитель напряжения и детекция напряжения" . Тут все то же самое, просто это частный случай, схема является однонаправленная, но это и понятно. Можно уменьшить напряжение - разделив его с помощью делителя напряжение, но вот увеличить напряжение с помощью резистора не получиться, это точно. Поэтому схема позволяет получить из 5 вольт 3,3 вольта для большинства применений это подойдет.
Воспользуемся любым калькулятором из сети, например таким: https://cxem.net/calc/divider_calc.php для расчета делителя напряжение или почитайте статью, та что выше и посчитаете руками.
В сети я нашел следующие номиналы резисторов, но сам я не проверял. В этих ваших интернетах пишут что резисторный делитель не работает при связи ESP8266 и Ардуино, но все спокойно работает и без него.
R1= 680 Om (1kOm, 2.2кОм, 10кОм, 48кОм)
R2= 1,3 kOm (2kOm, 5.6кОм, 22кОм, 100кОм)
Вот схема резистивного делителя напряжения.
Просто напомню вдруг кто не знает
- TX – Transmitter (передатчик) - передает сигнал.
- RX – Receiver (приемник) - принимает сигнал.
Обычно соединяют TX-RX, RX-TX, по TX ESP 8266 передает сигнал в RX или принимаетcя сигнал из TX в RX ESP8266. Но на самом деле с этими TX, RX сплошная путаница, все в мире относительно и для кого то, что то является передатчиком, а для кого то приемником, иногда это сложно установить. Читал, что бывают вот такие соединения RX-RX, TX-TX. Но еще раз, обычно все логично и перекрестно, TX-RX, RX-TX.
Итак, как правило, однонаправленный делитель напряжение мы должны подключить к TX устройства которое выдает 5 вольт и к RX устройству 3,3 вольта которое принимает сигнал.
Плюсы и минусы схемы.
- Плюс схемы - простая, всего два резистора.
- Минус - потребление тока делителем (в неактивном состоянии установить выход 5 вольтового устройства в "0" ток потребления при этом будет минимальным). Иногда не работает.
На полевых (MOSFET) транзисторах, двунаправленная
Собран на четырех полевых (MOSFET) транзисторах
Конвертер логических уровней 5В/3В двунаправленный 4-канальный. Продается на Ali в больших количествах.
Подключение вот такое
Всего использованы два вида деталей резистор и транзистор
- Резистор SMD 103 -10 кОм (8 штук)
- Транзистор J1Y это BSS138 относятся к серии "Logic-Level Gate Drive", то есть управляются логическими уровнями (4 штуки)
Вот схема
На базе микросхем
Двунаправленная (по сути это на полевых транзисторах, но упакованных в тело микросхемы)
Преобразователь логических уровней 3.3В-5В TXS0108E (8 каналов)
Маркировка YF08E это TXS0108E
8–канальный двунаправленный конвертер логических уровней 3.3В-5В на микросхеме TXS0108E.
Характеристики:
1. Поддерживаемые интерфейсы: I2C, UART, SPI;
2. Количество каналов: 8;
3. Направление синхронизации: двухстороннее;
4. Максимальная сила тока на канал: 50 мА;
Ну возможно мы еще вернемся к этим конвертерам, а пока вот так кратко.
Или вот MAX 3232, но это уже чуть другое, но то же конвертер, но уже в RS232, интересная штука. О ней в отдельной статье: "UART, COM-порт, RS-232 что это и как они связаны?"
Ну на этом на сегодня все. В дальнейшем мы вернемся к микросхемам конверторам уровней, обязательно затронем оптроны, вспомним COM- порт и иже с ними (уже начали про RS232) и вообще мы затронули ну очень интересную тему и безусловно.
Продолжение следует...
Связанные статьи
Подписывайтесь на наш канал TehnoZet-2, там много интересного! Мы только развиваемся! Понравилась статья, хотите продолжения - ставьте лайк, жмите палец вверх!