Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Основные логические операции и элементы их реализующие.
При автоматизации производственных процессов для блокировки, сигнализации, автоматического и программного управления применяются устройства дискретного действия, назначение которых – выработка правильной команды исполнительным органам в зависимости от сочетания сигналов, поступающих на входы. Эти устройства составляются из так называемых логических элементов, каждый из которых реализует элементарную логическую операцию. Вся же совокупность логических элементов, входящих в автоматическую систему, производит сложное логическое действие, в результате которого на выходе системы появляется нужный сигнал. В результате операции, выполняемой логическим элементом, на его выходе появляется сигнал «да» или «нет» без промежуточных значений. Это действие может быть выражено двоичным кодом, в котором используются только две цифры: нуль (нет) и единица (да). В контактных реле этим цифрам соответствуют два противоположных положения контактов – разомкнутое и замкнутое, а в бесконтактных элементах – отсутствие напряжения (тока) или его наличие. Соответственно и входные сигналы, приводящие логический элемент в то или иное состояние, тоже могут быть лишь двух видов – нуль или единица. Любая, сколь угодно сложная логическая операция может быть разложена на элементарные логические функции «НЕ», «ИЛИ» и «И». Обозначим черезХ1, Х2 и Х3 входные величины, а через Y – выходную величину и рассмотрим подробно элементарные функции для трех входов. Функция «НЕ», называемая отрицанием (инверсией), означает, что выходная величина всегда противоположна входной. Например, если Х1 = 1, то Y = 0, и, наоборот, если Х1 = 0, то Y = 1. Эта функция обозначается чертой над входной величиной . Логический элемент, реализующий функцию отрицания, называется инвертором. Функция «ИЛИ» называется логическим сложением и обозначается следующим образом: . Выход функции «ИЛИ» равен 1, если хотя бы на одном входе есть 1, и равен 0 только в случае, если на всех входах нули. Функция «И» называется логическим умножением и обозначается так: . Выход функции «И» равен 1 только в том случае, если все входы равны 1. В остальных случаях выход равен 0. Эти элементарные логические функции реализуются соответствующими логическими элементами, носящими те же названия. Любая сложная логическая функция может быть принципиально реализована набором только этих трех элементов в различных сочетаниях. Кроме перечисленных элементарных логических функций, большое значение в построении программных устройств имеет более сложная логическая функция «память». Сущность этой функции заключается в том, что логический элемент должен «запомнить» поданный на его вход сигнал и сохранить соответствующий ему выход после снятия сигнала. Сбрасывание памяти должно происходить после подачи сигнала на другой вход. Функция памяти может быть составлена из трех элементарных функций следующим образом: . Нетрудно видеть, что если Y = 0, то после прихода сигнала Х1 = 1 (Х2 остается равным 0) Yпринимает значение, равное 1. За счет обратной связи (Y в правой части равенства) правая часть равенства остается равной единице и после снятия сигнала X1. Подача же сигнала Х2 = 1 делает Y = 0, т.е. снимает сигнал с выхода. Таким образом, функция «память» может быть реализована элементарными логическими элементами. Однако, ввиду того, что функция «память» применяется очень часто, целесообразно иметь в наборе специальный элемент «память». И, наконец, для осуществления определенной последовательности операций, кроме указанных элементов, выполняющих логические функции, необходимо иметь элемент, позволяющий осуществить задержку передачи сигнала. Такой элемент называется «задержкой» или элементом «выдержки времени». Таким образом, полный набор логических элементов содержит пять элементов: «НЕ», «ИЛИ», «И», «память» и «задержка». На рис. 8.15 изображены основные пять элементов и соответствующие им эквиваленты, построенные на контактных реле. Эти контактные схемы более привычны и поэтому использованы для пояснения работы логических элементов. Входами контактных эквивалентов являются контакты Х1, Х2 и Х3,, включающие реле Y, а выходом – контакт реле Y. Если контакт на входе реле Y размыкающий, схема (рис. 8.15, а) реализует функцию «НЕ», так как срабатывание контакта Х (Х=1) означает размыкание цепи реле (Y=0). При параллельном соединении замыкающих контактов Х1, Х2 и Х3 (рис. 8.15, б) достаточно срабатывания любого контакта для того, чтобы включилось реле (Y=1). Поэтому данная схема соответствует функции «ИЛИ». Последовательное соединение замыкающих контактов Х1, X2 и X3 (рис. 8.15, в) реализует функцию «И»: только при срабатывании всех контактов включается реле, и на выходе появляется сигнал (Y=1). Схема реле с блокировкой (рис. 8.15, г) является эквивалентом памяти. Здесь входные контакты Х1 иХ2 обозначены кнопками, чтобы подчеркнуть кратковременность действия управляющих сигналов. После нажатия на кнопку Х1 реле Y становится на самоблокировку до тех пор, пока цепь реле не будет разомкнута кнопкой X2. Триггеры. Триггер — это устройство с двумя состояниями. Триггеры предназначены для запоминания двоичной информации. Использование триггеров позволяет реализовывать устройства оперативной памяти (то есть памяти, информация в которой хранится только на время вычислений). Однако триггеры могут использоваться и для построения некоторых цифровых устройств с памятью, таких каксчётчики, преобразователи последовательного кода в параллельный или цифровые линии задержки. Простейшая схема триггера, позволяющая запоминать двоичную информацию, может быть построена на двух инверторах, охваченных положительной обратной связью. Схема триггера, реализованного на двух инверторах, приведена на рисунке 1. В схеме триггера может быть только два состояния — на выходе Q присутствует логическая единица и на выходе Q присутствуетлогический ноль. Если логическая единица присутствует на выходе Q, то на инверсном выходе триггера будет присутствовать логический ноль, который после очередного инвертирования подтверждает уровень логической единицы на выходе триггера Q. И наоборот, если на выходе триггера Q присутствует логический ноль, то на инверсном выходе триггера будет присутствовать логическая единица. Такая ситуация на выводах триггера будет сохраняться до тех пор пока включено питание. Но вот вопрос — а как записывать в такой триггер необходимую нам информацию? Для этого в схеме триггера потребуются входы записи нуля и записи единицы. RS-триггеры RS-триггер получил название по названию своих входов. Вход S (Set — установить англ.) позволяет устанавливать выход триггера Q в единичное состояние. (Устанавливать означает записывать логическую единицу). Вход R (Reset — сбросить англ.) позволяет сбрасывать выход триггера Q (Quit — выход англ.) в нулевое состояние. Для реализации RS-триггера воспользуемся логическими элементами " 2И-НЕ". Принципиальная схема RS-триггера, реализованного на логических элементах " 2И-НЕ" " ", приведена на рисунке 2. Рассмотрим работу изображенной на рисунке 2 схемы триггера подробнее. Пусть на входы R и S триггера подаются единичные потенциалы. Если на выходе верхнего логического элемента " 2И-НЕ" Q присутствует логический ноль, то на выходе нижнего логического элемента " 2И-НЕ" появится логическая единица. Эта единица подтвердит логический ноль на выходе триггера Q. Если на выходе верхнего логического элемента " 2И-НЕ" Q первоначально присутствует логическая единица, то на выходе нижнего логического элемента " 2И-НЕ" появится логический ноль. Этот ноль подтвердит логическую единицу на выходе триггера Q. То есть, при единичных уровнях на входах R и S, схема RS-триггера работает точно так же, как и схема триггера на инверторах. Подадим на вход S триггера нулевой потенциал. Согласно таблице истинности логического элемента " 2И-НЕ" на выходе Q появится единичный потенциал. Это приведёт к появлению на инверсном выходе триггера нулевого потенциала. Теперь, даже если снять нулевой потенциал с входа S, на выходе триггера останется единичный потенциал. То есть мы записали в триггер логическую единицу. Точно так же можно записать в триггер и логический ноль. Для этого следует воспользоваться входом R. Так как активный уровень на входах триггера оказался нулевым, то эти входы & mdash инверсные. Составим таблицу истинности RS-триггера. Входы R и S триггера в этой таблице будем использовать прямые, то есть запись нуля, и запись единицы будут осуществляться единичными потенциалами (таблица 1). Таблица 1. Таблица истинности RS-триггера.
RS-триггер можно построить и на логических элементах " 2ИЛИ-НЕ". Схема RS-триггера, построенного на логических элементах " 2ИЛИ-НЕ" приведена на рисунке 3. Единственное отличие в работе этой схемы триггера будет заключаться в том, что его сброс и установка будет производиться единичными логическими уровнями. Эти особенности реализации схемы триггера связаны с принципами работы инверсной логики, которые рассматривались ранее. Так как RS-триггер при построении его на логических элементах " 2И-НЕ" и " 2ИЛИ-НЕ" работает одинаково, то его условно-графическое изображение на принципиальных схемах тоже одинаково. Условно-графическое изображение RS-триггера на принципиальных схемах приведено на рисунке 4. Для измерения логических уровней на выходе триггера чаще всего применяются логические пробники, в качестве которых в простейшем случае можно использовать светодиод с токоограничивающим резистором. В качестве источника логического сигнала можно применить механические тумблеры. Синхронные RS-триггеры Схема RS-триггера позволяет запоминать состояние логической схемы, но так как в начальный момент времени может возникать переходный процесс (в цифровых схемах этот процесс называется " опасные гонки" ), то запоминать состояния логической схемы в триггерах нужно только в определённые моменты времени, когда все переходные процессы закончены. Это означает, что большинство цифровых схем требуют сигнала синхронизации (тактового сигнала). Все переходные процессы в комбинационной логической схеме должны закончиться за время периода синхросигнала, подаваемого на входы триггеров. Триггеры, запоминающие входные сигналы только в момент времени, определяемый сигналом синхронизации, называются синхронными триггерами. Для того чтобы отличать от них рассмотренные ранее варианты триггеров (RS-триггер и триггер Шмитта) эти триггеры получили название асинхронных. Формировать синхронизирующие сигналы с различной частотой и скважностью при помощи генераторов и одновибраторов мы уже научились в предыдущих главах. Теперь научимся записывать в триггеры входные логические сигналы только при наличии разрешающего сигнала. Для этого нам потребуется схема, пропускающая входные сигналы только при наличии синхронизирующего сигнала. Такую схему мы уже использовали при построении схем мультиплексоров и демультиплексоров. Это логический элемент " И". Принципиальная схема синхронного RS-триггера приведена на рисунке 5. В таблице 2 приведена таблица истинности синхронного RS-триггера. В этой таблице символ x означает, что значения логических уровней на данном входе не важны. Они не влияют на работу триггера. Таблица 2. Таблица истинности синхронного RS-триггера.
Как мы уже показали в предыдущей главе, RS-триггеры могут быть реализованы на различных элементах. При этом логика их работы не изменяется. В то же самое время триггеры часто выпускаются в виде готовых микросхем (или реализуются внутри БИС в виде готовых модулей), поэтому на принципиальных схемах синхронные триггеры обычно изображаются в виде условно-графических обозначений. Условно-графическое обозначение синхронного RS-триггера приведено на рисунке 6. D-триггеры В RS-триггерах для записи логического нуля и логической единицы требуются разные входы, что не всегда удобно. При записи и хранении данных один бит может принимать значение, как нуля, так и единицы. Для его передачи достаточно одного провода. Как мы уже видели ранее, сигналы установки и сброса триггера не могут появляться одновременно, поэтому можно объединить эти входы при помощи инвертора, как показано на рисунке 7. Такой триггер получил название D триггер. Название происходит от английского слова delay — задержка. Конкретное значение задержки определяется частотой следования импульсов синхронизации. Условно-графическое обозначение D триггера на принципиальных схемах приведено на рисунке 8. Таблица истинности D триггера достаточно проста, она приведена в таблице 3. Как видно из этой таблицы, этот триггер способен запоминать по синхросигналу и хранить один бит информации. Таблица 3. Таблица истинности D триггера
Нужно отметить, что отдельный инвертор при реализации триггера на ТТЛ элементах не нужен, так как самый распространённый элемент ТТЛ логики - это “2И-НЕ”. Принципиальная схема D триггера на элементах 2И-НЕ” приведена на рисунке 9. Ещё проще реализуется D триггер на КМОП логических элементах. В КМОП микросхемах вместо логических элементов " И" используются обычные транзисторные ключи. Схема D триггера приведена на рисунке 10. При подаче высокого уровня синхросигнала C транзистор VT1 открывается и обеспечивает передачу сигнала с входа D на инверсный выход Q через инвертор D1. Транзистор VT2 при этом закрыт и отключает второй инвертор, собранный на транзисторах VT2 и VT3. При подаче низкого потенциала на вход C включается второй инвертор, который вместе с инвертором D1 и образует триггер. Во всех рассмотренных ранее схемах синхронных триггеров синхросигнал работает по уровню, поэтому триггеры называются триггерами, работающими по уровню. Ещё одно название таких триггеров, пришедшее из иностранной литературы - триггеры-защёлки. Легче всего объяснить появление этого названия по временной диаграмме, приведенной на рисунке 11. По этой временной диаграмме видно, что триггер-защелка хранит данные на выходе только при нулевом уровне на входе синхронизации. Если же на вход синхронизации подать активный высокий уровень, то напряжение на выходе триггера будет повторять напряжение, подаваемое на вход этого триггера. Входное напряжение запоминается только в момент изменения уровня напряжения на входе синхронизации C с высокого уровня на низкий уровень. Входные данные как бы " защелкиваются" в этот момент, отсюда и название — триггер-защелка. Принципиально в этой схеме входной переходной процесс может беспрепятственно проходить на выход триггера. Поэтому там, где это важно, необходимо сокращать длительность импульса синхронизации до минимума. Чтобы преодолеть такое ограничение были разработаны триггеры, работающие по фронту. Явление метастабильности. До сих пор мы предполагали, что сигнал на входе триггера может принимать только два состояния: логический ноль и логическая единица. Однако синхроимпульс может прийти в любой момент времени, в том числе и в момент смены состояния сигнала на входе триггера. Если синхросигнал попадёт точно на момент перехода входным сигналом порогового уровня, то триггер на некоторое время может попасть в неустойчивое метастабильное состояние, при котором напряжение на его выходе будет находиться между уровнем логического нуля и логической единицы. Это может привести к нарушению правильной работы цифрового устройства. Состояние метастабильности триггера подобно неустойчивому состоянию шарика, находящегося на вершине конического холма. Такая ситуация иллюстрируется рисунком 1. Обычно триггер не может долго находиться в состоянии метастабильности и быстро возвращается в одно из стабильных состояний. Время нахождения в метастабильном состоянии зависит от уровня шумов схемы и использованной технологии изготовления микросхем. Временные параметры триггера в момент возникновения состояния метастабильности и выхода из этого состояния приведены на рисунке 2. Время tSU (register setup time or tSU) на этом рисунке это минимальное время перед синхроимпульсом, в течение которого логический уровень сигнала должен оставаться стабильным для того, чтобы избежать метастабильности выхода триггера. Время tH (register hold time or tH) это минимально необходимое время удержания стабильного сигнала на входе триггера для того, чтобы избежать метастабильности его выхода. Время состояния метатастабильности случайно и зависит от многих параметров. На рисунке 2 оно обозначено tMET. Вероятность того, что время метастабильности превысит заданную величину, экспоненциально уменьшается с ростом времени, в течение которого выход триггера находится в метастабильном состояние. где t — это коэффициент обратно пропорциональный коэффициенту усиления и полосе пропускания элементов, входящих в состав триггера. Склонность триггеров к метастабильности обычно оценивается величиной, обратной скорости отказов. Это значение выражается как интервал времени между отказами. Его можно определить по формуле: где t0 = tSU – tH fс – тактовая частота fd – частота с которой меняются входные данныеДля того чтобы можно было оценить эту величину, приведём таблицу для двух микросхем. Последняя строчка этой таблицы эквивалентна времени метастабильности tMET = 5 нс. Таблица 3. Сравнительные характеристики КМОП и Bi-КМОП триггеров
Метастабильное состояние не всегда приводит к неправильной работе цифрового устройства. Если время ожидания устройства после прихода импульса синхронизации достаточно велико, то триггер может успеть перейти в устойчивое состояние, и мы даже ничего не заметим. То есть если мы будем учитывать время метастабильности tmet то метастабильность никак не скажется на работе остальной цифровой схемы. Если же это время будет неприемлемым для работы схемы, то можно поставить два триггера последовательно, как это показано на рисунке 3. Это снизит вероятность возникновения метастабильного состояния. Для сравнения приведем MBTF для новой схемы. Сравнение производится тех же самых микросхем, что и в предыдущем примере. Время метастабильности tMET = 5 нс для 50МГц, tMET = 5 нс для 67МГц, tMET = 5 нс для 80МГц. Таблица 4. Сравнительные характеристики КМОП и Bi-КМОП триггеров Популярное:
|
Последнее изменение этой страницы: 2016-03-25; Просмотров: 1527; Нарушение авторского права страницы