Конспект лекций по курсу Электронные промышленные устройства Смоленск 2006 2
Скачать 1.23 Mb.
|
2.1.4. Пример 4 — автомат Мура Асинхронный автомат Мура, выделяющий первый полный импульс из последова- тельности U И1 , если приходит сигнал запуска U S ; и вторую полную паузу U П1 , если прихо- дит сигнал запуска U Z (см. рис. 2.7). Автоматы Мура описываются функциями переходов и выходов: ( ) t t t x a f a , 1 = + , ( ) t t a z ϕ = , 61 т.е. каждое новое состояние обусловлено предшествующим состоянием и входным сигналом, а выход в каждый момент однозначно определяется состоянием автомата. Таким образом, выходы однозначно определяются состояниями автомата и поэтому мо- гут быть указаны в вершинах графа. Составим граф переходов устройства, разрабатываемого как автомат Мура (см. определение выше). Вершины графа (устойчивые состояния автомата) будем кодиро- вать противогоночно (с использованием кода Грея). Исходное состояние автомата 000. Выход из него осуществляется либо по управляющему сигналу S и паузе в последова- тельности, либо по управляющему сигналу Z и импульсу в последовательности. Такая привязка осуществляется, т.к. в первом случае необходимо выделить 2-ой полный им- пульс, а во втором случае — 2-ую полную паузу. Указанные комбинации сигналов дают начало двум путям переходов автомата из состояния 000, показанным на рис. 2.11 стрелками. В конце необходимо предусмотреть возврат автомата в исходное состояние, который обычно осуществляется при окончании действия управляющих сигналов ( Z S ⋅ ). Охватим замкнутой линией все состояния на графе переходов, в которых значения одной и той же переменной (состояние одного элемента памяти) равны 1. Эти замкнутые кривые показаны сплошной (Q 1 =1), штрих-пунктирной (Q 2 =1) и пунктирной линиями (Q 3 =1) соответственно. Поскольку вход в подобную замкнутую область и выход из нее требуют линий сиг- налов возбуждения, обозначаются соответствующие сигналы возбуждения. Стрелками, входящими в область, указывают возбуждение установки (присваивающее переменной единичное значение), а стрелками, выходящими из области, — возбуждение сброса (присваивающее ей нулевое значение). Рис. 2.11. Граф переходов асинхронного автомата МУРА 000 001 011 010 110 111 101 100 Q 3 Q 2 Q 1 G S ⋅ G G G G Z ⋅ G G G F 1 =Q 3 Q 2 Q 1 F 2 =Q 3 Q 2 Q 1 Z S ⋅ Составляются два выражения в форме ДНФ (суммы произведений): одно для функции возбуждения установки, а другое для функции возбуждения сброса. Каждое 62 произведение должно содержать входные переменные (сигналы по которым совершает- ся переход) и вторичные переменные, связанные с данным переходом, но не меняющие свои значения. В качестве вторичных переменных выступают двоичные разряды кода состояния в коде Грея. Включение вторичных переменных гарантирует выполнение пе- реходов в правильной последовательности. G Q Q G S Q Q S 2 3 2 3 1 ∨ = G Q G Q Q G Q Q R 2 2 3 2 3 1 = ∨ = ; G Q S 1 2 = Z S Q Q R 1 3 2 = ; ZG Q Q S 1 2 3 = G Q Q R 1 2 3 = ; 1 2 3 1 Q Q Q F = 1 2 3 2 Q Q Q F = 1 2 3 1 2 3 Q Q Q Q Q Q F ∨ = . Строится схема на основе асинхронных RS-триггеров, реализующая полученные логические выражения. Для последующего моделирования с помощью программы MICROCAP в качестве асинхронных RS-триггеров используются JK или D-триггера с асинхронными входами установки (PREBAR) и сброса (CLRBAR). При этом входы син- хронизации и информационные входы не задействуются. Схема для моделирования с обозначениями необходимых сигналов приведена на рис. 2.12, а на рис. 2.13 приведены временные диаграммы работы автомата, доказы- вающие его работоспособность. Рис. 2.12. Схема автомата Мура 63 Рис. 2.13. Временные диаграммы работы автомата Мура 2.2. Синтез асинхронных автоматов на мультиплексорах 2.2.1. Пример 1. Асинхронный автомат Мили Пример 1. Асинхронный автомат Мили, выделяющий 3-ю полный импульс из по- следовательности U И1 , если приходит сигнал запуска U S ; и первую полную паузу U П1 , ес- ли приходит сигнал запуска U Z (см. рис. 2.7). Методика синтеза асинхронных автоматов на основе мультиплексоров подробно рассмотрена в [4–6]. Составим граф переходов устройства, разрабатываемого как автомат Мили (см. определение выше). Вершины графа (устойчивые состояния автомата) будем кодиро- вать противогоночно (с использованием кода Грея). Необходимое нам состояние, в ко- тором формируется выходной сигнал (либо 3-ий импульс, либо 3-я пауза) является 7-м по счету состоянием автомата. Таким образом, для кодирования номеров состояний не- обходимо 3 запоминающих элемента — RS-триггера. При этом не останется неисполь- зуемых состояний, поскольку необходим выход из состояния, в котором снимаются вы- ходные сигналы и возврат автомата в исходное состояние. В соответствии с графом переходов (8=2 3 устойчивых состояний) для синтеза уст- ройства понадобится 3 мультиплексора из 8 в 1. Составим таблицу программирования мультиплексоров по следующим правилам: 1. В первой строке таблицы указываются коды состояний автомата Q 3 Q 2 Q 1 , кото- 64 рые соответствуют кодам на селектирующих входах мультиплексоров; 2. Во второй строке таблицы указываются значения сигналов на информационных входах всех 3-х мультиплексоров D 0 …D 7 , которые формируются по следующим прави- лам: а) в столбце соответствующем i- ому ( i= 0…7) состоянию автомата значения сигна- лов D i j ( j =1…3) равны Q j для тех разрядов, которые остаются неизменными при пере- ходе в следующее (соседнее) состояние. Отметим, что в случае если из данного состоя- ния возможно несколько переходов, D i j копирует те разряды Q j ( Q 3 Q 2 Q 1 ), которые ос- таются неизменными при всех возможных переходах из данного состояния. б) остальным информационным сигналам D i j , подаваемым на i-ые входы j-ых мультиплексоров, присваиваются значения переменных, вызывающих данный переход по следующим правилам. Если переход сопровождается изменением значения разряда кода состояния с 0 на 1, то переменная подается на соответствующий вход без инвер- сии, при изменении с 1 на 0 — переменная, подаваемая на вход, инвертируется. Рис. 2.14. Граф переходов асинхронного автомата МИЛИ 000 001 011 010 110 111 101 100 Q 3 Q 2 Q 1 X X X Y X Z*S Y Y F 1 =Q 3 Q 2 Q 1 S F 2 =Q 3 Q 2 Q 1 Z ZG G S X ∨ = G Z SG Y ∨ = Pulse3=F1 Pause3=F2 В соответствии с вышеприведенными правилами таблица настройки мультиплек- соров имеет вид: Таблица 2.1 i 0 1 3 2 6 7 5 4 Q 3 Q 2 Q 1 000 001 011 010 110 111 101 100 D i 3 D i 2 D i 1 00X 0Y1 01X Y10 11X 1Y1 10X Z ⋅ S00 Принципиальная схема синтезированного в соответствии с табл. 2.1 асинхронного автомата Мили и результаты его анализа в среде пакета программ MICROCAP 8 приве- дены на рис. 2.15 и 2.16 соответственно. 65 Рис. 2.15. Асинхронный автомат Мили (выделения 1-го импульса, 2-ой паузы) Рис. 2.16. Временные диаграммы работы асинхронного автомата Мили 66 2.2.2. Пример 2. Асинхронный автомат Мура Пример 2. Асинхронный автомат Мура, выделяющий первый полный импульс из последовательности U И1 , если приходит сигнал запуска U S ; и вторую полную паузу U П1 , если приходит сигнал запуска U Z (см. рис. 2.7). Автоматы Мура описываются функциями переходов и выходов: ( ) t t t x a f a , 1 = + , ( ) t t a z ϕ = , т.е. каждое новое состояние обусловлено предшествующим состоянием и входным сигналом, а выход в каждый момент однозначно определяется состоянием автомата. Таким образом, выходы однозначно определяются состояниями автомата и поэтому мо- гут быть указаны в вершинах графа. Т.к. необходимо выделить либо первый импульс, либо вторую паузу полной дли- тельности, то при запуске автомата привязку необходимо осуществлять к фронту (спаду) импульса периодической последовательности (т.е. из начального состояния возникнет переход в одно состояние по конъюнкции сигналов S ⋅ G , и переход в другое состояние —по конъюнкции сигналов Z ⋅ G). Следовательно, по одной из этих двух ветвей будет осуществляться начальный переход в графе переходов. Построим граф переходов автомата, используя противого- ночное (в коде Грея) кодирование состояний (см. рис. 2.17). При этом выходной сигнал (соответствующий 2-ой полной паузе — Pause2) является логи- ческим произведением соответст- вующих разрядов кода состояния автомата 1 2 3 Q Q Q ⋅ ⋅ , а выходной сигнал (соответствующий 1-му полному импульсу) является логическим произведением разрядов кода состояния автомата 1 2 3 Q Q Q ⋅ ⋅ . Таким образом, выражение для выходной функции F записывается в следующем виде: 1 2 3 1 2 3 Q Q Q Q Q Q F ⋅ ⋅ ∨ ⋅ ⋅ = . В соответствии с графом переходов (8=2 3 устойчивых состояний) для синтеза уст- ройства понадобится 3 мультиплексора из 8 в 1. Составим таблицу программирования мультиплексоров по следующим правилам: В первой строке таблицы указываются коды состояний автомата Q 3 Q 2 Q 1 , которые соответствуют кодам на селектирующих входах мультиплексоров; Во второй строке таблицы указываются значения сигналов на информационных входах всех 3-х мультиплексоров D 0 …D 7 , которые формируются по следующим прави- лам: Рис. 2.17. Граф переходов асинхронного автомата Мура. 000 001 011 010 110 111 101 100 Q 3 Q 2 Q 1 SG ZG G G G Z*S G 1 Pause2 Pulse1 G G 67 а) в столбце соответствующем i -ому ( i =0…7) состоянию автомата значения сигна- лов D i j ( j =1…3) равны Q j для тех разрядов, которые остаются неизменными при пере- ходе в следующее (соседнее) состояние. Отметим, что в случае если из данного состоя- ния возможно несколько переходов, D i j копирует те разряды Q j ( Q 3 Q 2 Q 1 ), которые ос- таются неизменными при всех возможных переходах из данного состояния. б) остальным информационным сигналам D i j , подаваемым на i -ые входы j -ых мультиплексоров, присваиваются значения переменных, вызывающих данный переход по следующим правилам. Если переход сопровождается изменением значения разряда кода состояния с 0 на 1, то переменная подается на соответствующий вход без инвер- сии, при изменении с 1 на 0 — переменная, подаваемая на вход, инвертируется. В соответствии с вышеприведенными правилами таблица настройки мультиплек- соров имеет вид: Таблица 2.2 i 0 1 3 2 6 7 5 4 Q 3 Q 2 Q 1 000 001 011 010 110 111 101 100 D i3 D i2 D i1 (ZG)0(SG) 0(G)1 01G 0(ZVS)0 G10 11G 1G1 10G Рис. 2.18. Схема для моделирования асинхронного автомата Мили 68 Рис. 2.19. Временные диаграммы моделирования работы асинхронного автомата Мили 2.3. Синтез синхронных автоматов 2.3.1. Пример 3. Синтез счетчика с изменяемым коэффициентом пересчёта Пример 3. Синтезировать и протестировать цифровой синхронный автомат (про- граммно-управляемый счетчик), обеспечивающий следующие последовательности сче- та: A=1; B=0 0, 1, 2, 3 A=0; B=1 0, 1, 6, 7 В остальных случаях 0, 1, 2, 3, 4, 5, 6, 7 В соответствии с совокупностью сигналов, управляющих последовательностью пе- реходов синхронного автомата, сформируем новые сигналы, управляющие работой син- хронного автомата. B A X ⋅ = 1 , B A X ⋅ = 2 . Данные сигналы просто могут быть получены с помощью полного двоичного де- шифратора 2Х4. Обобщенная схема синхронного автомата приведена на рис. 2.20. В соответствии с этой структурой проведем синтез синхронного автомата примера. 69 Составим граф переходов синтезируемого синхронного автомата (рис. 2.21). Отме- тим, что поскольку переход из состояние в состояние осуществляется по синхросигналу, в графе переходов нет необходимости использовать противогоночное кодирование со- стояний, их достаточно закодировать позиционным двоичным кодом. Рис. 2.20. Структурная схема синхронного автомата Двоичные переходы на структурной схеме осуществляет мультиплексор MX1, имеющий выход Y1. Сигнал на счетном входе (приращения) счетчика: G Y SYN ⋅ = 1 . Мультиплексор MX2 — мультиплексор недвоичных переходов. Его выход Y2 пода- ется на вход параллельной загрузки счетчика WE (PLBAR, имеющий активный низкий уровень, на схеме примера см. рис. 2.22). В соответствии с этим таблица программирования мультиплексора MX2 рассматриваемого примера сле- дующая: 2 2 X D = ; 1 4 X D = . На остальных информационных входах MX2 — постоянный уровень логической «1». Инверсия сигналов для входов недвоичных переходов и уровень лог. «1» для входов двоичных переходов используют- Рис. 2.21. Граф переходов синхронного автомата (cчетчика с изменяемой последовательностью счета) 000 001 010 011 100 101 110 111 G G G G G G G G X 2 X 1 70 ся, поскольку вход параллельной загрузки счетчика имеет активный низкий уровень. Перейдем теперь к синтезу комбинационной схемы преобразователя кодов (КС1 на рис. 2.20), которая подает на входы параллельной загрузки счетчика код следующего со- стояния при осуществлении недвоичного перехода синхронного автомата. Таблица недвоичных переходов синхронного автомата: Q 2 Q 1 Q 0 ( t i ) Q 2 Q 1 Q 0 ( t i+1 ) 011 000 001 110 Минимизируем логическую функцию для каждого входа параллельной загрузки Q 0 (P 0 ), Q 1 (P 1 ), Q 3 (P 2 ) с помощью карт Карно: Q 1 Q 0 Q 2 00 01 11 10 0 X 0 0 Х 1 X Х X X Q 0 (P 0 ) 0 0 = P Q 1 Q 0 Q 2 00 01 11 10 0 X 1 0 Х 1 X Х X X Q 1 (P 1 ) 1 1 Q P = Q 1 Q 0 Q 2 00 01 11 10 0 X 1 0 Х 1 X 0 X X |