Материалы сайта
Это интересно
Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-1
УТВЕРЖДЕН КИВШ.00225-01 92-ЛУ Многофункциональный пульт управления МФПУ ПРОТОКОЛ ВЗАИМОДЕЙСТВИЯ центрального процессора и модуля ввода-вывода КИВШ.00225-01 92 Листов 16 1999 год Содержание 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 Назначение Настоящий протокол устанавливает состав и дисциплину информационного обмена между программным обеспечением центрального процессора ( МПР ) и модулем ввода-вывода ( МВВ ) в составе пульта МФПУ. Принципы взаимодействия Программное обеспечение модуля ввода-вывода должно осуществлять: - прием информации по 32 кодовым линиям связи, преобразование ее в удобный формат и запись в ячейки, доступные МПР; - чтение информации из ячеек, сформированных МПР, преобразование ее в формат КЛС и передачу по 9 кодовым линиям связи; - контроль аппаратуры приема-передачи и обмена. В этих целях ПО модуля МВВ должно предоставлять ПО модуля МПР следующие возможности. 1. Перевод в любое время процессора МВВ в один из следующих режимов функционирования: - обмен, - инициализация, - ожидание, - расширенный контроль, - расширенный контроль аппаратуры обмена. 2. Выбор в процессе инициализации - адресов ячеек, через которые будет осуществляться обмен; - формата информации для каждого из принимаемых и передаваемых сигналов. 3. Доступ к значениям матриц состояния и флагов изменения всех принимаемых сигналов; 4. Получение прерываний: - при изменении значений заданных сигналов; - при обнаружении отказов аппаратуры Aппаратурные средства взаимодействия 1 Адресное пространство Обмен данными между процессорами МПР и МВВ в составе пульта МФПУ осуществляется через двух портовое ОЗУ. Адресное пространство ДПОЗУ представлено в таблице 1. Адресное пространство двух портового ОЗУ Таблица 1. |Адрес на шине МПР |Адрес на шине МВВ |Длина |Назначение ячеек | | | |( байт ) | | |A08000 – A0800E |0FE00 – 0FE0E |16 |Семафоры | |A00000 – A07FFB |40000 – 47FFB |32768 |Область данных | |В том числе: | | | | |A07FF0 – A07FF7 |47FF0 – 47FF7 |8 |Слова исправности МВВ | |A07FF8 – A07FFB |47FF8 – 47FFB |4 |Ячейки сторожевого таймера | |A07FFC |47FFC |2 |Слово состояния МВВ | |A07FFE |47FFE |2 |Управляющее слово | 2 Семафоры Ячейки-семафоры позволяют не допускать одновременного обращения процессоров к ячейкам в области данных. Для доступа к определенной группе ячеек ( для чтения или записи ) процессор должен записать 0 в младший разряд соответствующего семафора и прочитать значение этого же семафора. Если получено значение 0 – доступ разрешен, в противном случае - запрещен. По окончании работы с группой ячеек процессор должен записать единицу в младший разряд семафора. Соответствие семафоров группам ячеек задается процессором МПР в процессе настройки ( см. раздел 5. ). Обращение к ячейкам-семафорам со стороны МВВ должно осуществляться командами ассемблера in, out; со стороны МПР – mov. 3 Область данных Ячейки области данных доступны для чтения и записи обоим процессорам. Во избежание нарушения целостности информации процессорам не рекомендуется обращаться к области данных без использования семафоров. Физический смысл значений каждой из ячеек области данных определяется в процессе инициализации ( см. раздел 6 ) 4 Обмен прерываниями При записи процессором МПР любой информации в ячейку управляющего слова происходит прерывание SMI процессора МВВ. Для сброса SMI процессор МВВ должен прочитать значение управляющего слова. При записи процессором МВВ любой информации в ячейку слова состояния происходит прерывание IRQ процессора МПР. Для сброса IRQ процессор МПР должен прочитать значение слова состояния. Порядок инициализации обмена. При включении питания процессор МВВ должен перейти в режим ожидания с установкой соответствующего бита в слове состояния. Биты исправности МВВ устанавливаются в "отказ". Процессор МПР должен убедиться, что МВВ находится в режиме ожидания, при необходимости перевести его в этот режим установкой соответствующего бита в управляющем слове. Если после троекратного повторения данной операции с интервалом в 1 секунду процессор МВВ не перейдет в режим ожидания - процессор МПР констатирует отказ связи с МВВ. Далее процессоры должны провести контроль аппаратуры обмена, порядок которого приведен в разделе 7. По окончании контроля аппаратуры обмена процессор МПР должен перевести процессор МВВ в режим расширенного контроля установкой соответствующего бита в управляющем слове. Процессор МВВ должен указать на переход в режим расширенного контроля в слове состояния и начать расширенный контроль. Продолжительность расширенного контроля не должна превышать 1 с. По окончании расширенного контроля процессор МВВ должен установить биты исправности в слове состояния в соответствии с результатами контроля и перейти в режим ожидания, указав на это в слове состояния. При обнаружении неисправности соответствующая информация должна быть сформирована в словах исправности МВВ. Процессор МПР, получив информацию о положительном результате расширенного контроля МВВ, должен записать в двух портовое ОЗУ настроечные таблицы, после чего перевести процессор МВВ в режим настройки. После перехода в режим настройки процессор МВВ должен проанализировать корректность информации, содержащейся в настроечных таблицах. При обнаружении некорректной информации МВВ должен снять бит исправности обмена в слове состояния, записать информацию о характере некорректности в слово исправности МВВ и перейти в режим ожидания. В такой ситуации процессор МПР должен повторить запись информации в двух портовое ОЗУ и снова перевести МВВ в режим настройки. При троекратном повторении данной ситуации процессор МПР констатирует отказ связи с МВВ. В случае корректности настроечной информации процессор МВВ настраивает свою программу в соответствии с ней, устанавливает бит исправности связи в слове состояния и переходит в режим ожидания. В таком случае процессор МПР переводит МВВ в режим "работа". Формат данных в процессе обмена. 1 Группы сигналов Входные и выходные сигналы должны быть сгруппированы в несколько групп ( от одной до восьми ). Каждая из групп должна объединять сигналы с одинаковыми или близкими: - направлением пересылки ( прием или передача ); - частотой обновления; - прогнозируемой частотой изменения. Каждой из групп должны соответствовать: - семафор; - массив значений ( по 4 байта на сигнал ); - массив матриц состояния ( по 2 бита на сигнал, при необходимости, только для принимаемых сигналов ); - массив флагов изменения ( по 1 биту на сигнал, при необходимости ); - один бит в слове состояния ( только для принимаемых сигналов, при необходимости ). Номер семафора и номер разряда в слове состояния должны соответствовать номеру группы. Начальные адреса массива значений, массива матриц состояния и массива масок обновления задаются процессором МПР в процессе стартового запуска. 2 Массивы значений сигналов Массив значений сигналов представляет собой массив ячеек по 4 байта на сигнал. Значение каждого из сигналов может быть представлено или в виде числа с плавающей точкой ( формат float языка С ), или в виде 20-разрядного битового поля. В последнем случае : - 0 разряд ячейки соответствует 9 ( младшему значащему ) разряду КЛС, - 19 разряд ячейки - 29 ( старшему значащему ) разряду КЛС; - 20 - 31 разряды ячейки не используются. 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 слова; и т.д. 4 Массивы флагов изменения Массив флагов изменения представляет собой массив 32-разрядных ( формат unsigned long языка С ) слов. Каждому из сигналов соответствует один бит одного из слов: 1 означает, что сигнал изменился, 0 - нет. В случае изменения значения поступающего сигнала процессор МВВ должен записать единицу в соответствующий бит. Процессор МПР может снимать флаги по мере использования изменившихся значений. Флаги изменения группируются в слова следующим образом: - флаг изменения 0 ( начального ) сигнала группы соответствует 0 разряду 0 ( начального ) слова массива; - флаг 1 сигнала - 1 разряду 0 слова; - ... - флаг 31 сигнала - 31 разряду 0 слова; - флаг 32 сигнала - 0 разряду 1 слова; и т.д. 5 Управляющее слово Управляющее слово формируется процессором МПР для сообщения процессору МВВ о необходимости изменения режима работы. Управляющее слово представляет собой 16-разрядное слово ( формат unsigned short языка C ). Значения групп разрядов следующее. 15 - 13 разряды – резерв. 12 - 8 разряды - требуемый режим работы МВВ : - 0 – обмен; - 1 - режим ожидания; - 2 – инициализация; - 4 - расширенный контроль; - 8 - контроль в режиме КПП; - 0x10 - расширенный контроль аппаратуры обмена. 7 - 0 разряды – требуемый режим расширенного контроля аппаратуры обмена ( см. подраздел 7.2 ). 6 Слово состояния МВВ Слово состояния МВВ формируется процессором МВВ для сообщений об изменениях в: - режиме функционирования МВВ; - исправности МВВ; - значениях входных сигналов некоторых групп ( при необходимости ). Слово состояния представляет собой 16-разрядное слово ( формат unsigned short языка С ). - 15 разряд – неисправность МВВ ( 0 – исправность ); - 14 разряд – неисправность аппаратуры обмена ( 0 – исправность ); - 13 разряд – резерв; - 12 - 8 разряды содержат информацию о режиме функционирования МВВ. Их значения совпадают с соответствующими разрядами управляющего слова. - 7 - 0 разряды - флаги изменения информации в группах 7 - 0. 7 Слова исправности МВВ Массив исправности МВВ представляет собой массив из восьми 16- разрядных слов, в области данных двух портового ОЗУ. Массив содержит информацию о неисправностях аппаратурных устройств модуля МВВ и причине некорректности информации, принимаемой МВВ от МПР. Значение слов будет уточняться в процессе проектирования программ расширенного инструментального контроля и КПП. Формат данных в процессе инициализации В процессе инициализации процессор МПР записывает в двух портовое ОЗУ следующую информацию: - массив частот каналов приема и передачи; - массив адресов массивов настройки; - массивы описаний групп сигналов. 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. 2 Адреса массивов настройки Информация о группах сигналов ( ее формат описан в подразделе 6.3 ) может располагаться в двухпроцессорном ОЗУ в произвольных местах. Начальные адреса описаний каждой из восьми групп должны быть сведены в массив из восьми 16-разрядных значений ( типа unsigned short ). Массив должен располагаться по адресам b3040 – b3048 ( 50040 – 50048 со стороны МВВ ). Каждый элемент должен содержать младшие 16 разрядов физического адреса. 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. Байты, содержащие саму контрольную сумму, в расчете не участвуют. 4 Описание сигналов Состав информации, описывающей каждый из сигналов, представлен в таблице 3. Состав информации о сигнале. Таблица 3. |Наименование параметра |Длина ( байт ) |Примечание | |Номер канала |1 |0 . . 31 | |Адрес в КЛС |1 |0 . . 255 | |Цена старшего разряда |4 |0 – битовое поле | Порядок контроля аппаратуры обмена 1 Непрерывный контроль Модуль МВВ должен периодически переписывать информацию из первой во вторую ячейки сторожевого таймера. Период такой операции должен соответствовать максимальному периоду обмена по КЛС, но не реже одного раза в 1 с. Несоответствие информации в ячейках сторожевого таймера через указанное время после записи информации в первую ячейку позволяет МПР констатировать отказ связи с МВВ или “зависание” последнего. 2 Расширенный контроль В процессе контроля процессор МПР является ведущим, МВВ - ведомым. Для перехода в режим расширенного контроля аппаратуры обмена МПР должен записать единицу в 8 разряд управляющего слова, после чего для проведения каждого из тестов записывать соответствующие параметры в разряды 7 - 0 управляющего слова. 1. Разряды 1 - 0 содержат код тестируемого устройства: - 1 – семафор - 2 - рабочая область - 3 – прерывания 1. Разряды 3 - 2 содержат код теста. 2. Разряды 7 - 4 дополнительный параметр. В начале выполнения теста МВВ должен установить нуль в 0 и 1 разряды слова состояния, по окончании выполнения очередного теста - установить единицу: - при успешном завершении теста - в 0 разряд слова состояния; - при обнаружении отказа - в 1 разряд. 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. МПР принимает окончательное решение о результате теста. 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 разряд слова состояния; - МПР принимает окончательное решение о результате теста. 3 . Контроль прерываний Контроль прерываний производится в следующем порядке. 1. МПР в управляющем слове задает требуемый режим. 2. МВВ, получив прерывание, устанавливает все разряды слова состояния в 0. 3. МПР, получив прерывание, устанавливает все разряды управляющего слова в 0. 4. МВВ, получив прерывание, устанавливает нулевой ( младший ) разряд слова состояния в 1. 5. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 1. 6. МВВ, получив прерывание, устанавливает тот же разряд слова состояния в 0. 7. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 0. 8. Действия 4 - 7 повторяются для разрядов 1 - 15. 9. МВВ записывает результат в 0 или 1 разряд слова состояния, возвращая остальным разрядам значения, которые они имели до начала теста. 10. МПР принимает окончательное решение о результате теста. Перечень сокращений ДПОЗУ - двух портовое ОЗУ КЛС - кодовая линия связи КПП - контрольно - проверочная программа МВВ - модуль ввода - вывода МПР - модуль процессора МФПУ - многофункциональный пульт управления ОЗУ - оперативное запоминающее устройство
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28