logic ics - el-pths/w GitHub Wiki
Микросхемы логики - общие сведения
Микросхемы логики реализуют разнообразные электронные схемы, оперирующие сигналами для которых различаются два основных состояния - логический ноль или логическая единица.
Все такие микросхемы имеют выводы для подключения питания (например, 5 или 3.3 Вольт) и логическая единица представляется уровнем напряжения (на входе или выходе) близким к плюсу питания, а логический ноль - близким к минусу (к нулевому потенциалу).
Значения напряжений в промежутке между этими уровнями обычно не рассматриваются и работоспособность элементов с такими сигналами не обсуждается и не гарантируется.
В этой статье мы рассмотрим основные нюансы связанные с воплощением логики в виде физических электронных устройств.
Обозначения на схемах
Логические элементы часто обозначаются прямоугольниками, с входами слева и выходами справа. Простейшие логические функции, например "И" и "ИЛИ-НЕ" могут быть представлены как показано на рисунке выше. Значок "&" обозначает функцию "И", а символ единицы - функцию "ИЛИ". Кружок у входа или выхода обозначает логическую инверсию сигнала на этом контакте. Поэтому нижнее левое обозначение - это именно элемент "ИЛИ-НЕ". Такие элементы могут содержать 2, 3, 4 и даже до 8 входов. Иногда это указывается как "3И-НЕ" и т.п.
Выводы подключаемые к питанию на схемах не указываются почти никогда, хотя они всегда присутствуют и всегда подсоединяются. Считается естественным что микросхемы логики не будут работать без внешнего питания и в то же время такие "естественные" соединения не показываются чтобы не загромождать чертеж.
Кроме того небольшие логические элементы часто объединяются в одном корпусе по нескольку штук. Справа на рисунке изображен пример микросхемы содержащей 4 элемента "И-НЕ". У них всех единое питание (7-й и 14-й выводы). При этом на схеме они обозначаются раздельно, как удобно.
Электрические свойства входов
Важно помнить что физические электронные элементы не всегда ведут себя так, как абстрактные математические логические функции. Их входы и выходы обладают конкретными электрическими свойствами и их некорректное подключение может приводить к неожиданным результатам.
Как было сказано выше, логические входы ожидают напряжение высокого или низкого потенциала, близкого к уровням выводов питания. Рассмотрим подключение источника сигнала на примере выключателя.
Если это двухпозиционный переключатель с тремя контактами - то все просто. Мы подключим общий контакт ко входу, а два оставшихся - к плюсу и минусу питания. Переключатель "перекидывается" между нулем и единицей.
Чаще выключатели, например, кнопки - имеют только два контакта. Их можно просто замкнуть. Как подключить такой? На втором рисунке изображено типичное решение. Кнопка подключается между входом и одним из контактов питания, например минусом. К другому контакту вход "подтягивается" резистором. Получается что при разомкнутой кнопке через резистор подается логическая единица - а при замкнутой - ноль. При этом резистор не допускает замыкания проводников питания между собой.
Вариант с двухпозиционным переключателем на самом деле представляет интересный вопрос: переключение контаков не происходит мгновенно. Даже если процесс занимает 1 микросекунду - это довольно большой период для логических элементов время переключения которых может составлять 0.015 микросекунды. Что же подается на вход во время этого "переброса"?
В такие моменты состояние входа может зависеть от наводок, радиочастотных помех, слабых полей возникающих между проводниками схемы. В целом допускать такое переключение вообще нежелательно.
Еще один нюанс заключается в том что кнопка, например, замкнувшись, может отскочить на микросекундное время - и даже несколько раз - и вызвать таким образом многократное срабатывание. Этот эффект называется "дребезгом контактов" и с ним необходимо бороться техническими или программными способами.
Последнее важное замечание - в некоторых микросхемах (это зависит от их типа, от внутреннего устройства) входы "по умолчанию" подтянуты к плюсу (реже к минусу). Это очень удобно так как такие входы, если они не используются, можно оставлять не подключенными. Если же микросхема не имеет таких внутренних подтяжек, то входы которые могут повлиять на состояние (например, входы сброса) необходимо подтягивать к нужному уровню с помощью внешних резисторов.
Электрические свойства выходов
Выход логической микросхемы обычно устроен внутри с помощью двух транзисторов, из которых в любой момент времени может быть открыт не больше чем один. Транзисторы соединяют выход либо с плюсом либо с минусом питания внутри микросхемы. Таким образом если открыт верхний (см. третий рисунок) транзистор, то на выходе логическая единица, а если нижний - то ноль.
Что будет, если закрыты оба транзистора? Выход будет находиться в состоянии с высоким сопротивлением, с высоким импедансом (в иностранной литературе - high-Z). Такое состояние часто называют "третьим состоянием" и хотя оно не имеет смысла в математической логике, оно может быть очень удобно для схемотехники.
Например к одной шине данных может быть подключено несколько логических устройств - допустим, ячеек памяти. В любой момент времени выбрана только одна ячейка памяти, а выходы остальных переключаются в третье состояние, то есть они как будто отключены от шины.
Некоторые микросхемы используют выходы управляемые только одним нижним транзистором. Такие выходы могут находиться либо в состоянии нуля, либо в высокоимпедансном, третьем состоянии. Подать на них логическую единицу силами самой микросхемы невозможно. Для того чтобы при закрытом транзисторе на выходе возникала единица, можно использовать такие же резисторы подтяжки (см. четверный рисунок).
Такой выход называется выходом "с открытым коллектором" или "открытым стоком" (если микросхема на полевых транзисторах). Он очень удобен если выход должен работать в цепи с другим напряжением чем сама микросхема. Например, 5-вольтовая микросхема может управлять светодиодами в 12-вольтовой цепи. Или можно сопрячь выход 3-вольтовой микросхемы со входом 5-вольтовой.