15
25
,30
Изобретение относится к области ифровой вычислительной техники и втоматики. Оно может быть использо- аио при построении программных упавляющих систем с повышенной достоерностью функционирования на базе одульных микропрограммных управлящих устройств.
Целью изобретения является повышение достоверности функционирования программного модуля в составе управ- 20 ляюцей системы путем обеспечения возможности самодиагностирования. Достоверность функционирования повышается на 10-90Х.
На фиг. 1 представлена функциональная схема программного управляющего модуля с контролем; на фиг. 2 - функциональная схема аргегатирования тп предлагаемых программных модулей в управляющую систему; на фиг. 3 вре менная диаграмма последовательной работы двух управляющих модулей системы; на фиг. 4 - иллюстрация типов используемых в модуле форматов МК; на фиг. 5 - пример взаимодействия 35 диагностических микропрограмм двух модулей в режиме короткой проверки; на фигс 6 - процедура длинной проверки для системы из трех управляющих модулей.40
Программный модуль содержит: блок памяти 1 микрокоманд (БПМ) с выходами полей 1,1 метки М1, 1,2 метки М2, 1.3 адреса очередной МК, 1.4 кода логических условий (ЛУ), 1.5 кода , 45 микроопераций, регистр 2 адреса МК, регистр 3 микроопераций, мультиплексор 4 адреса, мультиплексор 5 ЛУ, демультиплексор 6, регистр 7 выхода из цикла, регистр 8 проверки, счет- 50 чик 9 импульсов, дешифратор 10 с первым 10.1 и вторым 10.2 выходами, 1К-триггер 11, триггер 12 вида проверки, триггер 13 ошибки, схема 14 сравнения, коммутатор 15, блок элемен- топ ИЛИ 16, элемент И 17, элемент И-НП 18, вход 19 кода команды модуля, вход 20 ЛУ модуля, первый 21, третий 2, второй 23 ПУ.ОДЫ синхроничлции
15
25
30
203540
45 50 н-,
модуля, выход 24 микроопераций модуля, групповой вход 25 передачи управления модуля, групповой выход 26 передачи управления модуля, выход 27 ошибки модуля, выход 28 младшего разряда поля 1.3 адреса М1 БПМ 1, вход
29сброса ошибки модуля, 30 - генератор тактовых импульсов.
В составе управляющей системы программный модуль работает следующим образом. Модуль может находиться в следующих режимах:
1)Режим ожидания;
2)Рабочий режим;
3)Режим короткой проверки;
4)Режим длинной проверки;
5)Режим передачи управления.
Исходное положение модуля соответствует его нахождению в режиме ожидания. При этом все элементы памяти модуля установлены в нулевое состояние (цепи установки исходного условно не показаны). На входы 21, 22, 23 модуля поступают соответственно последовательности сдвинутых друг относительно друга тактовых импульсов Ј,/с, fcj
с соответствующих выходов генератора
30тактовых импульсов (смсфиг. 3).
С выхода БПМ 1 считывается МК с нулевым адресом (МК формата Ф1 см. фиг. 4). Мультиплексор 4 адреса по единичному сигналу метки Ml с выхода 1.1 БПМ 1, пропускает на вход регистра 2 адреса либо код операции со входа 19 модуля, либо адресный код с одного из входов группового входа 25 модуля от одного из других модулей системы. Пока эти коды нулевые, в регистры 2 и 3 по тактовым импульсам Ј, и Ј2перезаписываются нули и модуль состояния не меняет, т we. находится в ожидании. Одновременное поступление ненулевых кодов на вторую и третью группу информационных входов мультиплексора 4 адреса исключается алгоритмом работы системы.
Пусть на вход 19 модупя поступит код команды, требующей выполнения Коц команды представляет собой адрес
первой МК команды, он записывается в регистр 2 по заднему фронту очередного тактового импульса Ј со входа 2 модуля. Модуль переходит в рабочий режим. Пусть первая ИК будет линейной (формат Ф2 см. рис.4). При этом сигналы меток М1, М2 нулевые, по заднему фронту очередного тактового импульса Јосо входа 23 модуля в регистр 3 запишется код микроопераций, который затем считывается со входа 24 модуля. Мультиплексор 4 адреса по нулевым адресным сигналам пропускает на вход регистра 2 старшие разряды адресного кода с выхода поля 1„3 БПМ 1 и сигнал с выхода мультиплексора 5 ЛУ. Мультиплексор 5 ЛУ но нулевому коду ЛУ с выхода поля 1.4 БПМ 1 пропускает на свой выход сигнал младше- го разряда адреса очередной МК команды с выхода 28 выхода поля 1.3 БПМ 1 Т.о., по очередному тактовому импдоь- су в регистр 2 запишется адрес очередной МК команды, совпадающий с ко- дом на выходе поля 1.3 БПМ 1. Остальные элементы модуля при выполнении МК формата О2 состояния не меняют. Реализация модулем Ж ветвления (формат ФЗ) отличается от реализации линейной МК лишь тем, что значение младшего разряда адреса очередной МК будет определяться в мультиплексоре 5 тем ЛУ, код которого поступил на его адресный вход, Если значение ЛУ нулевое, то и младший разряд адреса очередной МК нулевой, т.е. совпадает со значением соответствующего разряда на выходе 28 поля 1„3 БПМ 1. Если значение ЛУ не нулевое, то значение младшего разряда очередной МК определяется мультиплексором 5 ЛУ как единичное. Выполнение модулем любых линейных МК и МК ветвления в рабочем режиме осуществляется аналогично описанному о
Отработав свою часть алгоритма, модуль передает управление другому, например , модулю системы. Но перед этим он проверяет его работоспособность, переходя в режим короткой, т.е о одномодульной проверки (ом.фиг, 3). Модуль переходит в данный режим с момента записи в регистр 2 адреса МК с форматом Ф4. Единичный сигнал метки М2 с выхода поля 102 БПМ 1 поступает на I-вход 1К-тригге- ра 11, на разрешающие запись управляющие входы триггера 12 вида проверки,
0
5
0
5
0
5
0
5
0
регистр 7 выхода из цикла и 8-проверки, а также обнуляющий вход регистра 3 микроопераций. Мультиплексор 5 ЛУ по нулевому коду ЛУ с выхода поля 1.4 БПМ 1 пропускает на свой выход значение сигнала с выхода 28 младшего разряда контрольного адресного кода с выхода поля 1.3 БПМ 1. Для реализации короткой проверки значение младшего разряда поля 1,3 БПМ 1 в МК формата Ф4 программируется нулевым. Т.о., на информационном входе триггера 12 вида проверки будет присутствовать нулевой сигнал с выхода 28 поля 1.3 адреса БПМ 1, определяющий, что проверка будет короткой. По переднему фронту очередного тактового импульса ЈЈ со входа 22 модуля 1К-триггер 11 переводит в единичное состояние. По заднему фронту того же импульса в регистре 7 выхода из цикла записывается адрес МК передачи управления проверяемому модулю (МК формата Фб), в ре- гистр 8 проверки записывается четный контрольный адресный код. Триггер 12 вида проверки остается в нулевом состоянии. Единичный сигнал с выхода IK-трлггера 11 разрешает работу счетчика 9 в счетном режиме. По заднему фронту очередного тактового импульса Јj содержимое счетчика 9 увеличивается на единицу, а содержимое регистра 3 микроопераций не изменяется, т.е. остается нулевым По очередному тактовому импульсу в регистр 2 адреса запишется контрольный адресный код короткой проверки. По этому коду из БПМ 1 считывается МК формата Ф5 (см.рис„4). Это первая МК проверки i-го модуля. Единичный сигнал метки Ml с выхода поля 1.1 БПМ 1 разрешает работу демультиплексора 6. По этому же сигналу мультиплексор 4 адреса формирует на информационном входе регистра 2 нулевой адресный код, т.к. и на втором и на третьем информационных входах мультиплексора 4 коды нулевые. С выхода поля 1.4 БПМ 1 на адресный вход демультиплексора 6 поступает код номера проверяемого модуля, т. б. двоичный код числа i. По этому коду демультиштексор 6 пропускает контрольный для 1-го модуля адресный код с выхода поля 1.3 БПМ 1 на соответствующий i-му модулю выход группового выхода 26 модуля Этот код поступает далее на соответствующий рассматриваемому модулю вход группоnorо входа 25 1-го -модуля, который, как и псе неработающие модули системы находится в режиме ожидания. Мультиплексор 4 адреса 1-го модуля по еди- ничному сигналу метки М1 на своем первом адресном входе пропускает контрольный адресный код с выхода блока элементов ИЛИ 16 на информационный вход регистра 2 адреса По очередным тактовым импульсам Јги С3 ни в рассматриваемом, ни в i-м модуле никаких изменений не происходит, кроме очередного увеличения в рассматриваемом модуле содержимого счетчика 9 на единицу. По очередному тактовому импульсу V, в регистр 2 1-го модуля записывается контрольный адресный код, сформированный рассматриваемым модулем. В регистр 2 рассмат риваемого модуля по этому же импульсу Ј, запишется нулевой код. С выхода .БПМ 1 рассматриваемого модуля считывается нулевая МК (МК формата Ф1), мультиплексор 4 адреса при этом пропускает на свой выход адресный код с выхода блока элементов ИЛИ 16, т.к. на входе 19 модуля код команды в этот момент должен отсутствовать. С выхода же БПМ 1 1-го модуля, если не было искажений, считывается МК формата Ь50 В ее поле 1,4 записан код рассматриваемого модуля, а в поле 1„3 записан контрольный адресный КОД ИНверСНЫЙ КОНТРОЛЬНОМУ
коду, хранимому в регистре 8 проверки рассматриваемого модуля. Процедура выполнения МК формата Ф5 уже была подробно рассмотрена, i-й модуль передает контрольный адресный код с выхода поля 1.3 своего БПМ 1 на соответствующий i-му модулю вход группового входа 25 рассматриваемого модуля. По очередному тактовому импульсу QJ счетчик 9 в рассматриваемом модуле увеличивает содержимое на еди ницу„ По очередному тактовому импульсу Ј, контрольный адресный код, сформированный i-м модулем, записывается в регистр 2 рассматриваемого модуля, i-й же модуль по этому же ,-мпульеу Ј переходит я режим ожидания. Если конрольный адресный код от i-го модуля записался в регистр 2 рассматрива- мого модуля без искажений, то с пы- хода БПМ 1 рассматриваемого модуля начинает считываться вторая МК проверки 1-го модуля, Эта ПК также формата ОЗ. Отличи ее от первой МК состоит лишь в контрольном адресном коде, записанном в поле 1,3, который является инверсным аналогичному коду в поле 1.3 первой МК проверки 1-го модуля (сМофиг„ 5). Реализация рассматриваемым модулем второй МК проверки 1-го модуля с последующим переходом в режим ожидания, реакция 1-го модуля на второй контрольный адресный код от рассматриваемого модуля, аналогичны описанным. Если искажений при передаче контрольных кодов и работе модулей не произошло, то второй ответный контрольный адресный код, формируемый i-м модулем, для рассматриваемого модуля должен совпасть с контрольным кодом, хранимым в регистре 8 проверки в рассматриваемом модуле. Контрольный адресный код, формируемый i-м модулем, в ответ на вторую МК проверки 1-го модуля, считанную из рассматриваемого модуля, поступает с соответствующего i-му модулю входа группового входа 25 рассматриваемого модуля на информационный вход регистра 2 адреса и вторую группу входов схемы 14 сравнения (с выхода БПМ 1 рассматриваемого модуля в этот момент считывается МК формата Ф1)„ Очередной тактовый импульс увеличивает содержимое счетчика 9 в рассматриваемом модуле до критического значения Укр.кор., соответствующего режиму короткой проверки. Дешифратор 10 при поступлении на его вход с выхода счетчика 9 кода, соответствующего Укр.кор,, формирует единичный сигнал на своем первом 10 выходе . триггер 12 вида проверки при короткой проверке находится в нулевом состоянии, то на выходе коммутатора 15, с появлением единичного сигнала на выходе 10.1 дешифратора 10, также появляется единичный сигнал - сигнал Проверка. Этот сигнал поступает на К-вход 1К-триггера 11, первый вход элемента И 17, второй адресный вход мультиплексора 4 адреса, второй вход элемента 18 и разрешающий запись управляющий вход триггера 13 ошибки. Мультиплексор 4 адреса по сигналу Проверка на своем втором адресном входе пропускает на вход регистра 2 адресный код с выхода регистра 7 выхода из цикла. Контрольный адресный код от 1-го модуля с выхода блока элементов ИЛИ 16 т.о. мультиплексором 4 адреса по окончании
короткой проверки игнорируется. Если второй контрольный адресный код от 1-го модуля не совпадает с контрольным адресным кодом в регистре 8 проверки, то схема 14 сравнения на мо- мент появления сигнала Проверка 1 сформирует нулевой сигнал. Элемент ИЧНЕ 18 при этом сформирует на своем инверсном выходе единичный сигнал,
который при единичном сигнале Проверка т.о. означает ошибку в результате проделанной диагностической процедуры. По очередному тактовому импульсу Ј, в случае ошибки произойдет следу- 15 гоцее, В триггер 13 ошибки запишется единица с выхода элемента И-НЕ 18. В регистр 2 запишется адресный код выхода из цикла проверки, хранимый в регистре 7. Однако регистр 2 будет 20 тут же обнулен сигналом ошибки, поступившим на R-вход регистра 2 с вы-- хода триггера 13 ошибки. Сигнал ошибки с выхода триггера 13 поступит также на выход 27 ошибки рассматриваемо- 25 го модуля, информируя о неудачном исходе проверки. Рассматриваемый мо-, дуль зависает в таком состоянии до устранения неисправности и повторного
пуска. Сброс триггера 13 ошибки в нулевое -стояние после устранения нексгравнссти производится сигналом со входа 29 сброса ошибки модуля.
В случае если же ошибки при проверке не произошло, то после формирования коммутатором 15 сигнала Проверка, по очередному тактовому импульсу , в триггер 13 ошибки запишется нулевой сигнал с выхода элемента И-НЕ 18, а в регистр 22 запише ся адресный код с выхода регистра 7 выхода игз цикла проверки.
При любом исходе проверки 1-го
модуля по очередиому тактовому импул л.
су ,Ј ИС-триггер 11 обнуляется, что говорит о конце проверки и запрещает дальнейшую работу счетчика 9, Кроме того, элемент И 17 по этому же импульсу формирует короткий импульс, обнуляющий счетчик 9 и регистр 7 выхода из.цикла.
Если триггер 13 ошибки после короткой проверки остался в нулевом состоянии, т.е„ 1-й модуль готов принять управление от рассматриваемого, то с момента записи в регистр 2 адресного кода, хранимого в регистре 7 выхода из цикла ирогерки, рассматриваемый модуль переходит в режим
10
50 5
0
5
|п
5
0
5
передачи управления i-rry модулю. По этому адресному коду ич БПМ 1 считывается НК формата . Ее выполнение аналогично реализации модулем MR Лор- мата Ф5. Отличие состоит лишь в следующем. i-му модулю передается не контрольный адресный код, а адресный код управления (АКУ). Кроме того, по очередному импульсу зв регистр 3 микроопераций может быть записан последний от рассматриваемого модуля микрооцерационный код, который может информировать объект управления системы о передаче управляющих функций i-му модулю. Заметим также, что при выполнении ПК формата Фб в отличие от МК формата Ф5 1К-триггер 11, триггер 12 проверки, счетчик 9, регистры 8 проверки и 7 выхода из цикла проверки находятся в нулевом состоянии. По очередному тактовому импульсу $( в регистр 2 рассматриваемого модуля запишется нулевой код, в регистр 2 ,i-ro модуля запишется АКУ. Рассматриваемый модуль переходит в режим ожидания, а i-й модуль - в рабочий режим, i
Каждый модуль системы содержит з БПМ 1 микропрограмму своей работы в режиме длинной проверки. Управляющая система переходит в этот режим с момента записи в регистр 2 любого из ее модулей адреса МК перехода в этот режим. Такая МК имеет формат Ф4. Пример диагностических микропрограмм длинной проверки и их взаимодействие для управляющей системы из трех модулей проиллюстрирован на рис. 6. В данном случае диагностическая микропрограмма в каждом модуле состоит из двух МК. Все эти МК имеют формат Ф5. Реализация МК перехода в режим длинной проверки аналогична описанной ранее реализации МК формата Ф4 в режиме короткой проверки. Отличие состоит лишь в том, что в поле 1.3 МК формата Ф4 при длинной проверке контрольный адресный код должен быть нечетным, т.е. его младший разряд должен быть единичным. При этом в триггер 12 вида проверки по очередному импульсу Ј2 зашгшется единица, а не нуль как при короткой проверке. Единичный сигнал с выхода триггера 12 разрешит формирование коммутатором 15 единичного сигнала Проверка только после поступления на него единичного сигнала со второго 1002 выхода дешифратора 10.
В режиме длинной проверки все модули системы поочередно, по замкнутой цепочке обмениваются контрольными адресными кодами друг с другом. Од- нако, если при короткой проверке обмен контрольными адресными кодами осуществляется дважды, то при длинной проверке только один раз. После того, как каждый модуль обменяется со все- JQ ми остальными модулями системы контрольными адресными кодами, т.к. цепочка замкнута, последняя передача контрольного адресного кода при отсутствии огаибок должна произойти в t5 модуль, который инициировал длинную проверку. Причем этот последний контрольный адресный код должен быть ад-/ ресом первой МК формата Ф5, с кото-| рой началась длинная проверка. Этот 20 код хранится в регистре 8 проверки инициирующего модуля куда он был записан при реализации МК перехода в режим длинной проверки. В этот момент, когда в модуль инициатор длин- 25 ной проверки должен прийти последний контрольный адресный код, дешифратор 10 по коду с выхода счетчика 9 формирует на своем выходе 10.2 единичный сигнал, по которому коммутатор 153
формирует единичный сигнал Проверка. Далее работа модуля систет-яы полностью аналогична работе модуля после формирования сигнала Проверка в режиме короткой проверки Модуль инициатор 3 длинной проверки либо формирует сиг- нал ошибки и зависает до устранения неисправностей, либо выходит из цикла проверки по адресу, хранимому в регистре 7.4
Формула изобретения
v.45
Программный управляющий модуль с контролем, содержягдей блок памяти микрокоманд, регистры адреса и микрокоманд, мультиплексоры адреса и логических условий, демультиплексор блок элементов ИЛИ, причем выход поля метки 111 блока памяти микрокоманд соединен с управляющим входом демульти- 50 плексора и первым адресным входом мультиплексора адреса, выход которого соединен с информационным входом регистра адреса, выход младтегл разряда поля адреса блока памяти микро- 55 команд соединен с младшим разрядом информационного входа мультиплексора логических условий, выход котороJQ t520 25 30
. 3540
.45
50о 55 го соединен с младшим разрядом первой группы информационных входов мультиплексора адреса, выход старших разрядов поля адреса блока памяти микрокоманд соединен со старшими разрядами первого информационного входа мультиплексора адреса, выход поля адреса блока памяти микрокоманд соединен с информационным входом де- мультиплексора, выходы которого образуют групповой выход передачи управления модуля, выход поля кода логических условий блока памяти микрокоманд соединен с адресными входами мультиплексора логических условий и демультиплексора, вход логических условий модуля соединен со старшими разрядами информационного входа мультиплексора логических условий, групповой вход передачи убавления модуля образует группу входов блока элементов ИЛИ, группа выходов которого соединена с второй группой информационных входов мультиплексора адреса, вход кода команды модуля является третьей группой информационных входов мультиплексора адреса, выход регистра адреса соединен с входом блока памяти микрокоманд, выход поля микроопераций которого соединен с информационным входом регистра микроопераций, первый и второй входы синхрони- зации модуля соединены с синхровхо- дами соответственно регистров адреса и микроопераций, выход регистра микроопераций является выходом микроопераций модуля, отличающийся тем, что, с целью повышения достоверности его функционирования в составе управляющей системы путем обеспечения возможности самодиагностирования, он дополнительно содержит регистры выхода из цикла и проверки, счетчик импульсов, дешифратор, 1К-триггер, триггеры вида проверки и ошибки, схему сравнения, коммутатор, элементы И« И-НЕ, причем выход поля микроопераций блока памяти микрокоманд соединен с информационным входом регистра выходи из цикла, группа выходов которого со- адинена с четвертой группой информационных входов мультиплексора адреса, выходы полей метки М2 и адреса блока памяти микрокоманд соединены соответственно с управляющим и информационным входом регистра проверки, группа выходов которого и группа выходов блока элементов ИЛИ соединены соответственно с первой и второй группами входов схемы сравнения, выход поля метки М2 блока памяти микрокоманд соединен с управляющими входами триг- гера вида проверки, регистра выхода из цикла, с обнуляющим входом регистра микроопераций и с I-входом 1К-триг- гера, выход которого соединен с управляющим входом счетчика импульсов, JQ второй вход синхронизации модуля соединен со счетным входом счетчика импульсов, выход которого соединен с входом дешифратора, первый и второй выходы дешифратора соединены соответ-75 ственно с первым и вторым информацион- ными входами коммутатора, выход младшего разряда поля адреса блока памяти микрокоманд соединен с информационным входом триггера вида проверки, JQ выход которого соединен с первым инверсным и вторым прямым управляющими входами коммутатора, выход коммутатора соединен с вторым адресным вхо-
25
дом мультиплексора адреса, с управляющим входом триггера ошибки, с К-вхо- дом IK-триггера, с перяым входом элемента И, выход которого соединен с обнуляющими входами счетчика и регистра выхода из цикла, выходы схемы сравнения и коммутатора соединены соответственно с первым и вторым входами элемента И-НЕ, выход которого соединен с информационным входом триггера ошибки, вход сброса ошибки модуля является обнуляющим входом триггера ошибки, выход которого соединен с обнуляющим входом регистра адреса и выходом ошибки модуля, третий вход синхронизации модуля соединен с вторым входом элемента И и синхровходами регистров проверки выхода из цикла, IK-триггера, триггера вида проверки, первый вход синхронизации модуля соединен с входом синхронизации тригге- ра ошибки о
7Г98Ш
фиг.4
название | год | авторы | номер документа |
---|---|---|---|
Устройство для программного управления и контроля | 1991 |
|
SU1784943A1 |
Модульное устройство программного управления и контроля | 1990 |
|
SU1803905A1 |
Устройство для программного управления | 1988 |
|
SU1500994A1 |
Микропрограммное устройство управления | 1986 |
|
SU1476465A1 |
Программируемый управляющий модуль | 1989 |
|
SU1649507A1 |
Микропрограммное устройство управления | 1988 |
|
SU1621027A1 |
Мультимикропрограммная управляющая система с контролем и восстановлением | 1988 |
|
SU1704147A1 |
Программируемое устройство управления | 1988 |
|
SU1659983A1 |
Модульное устройство для программного управления и контроля | 1988 |
|
SU1647519A1 |
Программируемый управляющий модуль | 1989 |
|
SU1649506A1 |
Изобретение относится к области цифровой вычислительной техники и автоматики и может быть использовано при построении программных управляющих систем с повышенной достоверностью функционирования на базе мо- Iдульных микропрограммных управляющих стройств.. Сущность изобретения - повышение достоверности функционирования программного модуля в составе
Расспатриваемый (j,-u) модуль
i-u модуль
Фиг. 5
I
начало
2-й модуль I
3-й модуль. I i I
Фиг. 6
Микропрограммное устройство управления | 1986 |
|
SU1476465A1 |
В.С.Харченко и др | |||
Основы построения микроконтроллеров АСКУ | |||
НО СССР, 1989, . |
Авторы
Даты
1992-08-30—Публикация
1990-08-08—Подача