Логические сигналы

Микроконтроллеры / Для начинающих /

Микроконтроллеры для начинающих Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2017 года составляет 80 000 рублей). Подробнее...

Микроконтроллер - это электронный компонент. И даже если вы “чистый” программист микроконтроллеров и никогда не берёте в руки паяльник, вы всё-равно должны знать хотя бы основы электроники. А основа современной цифровой электроники - это двухуровневые электрические сигналы, на которых держится вся современная вычислительная техника.

Как известно, все процессоры (ну во всяком случае все широко применяемые) используют двоичную систему счисления. Потому что только эта система позволяет относительно легко преобразовывать электрические сигналы в числа.

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

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

Как понятно из вышесказанного, имеется два вида логических сигналов:

  • Логический ноль (нет напряжения)
  • Логическая единица (есть напряжение)

Про есть/нет напряжения, это, как я уже говорил, условности.

Другое название этих сигналов:

  • Высокий логический уровень (сигнал высокого уровня, есть напряжение)
  • Низкий логический уровень (сигнал низкого уровня, нет напряжения)

На уровне “железа” для получения логических сигналов используются так называемые триггерные схемы, или схемы с двумя устойчивыми состояниями. То есть на выходе таких схем напряжение не должно плавать. Выход должен находиться в одном устойчивом состоянии - либо в состоянии высокого уровня, либо в состоянии низкого уровня.

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

Например, для микросхем, выполненных по ТТЛ-технологии (транзисторно-транзисторная логика) допускаются следующие отклонения (при напряжении питания 5 В):

  • Логическим нулём считается напряжение на выходе в диапазоне 0…0,4В
  • Логической единицей считается напряжение на выходе в диапазоне 2,4…5В

Логические сигналы ТТЛ

На рисунке показаны примеры логических уровней ТТЛ. Вроде бы здесь всё в порядке, за исключением одного сигнала, который меньше 2,4В, но больше 0,4. Микросхемы ТТЛ не должны иметь такие сигналы на выходе. Однако сигнал на вход может подаваться от какого-то внешнего источника, несовместимого с ТТЛ. Так что такой случай вполне возможен. И тогда уже нельзя быть увереннным, что микросхема правильно распознает сигнал.

Поскольку некоторые микросхемы могут питаться в каком-то диапазоне напряжений (например, от 3,3 до 5В), то в характеристиках обычно указывают процентное соотношение к напряжению питания. Например, логическим нулём может считаться напряжение в диапазоне 0…10% от напряжения питания, а логической единицей - напряжение в диапазоне 50…100% от напряжения питания.

Это работает благодаря наличию у цифровых входов порога срабатывания. Если входной сигнал выше этого порога, внутренний триггер устанавливается в состояние логической единицы (высокий уровень). Если входное напряжение ниже порога, то триггер переходит в состояние логического нуля.

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

Следуя этому правилу, надо быть осторожным при выборе микросхем, выполненных по разным технологиям. Например, если в одном устройстве вы совместите две микросхемы: ТТЛ и КМОП, то, вполне возможно, что устройство будет работать. Однако гарантировать надёжность вы уже не сможете, поскольку напряжение на выходе ТТЛ микросхемы, равное 3В, является допустимым и означает логическую единицу. Однако для КМОП-микросхем логической единицей является напряжение, близкое к напряжению питания. И если с выхода ТТЛ вы подаёте высокий уровень на вход КМОП, то нет никаких гарантий, что КМОП-микросхема распознает этот сигнал как логическую единицу.

Так что будьте бдительны - мухи отдельно, котлеты отдельно )))


Вступить в группу "Основы программирования"

Подписаться на RUTUBE-канал

Подписаться на Дзен-канал

Подписаться на рассылки по программированию

Микроконтроллеры для ЧАЙНИКОВ Микроконтроллеры для ЧАЙНИКОВ

Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su