УТВЕРЖДЕН
КИВШ.00225-01 92-ЛУ
Многофункциональный пульт управления МФПУ
ПРОТОКОЛ ВЗАИМОДЕЙСТВИЯ
центрального процессора и модуля ввода-вывода
КИВШ.00225-01 92
Листов 16
1999 год
Содержание
TOC \o "1-3" 1 Назначение............................................................................................. 3
2 Принципы взаимодействия.................................................................... 3
3 Aппаратурные средства взаимодействия............................................. 4
3.1 Адресное пространство.................................................................. 4
3.2 Семафоры........................................................................................ 4
3.3 Область данных.............................................................................. 5
3.4 Обмен прерываниями..................................................................... 5
4 Порядок инициализации обмена........................................................... 5
5 Формат данных в процессе обмена....................................................... 6
5.1 Группы сигналов............................................................................. 6
5.2 Массивы значений сигналов........................................................... 7
5.3 Массивы матриц состояния............................................................ 7
5.4 Массивы флагов изменения............................................................ 7
5.5 Управляющее слово........................................................................ 8
5.6 Слово состояния МВВ.................................................................... 8
5.7 Слова исправности МВВ................................................................ 9
6 Формат данных в процессе инициализации......................................... 9
6.1 Массив частот каналов приема и передачи................................... 9
6.2 Адреса массивов настройки......................................................... 10
6.3 Описания групп сигналов............................................................. 10
6.4 Описание сигналов........................................................................ 11
7 Порядок контроля аппаратуры обмена............................................. 12
7.1 Непрерывный контроль................................................................ 12
7.2 Расширенный контроль................................................................ 12
7.2.1 Контроль семафоров.............................................................. 12
7.2.2 Контроль рабочей области.................................................... 13
7.2.3 . Контроль прерываний......................................................... 15
Перечень сокращений............................................................................. 16
1 Назначение
Настоящий протокол устанавливает состав и дисциплину информационного обмена между программным обеспечением центрального процессора ( МПР ) и модулем ввода-вывода ( МВВ ) в составе пульта МФПУ.
2 Принципы взаимодействия
Программное обеспечение модуля ввода-вывода должно осуществлять:
- прием информации по 32 кодовым линиям связи, преобразование ее в удобный формат и запись в ячейки, доступные МПР;
- чтение информации из ячеек, сформированных МПР, преобразование ее в формат КЛС и передачу по 9 кодовым линиям связи;
- контроль аппаратуры приема-передачи и обмена.
В этих целях ПО модуля МВВ должно предоставлять ПО модуля МПР следующие возможности.
1. Перевод в любое время процессора МВВ в один из следующих режимов функционирования:
- обмен,
- инициализация,
- ожидание,
- расширенный контроль,
- расширенный контроль аппаратуры обмена.
2. Выбор в процессе инициализации
- адресов ячеек, через которые будет осуществляться обмен;
- формата информации для каждого из принимаемых и передаваемых сигналов.
3. Доступ к значениям матриц состояния и флагов изменения всех принимаемых сигналов;
4. Получение прерываний:
- при изменении значений заданных сигналов;
- при обнаружении отказов аппаратуры
3 Aппаратурные средства взаимодействия
3.1 Адресное пространство
3.1
Обмен данными между процессорами МПР и МВВ в составе пульта МФПУ осуществляется через двух портовое ОЗУ. Адресное пространство ДПОЗУ представлено в таблице 1.
Адресное пространство двух портового ОЗУ
Таблица 1.
Адрес на шине МПР |
Адрес на шине МВВ |
Длина ( байт ) |
Назначение ячеек |
A08000 – A0800E |
0FE00 – 0FE0E |
16 |
Семафоры |
A00000 – A07FFB В том числе: A07FF0 – A07FF7 A07FF8 – A07FFB |
40000 – 47FFB 47FF0 – 47FF7 47FF8 – 47FFB |
32768 8 4 |
Область данных Слова исправности МВВ Ячейки сторожевого таймера |
A07FFC |
47FFC |
2 |
Слово состояния МВВ |
A07FFE |
47FFE |
2 |
Управляющее слово |
3.2 Семафоры
Ячейки-семафоры позволяют не допускать одновременного обращения процессоров к ячейкам в области данных.
Для доступа к определенной группе ячеек ( для чтения или записи ) процессор должен записать 0 в младший разряд соответствующего семафора и прочитать значение этого же семафора. Если получено значение 0 – доступ разрешен, в противном случае - запрещен. По окончании работы с группой ячеек процессор должен записать единицу в младший разряд семафора. Соответствие семафоров группам ячеек задается процессором МПР в процессе настройки ( см. раздел 5. ).
Обращение к ячейкам-семафорам со стороны МВВ должно осуществляться командами ассемблера in, out; со стороны МПР – mov.
3.3 Область данных
Ячейки области данных доступны для чтения и записи обоим процессорам. Во избежание нарушения целостности информации процессорам не рекомендуется обращаться к области данных без использования семафоров.
Физический смысл значений каждой из ячеек области данных определяется в процессе инициализации ( см. раздел 6 )
3.4 Обмен прерываниями
При записи процессором МПР любой информации в ячейку управляющего слова происходит прерывание SMI процессора МВВ. Для сброса SMI процессор МВВ должен прочитать значение управляющего слова.
При записи процессором МВВ любой информации в ячейку слова состояния происходит прерывание IRQ процессора МПР. Для сброса IRQ процессор МПР должен прочитать значение слова состояния.
4 Порядок инициализации обмена.
При включении питания процессор МВВ должен перейти в режим ожидания с установкой соответствующего бита в слове состояния. Биты исправности МВВ устанавливаются в "отказ". Процессор МПР должен убедиться, что МВВ находится в режиме ожидания, при необходимости перевести его в этот режим установкой соответствующего бита в управляющем слове. Если после троекратного повторения данной операции с интервалом в 1 секунду процессор МВВ не перейдет в режим ожидания - процессор МПР констатирует отказ связи с МВВ.
Далее процессоры должны провести контроль аппаратуры обмена, порядок которого приведен в разделе 7.
По окончании контроля аппаратуры обмена процессор МПР должен перевести процессор МВВ в режим расширенного контроля установкой соответствующего бита в управляющем слове. Процессор МВВ должен указать на переход в режим расширенного контроля в слове состояния и начать расширенный контроль. Продолжительность расширенного контроля не должна превышать 1 с.
По окончании расширенного контроля процессор МВВ должен установить биты исправности в слове состояния в соответствии с результатами контроля и перейти в режим ожидания, указав на это в слове состояния. При обнаружении неисправности соответствующая информация должна быть сформирована в словах исправности МВВ.
Процессор МПР, получив информацию о положительном результате расширенного контроля МВВ, должен записать в двух портовое ОЗУ настроечные таблицы, после чего перевести процессор МВВ в режим настройки.
После перехода в режим настройки процессор МВВ должен проанализировать корректность информации, содержащейся в настроечных таблицах. При обнаружении некорректной информации МВВ должен снять бит исправности обмена в слове состояния, записать информацию о характере некорректности в слово исправности МВВ и перейти в режим ожидания. В такой ситуации процессор МПР должен повторить запись информации в двух портовое ОЗУ и снова перевести МВВ в режим настройки. При троекратном повторении данной ситуации процессор МПР констатирует отказ связи с МВВ.
В случае корректности настроечной информации процессор МВВ настраивает свою программу в соответствии с ней, устанавливает бит исправности связи в слове состояния и переходит в режим ожидания. В таком случае процессор МПР переводит МВВ в режим "работа".
5 Формат данных в процессе обмена.
5.1 Группы сигналов
5.1
Входные и выходные сигналы должны быть сгруппированы в несколько групп ( от одной до восьми ). Каждая из групп должна объединять сигналы с одинаковыми или близкими:
- направлением пересылки ( прием или передача );
- частотой обновления;
- прогнозируемой частотой изменения.
Каждой из групп должны соответствовать:
- семафор;
- массив значений ( по 4 байта на сигнал );
- массив матриц состояния ( по 2 бита на сигнал, при необходимости, только для принимаемых сигналов );
- массив флагов изменения ( по 1 биту на сигнал, при необходимости );
- один бит в слове состояния ( только для принимаемых сигналов, при необходимости ).
Номер семафора и номер разряда в слове состояния должны соответствовать номеру группы. Начальные адреса массива значений, массива матриц состояния и массива масок обновления задаются процессором МПР в процессе стартового запуска.
5.2 Массивы значений сигналов
Массив значений сигналов представляет собой массив ячеек по 4 байта на сигнал.
Значение каждого из сигналов может быть представлено или в виде числа с плавающей точкой ( формат float языка С ), или в виде 20-разрядного битового поля. В последнем случае :
- 0 разряд ячейки соответствует 9 ( младшему значащему ) разряду КЛС,
- 19 разряд ячейки - 29 ( старшему значащему ) разряду КЛС;
- 20 - 31 разряды ячейки не используются.
5.3 Массивы матриц состояния
5.3
Массив матриц состояния представляет собой массив 32-разрядных ( формат unsigned long языка С ) слов. Матрицы состояний принимаемых сигналов группируются в слова следующим образом:
- 31 и 30 разряды нулевого ( начального ) сигнала группы записываются соответственно в 1 и 0 разряды нулевого ( начального ) слова массива;
- 31 и 30 разряды 1 сигнала - в 3 и 2 разряды 0 слова;
- ......
- 31 и 30 разряды 15 сигнала - в 31 и 30 разряды 0 слова;
- 31 и 30 разряды 16 сигнала - в 1 и 0 разряды 1 слова;
и т.д.
5.4 Массивы флагов изменения
5.4
Массив флагов изменения представляет собой массив 32-разрядных ( формат unsigned long языка С ) слов. Каждому из сигналов соответствует один бит одного из слов: 1 означает, что сигнал изменился, 0 - нет.
В случае изменения значения поступающего сигнала процессор МВВ должен записать единицу в соответствующий бит. Процессор МПР может снимать флаги по мере использования изменившихся значений.
Флаги изменения группируются в слова следующим образом:
- флаг изменения 0 ( начального ) сигнала группы соответствует 0 разряду 0 ( начального ) слова массива;
- флаг 1 сигнала - 1 разряду 0 слова;
- ...
- флаг 31 сигнала - 31 разряду 0 слова;
- флаг 32 сигнала - 0 разряду 1 слова;
и т.д.
5.5 Управляющее слово
Управляющее слово формируется процессором МПР для сообщения процессору МВВ о необходимости изменения режима работы. Управляющее слово представляет собой 16-разрядное слово ( формат unsigned short языка C ).
Значения групп разрядов следующее.
15 - 13 разряды – резерв.
12 - 8 разряды - требуемый режим работы МВВ :
- 0 – обмен;
- 1 - режим ожидания;
- 2 – инициализация;
- 4 - расширенный контроль;
- 8 - контроль в режиме КПП;
- 0x10 - расширенный контроль аппаратуры обмена.
7 - 0 разряды – требуемый режим расширенного контроля аппаратуры обмена ( см. подраздел 7.2 ).
5.6 Слово состояния МВВ
Слово состояния МВВ формируется процессором МВВ для сообщений об изменениях в:
- режиме функционирования МВВ;
- исправности МВВ;
- значениях входных сигналов некоторых групп ( при необходимости ).
Слово состояния представляет собой 16-разрядное слово ( формат unsigned short языка С ).
- 15 разряд – неисправность МВВ ( 0 – исправность );
- 14 разряд – неисправность аппаратуры обмена ( 0 – исправность );
- 13 разряд – резерв;
- 12 - 8 разряды содержат информацию о режиме функционирования МВВ. Их значения совпадают с соответствующими разрядами управляющего слова.
- 7 - 0 разряды - флаги изменения информации в группах 7 - 0.
5.7 Слова исправности МВВ
Массив исправности МВВ представляет собой массив из восьми 16-разрядных слов, в области данных двух портового ОЗУ. Массив содержит информацию о неисправностях аппаратурных устройств модуля МВВ и причине некорректности информации, принимаемой МВВ от МПР. Значение слов будет уточняться в процессе проектирования программ расширенного инструментального контроля и КПП.
6 Формат данных в процессе инициализации
В процессе инициализации процессор МПР записывает в двух портовое ОЗУ следующую информацию:
- массив частот каналов приема и передачи;
- массив адресов массивов настройки;
- массивы описаний групп сигналов.
6.1 Массив частот каналов приема и передачи
Массив располагается по адресам b3010 - b303f ( 50010 - 5003f со стороны МВВ ).
Каждому из каналов приема и передачи соответствует 1 байт информации. Значение его следующее:
- 1 - частота 12.5 Кб/с;
- 2 - частота 25 Кб/с;
- 4 - частота 50 Кб/с;
- 0 - канал не используется;
- 8 - частота 100 Кб/с;
Соответствие номеров каналов элементам массива следующее:
- 0 - 31 элементы соответствуют 0 - 31 каналу приема;
- 32 - 40 элементы соответствуют 0 - 8 каналу передачи;
- 41 - 59 элементы не используются;
- 60 - 63 элементы содержат контрольную сумму.
Контрольная сумма считается как сумма байтов с 0 по 40, представленных как unsigned char в 32-разрядном слове unsigned long.
6.2 Адреса массивов настройки
Информация о группах сигналов ( ее формат описан в подразделе 6.3 ) может располагаться в двухпроцессорном ОЗУ в произвольных местах.
Начальные адреса описаний каждой из восьми групп должны быть сведены в массив из восьми 16-разрядных значений ( типа unsigned short ). Массив должен располагаться по адресам b3040 – b3048 ( 50040 – 50048 со стороны МВВ ). Каждый элемент должен содержать младшие 16 разрядов физического адреса.
6.3 Описания групп сигналов
Описание каждой из групп сигналов представлено в таблице 2.
Состав информации о группе сигналов
Таблица 2.
Наименование параметра |
Длина ( байт ) |
Примечание |
Направление обмена |
1 |
0-прием 1-передача |
Установка единицы в слове состояния МВВ при изменении значения одного из сигналов |
1 |
0-не устанавливать 1-устанавливать |
Период обновления ( мс) |
2 |
|
Количество сигналов |
2 |
|
Адрес массива значений сигналов |
2 |
|
Адрес массива матриц состояния |
2 |
0- не формировать |
Адрес массива флагов изменения |
2 |
0- не формировать |
Описание сигналов |
6 на сигнал |
См.табл.3 |
Контрольная сумма |
4 |
|
Значения адресов массивов представляют собой младшие 16 разрядов физических адресов.
Контрольная сумма считается как сумма байтов таблицы, представленных как unsigned char в 32-разрядном слове unsigned long. Байты, содержащие саму контрольную сумму, в расчете не участвуют.
6.4 Описание сигналов
Состав информации, описывающей каждый из сигналов, представлен в таблице 3.
Состав информации о сигнале.
Таблица 3.
Наименование параметра |
Длина ( байт ) |
Примечание |
Номер канала |
1 |
0 . . 31 |
Адрес в КЛС |
1 |
0 . . 255 |
Цена старшего разряда |
4 |
0 – битовое поле |
7 Порядок контроля аппаратуры обмена
7.1 Непрерывный контроль
Модуль МВВ должен периодически переписывать информацию из первой во вторую ячейки сторожевого таймера. Период такой операции должен соответствовать максимальному периоду обмена по КЛС, но не реже одного раза в 1 с.
Несоответствие информации в ячейках сторожевого таймера через указанное время после записи информации в первую ячейку позволяет МПР констатировать отказ связи с МВВ или “зависание” последнего.
7.2 Расширенный контроль
В процессе контроля процессор МПР является ведущим, МВВ - ведомым. Для перехода в режим расширенного контроля аппаратуры обмена МПР должен записать единицу в 8 разряд управляющего слова, после чего для проведения каждого из тестов записывать соответствующие параметры в разряды 7 - 0 управляющего слова.
1. Разряды 1 - 0 содержат код тестируемого устройства:
- 1 – семафор
- 2 - рабочая область
- 3 – прерывания
1. Разряды 3 - 2 содержат код теста.
2. Разряды 7 - 4 дополнительный параметр.
В начале выполнения теста МВВ должен установить нуль в 0 и 1 разряды слова состояния, по окончании выполнения очередного теста - установить единицу:
- при успешном завершении теста - в 0 разряд слова состояния;
- при обнаружении отказа - в 1 разряд.
7.2.1 Контроль семафоров
Для контроля каждого из семафоров процессоры должны произвести 4 теста:
- код 0 - чтение МВВ занятого семафора;
- код 1 - чтение МВВ свободного семафора;
- код 2 - чтение МПР занятого семафора;
- код 3 - чтение МПР свободного семафора.
Для проведения каждого из тестов должны быть произведены следующие действия.
1. МПР записывает в управляющее слово:
- 6 - 4 разряды - номер семафора ( 0 - 7 );
- 3 - 2 разряды - код теста ( 0 - 3 ).
2. МВВ производит:
- в тесте 0 - читает семафор и сравнивает с 1;
- в тесте 1 - читает семафор и сравнивает с 0;
- в тесте 2 - записывает в семафор 1;
- в тесте 3 - записывает в семафор 0.
3. МВВ записывает результат в 0 или 1 разряд слова состояния.
4. МПР принимает окончательное решение о результате теста.
7.2.2 Контроль рабочей области
Для контроля рабочей области должно быть произведено четыре теста:
- код 0 - передача нулевой информации;
- код 1 - передача единичной информации;
- код 2 - передача шахматной информации;
- код 3 - передача обратной шахматной информации
по двум направлениям:
- параметр 0 - из МПР в МВВ;
- параметр 1 - из МВВ в МПР.
Под передачей нулевой информации подразумевается запись нулей во все ячейки рабочей области;
под единичной - запись OxFFFF во все ячейки рабочей области;
под шахматной:
- запись 0x5555 в ячейки с четными адресами и
- запись 0хАААА в ячейки с нечетными адресами;
под обратной шахматной:
- запись 0x5555 в ячейки с нечетными адресами и
- запись 0хАААА в ячейки с четными адресами.
Для проведения каждого из тестов должны быть произведены следующие действия.
1. МПР записывает в управляющее слово:
- 4 разряд - направление ( 0 - 1 );
- 3 - 2 разряды - код теста ( 0 - 3 ).
2. При направлении 0:
- МПР устанавливает семафор 0 в положение "занято" и производит запись информации в двухпроцессорное ОЗУ;
- МПР освобождает семафор;
- МВВ после освобождения семафора считывает информацию и анализирует ее правильность.
3. При направлении 1:
- МВВ устанавливает семафор 0 в положение "занято" и производит запись информации в двух портовое ОЗУ
- МВВ освобождает семафор;
- МПР после освобождения семафора считывает информацию и анализирует ее правильность;
- МВВ записывает результат в 0 или 1 разряд слова состояния;
- МПР принимает окончательное решение о результате теста.
7.2.3 . Контроль прерываний
Контроль прерываний производится в следующем порядке.
1. МПР в управляющем слове задает требуемый режим.
2. МВВ, получив прерывание, устанавливает все разряды слова состояния в 0.
3. МПР, получив прерывание, устанавливает все разряды управляющего слова в 0.
4. МВВ, получив прерывание, устанавливает нулевой ( младший ) разряд слова состояния в 1.
5. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 1.
6. МВВ, получив прерывание, устанавливает тот же разряд слова состояния в 0.
7. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 0.
8. Действия 4 - 7 повторяются для разрядов 1 - 15.
9. МВВ записывает результат в 0 или 1 разряд слова состояния, возвращая остальным разрядам значения, которые они имели до начала теста.
10. МПР принимает окончательное решение о результате теста.
Перечень сокращений
ДПОЗУ - двух портовое ОЗУ
КЛС - кодовая линия связи
КПП - контрольно - проверочная программа
МВВ - модуль ввода - вывода
МПР - модуль процессора
МФПУ - многофункциональный пульт управления
ОЗУ - оперативное запоминающее устройство