Устройство для контроля программ
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть применено в микропроцессорных измерительных и управляющих системах. Цель изобретения - упрощение устройства. Устройство содержит первый 1 и второй 2 счетчики импульсов, блок 3 постоянной памяти, дешифратор 13 адреса, триггеры 16, 19 и 24, элемент И 21, элемент ИЛИ 15, первую 6 и вторую 8 схемы сравнения, элемент 18 задержки. При применении устройства для контроля выполнения программы в микропроцессорных измерительных и управляющих системах ожидаемый экономический эффект возникает вследствие сокращения объема оборудования. Количество оборудования в изобретении на 30% меньше, чем у устройства-прототипа.
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН пи 4 Ь 06 1 " 11/28
ГОСУДАРСТВЕННЫЙ НОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И OTHPblTHRM
ПРИ ГКНТ СССР Г=
ОПИСАНИЕ ИЗОБРЕТЕНИЯ (К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
;(21) 4397574/24-24 (22) 25 ° 03. 88 (46) 15.12.89, Вюл, М - 46 (71) Особое проектно-конструкторское бюро Научно — производственного объединения "Черметавтоматика" (72) В,Д. Савелов (53) 681,3 (088,8) (56) Авторское свидетельство СССР
И - 1298753, кл. G 06 I" 11/28, 1985 °
Автор ское свидетельство СССР
II 1307460, кл. G 06 Р 11/28, 1985. (54 ) УСТРОЛСТ ВО ДЛЯ КОНТРОЛЯ ПРОГРАММ (57) Изобретение относится к вычислительной технике и может быть применено в микропроцессорных измерительных,»SU I 529226 A 1
2 и управляющих системах . Цель изобретения — упрощение устройства. Устройство содержит первый I и второй 2 счетчики импульсов, блок 3 постоянной памяти, дешифратор 13 адреса, триггеры 16, 19 и 24, элемент И 21 элемент ИЛИ 15, первую 6 и вторую 8 схемы сравнения, элемент 18 задержки. При применении устройства для контроля выполнения программ в микропроцессорных измерительных и уп-. равляющих системах ожидаемый экономический эффект возникает вследствие сокращения объема оборудования, Количество оборудования в изобретении на ЗОЕ меньше, чем у устройства-прототипа. I ил.
1529226
Изобретение относится к вычислительной технике и может найти примене) фе в микропроцессорных измерительн лх и управляющих системах, Целью изобретения является упроще5 ние устройства.
На чертеже представлена функциоапьная схема устройства для котроля рограмм. 1Î
Устройство содержит счетчики 1 и 2 мпульсов, .выходы счетчика I соединес адресными входами блока 3 посоянной памяти, .третья группа инфорационных выходов 4 которого являетя выходом метки сегмента, первая и торая- группы информационных выходов лока 3 соединены соотвественно с ходами 5 схемы сравнения 6 и входа7 схемы 8 сравнения, выходы счетчика 2 0 оединены со входами 9 схемы 8 сравения и входами 10 схемы б сравнения, ход 11 тактовых импульсов соединен
I о счетным входом счетчика 2, група адресных входов 12 соединена с ходами дешифратора 13„выход котороо соединен с входом установки в левое состояние счетчика 1, входом
14 элемента ИЛИ 15, а также входом становки в единичное состояние второго триггера 16, выход триггера 16 соединен с входом разрешения счета счетчика 2, вход .17 контрольного признака работы программы устройства сое35 динен с входом элемента 18 задержки и с тактовым входом..первого триггера
19, инверсный выход которого соединен с входом 20 элемента И 21, выход эле; мента И21, соединен со счетным вхо,.дом счетчика l импульсов, а выход эле мента 18 задержки соединен с вхо- ,дом 22 элемента И21 и входом 23. элемента ИЛИ 15, выход которого соединен с входом установки в нулевое состояние счет щка 2 и входом установки в единичное состояние третьего триггера
24, информационный вход которого со»-, динен с входом 25 потенциала "0", а тактовый вход триггера 24 соединен с выходом схемы 8 сравнения, выход триггера 24 .соединен с информационным
U входом триггера 19, вход установки в единичное состояние которого соединен с выходом схемы б сравнения, а прямой выход 26 триггера 19 ягляется выходом сбоя работы программы, г
Устройство осуществляет контроль выполнения программ в микропроцессор- . ных измерительных и управляющих системах, в которых программа циклически повторяется. Циклический характер работы программы в этих системах обусловлен обработкой переменных данных по неизменному алгоритму, что позволяет использовать программно сформированные импульсы для .контроля времени выполнения программы, Для контроля берется готовая полностью отлаженная программа, представляющая собой некоторую последовательность команд, которая разбивается на несколько тестируемых участков — сегментов. Программные сегменты выполняются в определенной последовательности, время, затрачиваемое на выполнение, измеряется в периодах тактовых импульсов, что дает возможность с необходимой точностью определить это время, причем конец каждого программно1 го сегмента обозначается . появлением на входе признака работы устройства контрольного импульса, программно сформированного микропроцессорной системой, Пропадание контрольного импульса свидетельствует об останове программы или,.зацикливании ее на участке программного сегмента, не содержащем команд, формирующих контрольный импульс. С другой стороны, появление контрольного импульса раньше, минимального времени выполнения программы свидетельствует о зацикливании ее на участке программного сегмента, содержащем команды, формирунхцие контрольныи импульс
Каждому из сегментов ставится в соответствие метка i=1 2,3...n и спиТ, ° — максимальное и минимальное время выполнения i-го сегмента. Время Т; „и Т; „ определяется из времени выполнения команд, входящих в
i-A сегмент, Метка сегмента, максимальное и минимальное время выполнения i-го сегмента,Т," „„ц„, Т; „„„, в виде кодов записывается по i-му адресу блока 3 постоянной памяти. Таким образом, в ячейках памяти I=1 2,...п записываются коды программных меток соотвественно 1,2...n сегментов и соответствующие им коды максимального времени выполнения сегментов.
Высокая помехозащищенность и достоверность вычислений программных сегментов обеспечивается за счет дублирования результатов промежуточнйх
5 15292 вычислений, например записи их в ППЗУ (энергонезависимое программируемое постоянное запоминающее устройство), которое отличается хорошей помехоустойчивостью и надежностью хранения
5 информации. В этом случае промежуточные данные после выполнения каждого программного сегмента записываются в микропроцессорной системе не в ОЗУ (оперативное запоминающее устройство), а в ППЗУ, что позволяет в случае сбоя из-за кратковременного пропадания питания, .сетевых помех и др. повторить заново выполнение программного сегмен- !5 та, используя для этого хранящиеся в,ППЗУ данные предыдущего сегмента, Устройство работает следующим образом.
Перед началом контроля устройство 2О устанавливается в исходное состояние подачей сигнала "Общий сброс" или включением питания на входы установки в нулевое состояние триггеров 16, . !9, и 24 (указанные входы на чертеже 25 условно не показаны), Этим же сигналом осуществляется начальный запуск микропроцессора, в результате производится его инициализация (установка определенных регистров микропроцессора в исходное состояние). После осуществления программы инициализации микропроцессора на группу адресных входов 12 поступает начальный адрес первого программного сегмента.
Этот адрес дешифрируется с помощью geшифратора 13, который в результате вырабатывает на своем выходе импульс, производящий обнуление счетчиков 1 и
2, а также установку в единичное сос- 40 тояние триггера 16 и триггера 24. Причем на вход обнуления счетчика 2 и на вход установки !риггера 24 этот им- . пульс поступает через вход 14 элемента ИЛИ 15, На вход разрешения счетчика 2 с выхода триггера 16 поступает сигнал разрешения счета, Таким образом, импульсы с тактового входа 11 будут фиксироваться в счетчике 2 импульсов, который выполняет функции счетчика времени. После обнуления счетчика 1 импульсов, выполняющего функции адресного счетчика, на его выходах устанавливается код нулевого адреса который поступает на адресl
55 ные входы блока 3. По нулевому адресу в ячейке блока 3 записан код метки первого программного сегмента, а также коды максимального и минимального
26 6 времени, затрачиваемого на выполнение первого сегмента. Эти коды поступают соответственно на выходы 4 метки сегмента и на входы 5 и 7 схем 6 и 8
1 сравнения, Если программа функционирует нормально, то по истечении промежутка времени, который незначительно меньше минимально необходимого на выполнение первого программного сегмента, на выходе счетчика 2 импульсов появится соответствующий код минимального времени выполнения программы. Этот код поступит на вход 9 схемы 8 сравнения ° При совпадении кода с блока
3, поступающего на вход 7, и кода, поступающего на вход 9 схемы 8 сравнения > на ее выходе появится импульс, который поступив на тактовый вход триггера 24, произведет установку его в нулевое состояние (информационный вход триггера 24 соединен с входом
"О"). Через время, равное времени выполнения первого программного сегмента, на входе 17 контрольного(признака работы программы появится контрольный импульс. Этот импульс поступит на тактовый вход триггера 19, а так как информационный вход его находится в состоянии "0" (триггер 24 в нулевом состоянии), то состояние триггера
19 не изменится (триггер 19 в нулевом состоянии) ° Причем задержанный на необходимое время элементом 18 задержки контрольный импульс поступит соответственно через элемент И21 иа. счетный вход счетчика 1 и через вход
23 элемента HJIH 15 на вход установки в единичное состояние триггера 24 °
Этот импульс произ ведет соответственно увеличение кода счетчика 1 на еденицу и установку триггера 24 в единичное состояние, Время задержки определяется временем, необходимым для опроса информационного входа .триггера
19, уровень сигнала которого сигна» лизирует о сбое программы из-эа несоотв етствия минимальному времени выполнения контролируемого программного сегмента. Нулевой уровень на информационном входе триггера 19 соответствует отсутствию сбоя, единичный уровень соответствует наличию сбоя в контролируемом программном сегменте. При нормальном ходе программы триггер 24 будет находиться в нуле-. вом состоянии, поэтому на информационном входе триггера 19 будет присут- .
1529226.с1вовать нулевой уровень. T.аким Образфм, при поступлении контрольного имгфльса на тактовый вход триггера 19 нф выходе 26 сбоя программы не поя5 в тся импульс сбоя, т.е. на этом вых де будет нулевой уровень, После и ступления первого контрольного ими льса код адреса на выходах счетчи"к 1 становится равным единице, пос-л второго — двум, после третьего— т вм и т,д. в зависимости оТ колич ства программных сегментов. Так как вся программа циклически повто р ется, то после завершения выполне.-. я последнего программного сегмена происходит переход на выпал IHIP e ервого программного сегмента, При: том дешифрируется начальный адрес пе -, oro сегмента и осущес вляется обну0 ение адресного счетчика 1 импульсо1: ., формированным на выходе дешифратора
З.и следовательно, производится чередной цикл контроля выполнения писанной программы. 23
В случае сбоя программы,, вызван-ого остановом или зацикливанием на. частке программы, в который не вхо.=. ят команды, формирующие контроль и импульс на входе 17, контроль-IH импульс не появится,, Т е, в этом учае не произойдет изменение состоя = я счетчика 1 и обнуление счетчика в течение времени выполнения прог . аммного сегмента, Поэтому при равен-стве кода на,выходе счетчика 2, кото-.
1 ый поступает на вход 0 схемы 6 срав)1 ения, коду, соответствующему макси альноку времени выполнения .програи4 1 ного сегмента на входе 5 этой же схемы сравнения, на ее выходе появится импульс. Этот импуль". произведет установку триггера 19 в единичное состояние, сигнализируя о сбое программы. Причем сигнал нулевого уровня с инверсного выхода триггера 19 IIOC-тупит на вход 20 элемента И 21 и запретит прохождение контрольных ймпульсов, поступающих по входу 22 эле-. мента И 21 на счетный вход счетчика
1, Если имеет место зацикливание на каком-либо участке программы, в состав которого входят команды посылки контрольного импульса, То в этом случае на выходе счетчика 2 не появится
"1 код минимального времени выполнения программы и не будет соответствующего импульса на выходе схемы 8 сравне . ния, Импульс на выходе cxemI 8 сравнения появляется в том сдучае, если имеет место совпадение кодов на ее входах .7 и 9. Таким образом, не произойдет установка триггера 24-в нулевое состояние, а на,информационном входе триггера 19 поэтому уровень "1".
При поступлении на тактовый вкод D триггера !.9 контрольного импульса с входа 17 произойдет установка D-триггера 19 в единичное состояние, в результате на выходе 26 появится сигнал сбоя программы. В этом случае сигнал нулевого уровня с инверсного выхода триггера 19 поступит, на вход 20 элемента И21 и запретит прохождение контрольных импульсов на счетный вход счетчика 1. По сигналу, появляющемуся на. выходе 26 сбоя работы програмиы, осуществляется ее прерывание и микропроцессор переходит на программу обслужи вания прерыв ания по сбою, По этой программе производится ОпрОс метки сегмента. Метка сегмента с выхода поступает B микропроцессорную сНс тему., например, через стандартный ин-;ерфейс . ввода дискретного кода этой системы, Б результате чего метка сег-, мента дешифрируется микропроцессороми .
\ производится повторный -апуск и выполнение программного сегмента с использованием результатов выполнения предыдущего сегмента, Так; и образом, устройство позволяет защитить выполнение вычислений и функций -,:-правления обьектаки от неуправляемых состояний микропроцессорной системы,в ток числе OT зацикливания и ocTdHoBoB и автоматизировать перезапуск микропроцессорной системы,, наыная с того места в программе, где прои з ош ел сб ой. фор мул а из о бретения устройство для контроля программ содержащее первый и второй счетчики импульсов, дешифратор адреса,, первый и второй триггеры, элемент И, элемент
ИЛИ,. первую и вторую схемы сравнеьыя и элемент задержки. причем группа адресных входов устройства соединена с группой входов дешифратора, прямой и инверсный выходы первого триггера соединены соотвественно с выходом сбоя устройства и с первым входок элекентаИ,отличающее сятек,. что с целью упрОщения устроиства а
1529226
Составитель А.Сигалов
Техред Л.Сердюкова Корректор С.Черни
Редактор О.Спесивых
Заказ 7643/45 Тираж 668 . Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", г.Ужгород, ул. Гагарина, 101 оно содержит блок постоянной памяти и Третий триггер, причем вход конт" рольного признака устройства соединен непосредственно с тактовым входом первого триггера и через элемент задержки — с вторым входом элемента
И и первым входом элемента ИЛИ, выход элемента И соединен со счетным входом первого счетчика импульсов, 10 информационный выход которого соединен с адресным входом блока постоянной памяти, выход дешифратора адреса соединен с единичным входом второго триггера, с входом обнуления первого счетчика импульсов и с вторым входом элемента ИЛИ, выход которого соединен с единичным входом третьего триггера и входом обнуления второго счетчика, единичный выход второго триггера и тактовый вход устройства соединены соотвественно с входом разрешения счета и со счетным входом второго счетчика импульсов, информационный выход которого соединен с первыми входами первой и второй схем сравнения, выходы максимального и минимального времени выполнения сегментов и выход метки сегмента блока постоянной памяти соединены соответственно с вторым входом первой схемы сравнения, с вторым входом второй схемы сравнения и с выходом метки сегмента устройства, выходы равенства первой и второй схем сравнения соединены соотвественно с единичным входом первого триггера и тактовым входом третьего триггера, прямой вы- . ход которого соединен с информационным входом первого триггера, информационный вход третьего триггера соединен с шиной логического нуля устройства,