САМОКОНТРОЛИРУЕМЫЙ АВТОМАТ УПРАВЛЕНИЯ

Изобретение относится к вычислительной технике и системам управления и может использоваться при конструировании микропроцессорных устройств и аппаратных средств управления технологическими процессами.
1
2
1
2
k
1
Известны методы построения автоматов с самоконтролем изложенные в многочисленных научных публикациях и учебниках для Вузов /1/. Наиболее эффективным считается контроль с использованием равновесных кодов, содержащих m единиц в n разрядном коде регистров памяти автомата. Самоконтролируемый автомат, в этом случае имеет классическую структурную организацию автомата Мура состоящею из блока синхронизации, блока памяти автомата (обычно два регистра с парафазной связью между ними), комбинационной схемы F (чаще всего реализуется с помощью ПЗУ или программируемой логической матрицы ПЛМ) причем выходы ПЗУ (ПЛМ) соединяются с входами записи кода нижнего регистра памяти состояния автомата a(t+1), а верхний регистр памяти a(t) является частью адреса ПЗУ (ПЛМ), вторую часть адреса составляют входные (логические) сигналы α. Одновременно выходы верхнего регистра a(t) являются входами комбинационной схемы F формирующей выходные сигналы автомата A, А, ..., А. В схеме оперативного динамического контроля автоматов проверяются выходы схемы F (ПЗУ или ПЛМ) и принимается решение действительно ли в выходном коде ПЗУ содержится только m единиц в n-разрядном коде. Схемы реализующие контроль «2 из 5» и «3 из 7» и др. приведены в работе /1/.
Известны так же схемы с простой процедурой контроля последовательных автоматов. (А.с. 1701092 СССР, БИ №24, 2001; Пат. 2036554 РФ, Изобретение 1995 №15. Пат. 2074513 РФ, Изобретение 1997 №6; Пат. 2129332 РФ, Изобретение 1999 №1; Свид. 7565 РФ на полезную модель. Полезные модели. Промышленные образцы, 1998, №8). Недостатком последних
решений является их узкое функциональное назначение контролировать только счетчики и регистры сдвига и невозможность контроля автоматов с произвольным алгоритмом имеющем несколько логических условий в граф-схеме (ГСА) (на рис.1 приведен упрощенный пример такой ГСА). Близким аналогом является А.с. СССР БИ №780185, 1980, №42 в котором увеличивается число разрядов памяти автомата, на такую величину Z(t) которая фиксирует дополнения до максимального (для конкретного автомата и конкретной ГСА) числа переходов с 0 на 1 и с 1 на 0 при переходе от a(t) к a(t+1). Например, для ГСА рис.1 и соответствующий ей граф схемы рис.2 это максимальное число R=2. Схема контроля представляет собой устройство логического суммирования по модулю два кодов (a(t)Z(t))⊕(a(t+1)Z(t+1)) с последующим сравнением полученной логической суммы с R. Т.е. действительна ли разница по модулю 2 составляет две единицы. Недостатками данного решения являются:
- расширение разрядности памяти для представления кода состояний;
- сложное многоразрядное устройство контроля;
- необходимость наличия внутреннего (в схеме контроля) специального автомата управления для осуществления процедуры контроля и формирования сигнала ошибки.
Наиболее близким аналогом к предлагаемой полезной модели является устройство по авторскому свидетельству СССР №1410101 БИ 26, 1988 / авторы Ю.Ф.Мухопад, Ю.Д.Чекмарев, предназначенное для контроля постоянных запоминающих устройств (ПЗУ).
В А.с. №1410101 возможность контроля ПЗУ появляется только в том случае, когда каждым двум разрядам исходного двоичного кода (ДПК) подлежащему хранению, согласно изобретению необходимо в числовой блок ПЗУ записать четырех разрядный код в соответствии:
00→0001; 01→0010; 10→0100; 11→1000.
Каждая из четырех разрядных комбинаций с унитарным кодом (код с одной единицей) названа α группой. Такое кодирование называется геометрическим. На выходе ПЗУ установлено столько схем контроля сколько групп в геометрическом коде (ГК). Каждая схема контроля независима и проверяет наличие только одной единицы в группе. В А.с. №1410101 после контроля устанавливаются шифраторы на каждую группу преобразующие код каждой группы в исходную комбинацию 00, 01, 10, 11. Указанное решение может быть в принципе применено и для контроля только ПЗУ автоматов, но в этом случае увеличение в два раза числа разрядов в ГК, представляющем состояние автомата a(t) приводит как к усложнению схемы контроля так и к увеличению объема памяти ПЗУ. Кроме того контроль только ПЗУ не обеспечивает самоконтроль всего автомата.
1
2
1
2
k
Предлагаемая полезная модель самоконтролируемого автомата (рис.3) состоит из блока (1) F входы которого соеденены с выходами Prld(t) первого регистра памяти состояний автомата a(t) (2) и входными клеммами автомата (3), выходы блока 1 соединяются с входами последовательности блоков в виде второго регистра (4), шифратора (5), многоразрядного блока двухвходовых схем «И» (6) третьего регистра (7), второго многоразрядного блока схем «И» (8), и первого регистра памяти состояний автомата (2). Причем выходы второго регистра, одновременно являются входами схемы контроля (9) имеющей два выхода, первый из которых (10) присоединен к синхронизирующему входу блока (6), а второй выход (11) соединен с выходной клеммой сигнализации об ошибке (ERR). Выходы первого регистра (2) соединены с входами последовательной цепи блоков в виде дешифратора (12) и блока формирования выходных сигналов F (13), выходы которого соединены с выходными клеммами (14) выходных сигналов автомата A, A, ..., A. Блок синхронизации (15) имеет три входа 16, 17, 18 и два выхода синхронизации 19, 20 один из которых (19) соединен с входом синхронизации блока (1), а второй (20) с входом синхронизации второго
многоразрядного блока схем «И» (8). Выходы регистра (2) подаются одновременно как ко входам DC (12) так и ко второму блоку контроля (21) имеющем один выход сигнала ошибки (22), который соединен с первым входом блока индикации БИ (23) второй выход которого соединен с выходом сигнала ошибки (11) первого блока контроля k(t+1) - блок (9), причем блок контроля имеет три выхода: 26 - свидетельствующий об ошибке, 27 - ошибка на выходе 11 и 28 ошибка на выходе 22, причем блок KD (21) опрашивается сигналом  прошедшим через блок задержки 23 на вход синхронизации (24) блока KD(t) - (21). Блок задержки 23 представляет собой две последовательно соединенные схемы «не». Блок индикации 25 представляет собой три световых индикатора (например светодиоды) первый из которых (26) включается как по сигналу 11 так и по сигналу 22, на входе 27 появляется световая индикация по сигналу только от выхода 11, а на выходе 28 только от выхода 22.
1
Блок (1) на рис.2 обозначен символом - F реализуется на ПЗУ или ПЛМ. Причем при реализации на ПЗУ константы соответствующие состоянию автомата a(t) так же представлены набором групп, однако в каждой группе исключается комбинация соответствующая двухразрядному коду ДП в виде «0», тогда в группе возможны только коды 001, 010 и 100. Такой код назван модифицированным геометрическим кодом (МГК). Кроме того при исходном представлении кодов в МГК исключаются коды имеющие рядом стоящие единицы в МГК. Для МГК количество выходов блока 1 увеличивается ровно в 1,5 раза по сравнению с тем, если бы в ПЗУ хранились константы в виде ДПК. Дешифратор (12) преобразует МГК в двоичный (теперь уже не позиционный, т.к. исключена комбинация всех нулей «00») в соответствии 001→01, 010→10, 100→11. Дешифратор (12) преобразует двоичный код с первого регистра состояний автомата (2) в унитарный код. Схема контроля (9), обозначенная на схеме k(t+1), реализует булевы функции, определяющие наличие только одной единицы в
группе. Первый вход блока синхронизации СС (15) соответствует внешнему сигналу «Пуск», второй (17) сигналу «останов», а третий соответствует сигналу отключения сигналов (τ) и () являющихся выходами блока СС (19) и (20). Причем , т.е. синхросигналы τ и  в любой момент времени t не пересекаются, т.е. сигнал  всегда следует сразу же за сигналом τ. Оба сигнала имеют один и тот же период повторения Т. Сигнал (18) формируется самим автоматом при возвращении автомата в исходное нулевое состояние. Ввиду тривиальности схема формирования сигнала (18) как и схема установки автомата в исходное состояние по сигналу пуск не показаны. Эти схемы включены в состав блока синхронизации СС (15).
1
2
7
1
2
3
Описание функционирования предлагаемой полезной модели носит общий характер для любого самоконтролируемого автомата при любой заданной ГСА. Однако для большей определенности будем иллюстрировать описание на конкретном примере автомата, соответствующего реализации алгоритма управления в виде ГСА (рис.1), где обозначено А, А, ..., А (14) выходные сигналы (команды) автомата; α, α, ..., α - входные логические сигналы (3). На рис.2 приведен граф переходов автомата иллюстрирующий правила переходов из любого настоящего a(t) в последующее состояние a(t+1). На графе вершины обозначают состояния автомата. Например, на втором импульсе синхронизации τ от блока СС (15) автомат из состояния a(t) вершина 1 графа перейдет в состояние a(t+1) соответствующее вершине 2. В таблице 1 приведена нумерация состояний a(t) в коде Грея, который наиболее часто используется для автоматов. В графе c(t) представлено обозначение a(t) в виде МГК, а в графе d(t) двоичный код, получаемый после шифратора (5) d(t). Номер следующего состояния a(t) в двоичном коде, соответствующем МГК обозначен d(t+1). Между колонками d(t) и d(t+1) в таблице 1 указан десятичный эквивалент кода d(t).
Предлагаемая полезная модель функционирует в следующей последовательности.
1. После сигнала Пуск (16) через схему СС (15) производится установка в исходное состояние Prd(t) - блок (2) и Prd(t+1) - блок (7). Заметим, что для данного устройства исходное состояние отлично от нулевого кода в регистрах как это принято в классических структурах автоматов и в приведенных в настоящем описании аналогах (см. табл.1).
2. После этого блок СС (15) формирует импульс т который проводит опрос ПЗУ или ПЛМ (1) и на Prc(t) - блок (4) фиксируется выходной код МГК который сразу же поступает на схему контроля k(t+1) - (9). Если код безошибочен, то через шифратор CD (5) и блок схем «И» - блок (6) - код МГК, преобразованный шифратором в двоичный код (см. табл.1), записывается на Prd(t+1) - (7).
3. Импульсом  от блока СС (15) через схемы «И» (8) двоичный код d(t+1) переписывается на Pr2d(t), т.е. автомат переходит в новое состояние a(t+1) и новое изменение состояний автомата начнется с пункта 2, т.е. возобновятся τ и  только через период Т, являющийся перерывом до появления новых τ и .
2
1
2
q
4. В течении всего периода Т (до появления нового импульса τ) код от Pr2d(t) - расшифровывается дешифратором DC 12 и через схему F (блок 13) выдаются управляющие сигналы (команды) на объект управления, который обычно называют операционным устройством (ОУ). От ОУ так же на вход (3) автомата поступают логические сигналы α, α, ..., α. Само ОУ на рис.1 не показано, т.к. оно не является неотъемлемой частью предлагаемой полезной модели.
5. Повторение пунктов 2-4 через каждый период Т происходит до тех пор, пока автомат не возвратится в исходное состояние d(t)=01.01. В графе переходов (рис.2) это состояние помечено цифрой «0».
3
6. При возврате в исходное состояние блок СС (15) формирует сигнал на собственный вход b (18) и блок СС отключает внутри себя подачу импульсов τ и  для автомата.
7. Новый цикл работы автомата может начаться только после команды «Пуск» поступающей от оператора или какого-либо внешнего устройства.
1
2
k
8. Описанная процедура функционирования осуществляется только при условии отсутствия ошибки  на выходе 11. При наличии ошибки с клеммы 11 сигнал W=1 (ERR) так же подается в блок СС (15) и повторяется пункт 6, как будто бы автомат переходит в исходное состояние. Исходному состоянию не сопоставляется никакая исполнительная команда А из множества A, А, ..., A (14).
9. Сигнал , который синхронизирует передачу информации из Prd(t+1) - блок 7 в Prd(t) блок 2 через задержку, осуществляемую блоком 23 опрашивает блок контроля KD(t) - блок 21 на выходе которого появляется сигнал ошибки по результатам анализа кода состояния d(t). Как видно из таблицы в правильном коде d(t) не может содержаться комбинация «00» в любых двух парах разрядов. Ошибка на выходе 22 формируется в том случае, если равна 1 функция логической суммы конъюнкции каждых двух разрядов в паре кода d(t), т.е. сигнал ошибки  Таким образом предлагаемое устройство осуществляет самоконтроль не только правильности формирования сигналов состояния d(t+1) с помощью блока k(t+1) - (9) но и правильность преобразования этого кода и его передачи на регистр состояний d(t) с помощью блока KD(t) - блок 21.
10. Блок индикации регистрирует ошибку автомата независимо от того где она произошла (выход 26) и дает отдельную индикацию на выходе 27 ошибка в схеме формирования кода состояния, на выходе 28 - ошибка в связях и блоках преобразования и запоминания сигналов состояния от
2
2
6
0
1
p
r
2
Prc(t) - блок 4 до Prd(t) - блок 2, т.е. осуществляется не только контроль, но и самодиагностика автомата. Схема F (13) в предлагаемой полезной модели не отличается от таковых для классических автоматов Мура [1], и не требует специального описания. В частности, для описания рассматриваемого примера (рис.1), потребуется лишь две двухвходовые схемы «ИЛИ» объединяющие выходы унитарного кода DC 12. Для формирования сигнала команды А объединятся «второй» и «пятый» выходы DC 12, а для А «третий» и «пятый» выходы DC 12 соответствующие номерам третьего и пятого состояния по графу рис.2. Остальные команды определяются выходами DC 12 непосредственно без схем «ИЛИ». Авторы не описывают правило формирования «содержимого» ПЛМ, т.к. при заданном адресе (конкатенация кодов {α} и {d(t)}) и указанных выходах y, y, ... y, ... y существуют хорошо разработанные методики «вложения» в ПЛМ системы булевых функций выписываемых из табл.1. Важно лишь подчеркнуть, что структурная организация и функционирование самоконтролируемого автомата управления остаются неизменным при реализации блока F (1) в виде ПЗУ, ПЛМ или комбинационной схемы на логических схемах малой и средней интеграции.
В предлагаемом устройстве блок контроля k(t+1) условие ошибки в группе (наличие только одной единицы) описывается функцией  где а, b, с значения первого, второго и третьего разряда группы. Кроме того исключаются коды с рядом стоящими единицами, что при неправильной работе может быть в случае наличия «1» в старшем разряде предыдущей группы и младшем разряде следующей группы кода.
На рис.4 приведена возможная схема реализации блока k(t+1) на элементах логики для двух групп (рис.4а) и с использованием типовых трехвходовых дешифраторов (рис.4б).
Блок контроля KD(t) должен «отмечать» при правильной работе автомата отсутствие нулей в каждых парах разрядов всего кода d(t), т.е. сигнал
отсутствия ошибки должен формироваться n/2 числом двухвходовых схем «И» выходы которых объединены по ИЛИ, где n - разрядность регистра d(t).
Сравнительный анализ
По сравнению с известными решениями из учебно-научной литературы /1/, чаще всего применяемые для самоконтроля, предлагаемое техническое решение отличается в лучшую сторону т.к. в известных устройствах при использовании равновесных кодов разрядность памяти автомата возрастет в 2 раза, по сравнению с ДПК т.е. вместо n потребуется m=2n разрядов. Для МГК по сравнению с ДПК добавляется один разряд (табл.1), т.е. вместо n потребуется n+1 разряд. Для n=7 m=14, m/n=2, а для МГК n=7 m=8 m/n=8/7=1,14.
16
19
Рассмотрим конкретный пример сравнительно не сложного автомата управления при числе состояний в графе ≤16 и числе логических условий равном 8. Для автомата с равновесными кодами разрядность регистра (2) возрастает до 8 по сравнению с 4 при ДПК. Общее количество констант определяется конкатенацией (сводный код) кода из логических условий и кода состояний a(t), т.е. составит 8+8=16. Общее число констант 2, разрядность констант 8, следовательно объем памяти составит 2 или 0,5 Мгбита.
13
13
16
Для предлагаемого устройства количество констант в ПЗУ увеличится по сравнению с ДПК или кодом Грея на 1 и составит 2. Но на выходе ПЗУ необходимо иметь 8 разрядов, т.к. при МГК количество выходов увеличивается ~ в 1,5 раза, следовательно объем памяти составит 8·2=2=64 кбита, что в 8 раз меньше чем для самоконтролируемого автомата с равновесными кодами.
Контролирующая способность автомата с равновесными кодами и в предлагаемом устройстве с МГК одинакова, т.к. и там и там коды с фиксированным числом единиц.
Дополнительное увеличение контролирующей способности в предлагаемом устройстве за счет проверки отсутствия двух рядом стоящих единиц оценить затруднительно. Устройство контроля для предлагаемого устройства (блок 9) будет существенно проще устройства контроля для равновесных кодов т.к. при использовании равновесных кодов нужно анализировать все разряды представляющие код, т.е. реализовать булевы функции 2n-переменных (для примера - 16 разрядов). Для блока (9) нужно реализовать несколько простейших булевых функций всего от 3-х переменных. Для примера 3 функции 3-х переменных. Однако главное преимущество реализации самоконтролируемого автомата - существенное уменьшение объема памяти (для более сложных автоматов в десятки раз) для того же самого алгоритма управления.
16
14
17
15
Проведем сравнения с решениями по А.с. №780185 для примера n=4 (ДПК) и q=8. Выполнение условий А.с. №780185 потребует увеличение разрядности n до 6, т.е. выходная разрядность ПЗУ потребуется равной 8. Количество констант составит 2, а общая память 8·2=2=128 кбит. Для предлагаемого устройства разрядность ПЗУ придется взять так же равной 8, но количество констант составит 2, т.е. объем памяти будет меньше в 4 раза. Но сложность схемы контроля по А.с. №780185 несопоставима с простотой схемы k(t+1) блок (9) в предлагаемом устройстве. Контролирующие способности А.с. №780185 по оценке самих авторов совпадают с равновесными кодами.
Сравним предлагаемое решение с непосредственным прототипом, тк. прототип предполагает контроль только ПЗУ, а не автомата то невозможно вести сравнение по общему объему памяти всего автомата из-за отсутствия в прототипе всех других блоков кроме ПЗУ и блока контроля. Однако если оценивать только ПЗУ, то в предлагаемом устройстве МГК обладает более высокими контролирующими способностями из-за дополнительной проверки отсутствия в коде на выходе рядом стоящих единиц. Кроме того из-за
перехода от четырех разрядов к трем разрядам группы упрощается реализация контроля наличия только одной единицы, т.к. число разрядов булевой функции регистрации ошибки в группе снижается с 4-х до 3-х. По этой же причине снизится и объем памяти ПЗУ за счет того, что для самоконтролируемого автомата по сравнению с ДПК разрядность констант на выходе ПЗУ в прототипе возрастет в 2 раза, а для предлагаемого устройства в 1,5 раза.
Таким образом, предлагаемое техническое решение в виде полезной модели «Самоконтролируемый автомат управления» является наиболее простым из известных авторам устройств.
Литература:
1. Сапожников В.В., Кравцов Ю.А., Сапожников Вл.В. Теория дискретных устройств железнодорожной автоматики, телемеханики и связи. - М.: Транспорт, 2001. - 307 с.
2. А.с. СССР №780185 Кодовый трансмиттер / Соколов В.И., Сапожников В.В., Сапожников Вл.В., Валиев Ш.К. - Опубл. 15.11.1980, БИ №42.
3. А.с. СССР №1410101 ПЗУ с самоконтролем. / Мухопад Ю.Ф., Чекмарев Ю.Д. - Опубл. БИ №26, 1988.
Табл.1.Таблица переходов автомата
№
a(t)
a(t+1)
c(t)
d(t)
№
d(t+1)
0
000
001
001.001
01.01
5
01.10
1
001
011
001.010
01.10
6
10.01
2
001
01.10
011
010
010.001
10.01
9
10.01
3
010
110
010.010
10.10
10
10.11
4
111
11.01
110
100
010.100
10.11
11
11.11
5
111
101
100.001
11.01
13
11.10
6
000
01.01
101
001
100.010
11.10
14
01.10
7
100
101
100.100
11.11
15
11.10