УТВЕРЖДЕН
КИВШ.00225-01 31-ЛУ
Многофункциональный пульт управления МФПУ
Специальное программное обеспечение модуля МВВ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
КИВШ.00225-01 31
Листов 16
1999 г.
Содержание
TOC \o "1-3"
1 Введение................................................................................................ 4
2 Назначение и выполняемые функции.................................................. 4
3 Состав СПО........................................................................................... 4
4 Описание форматов данных................................................................. 5
4.1 Данные в ОЗУ МВВ-34.................................................................. 5
4.1.1 Адресное пространство ОЗУ.................................................. 5
4.1.2 Массив « Данные приема »..................................................... 6
4.1.3 Массив « Флаги приема »....................................................... 6
4.1.4 Массив « Данные передачи ».................................................. 6
4.1.5 Массив « Флаги передачи ».................................................... 7
4.2 Данные в двухпортовом ОЗУ........................................................ 7
4.3 Данные в ППЗУ МВВ.................................................................... 7
4.3.1 Адресное пространство ППЗУ............................................... 8
4.3.2 Массивы « МПР-МВВ ».......................................................... 8
4.3.3 Массивы « МВВ-МПР »......................................................... 8
5 Описание алгоритмов........................................................................... 8
5.1 ПК « Управляющая программа »................................................. 8
5.1.1 Состав ПК................................................................................ 8
5.1.2 ПКт « Стартовый запуск »...................................................... 9
5.1.3 ПКт « Обработка прерываний »............................................ 9
5.1.4 ПКт « Управление таймерными задачами »......................... 9
5.1.5 ПКт « Управление фоновыми задачами »............................. 9
5.1.6 ПКт « Выбор режима работы »............................................ PAGEREF _Toc447364682 \h 1 #0
5.1.7 ПКт « Обработка аварийных ситуаций »............................ PAGEREF _Toc447364683 \h 1 #0
5.2 ПК « Обмен ».............................................................................. PAGEREF _Toc447364684 \h 1 #1
5.2.1 Состав ПК.............................................................................. PAGEREF _Toc447364685 \h 1 #1
5.2.2 ПКт « КЛС-МВВ »................................................................ PAGEREF _Toc447364686 \h 1 #1
5.2.3 ПКт « МВВ-МПР »................................................................ PAGEREF _Toc447364687 \h 1 #1
5.2.4 ПКт « МПР-МВВ »................................................................ PAGEREF _Toc447364688 \h 1 #2
5.2.5 ПКт « МВВ-КЛС »................................................................ PAGEREF _Toc447364689 \h 1 #3
5.3 ПК « Инициализация »................................................................ PAGEREF _Toc447364690 \h 1 #4
5.4 ПК « Непрерывный контроль ».................................................. PAGEREF _Toc447364691 \h 1 #4
5.5 ПК « Расширенный контроль »................................................... PAGEREF _Toc447364692 \h 1 #4
5.6 ПК « Расширенный контроль аппаратуры обмена».................. PAGEREF _Toc447364693 \h 1 #5
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ................................................................. PAGEREF _Toc447364694 \h 1 #6
1 Введение
Настоящий документ определяет организацию функционирования специального программного обеспечения процессора МВВ-34 из состава пульта МФПУ.
2 Назначение и выполняемые функции
СПО процессора МВВ-34 из состава МФПУ должно выполнять следующие функции:
- прием информации по кодовым линиям связи, ее преобразование и передача центральному процессору;
- прием информации от центрального процессора, ее преобразование и передача в кодовые линии связи;
- настройку на заданный набор сигналов с заданными параметрами;
- непрерывный и расширенный контроль аппаратуры модуля МВВ-34.
3 Состав СПО
СПО должно состоять из функционально-законченных программных комплексов ( ПК ), каждый из которых подразделяется на программные компоненты ( ПКт ). ПКт в свою очередь могут подразделяться на функционально-законченные программные модули ( ПМ ) .
СПО должно состоять из следующих программных комплексов:
- ПК « Управляющая программа »;
- ПК « Непрерывный контроль »;
- ПК « Обмен »;
- ПК « Инициализация »;
- ПК « Расширенный контроль »;
- ПК « Расширенный контроль аппаратуры обмена».
ПК «Управляющая программа» и ПК «Непрерывный контроль» должны функционировать постоянно. Дополнительно к ним по команде центрального процессора в вычислительный процесс может включаться ПК «Обмен», «Инициализация», «Расширенный контроль» или «Расширенный контроль аппаратуры обмена» .
4 Описание форматов данных
4.1 Данные в ОЗУ МВВ-34
В ОЗУ МВВ-34 должна располагаться следующая информация:
- массивы данных, содержащие информацию о последних значениях принимаемых и передаваемых сигналов;
- массивы флагов, содержащие информацию об этапе обработки сигналов;
- внутренние переменные программных комплексов;
- стек.
4.1.1 Адресное пространство ОЗУ
ОЗУ МВВ-34 занимает адресное пространство с адреса 00000 по адрес 3FFFF. Распределение адресного пространства ОЗУ должно соответствовать таблице 1.
Адресное пространство ОЗУ
Таблица 1.
Начальный адрес |
Конечный адрес |
Длина (байт) |
Назначение |
00000 |
0EFFF |
61440 |
Внутренние переменные |
0F000 |
0FFFF |
4096 |
Регистры различных устройств |
10000 |
17FFF |
32768 |
Массив «Данные приема» |
18000 |
19FFF |
8192 |
Массив «Флаги приема» |
1A000 |
1С3FF |
9216 |
Массив «Данные передачи» |
1C400 |
1CFFF |
3072 |
Резерв |
1D000 |
1D8FF |
2304 |
Массив «Флаги передачи» |
1D900 |
1FFFF |
9984 |
Резерв |
20000 |
2FFFF |
65536 |
Стек |
30000 |
3FFFF |
65536 |
Резерв |
4.1.2 Массив « Данные приема »
Массив должен представлять собой матрицу 32 x 256 32-разрядных слов (unsigned long). Каждой строке должен соответствовать номер входной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать значение, принятое последним из данной линии с данным адресом.
Информация в массив должна записываться ПКт «КЛС-МВВ» из регистров приемо-передатчиков; использоваться ПКт «МВВ-МПР» для преобразования и записи в двух-процессорное ОЗУ.
4.1.3 Массив « Флаги приема »
Массив должен представлять собой матрицу 32 x 256 байт ( signed char). Каждой строке должен соответствовать номер входной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать:
- 0 - если информация не обновлялась;
- 1 – если информация обновилась, но не изменилась;
- 2 – если информация изменилась;
- 3 – если канал заблокирован на запись;
- -1 – если к каналу идет обращение;
- -2 – если канал заблокирован на чтение.
Нулевую информацию в элемент массива должен записывать ПКт «МВВ-МПР» после обращения к соответствующему элементу массива «Данные приема». На время обращения к нему устанавливается значение -1 во избежание записи в этот элемент новой информации программным компонентом «КЛС-МВВ»
Значение 1 или 2 должен устанавливать ПКт «КЛС-МВВ» в момент записи новой информации.
Значение –2 или 3 может устанавливаться технологическим ПО во время отладки и испытаний.
4.1.4 Массив « Данные передачи »
Массив должен представлять собой матрицу 9 x 256 32-разрядных слов ( unsigned long). Каждой строке должен соответствовать номер входной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать последнее значение, переданное центральным процессором для передачи в данную линию с заданным адресом.
Информация в массив должна записываться ПКт «МПР-МВВ» на основании информации, принятой от центрального процессора; использоваться ПКт «МВВ-КЛС» для записи в соответствующий приемо-передатчик.
4.1.5 Массив « Флаги передачи »
Массив должен представлять собой матрицу 9 x 256 байт (signed char). Каждой строке должен соответствовать номер выходной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать:
- 0 - если информация не обновлялась;
- 1 – если информация обновилась;
- 3 – если канал заблокирован на запись;
- -1 – если к каналу идет обращение
- -2 – если канал заблокирован на чтение;
Нулевую информацию в элемент массива должен записывать ПКт «МВВ-КЛС» после обращения к соответствующему элементу массива «Данные приема». На время обращения к нему устанавливается значение -1 во избежание записи в этот элемент новой информации программным компонентом «МПР-МВВ»
Значение 1 должен устанавливать ПКт «МПР-МВВ» в момент записи новой информации.
Значение –2 или 3 может устанавливаться технологическим ПО во время отладки и испытаний.
4.2 Данные в двухпортовом ОЗУ
В двухпортовом ОЗУ должен располагаться ряд массивов данных, через которые осуществляется обмен между процессорами МВВ и МПР. Формат данных в этих массивах приведен в документе КИВШ.00225-01 92 01 « Протокол взаимодействия центрального процессора и модуля ввода-вывода МФПУ ».
4.3 Данные в ППЗУ МВВ
В ППЗУ должны содержаться массивы, содержащие информацию о количестве и параметрах принимаемых и передаваемых сигналов. Информация в ППЗУ должна заноситься программным комплексом «Инициализация» на основании информации, полученной от центрального процессора, использоваться программным комплексом «Обмен».
4.3.1 Адресное пространство ППЗУ
Часть ППЗУ модуля МВВ-34, доступная для записи без наличия напряжения на технологическом разъеме, занимает адреса памяти 60000-6FFFF.
В этой части ППЗУ должны располагаться настроечные массивы информации, записываемые ПК “Инициализация” и используемые ПК “Обмен”.
4.3.2 Массивы « МПР-МВВ »
Каждый из массивов «МПР-МВВ» содержит информацию об одной из групп передачи информации от МПР в МВВ. Возможное количество таких массивов от 0 до 8. Структура информации в каждом из таких массивов аналогична приведенной в протоколе взаимодействия КИВШ.00225-01 92 01.
4.3.3 Массивы « МВВ-МПР »
Каждый из массивов «МВВ-МПР» содержит информацию об одной из групп приема информации от МВВ в МПР. Возможное количество таких массивов от 0 до 8. Структура информации в каждом из таких массивов аналогична приведенной в протоколе взаимодействия КИВШ.00225-01 92 01.
5 Описание алгоритмов
5.1 ПК « Управляющая программа »
5.1.1 Состав ПК
ПК « Управляющая программа » должен состоять из следующих программных компонентов:
- ПКт « Стартовый запуск »;
- ПКт « Выбор режима работы »;
- ПКт « Обработка прерываний »;
- ПКт « Управление таймерными задачами »;
- ПКт « Управление фоновыми задачами »;
- ПКт « Обработка аварийных ситуаций ».
5.1.2 ПКт « Стартовый запуск »
ПКт должен осуществлять следующие операции:
- инициализацию аппаратных устройств модуля МВВ-34 в соответствии с документом « Техническое описание ».
- инициализацию обмена с модулем МПР в соответствии с документом КИВШ.00225-01 92 01 «Протокол взаимодействия центрального процессора и модуля ввода-вывода МФПУ »
5.1.3 ПКт « Обработка прерываний »
При появлении заданных прерываний ПКт должен передавать управление соответствующим модулям программы. При появлении любых других прерываний ПКт должен передавать управление ПКт «Обработка аварийных ситуаций ».
К задачам, выполняемым по специальным прерываниям, относятся:
- ПКт «Выбор режима работы»;
- ПКт «КЛС-МВВ».
5.1.4 ПКт « Управление таймерными задачами »
ПКт должен производить запуск компонентов различных ПК, требующих определенного периода запуска, с заданными периодами.
К таймерным задачам относятся:
- ПКт «МПР- МВВ»;
- ПКт «МВВ- МПР»;
5.1.5 ПКт « Управление фоновыми задачами »
ПКт должен производить запуск компонентов различных ПК, не требующих определенного периода запуска.
К фоновым задачам относятся:
- ПКт «МВВ-КЛС»;
- ПК «Непрерывный контроль»;
- Включаемое в вычислительный процесс технологическое ПО;
5.1.6 ПКт « Выбор режима работы »
ПКт должен запускаться по прерываниям, поступающим в случае изменения управляющего слова, а также программным компонентом «Управление таймерными задачами» с наинизшим приоритетом. ПКт должен сравнить значения разрядов управляющего слова с его копией, созданной в предыдущем запуске.
В случае изменения разрядов управляющего слова, определяющих режим функционирования МВВ, должен быть произведен запуск программного комплекса «Инициализация», «Обмен» или «Расширенный контроль».
5.1.7 ПКт « Обработка аварийных ситуаций »
ПКт должен подразделяться на ряд ПМ, каждый из которых обрабатывает одну из аварийных ситуаций:
- аварийный сбой питания;
- выход на запрещенный адрес;
- прерывание по неопознанному вектору;
- выход указателя стека за допустимый диапазон.
При появлении прерывания по аварийному сбою питания должно произойти зацикливание на одном из регистров без выхода в шину продолжительностью 80 мс с последующим выходом из прерывания.
В других аварийных ситуациях должны быть произведены следующие действия:
- заблокирован таймер;
- вновь проинициализирован стек;
- в буфер вывода по RS-232 записана информация о состоянии процессора в соответствии с протоколом взаимодействия АИРЦ.00231-92 01;
- разблокирован таймер;
- перезапущен ПКт « Управление фоновыми задачами ».
5.2 ПК « Обмен »
5.2.1 Состав ПК
ПК « Обмен » должен состоять из следующих программных компонентов:
- ПКт « КЛС-МВВ »;
- ПКт « МВВ-МПР »;
- ПКт « МПР-МВВ »;
- ПКт « МВВ-КЛС ».
5.2.2 ПКт « КЛС-МВВ »
ПКт должен запускаться по прерываниям, поступающим от приемо-передатчиков в момент приема ими информации. ПКт должен проанализировать значение регистра состояния приемо-передатчика, от которого поступило прерывание и при наличии единиц в разрядах младшего байта регистра состояния для каждого из таких разрядов произвести следующие действия:
- Если флаг приема по данного сигнала установлен в –1 – дальнейших действий не производить.
- Прочитать значения сначала младшего (MSW), а затем старшего (LSW) слов буфера сообщения соответствующего канала с записью их в промежуточное 32-разрядное слово.
- Если флаг приема по данному каналу установлен в 3 – дальнейших действий не производить.
- Если принятое значение равно значению в соответствующем элементе массива «Данные приема» - установить флаг приема в 1, если не равно – установить флаг в 2 и переписать полученное значение в массив «Данные приема».
5.2.3 ПКт « МВВ-МПР »
ПКт должен принимать один параметр – номер группы приема.
ПКт должен запускаться управляющей программой для каждой из групп приема с частотой функционирования соответствующей группы.
ПКт должен на основании информации, содержащейся в массивах «Данные приема» и «Флаги приема» обновить информацию в массивах двухпроцессорного ОЗУ.
С этой целью ПКт для каждого из сигналов группы, значение флага приема которого положительно ( информация обновилась ), должен произвести следующие действия.
- Переписать значение матрицы состояния ( 30 и 29 разряды элемента массива “Данные приема” ) в соответствующий элемент буферного массива матриц состояния ( если массив матриц состояния в данной группе предусмотрен ). По его значению центральный процессор сможет контролировать обновление информации .
- Если флаг приема сигнала меньше 2 ( сигнал возможно обновился, но не изменился ) – дальнейших действий не производить.
- Значения 28 – 8 разрядов преобразовать в соответствии с ценой старшего разряда сигнала в число с плавающей точкой (типа float), или ( при нулевой цене старшего разряда ) сдвинуть на 3 разряда влево.
- Полученное значение записать в соответствующий элемент буферного массива значений сигналов.
- Записать единицу в соответствующий элемент буферного массива флагов изменения ( если массив флагов изменения в данной группе предусмотрен ).
- Сбросить в 0 флаг приема.
По окончании обработки всех сигналов группы ПКт должен произвести следующие действия:
- Прочитать значение семафора доступа к соответствующим данным в двухпроцессорном ОЗУ, и если он открыт, закрыть семафор.
- Переписать информацию из буферных массивов значений сигналов, матриц состояния и флагов обновления в соответствующие массивы двухпроцессорного ОЗУ.
- Открыть семафор.
- В случае, когда произошло изменение значения хотя бы одного сигнала, установить соответствующий разряд в слове состояния ( если такой режим предусмотрен ).
5.2.4 ПКт « МПР-МВВ »
ПКт должен принимать один параметр – номер группы передачи.
ПКт должен запускаться управляющей программой для каждой из групп передачи с частотой функционирования соответствующей группы.
ПКт должен преобразовать информацию, содержащуюся в массивах двухпроцессорного ОЗУ в формат КЛС с записью ее в массив «Данные передачи».
ПКт должен произвести следующие действия:
- Прочитать значение семафора доступа к соответствующим данным в двухпроцессорном ОЗУ, и если он открыт, закрыть семафор.
- Переписать информацию о значениях сигналов из двухпроцессорного ОЗУ в буферный массив.
- Открыть семафор.
Далее для каждого из сигналов группы должен произвести следующие действия.
- Eсли флаг приема по данному каналу установлен в –1 или –3 – дальнейших действий не производить;
- Прочитать значение из соответствующей ячейки межпроцессорного ОЗУ;
- Преобразовать полученное значение из числа с плавающей точкой в 20 –разрядное значение с использованием цены старщего разряда, или ( при нулевой цене старшего разряда ) - сдвинуть значение вправо на 3 разряда.
- Дополнить полученное значение матрицей состояния, битом четности и адресной частью.
- Записать полученное значение в соответствующий элемент массива «Данные передачи».
- Установить в 1 соответствующий флаг передачи.
5.2.5 ПКт « МВВ-КЛС »
ПКт должен производить перепись сформированной информации из массива «Данные передачи» в очереди сообщений кодовых линий связи.
ПКт должен производить опрос флагов передачи на предмет установки их в единицу. С целью разведения во времени обращений к одной и той же КЛС очередность опроса должна быть следующей: сначала опрашиваются флаги нулевых адресов всех линий поочередно, затем первых и т.д.
При обнаружении установленного в 1 флага анализируется очередь сообщений соответствующей КЛС. Если она не переполнена, производятся следующие действия:
- Флаг передачи установить в –1.
- Переписать значение из массива «Данные передачи» в очередь сообщений соответствующей КЛС.
- Флаг передачи сбросить в 0.
5.3 ПК « Инициализация »
ПК «Инициализация » должен состоять из одного ПКт. Он должен произвести перепись информации из двухпроцессорного ОЗУ в ППЗУ модуля МВВ.
5.4 ПК « Непрерывный контроль »
ПК должен осуществлять непрерывный контроль аппаратуры модуля МВВ-34 во взаимодействии с аппаратными средствами встроенного контроля МВВ, как описано в подразделе 4.6 «Встроенный контроль» документа «Техническое описание».
Алгоритмы непрерывного контроля аппаратуры обмена с приведены в документе КИВШ.00225-01 92 01 «Протокол взаимодействия…».
По окончании каждого цикла контроля информация о его результатах должна быть отражена в ячейках двух-процессорного ОЗУ в соответствии с «Протоколом взаимодействия…».
5.5 ПК « Расширенный контроль »
ПК должен произвести расширенный контроль приемо-передатчиков, установленных на модуле МВВ-34. Для этого приемо-передатчики должны быть переведены в тестовый режим с отключением от линий. На выходы передатчиков должны подаваться тестовые значения, после чего сравниваться с этими же значениями, принятыми приемниками.
По окончании контроля информация о его результатах должна быть отражена в ячейках двух-процессорного ОЗУ в соответствии с «Протоколом взаимодействия…».
5.6 ПК « Расширенный контроль аппаратуры обмена»
Алгоритмы расширенного контроля аппаратуры обмена приведены в документе КИВШ.00225-01 92 01 «Протокол взаимодействия…».
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ
ЖКИ - Жидко-кристаллический индикатор
КЛС - Кодовая линия связи
КПП - Контрольно-проверочная программа
МБД - Модуль базы данных
МВВ - Модуль ввода-вывода
МДК - Модуль дисплейного контроллера
МДС - Модуль дискретных сигналов
МИП - Модуль источника питания
МКК - Модуль контроллера клавиатуры
МПР - Модуль процессора
МФПУ - Многофункциональный пульт управления
ОЗУ - Оперативное запоминающее устройство
ПДС - Преобразователь дискретных сигналов
ПЗУ - Постоянное запоминающее устройство
ПО - Программное обеспечение
ППЗУ - Перепрограммируемое ПЗУ
РК - Разовая команда
РМП - Рабочее место программиста
СПО - Специальное программное обеспечение
ТК - Технологический компьютер