Устройство для контроля программ

Номер патента: 1529226

Автор: Савелов

ZIP архив

Текст

,8015 51 4 Ь 06 " 11/28 Е ТЕЛЬСТВУ ВТОРСНОМУ С Ж ЬЭ Ь) Ь ГОСУДАРСТВЕННЫЙ НОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОЧНРЫТИЯМПРИ ГКНТ СССР ОПИСАНИЕ ИЗ 1(56) Авторское свидетельство СССР 9 1298753, кл . С 06 Г 11/28, 1985Авторское свидетельство СССР В 1307460, кл . С 06 Р 11/28, 1985. 54) УСТРОЛСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММ57) Изобретение относится к вычислиельной технике и может быть применео в микропроцессорных измерительных и управляющих системах. Цель изобретения - упрощение устройства, Устроство содержит первый 1 и второй 2счетчики импульсов, блок 3 постоянной памяти, дешифратор 13 адреса,триггеры 16, 19 и 24, элемент И 21,элемент ИЛИ 15, первую 6 и вторую 8схемы сравнения, элемент 18 задержки. При применении устройства дляконтроля выполнения программ в микропроцессорных измерительных и управляющих системах ожидаемый экономический эффект возникает вследствиесокращения объема оборудования, Количество оборудования в изобретениина ЗОЕ меньше, чем у устройства-прототипа. 1 ил.Изобретение относится к вычислитльной технике и может найти применефе в микропроцессорных измерительых и управляющих системах,Целью изобретения является упроще 5ние устройства.На чертеже представлена функциоапьная схема устройства для котролярограмм. 1 ОУстройство содержит счетчики 1 и 2мпульсоввыходы счетчика 1 соединес адресными входами блока З,посоянной памяти, .третья группа инфорационных выходов 4 которого являетя выходом метки сегмента, первая иторая группы информационных выходовлока 3 соединены соотвественно сходами 5 схемы сравнения 6 и входа 7 схемы 8 сравнения, выходы счетчика 22 Ооединены со входами 9 схемы 8 сравения и входами О схемы 6 сравнения,ход 11 тактовых импульсов соединено счетным входом счетчика 2, група адресных входов 12 соединена сходами дешифратора 13 выход котороо соединен с входом установки влевое состояние счетчика 1, входом14 элемента ИЛИ 15, а также входомстановки в единичное состояние второго триггера 16, выход триггера 16соединен с входом разрешения счетасчетчика 2, вход 17 контрольного признака работы программы устройства сое 35динен с входом элемента 18 задержкии с тактовым входомпервого триггера19, инверсный выход которого соединенс входом 20 элемента И 21, выход эле;мента И 21,соединен со счетным вхо,дом счетчика 1 импульсов, а выход элемента 18 задержки соединен с вхо-,дом 22 элемента И 21 и входом 2,3. элемента ИЛИ 15, выход которого соединенс входом установки в нулевое состояние счетчика 2 и входом установки вединичное состояние третьего триггера24, информационный вход которого со-,динен с входом 25 потенциала "О", атактовый вход триггера 24 соединен свыходом схемы 8 сравнения, выход триггера 24 .соединен с информационнымЮвходом триггера 19, вход установкив единичное состояние которого соединен с выходом схемы 6 сравнения, а прямой выход 26 триггера 19 ягляется выходом сбоя работы программы,гУстройство осуществляет контрольвыполнения программ в микропроцессорных измерительных и управляющих системах, в которых программа циклически повторяется. Циклический характерработы программы в этих системахобусловлен обработкой переменных данных по неизменному алгоритму, что позволяет использовать программно сформированные импульсы для,контроля времени выполнения программы, Для контроля берется готовая полностью отлаженная программа, представляющая собойнекоторую последовательность команд,которая разбивается на несколько тестируемых участков - сегментов. Программные сегменты выполняются в определенной последовательности, время,затрачиваемое на выполнение, измеряется в периодах тактовых импульсов, что дает возможность с необходимой точностью определить это время, причем конец каждого программного сегмента обозначается . появлениемна входе признака работы устройстваконтрольного импульса, программносформированного микропроцессорной системой,Пропадание контрольного импульсасвидетельствует об останове программы или зацикливании ее на участкепрограммного сегмента, не содержащем команд, формирующих контрольядйимпульс. С другой стороны, появлениеконтрольного импульса раньше, минимального времени выполнения программысвидетельствует о зацикливании ее научастке программного сегмента, содержащем команды, формирущцие контрольный импульсКаждому из сегментов ставится в со-ответствие метка =1,2,3 п и спиТ, - максимальное и минимальноевремя выполнения -го сегмента. Время Т; . и Т;определяется из времени выполнения команд, входящих в-й сегмент, Метка сегмента , максимальное и минимальное время выполнения д-го сегмента,Т," с Т; ввиде кодов записывается по -му адресу блока 3 постоянной памяти. Такимобразом, в ячейках памяти 1=1,2,пзаписываются коды программных метоксоотвественно 1,2 п сегментов исоответствующие им коды максимального времени выполнения сегментов.Высокая помехозащищенность и достоверность вычислений программныхсегментов обеспечивается за счет дублирования результатов промежуточнйх5 15292 вычислений, например записи их в ППЗУ (энергонезависимое программируемое постоянное запоминающее устройство), которое отличается хорошей помехоустойчивостью и надежностью хранения5 информации. В этом случае промежуточные данные после выполнения каждого программного сегмента записываются в микропроцессорной системе не в ОЗУ (оперативное запоминающее устройство), а в ППЗУ, что позволяет в случае сбоя из-за кратковременного пропадания питания,.сетевых помех и др, повторить заново выполнение программного сегмен та, используя для этого хранящиеся в,ППЗУ данные предыдущего сегмента,Устройство работает следующим образом.Перед началом контроля устройство 2 О устанавливается в исходное состояние .подачей сигнала "Общий сброс" или включением питания на входы установки в нулевое состояние триггеров 6, . 9, и 24 (указанные входы на чертеже 25 условно не показаны), Этим же сигналом осуществляется начальный запуск микропроцессора, в результате производится его инициализация установка определенныхрегистров микропроцессора в исходное состояние), После осуществления программы инициализации микропроцессора на группу адресных входов 12 поступает начальный адрес первого программного сегмента. Этот адрес дешифрируется с помощью.пешифратора 13, который в результате вырабатывает на своем выходе импульс, производящий обнуление счетчиков 1 и 2, а также установку в единичное сос Отояние триггера 16 и триггера 24. Причем на вход обнуления счетчика 2 и на вход установкириггера 24 этот им-. пульс поступает через вход 14 элемента ИЛИ 15, На вход разрешения счетчика 2 с выхода триггера 16 поступает сигнал разрешения счета, Таким образом, импульсы с тактового входа 11 будут фиксироваться всчетчике 2 импульсов) который выполняет функции счетчика времени, После обнуления счетчика 1 импульсов, выполняющего функции адресного счетчика, на его выходах устанавливается код нулевого адреса который поступает на адрес 155 ные входы блока 3, По нулевому адресу в ячейке блока 3 записан код метки первОго программного сегмента, а также коды максимального и минимального 26 6времени, затрачиваемого на выполнениепервого сегмента. Эти коды поступаютсоответственно на выходы 4 метки сегмента и на входы 5 и 7 схем 6 и 81сравнения,Если программа функционирует нормально, то по истечении промежуткавремени, который незначительно меньше минимально необходимого на выполнение первого программного сегмента,на выходе счетчика 2 импульсов появится соответствующий код минимального времени выполнения программы. Этоткод поступит на вход 9 схемы 8 сравненияПри совпадении кода с блока3, поступающего на вход 7, и кода,поступающего на вход 9 схемы 8 сравнения на ее выходе появится импульс,который поступив на тактовый входтриггера 24, произведет установку егов нулевое состояние (информационныйвход триггера 24 соединен с входом"О"). Через время, равное времени выполнения первого программного сегмента, на входе 17 контрольного признака работы программы появится контрольный импульс. Этот импульс поступитна тактовый вход триггера 19, а таккак информационный вход его находитсяв состоянии "0" (триггер 24 в нулевом состоянии), то состояние триггера19 не изменится (триггер 19 в нулевом состоянии). Причем задержанныйна необходимое время элементом 18задержки контрольный импульс поступитсоответственно через элемент И 21 иа.счетный вход счетчика 1 и через вход23 элемента ИЛИ 15 на вход установкив единичное состояние триггера 24Этот импульс произведет соответственно увеличение кода счетчика 1 на еденицу и установку триггера 24 в единичное состояние, Время задержки определяется временем, необходимым для опроса информационного входа .триггера19, уровень сигнала которого сигнализирует о сбое программы из-эа несоответствия минимальномувремени выполнения контролируемого программного сегмента. Нулевой уровень на информационном входе триггера 19 соответствует отсутствию сбоя, единичный уровень соответствует наличиюсбоя в контролируемом программном сегменте, При нормальном ходе программытриггер 24 будет находиться в нуле-.вом состоянии, поэтому на информационном входе триггера 19 будет присут- ..сТвовать нулевой уровень. Таким образфм, при поступлении контрольного имгфльса на тактовый вход триггера 19 нф выходе 26 сбоя программы не поя 5 в тся импульс сбоя, т.е. на этом вых де будет нулевой уровень, После и ступления первого контрольного ими льса код адреса на выходах счетчи". к 1 становится равным единице, пос-. л второго " двум, после третьего - т вм и т,д. в зависимости от колич ства программных сегментов, Так как вся программа циклически повто р ется, то после завершения выполнея последнего программного сегмена происходит переход на выполнение ервого программного сегмента, При том дешифрируется начальный адрес пРр-, ого сегмента и осуществляется обну 0 ение адресного счетчика 1 импульсол формированным на выходе дешифратора З,и следовательно, производится чередной цикл контроля выполнения писанной программы. 23 В случае сбоя программы вызван- ого остановом или зацикливанием на частке программы, в который не вхо- ят команды, Формирующие контрольй импульс на входе 17, контроль й импульс не появится Т,е. в этомучае не произойдет изменение состоя "я счетчика 1 и обнуление счетчикав течение времени выполнения прог аммного сегмента, Поэтому при равен-. стве кода на,выходе счетчика 2, кото" ый поступает на вход О схемы 6 срав. ения, коду, соответствующему макси лальноку времени выполнения,програиМного сегмента на входе 5 этой же схемы сравнения, на ее выходе появится импульс. Этот импульс произведет установку триггера 19 в единичное состояние сигнализируя о сбое программы. Причем сигнал нулевого уровня с инверсного выхода триггера 19 поступит на вход 20 элемента И 21 и запретит прохождение контрольных ймпульсов, поступающих по входу 22 элемента И 21 на счетный вход счетчика 1, Если имеет место зацикливание на каком-либо участке программы, в состав которого входят команды посылки контрольного импульса, то в этом случае на выходе счетчика 2 не появится1 код минимального времени выполнения программы и не будет соответствующего импульса на выходе схемы 8 сравне ния, Импульс на выходе схеы 8 сравнения появляется в том случае, еслиимеет место совпадение кодов на еевходах .7 и 9, Таким образом, не произялдет установка триггера 24.в нулевое состояние, а на, информационномвходе триггера 19 поэтому уровень "1".При поступлении на тактовый вход 1триггера 19 контрольного импульса свхода 17 произойдет установка Э-триггера 19 в единичное состояние, в результате на выходе 26 появится сигналсбоя програмы, В этом случае сигналнулевого уровня с инверсного выходатриггера 19 поступит, на вход 20 элемента И 21 и запретит прохождение контрольных импульсов на счетный входсчетчика 1, По сигналу, появляющемуся на. выходе 26 сбоя работы програмлы, осуществляется се прерывание имикропроцессор переходит на программуОсслужи Банйя прерыз ания по сбою, ПОэтой программе производится орс метки сегмента. Метка сегмента с выходапоступает в микропроцессорную систему., например, через стандартный интерфейс . ввода дискретного кода этойсистемы, В результате чего метка сег-,мента дешифрчруется микропроцессороми .производится повторный запуск и выполнение программного сегмента с использованием результатов выполнения предыдущего сегмента,Таким образом, устройство позволяет защитить выполнение вычислений ифункций;:правления обьектамл от неуправляемых состояний микропроцессорнойсистемы,в том числе от зацикливанияи остановов и автоматизировать перезапуск микропроцессорной системы наиная с того места в программе, гдепроизошел сбой,формуда из обр ет енияустройство для контроля программ содержащее первый и второй счетчики импульсов, дешифратор адреса первый и второй триггеры, элемент И, элемент ИЛИ первую и вторую схемы сравнения и элемент задержки. причем группа адресных входов устройства соединена с группой входов дешифратора, прямой и инверсный выходы первого триггера соединены соотвественно с выходом сбоя у строй ств а и с первым входок эл екен- таИ, отличающеесятек,.чтс, с целью упрощения устроиства1529226 Составитель А.Сигалов Техред Л.Сердюкова Корректор С.Черни Редактор О.Спесивых Заказ 7643/45 Тираж 668 ПодписноеВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР113 О 35, Москва, Ж, Раушская наб д. 4/5 Производственно-издательский комбинат "Патент", г.ужгород, ул, Гагарина, 101 оно содержит блок постоянной памяти и Третий триггер, причем вход конт" рольного признака устройства соединен непосредственно с тактовым входом первого триггера и через элемент задержки - с вторым входом элемента И и первым входом элемента ИЛИ, выход элемента И соединен со счетным входом первого счетчика импульсов,1 О информационный выход которого соединен с адресным входом блока постоянной памяти, выход дешифратора адреса соединен с единичным входом второго триггера, с входом обнуления первого счетчика импульсов и с вторым входом элемента ИЛИ, выход которого соединен с единичным входом третьего триггера и входом обнуления второго счетчика, единичный выход второго триггера и тактовый вход устройства соединены соотвественно с входом разрешения счета и со счетным входомвторого счетчика импульсов, информационный выход которого соединен спервыми входами первой и второй схемсравнения, выходы максимального иминимального времени выполнения сегментов и выход метки сегмента блокапостоянной памяти соединены соответственно с вторым входом первой схемысравнения, с вторым входом второйсхемы сравнения и с выходом меткисегмента устройства, выходы равенства первой и второй схем сравнениясоединены соотвественно ссдиничнымвходом первого триггера и тактовымвходом третьего триггера, прямой вы-,ход которого соединен с информационным входом первого триггера, информационный вход третьего триггера соединен с шиной логического нуля устройства,

Смотреть

Заявка

4397574, 25.03.1988

ОСОБОЕ ПРОЕКТНО-КОНСТРУКТОРСКОЕ БЮРО НАУЧНО ПРОИЗВОДСТВЕННОГО ОБЪЕДИНЕНИЯ "ЧЕРМЕТАВТОМАТИКА"

САВЕЛОВ ВЛАДИМИР ДМИТРИЕВИЧ

МПК / Метки

МПК: G06F 11/28

Метки: программ

Опубликовано: 15.12.1989

Код ссылки

<a href="https://patents.su/5-1529226-ustrojjstvo-dlya-kontrolya-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля программ</a>

Похожие патенты