Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дипломы2 / Диплом(мои наработки) / записка(ТИМУР).doc
Скачиваний:
23
Добавлен:
10.12.2013
Размер:
278.53 Кб
Скачать

Разработка алгоритма функционирования и программного обеспечения модуля ип/асвк.

Программно-аппаратным блоком модуля ИП/АСВК является микроконтроллер AT90S2313.

Микроконтроллер должен обеспечить выдачу сигнала на закрытие стопорного клапана в случае:

  • ”зависания” центрального вычислителя системы;

  • неисправности БЗД;

  • падения напряжения питания ниже уровня 4.40 В.

В любом случае срабатывания аппарата системы встроенного контроля должен быть снят сигнал исправности БЗД “БЗД испр”.

”Зависание” центрального вычислителя системы контролируется сигналом ”метка FMC”. Данный сигнал генерируется модулем центрального процессора 5066 на каждом цикле работы. Отсутствие данного сигнала сигнализирует о нарушении функционирования модуля центрального процессора.

Исправность БЗД контролируется центральным вычислителем системы. Модуль центрального процессора 5066 при правильном подключении и функционировании всех датчиков.

Формирование сигнала при падении напряжения питания ниже уровня 4.40 В осуществляется микросхемой MAX 707.

Алгоритм функционирования модуля ИП/АСВК:

На каждом цикле работы микроконтроллер следит за сигналами приходящими с модуля центрального вычислителя системы и с супервизора МАХ 707. Сигнал на закрытии е стопорного клапана генерируется при отсутствии сигнала “метка FMC” или отсутствии сигнала ”БЗД испр_0” или при наличии сигнала от супервизора.

Блок схема алгоритма работы микроконтроллера приведена на рисунке 1.

Рисунок 1. Блок-схема алгоритма работы микроконтроллера.

При программной реализации алгоритма для фиксирования прихода сигналов ”метка FMC”, сигнала от супервизора использовались внешние прерывания микроконтроллера. При приходе сигнала от супервизора генерируется прерывание INT0. По приходу этого прерывания выдается сигнал ”закрыть СК” и снимается сигнал ”БЗД испр”. При приходе сигнала ”метка FMC” запускается таймер-счетчик. Таймер-счетчик заполняется импульсами частотой равной частоте внешнего резонатора деленной на 1024. Частота внешнего резонатора – 7372800 Гц. Счетчик заполняется частотой 7200. Цикл работы микропроцессорного модуля 5066 – 20 мс. Сигнал ”закрыть ЗСК” генерируется если сигнал ”метка FMC” не пришел в течении 4-ех циклов (80 мс). За 80 мс в счетчик пройдет 576 импульсов. Счетчик имеет 8 разрядов, следовательно при предварительной записи в счетчик числа 64 он переполнится 3 раза за 80мс. Таким образом программируемый счетчик-таймер используется для проверки периодичности прихода сигнала ”метка FMC”. При приходе сигнала ”метка FMC” генерируется прерывание INT1. В процедуре обработки этого прерывания сбрасывается счетчик, в который записывается число переполнений таймера-счетчика. Инкрементирование счетчика число переполнений происходит по приходу прерывания от таймера-счетчика. В фоновом цикле идет постоянная проверка счетчика числа переполнений, если его значение превышает 3, выдается сигнал ”закрыть СК” и снимается сигнал ”БЗД испр”. Также в фоновом цикле ведется проверка наличия сигнала ”БЗД испр_0” генерируемого центральным вычислителем системы. В случае отсутствия данного сигнала также выдается сигнал ”закрыть СК” и снимается сигнал ”БЗД испр”. В случае прихода сигнала ”метка FMC” с периодичностью более 4-ех циклов работы процессорного модуля, наличия сигнала ”БЗД испр_0” и отсутствия сигнала от супервизора генерируется сигнал ”БЗД испр”.

Программа, реализующая данный алгоритм:

.DEF PORTB = $18; адрес порта В

.DEF DDRB = $17; регистр направления приемо-передачи порта В

.DEF PORTD = $12; адрес порта D

.DEF DDRD = $11; регистр направления приемо-передачи порта D

.DEF TCNT0 = $32; адрес счетчика-таймера 0

.DEF TCCR0 = $33; регистр управления счетчика-таймера 0

.DEF TIMSK = $39; регистр маски прерываний от таймеров-счетчиков

.DEF GIMSK = $3B; общий регистр маски прерываний

.ORG $000; прерывание от системного сброса

RJMP RESET

.ORG $001; прерывание INT0

RJMP FMC

.ORG $002; прерывание INT1

RJMP END

.ORG $003

RETI

.ORG $004

RETI

.ORG $005

RETI

.ORG $006; прерывание при переполнении таймера 0

RJMP TIMER

.ORG $007

RETI

.ORG $008

RETI

.ORG $009

RETI

.ORG $00A

RETI

FMC:

CLR R17; обнуление счетчика количества переполнений таймера

TIMER: