В автоматах Мура, которые рассмотрены в предыдущих параграфах, все переходы из одного состояния в другое происходят за время 2 τ, где τ – длительность тактовых импульсов. Однако длительность выходных сигналов { c } определяется величиной периода следования импульсов синхронизации и равно (T – 2 τ), т.к.
a(t + 1) = F2(a(t), { α }) c (t) = F1(a(t)).
Для выполнения этих условий в схеме F1(a(t)) предусмотрен отдельный дешифратор (рис. 61) с подачей на вход синхронизации сигнала логической «1» от источника питания Е. Это позволяет за счет выбора величины T формировать команды управления такой длительности, которая необходима для «срабатывания» исполнительных устройств (реле, пускатели двигателей и др.). Т.е. в автоматах Мура сигналы τ определяют лишь быстродействие переходов a(t)→a(t + 1), а длительность периода Т определяет время действия команд управления.
Для многих отраслей применения в области радиотехники, связи, вычислительной и измерительной техники выходные команды управления могут быть по длительности такими же, как длительность сигналов синхронизации τ, а повышение быстродействия таких автоматов связано с уменьшением величины τ за счет выбора более быстродействующих интегральных схем.
|
|
Такие автоматы можно построить, переходя к другой структурной схеме. Обобщенная запись функционирования автоматов Мили имеет вид:
c (t + 1) = F1(a(t), { α }); a(t + 1) = F2(a(t), { α }).
Здесь a(t + 1) и c (t + 1) зависят как от а(t), так и от { α }. Для автоматов Мили несколько меняется процедура синтеза.
Рассмотрим снова ГСА рис. 57 и произведем разметку ГСА по-другому. Не будем отмечать каждый оператор (кроме логических), как это делалось для автоматов Мура, а обозначим с помощью меток а i каждый переход а i →а j. На рис. 57 разметка переходов а i (t)→а j (t + 1) показана в виде черты после соответствующего оператора а i (t). Тогда получим отмеченную ГСА для построения графа переходов рис. 66, на котором через «черточку» указаны выходные сигналы, формируемые автоматом при осуществлении переходов а i →а j. Сравнивая графы рис. 59 и рис. 66 для одной и той же ГСА рис. 3.5 (но по-разному размеченной, как видно из рис. 57), можно заметить следующие отличия:
- уменьшилось число состояний (для примера с 10 до 8);
- выходные сигналы автомата «приписаны» не состояниям, а переходам и зависят как от номера предыдущего состояния, так и от значения логического условия, определяющего переход.
Первое отличие в большинстве случаев не носит принципиального характера, т.к. уменьшение числа состояний в процентном соотношении незначительное. Хотя для рассматриваемого примера это уменьшение всего лишь на 20 % оказалось существенным, т.к. в автомате Мура число двоичных переменных кодов состояний a (t) равно 4 (Z3Z2Z1Z0), а для автомата Мили равно 3 (Z2Z1Z0).
|
|
Однако существенно второе отличие, т.е. зависимость c (t + 1) = F1(a(t),{ α }). Для автоматов Мили структурная схема примет вид рис. 65. На рис. 65 показано, что конкатенация { α }{Z} подается одновременно как на схему, реализующую систему булевых функций F1, так и на схему F2. Входы у них общие, а выходы различны: F1 формирует множество сигналов { c }, а F2, соответственно, {S}. Выпишем из графа рис. 66 булевы функции F1и F2. Для рассматриваемого примера получим табл. 27.
Рис. 65
Таблица 27
F2 | F1 |
f 0= τ a7 | |
f 1= | |
f 2 = τ a1 | |
f 3 = | c 3 ,c 4 = f 3 |
f 4 = τ a3 | |
f 5 = τ a4 | |
f 6 = τ a5 | c 7 = f 5+ f 0 |
f 7 = α 3 τ a6 | c 8 = f 6 |
c 9 = f 0 |
Как видно из табл. 27, хотя на структурной схеме автомата Мили комбинационные схемы F1иF2 изображены как независимые, фактически они имеют одни и те же переменные и связаны между собой общими «конституентами». Поэтому в автомате Мили может реализовываться одна единая комбинационная схема F как система функции F1 и F2 с двумя выходами { f } и { c }.
Рис. 66
В случае двоичного кодирования выходы F будут определять множества выходных переменных { c } и {S}.
Принцип функционирования автомата Мили не отличается от такового для автомата Мура, но выходные сигналы автомата Мили будут действовать только в период существования синхроимпульса τ. При этом быстродействие автомата Мили определяется величиной 2 τ.
В том случае, когда приходится работать на предельных частотах выбранной элементной базы, а быстродействие автомата желательно повысить, осуществляется переход к организации памяти автомата по схеме рис. 60. Тогда выходные сигналы будут формироваться как во время τ, так и во время действия сигнала .
Рассмотрим также вопросы синтеза более сложных автоматов, в которых происходит перестройка автомата в процессе работы с одного типа памяти на другой. Как уже указывалось, если большая часть переходов а i → а j выполняется по условию а(t + 1) = , то может быть использован счетчик в качестве памяти автомата. Однако в этом случае счетчик работает в двух режимах:
– действительно как счетчик (суммирующий или суммирующий и вычитающий);
– или как простой запоминающий регистр кода а(t) с параллельным парафазным вводом информации с регистра, хранящего код а(t + 1).
Организация процесса синхронизации при переходе с одного режима на другой, а также организация «обнуления» кода а(t + 1) при каждых тактах и имеет свою специфику.
Пусть алгоритм управления операционным устройством представлен в виде рис. 67.
Перейдем к графу автомата рис. 68. Как видно из рис. 68, переходы подчиняются правилу а(t + 1) = , т.е. для всех этих переходов простейшей реализацией является суммирующий счетчик.
Имеется всего несколько переходов, которые необходимо реализовать схемным путем, т.е.
f 0 = f 4 = f 9 = f 12 =
Нетрудно видеть, что f 0 – это всего лишь 11-й выход дешифратора в типовой адресной комбинационной схеме автомата. Для реализации f 9 потребуется одна схема «ИЛИ», объединяющая 8-й и 12-й выходы DC, а для реализации функций f 4 и f 12 понадобится по одной двухвходовой схеме «И».
Рис. 67. Алгоритм управления операционным устройством | Рис. 68. Граф переходов автомата управления |
На рис. 69 приведена структурная схема автомата Мура с памятью состояний в виде счетчика (10). Автомат состоит из следующих блоков: генератора импульсов ГИ (1), выход которого, помеченный сигналом τ, образует последовательную цепь в виде схемы И (2), линии задержки из двух элементов «НЕ» (3, 4), дешифратора (5), комбинационной схемы КСхF2 (12) с выходными микрооперациями , соединяемыми с операционным устройством ОУ (13). Логические сигналы автомата являются вторыми входами КСхF1 (6) с выходом fсч, соединяемым через схему задержки из двух «НЕ» (14, 15) со входом схемы И (16), выход которой соединен со счетным входом счетчика (10). Второй выход ГИ (1), помеченный символом через схему задержки НЕ (17, 18) соединен с первым входом схемы И (19), выход которой подается на входы синхронизации схем И (9).
|
|
Рис. 69. Структурная схема автомата управления со счетчиком
Включение автомата в работу производится сигналом «ПУСК», который подается на единичный вход триггера (20). Выход Q подается на вторые входы схем И (2), И (19), а останов производится сигналом «ОСТ» или сигналом f 0 через схему ИЛИ (21). Переключение режима работы автомата на счетный режим Сч (10) или использование его (Сч 10) как параллельного регистра производится независимым триггером (22).
Функционирование такой схемы начинается с установки нулевого состояния Сч (10) сигналом с 0 и командой «ПУСК», по которой триггер (20) «приоткрывает» потенциалом Q схемы И (2) и И (19). Первый же импульс τ устанавливает триггер (22) в состояние 1, через схему И (2) устанавливает в нулевое состояние Рг (8) и через задержку НЕ (3, 4) опрашивает дешифратор DC1 (5), и комбинационная схема КСхF1 (6) формирует либо один из сигналов f 0, f 1, …, fm, либо сигнал f сч. Сигналы f сч и f 0, f 1, …, fm являются взаимоисключающими.
Если сформируется один из сигналов fi, то автомат с памятью из двух регистров, функции верхнего а(t) при этом выполняет счетчик.
Если же сформируется сигнал f сч, то триггер (22) переводится в нулевое состояние, при этом «приоткрывается» схема И (16) для пропуска через задержку НЕ (14, 15) сигнала f сч на суммирующий вход Сч (10) и снимается разрешающий потенциал триггера (22) со схемы И (19), чтобы не было одновременно параллельной переписи состояния Рг (8) на тот же Сч (10), т.к. он в это же время работает в режиме суммирования.
В остальном работа автомата производится так же, как и описывалось ранее, т.е. до перехода автомата снова в нулевое состояние, при котором сигналом f 0 автомат отключит сам себя от источника импульсов синхронизации ГИ (1). Как видно из сравнения рис. 61 и рис. 69, использование Сч (10) в качестве памяти усложнило функциональную подсистему автомата за счет введения триггера (22) и трех схем задержки НЕ (3, 4), НЕ (14, 15), НЕ (17, 18), однако при этом существенно упростилась адресная подсистема за счет формирования не всех fi (), а только нескольких из этого списка функций, обеспечивающих переходы, не отвечающие правилу счетчика.
|
|
Изменения информационной подсистемы за счет замены Рг а(t) на Сч а(t) не носят принципиального характера.
Функциональная подсистема (DC2 (11) и КСхF2 (12)) и логическая подсистема ОУ (13) не изменились по сравнению с классическим вариантом реализации автомата Мура.
Контроль и диагностика автоматов управления
Автоматы для систем управления технологическими процессами или системами мехатроники могут составлять >40 % объема электронного оборудования для обработки информации датчиков и выдачи исполнительных команд. Более того, остальные 60% не будут функционировать или могут выдать не ожидаемую последовательность команд (в ряде случаев катастрофическую, например, для пожаро- и взрывоопасных производств), если автомат частично неисправен.
Для контроля автоматов существуют два подхода:
– тестовая проверка работоспособности* перед включением его в работу;
– динамический контроль правильности выдачи управляющих сигналов в процессе его функционирования.
Тестовый контроль требует наличия определенного запаса времени и годится только для систем, допускающих большие «простои» времени функционирования.
Для так называемых систем реального времени приемлем лишь динамический контроль. Для его реализации предложено несколько подходов [39, 45], в частности, код с m единицами в n разрядах (m C n).
В работах [16, 21, 23] автором предложен метод модификации кода m C n, обладающего всеми его преимуществами и позволяющего как существенно упростить схему контроля, так и снизить разрядность представления а(t) в коде m C n [**].
Идея основана на использовании так называемого геометрического кода [16].
Рассмотрим пример. Пусть задан восьмиразрядный двоичный код 11.01.10.00. Разделим его по два разряда и каждые два разряда переведем в унитарный код, тогда получим 16-разрядный код в виде 1000.0010.0100.0001. В этом коде, как видим, всего 4 единицы, а любой другой код будет отличаться от рассматриваемого только положением единиц в каждой из групп из 4-х разрядов. Тогда проверка правильности есть проверка наличия одной единицы в каждой группе. На этом принципе основан контроль в ПЗУ в работе [19].
Для контроля автоматов оставим три разряда в группе, чтобы были допустимы комбинации 100, 010, 001. Этот код назван модифицированным геометрическим кодом МГК. При обратном переходе к двоичному позиционному коду получим 11, 10, 01, а комбинация 00 будет отсутствовать (модифицированный двоичный код).
Рассмотрим предыдущий пример автомата с 13 состояниями, получим другую таблицу кодирования (табл. 28).
Как видно из таблицы, вместо ДПК для представления а(t) может быть использован МДК, при этом число разрядов увеличится в 1,5 раза (но не в 2 и более, как в коде m C n). При этом признаком правильности кода а(t) является отсутствие комбинации 00 в любой из 2-разрядных групп. На выходе КСхF1 целесообразно формировать МГК, тогда признаком правильности являются:
1 – наличие только одной единицы в группе;
2 – отсутствие комбинации 000 в группе;
3 – отсутствие комбинации 11 в соседних группах, т.е. старший разряд предыдущей группы и младший разряд последующей одновременно не равны «1».
На рис. 70 схема контроля k (t + 1) проверяет наличие признаков 1, 2, 3 и формирует сигнал ошибки W; при его отсутствии сигнал дает разрешение на блок схем «И» (6) для передачи кода а(t + 1) на регистр а(t + 1) – (7).
Схема KD (t) – (21) формирует признак «00» в коде а(t), и при его наличии блок индикации БИ (25) также оповещает об ошибке функционирования автомата. На рис. 70 адресная, функциональная и информационная подсистемы автомата обозначены традиционно для автомата Мура, а управляющая представлена обобщенно в виде блока синхронизации СС (15). При этом код а(t) представлен в виде МДК х 0, х 1, …, хр, а код а(t + 1) в виде МГК y 0, y 1, …, y г.
Таблица 28
№ | ДПК | МГК | МДК |
001.001.001 | 01.01.01 | ||
001.001.010 | 01.01.10 | ||
001.010.010 | 01.10.10 | ||
001.010.001 | 01.10.01 | ||
001.010.100 | 01.10.11 | ||
010.010.100 | 10.10.11 | ||
010.010.010 | 10.10.10 | ||
010.010.001 | 10.10.01 | ||
010.100.001 | 10.11.01 | ||
010.100.010 | 10.11.10 | ||
010.100.100 | 10.11.11 | ||
100.100.100 | 11.11.11 | ||
100.100.010 | 11.11.10 |
На этом принципе построен самоконтролируемый автомат [21] со структурной схемой рис. 70.
Рис. 70. Самоконтролируемый автомат управления
Преобразование кода МГК а(t + 1) в код МДК а(t) производится специализированным шифратором CD (5). Решение, предложенное в работе [21], является простым по реализации и наиболее эффективным по результату контроля и диагностики, по сравнению с устройством, использующим код m C n.
Глава 4