Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-1
Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-1
Содержание
Содержание 1
Список принятых сокращений 5
Аннотация 6
Введение 8
1. Анализ многофункционального пульта управления и модуля ввода -
вывода 10
1.1. Программно-аппаратный интерфейс МФПУ-1 10
1.1.1. Интерфейс МПР и МВВ-34 10
1.1.2. Интерфейс МПР и МДС-1 10
1.1.3. Интерфейс МПР и МДК-1 10
1.1.4. Интерфейс МПР и МКК-2 13
1.2. Описание модуля МВВ 13
1.2.1. Технические данные МВВ 13
1.2.2. Микропроцессорное устройство 14
1.2.3. Структура и функционирование МВВ 14
1.2.4. Контроллер КЛС 15
1.2.5. Конфигурация микропроцессора 19
1.2.6. Взаимодействие МВВ с центральным процессором 21
1.2.7. Встроенный контроль 21
2. Анализ инструментальных средств 24
2.1. Выбор языка программирования 24
2.2. Загрузка и функционирование программ в МВВ 25
2.3. Загрузка и функционирование программ в МПР 27
3. Состав и назначение тестов 28
3.1. Ориентировочный состав тестов. 28
3.2. Контроля аппаратуры обмена 28
3.2.1. Непрерывный контроль 28
3.2.2. Расширенный контроль 29
3.2.3. Контроль семафоров 29
3.2.4. Контроль рабочей области 30
3.2.5. Контроль прерываний 31
4. Требования к функциональным характеристикам тестов 33
4.1. Требования к программе 33
4.2. Требования к ВСК 33
4.2.1. Программные средства текущего контроля 34
4.2.2. Программные средства расширенного контроля. 35
4.3. Требования к КПП 35
4.4. Требования к отдельным тестам 36
4.4.1. Тест JTAG 36
4.4.2. Тест интерфейса ISA 36
4.4.3. Тест микропроцессора 36
4.4.4. Тест канала RS-232C 37
4.4.5. Тест ППЗУ 37
4.4.6. Тест чтения перемычек выбора режима 37
4.4.7. «Быстрый» тест ОЗУ и «расширенный» тест ОЗУ 37
4.4.8. Тест двух портового ОЗУ 37
4.4.9. Тест сигнала «Отказ МВВ» 38
4.4.10. Тест контроллера КЛС 38
4.4.11. Тест обмена по КЛС 38
4.4.12. Тест программирования ЭСППЗУ 39
4.4.13. Тест программирования Flash-ЗУ 39
4.5. Требования к надежности 39
4.6. Требования к информационной и программной совместимости 39
5. Описание функционирования КПП и ВСК 40
5.1. Модуль центрального процессора 40
5.1.1. «Контроль аппаратуры обмена» 40
5.1.2. «Расширенный контроль» 43
5.2. Модуль ввода-вывода 45
5.2.1. «Контроль аппаратуры обмена» 45
5.2.2. «Расширенный контроль» 48
5.3. Вспомогательные функции 50
5.3.1. Процедура открытия семафоров (МВВ) 50
5.3.2. Процедура закрытия семафоров (МВВ) 50
5.3.3. Чтение из двух портового ОЗУ (МВВ) 51
5.3.4. Запись в двух портовое ОЗУ (МВВ) 51
5.3.5. Процедура открытия семафоров (МПР) 52
5.3.6. Процедура закрытия семафоров (МПР) 52
5.3.7. Чтение из двух портового ОЗУ (МПР) 53
5.3.8. Запись в двух портовое ОЗУ (МПР) 53
5.4. Инициализация обмена с МВВ 54
5.5. Режим «контроль аппаратуры обмена» 54
5.5.1. Контроль семафоров 55
5.5.2. Контроль рабочей области 56
5.5.3. Контроль прерываний 57
5.6. Режим «расширенный контроль» 57
5.6.1. Тест микропроцессора 58
5.6.2. Тест ППЗУ 58
5.6.3. Быстрый тест статического ОЗУ 58
5.6.4. Расширенный тест статического ОЗУ 58
5.6.5. Тест сигнала «отказ МВВ» 59
5.6.6. Тест контроллера КЛС 59
6. Экологичность и безопасность проекта. 60
Введение. 60
6.1. Анализ опасных и вредных факторов. 61
6.1.1. Электробезопасность. 61
6.1.2. Анализ помещения по электробезопасности [8]. 67
6.1.3. Анализ помещения по взрывопожарной безопасности. 68
6.2. Анализ по обеспечению здоровых и безопасных условий труда. 69
6.3. Паспорт рабочего места. 71
6.4. Оценка условий труда по степени вредности и опасности. 75
7. Организационно-экономическая часть 82
7.1. Принципы организации оплаты труда 82
7.1.1. Принципиальные положения оплаты труда 82
7.1.2. Формы и системы оплаты труда 83
7.2. Расчет стоимости разработки КПП МВВ для МФПУ-1. 89
7.2.1. Расчет затрат на разработку программы 89
7.2.2. Расчет экономической эффективности от внедрения программного
продукта 90
7.2.3. Затраты до внедрения 91
7.2.4. Затраты после внедрения 91
Список используемых источников 94
Приложение 1: МВВ – «Контроль аппаратуры обмена» 96
Приложение 2: МПР – «Контроль аппаратуры обмена» 102
Приложение 3: МВВ – «Расширенный контроль» 108
Приложение 4: МПР – «Расширенный контроль» 112
Список принятых сокращений
ВСК - встроенный контроль
ДПОЗУ - двух портовое ОЗУ
ЖКИ - жидкокристаллический индикатор
КЛС - кодовая линия связи
КПП - контрольно-проверочная программа
МБД - модуль базы данных
МВВ - модуль ввода-вывода
МДК - модуль дисплейного контроллера
МДС - модуль дискретных сигналов
МИП - модуль источника питания
МКК - модуль контроллера клавиатуры
МПР - модуль процессора
МФПУ - многофункциональный пульт управления
ОЗУ - оперативное запоминающее устройство
ПДС - преобразователь дискретных сигналов
ПЗУ - постоянное запоминающее устройство
ПО - программное обеспечение
ППЗУ - перепрограммируемое ПЗУ
РК - разовая команда
РМП - рабочее место программиста
СПО - специальное программное обеспечение
ТК - технологический компьютер
ТПО - тестовое программное обеспечение
Аннотация
Данный дипломный проект посвящен разработке алгоритмов и написанию
подпрограмм взаимодействия модуля ввода-вывода (далее МВВ-34 и МВВ) с
модулем центрального процессора (далее МПР), разработке контрольно-
проверочной программы МВВ-34 и ее взаимодействие с МПР, в состав которой
вошли следующие программные компоненты:
1. Контроль аппаратуры обмена:
- тест семафоров;
- тест рабочей области (двух портового ОЗУ);
- тест прерываний.
2. Расширенный контроль МВВ:
- тест микропроцессора;
- тест ППЗУ;
- быстрый тест ОЗУ;
- расширенный тест ОЗУ;
- тест двух портового ОЗУ;
- тест сигнала «Отказ МВВ»;
- тест контроллера КЛС.
В разделе «Анализ многофункционального пульта управления и модуля
ввода-вывода» рассмотрены основные аспекты функционирования модуля в
целом.
В разделе «Анализ инструментальных средств и взаимодействие МФПУ-1 с
технологическим компьютером» рассмотрены особенности принятия и
использования языка программирования, написания, отладки, загрузки и
функционирования ПО.
Раздел «Состав и назначение тестов» включает в себя вид контроля и
состав тестов в каждом виде.
В разделе «Требования к функциональным характеристикам тестов»
описаны требования к ВСК и КПП, а так же к отдельным тестам.
В разделе «Описание функционирования КПП и ВСК» описаны реализованные
тесты, подробные алгоритмы их функционирования, особенности.
В разделе «Безопасность жизнедеятельности» проведен анализ вредных и
опасных факторов.
В «организационно-экономической» части приведен расчет экономических
затрат на разработку, внедрение и эксплуатацию разработанной контрольно-
проверочной программы и встроенного контроля.
В приложении к выпускной работе приведены листинги разработанных
тестов для МВВ-34 и МПР.
Введение
Появление микропроцессоров в 60-х годах связано с разработкой
интегральных схем (ИС). Интегральные схемы объединяли в себе различные
электронные компоненты в единый элемент на силиконовом «чипе».
Разработчики установили этот крошечный чип в устройство, напоминающие
сороконожку и включили его в функционирующие системы. В начале 70-х
микрокомпьютеры на процессоре Intel 8008 возвестили о первом поколении
микропроцессоров.
К 1974 году появилось второе поколение микропроцессоров общего
назначения Intel 8080. Данный успех побудил другие фирмы к производству
этих или аналогичных процессоров. В 1978 году фирма Intel выпустила
процессор третьего поколения - Intel 8086, который обеспечивал некоторую
совместимость с 8080 и являлся значительным продвижением вперед в данной
области. Для поддержки более простых устройств и обеспечения
совместимости с устройствами ввода-вывода того времени Intel разработал
разновидность процессора 8086 - процессор 8088, который в 1981 году был
выбран фирмой IВМ для ее персональных компьютеров. Более развитой версией
процессора 8088 является процессор 80188, а для процессора 8086 -
процессоры 80186, 80286 и 80386, которые обеспечили дополнительные
возможности и повысили мощность вычислений. Микропроцессор 80286,
установленный в компьютерах IBM AT появился в 1984 году. Все эти
процессоры имеют отношение к развитой архитектуре процессоров фирмы Intel
и обозначаются как iAPX86, iAPX 88, iAPX86, iAPX286 и iAPX386, где APX -
Intel Advanced Processor Architecture.
Со стремительным развитием технологий в области микропроцессоров
и микропроцессорной техники стало возможным применение микропроцессоров
практически во всех отраслях промышленности. Разработанный фирмой Intel
микропроцессор I80386EX стал одним из главных микропроцессоров
применяемых в промышленности. Данный микропроцессор был разработан
специально для применения в промышленности. Основой для его разработки
послужил микропроцессор I80386, проявивший себя с положительной стороны в
компьютерных технологиях. Микропроцессор I80385EX отличается от своего
родоначальника I80386 лишь тем, что к нему предъявлены более высокие
требования, а так же в сам процессор были проинтегрированы такие
устройства как контроллер прямого доступа к памяти, два контроллера
прерываний, таймер, сторожевой таймер и т.д.
Анализ многофункционального пульта управления и модуля ввода -
вывода
1 Программно-аппаратный интерфейс МФПУ-1
1 Интерфейс МПР и МВВ-34
МВВ-34 предназначен для реализации в МФПУ-1 функций приема и выдачи
информации по кодовым линиям связи (КЛС) согласно ГОСТ 18977-79 и РТМ
1495-75 с изменениями 2 и 3 (ARINC 429).
Взаимодействие МПР и МВВ осуществляется через 2-х портовое ОЗУ,
размещенное в МВВ. МПР производит доступ к этой памяти по стандартной ISA
шине, а доступ процессора ввода/вывода МВВ (Intel386EX) происходит по его
локальной шине. Обоим процессорам 2-х портовая память доступна по чтению
и записи.
2 Интерфейс МПР и МДС-1
Модуль дискретных сигналов МДС-1 (далее в тексте МДС) предназначен
для приема и выдачи дискретных сигналов (разовых команд) и связи с МПР по
шине ISA.
Взаимодействие МПР и МДС осуществляется через программно-доступные
регистры МДС, располагаемые в области адресов ввода-вывода МПР.
3 Интерфейс МПР и МДК-1
МДК-1 предназначен для формирования изображения растровым методом и
отображения информации на экране жидкокристаллической (ЖК) активной
матричной цветной панели CT4040-C8 в составе прибора МФПУ-1.
В качестве графического процессора в модуле применен 32-разрядный
RISC-процессор SMJ34020AGBM32 исполнения Military производства фирмы
Texas Instruments Incr.
Взаимодействие МПР и МДК осуществляется через перемещаемое «окно»
МПР, отображенное в область памяти графического процессора МДК.
1 Программирование обмена с МПР
Протокол обмена данными между центральным процессором и GPS должен
определяться системным программистом, исходя из решения конкретных задач
и распределения аппаратных ресурсов в системе (степени загруженности
центрального процессора и возможности его привлечения для решения
графических задач). Можно порекомендовать с целью уменьшения передаваемой
информации (дисплейного файла) реализовать «векторный вход»: центральный
процессор передает в дисплейном файле команды «нарисовать отрезок (дугу,
окружность...)», а графический процессор разлагает передаваемые примитивы
в растр.
Для срочного привлечения внимания к себе и для поддержки протокола
обмена графический процессор может вызвать аппаратное прерывание
центрального процессора по линии IRQ11 для шины ISA с предварительной
загрузкой сообщения в свой почтовый ящик MSGOUT[HSTCTLL].
Аналогично центральный процессор также может вызвать программное
прерывание графического процессора установкой бита (регистра I/O
служебной зоны) INTIN[HSTCTLL] с передачей сообщения через буфер
(почтовый ящик) MSGIN[HSTCTLL].
Аппаратный интерфейс обмена с центральным процессором не поддерживает
пересылку информации с предварительной выборкой адреса графического
процессора. При обращении центрального процессора в адресную зону ОЗУ
программ обмен производиться 16-ти битовыми словами. Зона ОЗУ программ
накрывает зону служебных регистров I/O, обращения в служебную зону
рассматриваются как 32-разрядные.
2 Программирование тестов
При всяком сбросе GSP (по включению питания, аварии источника
питания, аппаратном сбросе с контрольного разъема, по системному сбросу
RESET_DRV) должна выполняться проверка модуля путем последовательного
исполнения тестов отдельных его компонент, а затем их инициализацию в
нужное рабочее состояние. В случае определения ошибок при тестировании
GSP должен сформировать разовую команду «Неисправность МДК" и прекратить
выполнение команд. Можно порекомендовать метод контрольных точек для
идентификации дефекта в случае определения ошибок. Суть его будет
заключаться в том, что каждой тестируемой компоненте ставиться в
соответствие своя контрольная точка, и она запоминается в определенной
ячейке памяти. Прохождение текущей контрольной точки можно сопроводить
выводом сообщения на экран CT4040. В случае ошибки по номеру контрольной
точки можно установить неисправный компонент модуля. Альтернативным
способом можно ввести регистр неисправности модуля с соответствующей
битовой структурой и отображать на экране бинарный код.
Обязательно необходимо предусмотреть проведение текущей
работоспособности модуля в процессе штатной работы. Необходимо
засинхронизировать проведение текущего теста с обратным ходом сигнала
кадровой развертки. Объем текущего теста должен по возможности быть
небольшим (на уровне проверки значений контрольных сумм ПЗУ, проверки
записи/чтения данных в фиксированные ячейки ОЗУ).
Необходимо предусмотреть режим расширенного теста модуля по протоколу
взаимодействия с центральным процессором (предположим в режиме наземного
контроля МФПУ), с отображением на экране CT4040 тестовых кадров проверки
самого модуля, а также проверки светотехники, геометрии и других
параметров непосредственно самой панели.
4 Интерфейс МПР и МКК-2
МКК-2 (далее в тексте МКК) предназначен для сканирования клавиатуры,
определения нажатой клавиши и выдачи кода этой клавиши в модуль
процессора (МПР). В качестве контроллера в модуле используется
однокристальный микроконтроллер MD87C51FB-16 производства фирмы Intel.
МКК также сканирует клавиши управления подсветом ЖКЭ и выдает аналоговый
сигнал на модуль МУП по результатам обработки состояния этих клавиш.
2 Описание модуля МВВ
МВВ предназначен для реализации в МФПУ-1 функций приема и выдачи
информации по кодовым линиям связи (КЛС) согласно ГОСТ 18977-79 и РТМ
1495-75 с изменениями 2 и 3 (ARINC 429).
1 Технические данные МВВ
1. Количество входных КЛС - 32.
2. Скорость обмена по входным КЛС - от 10 до 100 Кбит/сек. Настройка
КЛС на конкретную скорость обмена обеспечивается установкой
конденсаторов входного фильтра при целевом изготовлении модуля МВВ и
программной установкой после включения питания, при этом программно
устанавливаемая скорость не должна превышать граничной скорости,
заданной конденсаторами входного фильтра.
3. Количество выходных КЛС - 9. Скорости передачи по выходным КЛС: от
12,5 до 14,0 Кбит/сек; 50 Кбит/сек +/-1%; 100 Кбит/сек +/-1%.
Настройка любой КЛС на выбранную скорость передачи производится
программно.
4. Пропускная способность МВВ обеспечивает прием и передачу информации
по КЛС без потерь при соблюдении следующих соотношений:
1) количество входных КЛС со скоростью 100 Кбит/сек - не более восьми
(остальные входные КЛС должны иметь скорости обмена не более 50
Кбит/сек);
2) общее количество 32-разрядных сообщений, принимаемых МВВ по КЛС, - не
более 6000 сообщений за 1 секунду;
3) общее количество 32-разрядных сообщений, выдаваемых МВВ по КЛС, - не
более 1500 сообщений за 1 секунду.
2 Микропроцессорное устройство
Тип микропроцессора - 80386ЕХ - со встроенной периферией:
- контроллер прерываний;
- контроллер прямого доступа;
- таймер;
- сторожевой таймер;
- последовательный порт (RS232C).
- Тактовая частота - 20 МГц.
Система памяти:
1) статическое ОЗУ емкостью 128К(слов)*16 (разрядов);
2) ЭСППЗУ типа Flash - 256К*16;
3) ЭСППЗУ с возможностью перезаписи отдельных байтов - 128К*8;
4) двух портовое ОЗУ - 16К*16.
5) ПЗУ всех типов программируются в составе МВВ.
3 Структура и функционирование МВВ
Основной функциональный узел – это контроллер КЛС, состоящий из 32
независимых приемных каналов, 9 независимых передающих каналов и
интерфейса с микропроцессором. Приемный канал преобразует
последовательный дифференциальный сигнал КЛС в параллельный код
(сообщение длиной 32 разряда) и записывает его в буферный регистр.
Микропроцессор считывает принятые сообщения из буферных регистров
(словами по 16 разрядов), адресуясь по внутренней шине к соответствующему
приемному каналу (в режиме прерывания или по опросу готовности) и
формирует блоки информации в двух портовом ОЗУ. Центральный процессор,
обращаясь к МВВ по системной шине, считывает из двух портового ОЗУ
принятые данные, записывает в двух портовое ОЗУ информацию для передачи
по КЛС и, при необходимости, управляющую (командную) информацию для МВВ.
Микропроцессор, опрашивая соответствующие ячейки двух портового ОЗУ,
ставит выходные сообщения в очередь соответствующего передающего канала),
каждый передающий канал содержит буфер типа FIFO на 8 слов по 32
разряда). Передающий канал преобразует очередное сообщение в
последовательный сигнал КЛС в соответствии с заданными при инициализации
скоростью передачи и паузой между сообщениями.
Программы, управляющие микропроцессором, и константы размещаются в
ППЗУ типа Flash объемом 512 Кбайт (256К*16). Статическое ОЗУ (128К*16)
предназначено для размещения переменных различного назначения и,
возможно, отдельных программных модулей, требующих более быстрого
выполнения. Кроме того, имеется ЭСППЗУ размером 128К*8 с возможностью
перезаписи отдельных байтов, предназначенное для размещения начального
загрузчика программного обеспечения, а также параметров, требующих
сохранения при отключении или отказе питания (например, результаты
тестирования, количество циклов перепрограммирования ППЗУ).
На технологический разъем выведены канал RS-232C (для загрузки
программного обеспечения и тестирования при проведении профилактических и
отладочных работ) и канал JTAG (для отладки и загрузки начального
загрузчика).
4 Контроллер КЛС
Сигналы с 32 входных КЛС поступают на приемники типа RM3283, которые
преобразуют биполярные трехуровневые сигналы (в стандарте ARINC 429) в
двухпроводные сигналы ТТЛ - уровня (линии «H» и «L» в коде RZ),
поступающие далее на входы СБИС многоканальных приемопередатчиков (MRT)
типа TS68C429. Каждая из 32 входных КЛС может быть настроена на скорость
обмена от 10 до 100 Кбит/с. Настройка определяется программной установкой
длительности паузы в микросхеме MRT и подключением конденсаторов входного
фильтра к соответствующим выводам приемников (по 2 конденсатора на каждую
КЛС). Стандартное значение емкости конденсаторов 39 пФ, что соответствует
максимально допустимой скорости обмена 100 Кбит/с. Если необходимо
увеличить помехозащищенность отдельных КЛС, для них при целевом
изготовлении модуля МВВ возможна установка конденсаторов большей емкости;
при этом пропорционально уменьшается максимально допустимая скорость
обмена по данной КЛС.
Микросхема MRT содержит 8 приемных каналов и 3 передающих. В приемном
канале последовательный RZ-код преобразуется в параллельный двоичный (в
сдвиговом регистре); конец сообщения определяется по соответствию
длительности паузы после последнего принятого бита значению, записанному
в регистр паузы; после этого принятое сообщение проверяется на
допустимость, т.е. проверяются длина сообщения (32 бита), четность и
соответствие адресной части (метки) сообщения (разряды с 1 по 8) матрице
управления метками. Если все три условия выполнены, и буферный регистр
свободен, то сообщение из регистра сдвига переписывается в буферный
регистр, при этом устанавливается бит готовности в регистре состояния MRT
и, если разрешено, вырабатывается прерывание на микропроцессор.
Микропроцессор считывает из буферного регистра сначала старшее слово
(MSW, разряды с 17 по 32), затем младшее (LSW), поскольку считывание LSW
является признаком освобождения буфера, разрешающим запись в него нового
сообщения из сдвигового регистра. Промежуток времени, в течение которого
микропроцессор должен среагировать на прерывание или признак готовности и
освободить буфер, чтобы не допустить потери информации в сдвиговом
регистре, определяется длительностью приема нового сообщения в сдвиговый
регистр (32T) и длительностью паузы (4T), итого - 36T, где T - величина
обратная скорости передачи по данной КЛС.
Передающий канал содержит очередь (FIFO) на 8 сообщений, которая в
адресном пространстве внутренней шины представлена двумя словами.
Микропроцессор записывает по адресу соответствующего канала MRT сначала
старшее слово (MSW) передаваемого сообщения, затем младшее (LSW). Как
только в очередь будет записано хотя бы одно сообщение, начинается
передача: очередное сообщение выталкивается из очереди сначала в регистр
сдвига, затем на последовательный выход (линии «H» и «L» в коде RZ).
Скорость передачи и пауза должны быть предварительно установлены
микропроцессором, соответственно, в регистре частоты и регистре
управления передающего канала MRT. Также в регистре управления
устанавливается режим формирования бита четности для передачи (разряд
32). Количество сообщений в очереди доступно для чтения через регистр
управления. Очередь может быть очищена в любой момент путем обращения к
этому же регистру. Если очередь пуста, устанавливается соответствующий
бит в регистре состояния MRT и, если разрешено, вырабатывается прерывание
на микропроцессор. Промежуток времени, в течение которого микропроцессор
должен среагировать на эту ситуацию, определяется длительностью передачи
последнего сообщения из сдвигового регистра (32T) и максимально
допустимой длительностью паузы (как правило 40T), итого - 72T.
Выходы передающих каналов MRT подаются на микросхемы передатчиков
RM3182, которые преобразуют ТТЛ - уровни в биполярные трехуровневые
сигналы ARINC 429 и формируют фронты необходимой длительности.
Длительность фронтов каждого передатчика управляется микропроцессором
через параллельный порт и должна устанавливаться при программировании
скорости передачи соответствующего канала:
- логический ноль - для скорости передачи от 12,5 до 14,0 Кбит/с
(длительность фронта/спада 10 мкс);
- логическая единица - для скорости передачи 100 Кбит/с или 50 Кбит/с
(длительность фронта/спада 1,5 мкс).
Имеется также возможность отключения микропроцессором выходов всех
передатчиков (по входам стробирования) при проведении программно-
управляемого контроля МВВ.
Схемы встроенного контроля поддерживают 3 вида контроля:
1) Непрерывный аппаратный контроль выходов КЛС для обнаружения отказов
микросхем передатчиков и коротких замыканий на выходах. В этом режиме
сигналы с выходов микросхем передатчиков через мультиплексор и
преобразователь уровня подаются на схему сравнения, где они сравниваются
с сигналами на соответствующих входах микросхем передатчиков; при
несовпадении вырабатывается прерывание на микропроцессор. Переключение
линий при мультиплексировании - аппаратное, без вмешательства программы.
Программно устанавливается только период сигналов переключения,
формируемых таймером.
2) Программно-управляемый контроль в составе системы. Производится после
включения питания или по команде оператора. В этом режиме выходы всех
передатчиков должны быть отключены (выдача сигналов в систему запрещена),
а данные для тестирования выбираются мультиплексором со входов микросхем
передатчиков и через преобразователь кода подаются на тестовые входы
приемников. При этом в микросхемах приемников блокируются сигналы входных
КЛС, а данные с тестовых входов преобразуются обратно в RZ-код и подаются
на входы MRT.
3) Автономный программно-управляемый контроль. Производится при отладочных
и профилактических работах. В этом режиме сигналы с выходов микросхем
передатчиков через мультиплексор и преобразователь уровня подаются на
преобразователь кода и затем на тестовые входы приемников, т.е.
обеспечивается максимальная полнота контроля.
В режимах 2 и 3 управление мультиплексорами может быть как
программным, так и аппаратным (переключение по таймеру).
5 Конфигурация микропроцессора
Микропроцессор Intel80386EX имеет программируемую конфигурацию.
Сигнал SMI (прерывание системного управления) инициируется внешним
относительно МВВ устройством (центральным процессором) посредством записи
в последнюю ячейку двух портового ОЗУ. Это прерывание имеет самый высокий
приоритет среди внешних прерываний. При распознавании SMI после
завершения текущей команды ядро микропроцессора (CPU) сохраняет свои
регистры в области SMRAM (область адресов ОЗУ от 3FE00h до 3FFFFh) и
переходит в «режим системного управления» (SMM). Управление передается
драйверу SMM, стартовый адрес которого всегда 38000h (не перемещаемый).
Возврат из SMM осуществляется специальной командой RSM. Подробнее о
режиме SMM см. в описании микропроцессора «Intel80386EX Embedded
Microprocessor Hardware Reference Manual».
Следующее по приоритету - NMI (немаскируемое прерывание). Оно
вырабатывается сторожевым таймером, которому отведена в МВВ функция
контроля выполнения программ для обнаружения непредусмотренного
зацикливания или исполнения блуждающего кода. Далее – контроллер
маскируемых прерываний, который реализован на двух модулях 8259A,
встроенных в микропроцессор 80386EX и соединенных каскадно. На входы
контроллера прерываний поступают запросы прерываний от встроенных
периферийных устройств микропроцессора, от схемы аппаратного контроля
выходов КЛС и семь сигналов от контроллера КЛС. Каждый из запросов
контроллера КЛС может быть сформирован несколькими источниками; чтобы
определить, какой источник требует обслуживания, следует прочитать
регистр состояния, соответствующий данному номеру (вектору) прерывания.
Трехканальный таймер используется для реализации следующих функций.
Канал 0 - для организации часов реального времени с целью присвоения
временных меток принимаемым по КЛС сообщениям. Канал 1 задает период
сигналов переключения мультиплексоров в схеме контроля передатчиков КЛС.
Каналы 0 и 1 тактируются внутренним сигналом PSCLK, получаемым путем
деления тактовой частоты процессора (20 МГц) делителем предварительного
масштабирования (коэффициент деления от 2 до 513). Канал 2, как было
описано выше, формирует опорную частоту (CLK-ARINC) для MRT и тактируется
внешним сигналом, полученным путем деления частоты системного
синхросигнала OSC.
Контроллер ПДП используется для обслуживания канала RS-232C (загрузка
и тестирование через технологический разъем).
Параллельные порты используются для считывания кода задания режима
(статуса) МВВ и для управления длительностью фронтов импульсов,
передаваемых по КЛС.
Ядро микропроцессора (CPU) получает управление после окончания
сигнала сброса на входе микропроцессора. Сброс формируется в следующих
случаях:
1) При включении или восстановлении питания +5В на МВВ; сброс
устанавливается, когда напряжение падает ниже 4,65В (порог срабатывания
от 4,5 до 4,75 В), но остается выше 1,0 В, и удерживается в течение
приблизительно 200 миллисекунд после установления нормального напряжения;
2) По сигналу RESET на системной шине;
3) Программный сброс МВВ через двух портовое ОЗУ со стороны системной шины
(см. п.4.5);
4) По сигналу RSTM на технологическом разъеме.
Возможен также программный сброс только CPU без сброса периферийных
устройств через PORT92 (запись единицы в младший разряд по адресу F092h).
Во всех случаях после окончания сброса CPU производит внутренний тест
самоконтроля в течение примерно 1000000 тактов, затем считывает первую
команду по физическому адресу 3FFFFF0h. Этот адрес преобразуется
устройством выбора кристалла в адрес на внутренней шине МВВ 7FFF0h (кроме
случая сброса CPU через POTR92).
6 Взаимодействие МВВ с центральным процессором
Обмен информацией МВВ с центральным процессором МФПУ производится
через двух портовое ОЗУ (размещенное в МВВ), один из портов которого
подключен к системной шине (ISA), а другой - к внутренней шине МВВ.
Обращения к ОЗУ через любой из портов производятся асинхронно и
независимо от другого порта за исключением следующих двух случаев
одновременного обращения к одной и той же ячейке памяти:
1) через оба порта одновременно пытаются произвести запись в одну и ту же
ячейку памяти; в этом случае тот сигнал записи, который пришел позже,
блокируется;
2) через один из портов производится чтение той ячейки, в которую в этот
момент через другой порт идет запись; такое чтение даст неверные данные.
Исключение подобных ситуаций должно быть обеспечено на программном
уровне соответствующим протоколом обмена, при этом может использоваться
блок семафоров двух портового ОЗУ.
МВВ занимает на системной шине область адресов от A00000h до A1FFFFh
в пространстве расширенной памяти, следовательно доступ к МВВ со стороны
центрального процессора возможен только в защищенном режиме.
Распределение адресов приведено в табл.4.10. Обмен с МВВ производится
стандартными циклами шины ISA с одним тактом ожидания при 16-разрядной
передаче данных, то есть минимальный цикл передачи 16-разрядного слова
составляет 3 такта шины ISA (при частоте BCLK 8,33 МГц это составляет 360
нс.). Возможен также побайтный обмен.
7 Встроенный контроль
Аппаратные средства встроенного контроля МВВ включают следующие:
1) элементы контроля контроллера КЛС; они описаны в п.4.3;
2) сторожевой таймер, встроенный в микропроцессор 80386EX;
3) узел формирования сигнала неисправности модуля, включающий сторожевой
таймер и логику идентификации состояния исправности модуля. Поскольку
сторожевой таймер микропроцессора используется в МВВ для контроля
программного обеспечения, то для обнаружения других непредусмотренных
ситуаций, например, зависание шины, не исправность микропроцессора, -
используется другой (независимый) сторожевой таймер, реализованный на
микросхеме MAX705, с периодом от 1,0 до 2,2 секунд.
Таким образом, длительность цикла текущего встроенного контроля,
управляемого микропроцессором, должна быть не более одной секунды. Этот
цикл может включать, например:
- обработку прерывания INT0 (в случае его возникновения) от схемы контроля
выходов КЛС,
- контроль микропроцессора,
- контроль ОЗУ,
- контроль 2-х портового ОЗУ,
- контроль ЭСППЗУ по контрольным суммам,
- другие виды контроля, в зависимости от наличия свободных ресурсов и
времени.
При завершении цикла контроля, если не обнаружено устойчивых отказов,
микропроцессор записывает в регистр контроля код исправности (отсутствие
обнаруженных отказов). Этот код распознается логикой, и на вход
сторожевого таймера подается импульс, предотвращая его срабатывание; при
этом уровень на выходе сигнала ошибки FLRL остается высоким (неактивным).
Если же сторожевой таймер сработал или в регистр контроля был записан
другой код, отличный от кода исправности, то на системный разъем МВВ
выдается сигнал ошибки: низкий уровень FLRL*.
Одиночные сбои регистрируются записью соответствующей информации в
ЭСППЗУ, область от 60000h до 6FFFFh.
Необходимо вести учет ресурсов ЭСППЗУ всех типов по количеству циклов
программирования с записью соответствующих данных в ЭСППЗУ. Анализ
ресурсов производится в процессе расширенного встроенного контроля,
который запускается при включении питания или по вызову оператора.
Исходное значение ресурса для каждого из двух типов ЭСППЗУ составляет
10000 циклов программирования.
В случае обнаружения устойчивых дефектов микропроцессор записывает в
регистр контроля код, отличный от кода исправности, форсируя выдачу
сигнала ошибки.
Анализ инструментальных средств
1 Выбор языка программирования
МФПУ-1 является специализированной ЭВМ, в состав которого входят
несколько модулей, в частности модуль ввода-вывода основанной на
микропроцессоре Intel80386EX. Данный пульт и модуль ввода-вывода не имеют
операционной системы и средств отладки – все эти компоненты находятся в
стадии разработки. В распоряжении программиста имеются лишь небольшой
набор программ, через которые можно запускать все остальные программы:
- программа полной инициализации пульта и модуля ввода-вывода;
- программа загрузки и передачи управления другой программе – минимальная
операционная система.
Обе эти программы работают на самом низком уровне (с аппаратурой - на
уровне портов и регистров контроллеров) и предъявляют к себе
соответствующие требования. Поэтому для программирования была выбрана
среда разработки Borland C++ 3.1. Данная среда в полной мере обеспечивает
разработку системного программного обеспеченья, дает возможность
применения таких конструкций программирования как FOR, WHILE, SWITCH и
пр., а так же поддерживает инструкции языка ассемблера, что в
совокупности обеспечивает хороший инструмент для разработчика.
. Основными требованиями при программировании под МВВ были:
. оптимизация программируемого кода;
. объем кода;
. скорость выполнения;
. удобочитаемость;
. обеспечение надежности выполнения.
Основной проблемой при программировании, было, есть и остается
возможность отладки. Т.к. для данного пульта не существует полноценной
операционной системы, на которой бы работали стандартные средства
отладки, то для трассировки и выявления ошибок приходиться
программировать, так называемые, «подпорки», которые позволяли бы
отображать результату работы программ в МВВ, и вместе с этим производить
ответную реакцию от центрального процессора.
Все программное обеспечение разных модулей работает под управлением
центрального процессора. При написании программного обеспечения под МПР
задача несколько облегчается по той причине, что для данного модуля
существует «минимальная ОС», которая поддерживает основные функции
стандартной MS-DOS, такие как, ввод-вывод на экран, задержку по таймеру,
сервис прерываний и др. В процессе написания тестового программно
обеспеченья, под МПР, для процесса отладки применялась функция C++ -
printf, которая выводила на экран технологического компьютера отладочную
информацию. Данная ОС разработана фирмой OCTAGON Systems Corporations и
функционирует как ОС удаленного терминала по RS-232 порту (ПО SMARTLINK).
2 Загрузка и функционирование программ в МВВ
Особенностью загрузки программ в МВВ, является то, что загрузку можно
осуществлять двумя способами:[pic]
1. сначала происходит загрузка в МПР, а уже из него в память МВВ;
2. через порт RS232 непосредственно в МВВ.
При использовании первого метода, значительно усложняется процесс
загрузки программ и запуска их на выполнение, но снижаются требования к
средствам разработке - вполне достаточно одного компьютера.
При разработке тестового программного обеспеченья использовался
второй метод. Он гораздо проще, быстрее, эффективнее, но при этом требует
наличия двух компьютеров: один из которых подключен через порт RS232 к
МПР, а второй через такой же порт к МВВ. В такой схеме подключения
разработку и процесс программирования необходимо вести одновременно на
двух компьютерах. Данный метод несомненно более эффективен, но требует
большего технического оборудования, что вызывает большие затраты на
разработку программного обеспечения.
Для загрузки программного обеспечения в модуль ввода-вывода
применяются три системные программы, которые должны отработать
последовательно:
1. инициализация модуля ввода-вывода и МФПУ в целом;
2. загрузка программного обеспеченья через порт RS-232 в модуль;
3. пуск загруженной программы с указанного адреса.
Следует отметить, что все загружаемые программы в МВВ-34 должны быть
в бинарном виде, т.е. не должны содержать никаких заголовков (как у *.EXE
файла). При компиляции программы с языка C++ получается файл типа EXE, и
для перевода его в бинарный формат применялась программа EXE2BIN.EXE.
Программы, загруженные в МВВ, функционируют независимо от всех
остальных модулей, т.к. МВВ имеет свой собственный процессор и
статическую память. В связи с этим возможна отдельная от других модулей
загрузка программ в МВВ, при этом программы функционирующие в других
модулях никоем образом не затрагиваются. Это позволяет вести
распределенное программирование. Единственной проблемой является то, что
результаты выполнения программ невозможно визуально ощутить. Данная
проблема устраняется путем перегрузки информации в межпроцессорное ОЗУ, а
уже с помощью программ через центральный процессор происходит вывод на
дисплей технологического компьютера.
3 Загрузка и функционирование программ в МПР
Модуль центрального процессора, через порт RS-232, подключен к
технологическому компьютеру. На этом компьютере установлена программа
SmartLink фирмы Octagon Systems Corporations, которая является удаленным
терминалом. При включении МФПУ-1 автоматически производятся следующие
действия:
. полный сброс МФПУ-1;
. определение и тест микропроцессора;
. определение и тест базовой и расширенной памяти;
. проверка CMOS;
. запуск ROM-BIOS;
. запуск OCTAGON-DOS;
. запуск драйверов поддержки LPT и RS-232 портов.
Операционная система находится во Flash-памяти пульта. А все действия
осуществляются через SmartLink.
После всех перечисленных автоматических действий можно приступать к
загрузке программ. Возможна загрузка как EXE файлов, так и COM. Все
сообщения, выводимые программами через printf, будут видны только в
терминале SmartLink.
Состав и назначение тестов
1 Ориентировочный состав тестов.
|Наименование теста |Вид контроля |
| |КПП |ВСК |
|Тест JTAG |( | |
|Тест интерфейса ISA |( | |
|Тест микропроцессора |( |( |
|Тест канала RS-232C |( | |
|Тест ППЗУ |( |( |
|Тест чтения перемычек выбора режима |( | |
|Быстрый тест ОЗУ | |( |
|Расширенный тест ОЗУ |( |( |
|Тест двух портового ОЗУ |( |( |
|Непрерывный контроль аппаратуры обмена |( |( |
|Расширенный контроль аппаратуры обмена |( |( |
|Тест сигнала «Отказ МВВ» |( |( |
|Тест контроллера КЛС |( |( |
|Тест обмена по КЛС |( | |
|Тест программирования ЭСППЗУ |( | |
|Тест программирования Flash-ЗУ |( | |
2 Контроля аппаратуры обмена
1 Непрерывный контроль
Модуль МВВ должен периодически переписывать информацию из первой во
вторую ячейки сторожевого таймера. Период такой операции должен
соответствовать максимальному периоду обмена по КЛС, но не реже одного
раза в 1с.
Несоответствие информации в ячейках сторожевого таймера через
указанное время после записи информации в первую ячейку позволяет МПР
констатировать отказ связи с МВВ или «зависание» последнего.
2 Расширенный контроль
В процессе контроля процессор МПР является ведущим, МВВ - ведомым.
Для перехода в режим расширенного контроля аппаратуры обмена МПР должен
записать единицу в 8 разряд управляющего слова, после чего для проведения
каждого из тестов записывать соответствующие параметры в разряды 7 - 0
управляющего слова.
1. Разряды 1 ( 0 содержат код тестируемого устройства:
. 1 – семафор;
. 2 - рабочая область;
. 3 – прерывания;
2. Разряды 3 ( 2 содержат код теста.
3. Разряды 7 ( 4 дополнительный параметр.
В начале выполнения теста МВВ должен установить нуль в 0 и 1 разряды
слова состояния, по окончании выполнения очередного теста - установить
единицу:
- при успешном завершении теста - в 0 разряд слова состояния;
- при обнаружении отказа - в 1 разряд.
3 Контроль семафоров
Для контроля каждого из семафоров процессоры должны произвести 4
теста:
. код 0 - чтение МВВ занятого семафора;
. код 1 - чтение МВВ свободного семафора;
. код 2 - чтение МПР занятого семафора;
. код 3 - чтение МПР свободного семафора.
Для проведения каждого из тестов должны быть произведены следующие
действия.
1. МПР записывает в управляющее слово:
- 6 ( 4 разряды - номер семафора (0 ( 7);
- 3 ( 2 разряды - код теста (0 ( 3).
2. МВВ производит:
- в тесте 0 - читает семафор и сравнивает с 1;
- в тесте 1 - читает семафор и сравнивает с 0;
- в тесте 2 - записывает в семафор 0;
- в тесте 3 - записывает в семафор 1.
3. МВВ записывает результат в 0 или 1 разряд слова состояния.
4. МПР принимает окончательное решение о результате теста.
4 Контроль рабочей области
Для контроля рабочей области должно быть произведено четыре теста:
- код 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 разряд слова состояния;
- МПР принимает окончательное решение о результате теста.
5 Контроль прерываний
Контроль прерываний производится в следующем порядке.
1. МПР в управляющем слове задает требуемый режим.
2. МВВ, получив прерывание, устанавливает все разряды слова состояния
в 0.
3. МПР, получив прерывание, устанавливает все разряды управляющего
слова в 0.
4. МВВ, получив прерывание, устанавливает нулевой (младший) разряд
слова состояния в 1.
5. МПР, получив прерывание, устанавливает тот же разряд управляющего
слова в 1.
6. МВВ, получив прерывание, устанавливает тот же разряд слова
состояния в 0.
7. МПР, получив прерывание, устанавливает тот же разряд управляющего
слова в 0.
8. Действия 4 - 7 повторяются для разрядов 1 - 15.
9. МВВ записывает результат в 0 или 1 разряд слова состояния,
возвращая остальным разрядам значения, которые они имели до начала
теста.
10. МПР принимает окончательное решение о результате теста.
Требования к функциональным характеристикам тестов
1 Требования к программе
В состав ТПО входят программные средства встроенного контроля (ВСК) и
контрольно-проверочная программа (КПП).
ВСК предназначен для текущего и расширенного контроля в процессе
функционирования МФПУ в составе системы. Программные и аппаратные
средства ВСК должны обеспечивать полноту контроля не менее 95%.
Программные средства ВСК физически размещаются в энергонезависимых ЗУ
модулей МВВ и МПР.
КПП предназначена для полной проверки работоспособности МВВ с
применением соответствующих технических средств.
2 Требования к ВСК
В состав программных средств ВСК должны входить:
- обработчик прерывания по входу INT0 микропроцессора 386EX от схемы
аппаратного контроля выходов КЛС;
- обработчик прерывания по входу NMI микропроцессора 386EX от
сторожевого таймера программного обеспечения;
- обработчик сигнала «Отказ МВВ»;
- программные средства текущего контроля;
- программные средства расширенного контроля.
1. Обработка прерывания по входу INT0 (что соответствует входу IR1
ведущего контроллера прерываний) сводится, в соответствии с [1],
к считыванию из регистра контроля информации об ошибке (в
формате: номер выхода КЛС, код на входе передатчика, код на
выходе передатчика).
2. При обработке прерывания по входу NMI фиксируются место в
прерванной программе и время срабатывания сторожевого таймера.
3. Сигнал "Отказ МВВ", поступающий на модуль МДС, следует
обрабатывать в соответствии с техническим описанием модуля МДС.
1 Программные средства текущего контроля
Текущий контроль выполняется в промежутках времени, свободного от
выполнения целевых функций программного обеспечения, но не реже, чем один
раз в секунду. В состав тестов текущего контроля должны входить:
- тест микропроцессора;
- тест ППЗУ по контрольным суммам,
- другие тесты при наличии свободных аппаратных и временных ресурсов.
Кроме того, программные средства текущего контроля должны
взаимодействовать с целевым программным обеспечением для поддержки:
- непрерывного контроля данных, принимаемых и передаваемых по КЛС
путем формирования и контроля битов паритета и анализа регистров
состояния контроллера КЛС,
- периодического контроля данных, хранящихся в ОЗУ и в двух портовом
ЗУ, по битам паритета и контрольным суммам.
Текущий ВСК не должен влиять на входные/выходные сигналы и данные
МВВ.
Результаты текущего ВСК должны анализироваться на частоту появления и
устойчивость дефектов и запоминаться в ЭСППЗУ модуля МВВ (область адресов
от 60000h до 6FFFFh) или МПР с датой выявления ошибки с целью
последующего анализа.
В случае успешного завершения текущего ВСК в регистр контроля
записывается код исправности, а при выявлении устойчивых дефектов записью
в этот регистр кода ошибки инициируется сигнал «Отказ МВВ».
2 Программные средства расширенного контроля.
Расширенный контроль должен запускаться в двух случаях:
- автоматически после включения питания;
- по команде оператора.
При автоматическом запуске расширенного контроля последовательно
выполняются тесты, указанные в графе «ВСК» табл.2. Состав тестов может
уточняться в процессе разработки с учетом общего времени, отведенного на
расширенный контроль МФПУ (не более 20 секунд), и с учетом возможности
параллельного тестирования МВВ и других модулей МФПУ.
При запуске расширенного контроля по команде оператора на дисплей
МФПУ должно выдаваться меню, определяющее функциональный состав и
модификации тестов. Оператор должен иметь возможность разрешить или
запретить любую функцию тестирования, прервать выполнение тестов.
При проведении расширенного контроля выдача информации на выходные
КЛС должна быть заблокирована, т.е. бит TFE в регистре контроля
(разрешение передатчиков КЛС) должен быть очищен.
После завершения расширенного контроля МВВ начинает (продолжает)
выполнять целевую функцию. Ошибки обрабатываются аналогично текущему
контролю.
3 Требования к КПП
Должно быть предусмотрено функционирование КПП МВВ как в составе КПП
МФПУ, так и самостоятельно.
Общее управление проверкой МВВ и диалог с оператором осуществляется
технологическим компьютером. Протокол взаимодействия с МВВ по кабелю 2
приведен в ПРИЛОЖЕНИИ к настоящему документу. Взаимодействие с МПР по
кабелю 1 и взаимодействие между МПР и МВВ по шине ISA определяются
соответствующими протоколами.
При запуске КПП должна проверять наличие связи по каждому из трех
кабелей и, в зависимости от этого, формировать меню для выбора
конфигурации тестов. Отсутствие или неисправность одного или любых двух
кабелей не должно приводить к завершению программы.
КПП должна использовать для проверки МВВ преимущественно модули
встроенного контроля, а в тех случаях, когда ВСК не обеспечивает полного
контроля ввиду аппаратных и временных ограничений, КПП должна загружать в
ОЗУ модулей МВВ и/или МПР собственные программные модули и запускать их
выполнение.
4 Требования к отдельным тестам
1 Тест JTAG
Прежде всего, командой IDCODE следует прочитать код идентификации
микропроцессора (он должен быть равен 28270013h). Затем командой EXTEST
перейти в режим тестирования внешних цепей микропроцессора и произвести
выборочную проверку записи и чтения по нескольким адресам на внутренней
шине. Поскольку канал JTAG медленный, этим тестом можно проверить лишь
ограниченное количество адресов.
2 Тест интерфейса ISA
Проверяются адреса МВВ на системной шине, т.е. ячейки двух портового
ОЗУ, включая семафоры, и сигнал «Сброс». При этом обращение к двух
портовому ОЗУ по внутренней шине МВВ должно быть заблокировано, а
семафоры предварительно очищены.
3 Тест микропроцессора
Тест микропроцессора 80386EX включает тест ядра микропроцессора
(возможно использование встроенного теста, запускаемого по сигналу
«Сброс»") и тестов периферийных устройств: последовательного порта,
таймеров, контроллера прерываний, контроллера ПДП,- с использованием
диагностических режимов и регистров.
4 Тест канала RS-232C
Предварительно проверяется наличие связи (подключен ли кабель) путем
последовательной установки нуля и единицы на выходе DTR и считывания
установленных значений на входе DSR. Далее производится «Установка связи»
и проверяется правильность передачи данных путем посылки несколько раз
команды «Тест» с варьированием значения параметра.
5 Тест ППЗУ
Проверяются контрольные суммы ППЗУ всех типов и ресурсы по количеству
циклов программирования. Информация о ресурсах должна храниться в одной
из ячеек ЭСППЗУ (область от 60000h до 6FFFFh). При исчерпании ресурса
выдается предупреждающее сообщение.
6 Тест чтения перемычек выбора режима
Проверяется правильность считывания четырех перемычек выбора режима
MOD1...MOD4 и перемычки разрешения программирования EPR на внешнем
разъеме X1 МФПУ. Перемычки устанавливаются оператором по запросу
программы и считываются программой.
7 «Быстрый» тест ОЗУ и «расширенный» тест ОЗУ
Поскольку полная проверка ОЗУ (256 Кбайт) занимает достаточно
длительное время, автоматически при ВСК запускается «быстрый»" тест ОЗУ,
содержащий 2 или 4 прохода, например: запись и чтение шахматного кода,
затем запись и чтение обратного шахматного кода. «Расширенный» тест ОЗУ
запускается оператором или из КПП.
8 Тест двух портового ОЗУ
Проверяется запись и чтение двух портового ОЗУ, включая семафоры, по
внутренней шине МВВ. При этом обращение к двух портовому ОЗУ по системной
шине (со стороны МПР) должно быть заблокировано, а семафоры
предварительно очищены.
9 Тест сигнала «Отказ МВВ»
Установка и сброс сигнала «Отказ МВВ» осуществляется через регистр
контроля. Считывание сигнала "Отказ МВВ" производится путем обращения к
модулю МДС со стороны МПР. Алгоритм считывания приведен в техническом
описании модуля МДС.
10 Тест контроллера КЛС
Предназначен для автономной проверки контроллера КЛС. При этом
используются:
- встроенные тесты, запускаемые через регистры самоконтроля;
- программно-управляемый контроль с использованием внутренних
обратных связей. При этом по умолчанию выходы всех передатчиков
должны быть отключены путем очистки бита TFE в регистре контроля, а
данные для тестирования выбираются мультиплексором со входов
микросхем передатчиков и подаются на тестовые входы приемников.
Оператор должен также иметь возможность включить передатчики в цепь
обратной связи.
11 Тест обмена по КЛС
Этот тест должен имитировать реальный режим эксплуатации МВВ.
Информация с выходов КЛС через жгут-заглушку (см. табл.1) передается на
входы. Обмен с МПР должен соответствовать протоколу. Все аппаратные
средства МВВ (в том числе сторожевой таймер, контроллер прерываний)
должны быть задействованы как в реальном режиме. Тест должен работать
непрерывно и завершаться по команде оператора.
12 Тест программирования ЭСППЗУ
Производится запись с последующей проверкой в ЭСППЗУ по адресам от
60000h до 7FFFFh (либо, по выбору оператора, в отдельные ячейки, либо по
всем адресам). Содержимое ЭСППЗУ предварительно сохраняется. Этот тест
запускается только по явному указанию оператора.
13 Тест программирования Flash-ЗУ
Выполняется цикл «Стирание – Запись – Верификация» Flash-ЗУ.
Содержимое Flash-ЗУ предварительно сохраняется. Этот тест запускается
только по явному указанию оператора.
5 Требования к надежности
ТПО должно иметь функционально-модульную структуру; при этом отказ
отдельного функционального узла аппаратуры не должен влиять на
работоспособность ТПО в целом. При отказе функционального узла аппаратуры
программные модули, использующие этот узел, должны, если есть
возможность, переключаться на другой узел. Например, при отказе основного
ОЗУ использовать для хранения данных ячейки двух портового ОЗУ, при
отказе канала связи через COM2 использовать канал обмена через двух
портовое ОЗУ и т.д.
6 Требования к информационной и программной совместимости
КПП должна работать на любом совместимом с IBM PC компьютере, имеющем
в своем составе основную память не менее 512 килобайт, дисковод,
последовательный порт RS-232C, 80-колонный монитор, под управлением MS-
DOS, начиная с версии 2.1 и выше.
Описание функционирования КПП и ВСК
1 Модуль центрального процессора
1 «Контроль аппаратуры обмена»
1 Подпрограмма формирования управляющего слова
void Set_UPR_SL (int DOP, int CODE_TEST, int CODE_USTR)
ZapisExt (BASADR+SL_SOST,sost_sl);
Данная подпрограмма предназначена для формирования в управляющем
слове сообщения МВВ о номере тестируемого устройства, кода теста, а также
дополнительной информации.
Вход:
1. дополнительный код;
2. код теста;
3. код устройства.
Выход: нет.
Подпрограмма работает непосредственно с расширенной памятью и
адресуется используя смещение.
Логика:
1. Чтение слова состояния и обнуление младших двух разрядов, для
того, чтобы МВВ через них вернул код завершения теста;
2. Чтение слова управления и выставление в нем кода тестируемого
устройства со всеми дополнительными параметрами.
2 Подпрограмма получения кода выхода из тестов МВВ
uint ExitCod (void)
{
uint ExitCodeMvv;
CtenExt (BASADR+SL_SOST,&ExitCodeMvv);
ExitCodeMvv &= 0x0003;
return ExitCodeMvv;
}
Данная программа предназначена для получения кода выхода из теста от
МВВ.
Вход: нет.
Выход: код выхода
1 – все в порядке
2 – ошибка
Логика:
Происходит чтение слова состояния и обнуление всех разрядов кроме
младших двух. Именно в них и передается результат.
3 Подпрограмма ожидания ответа от МВВ
uint WaitOtvetMww ()
{
uint OK_ERROR_MWW;
uint cnt=0;
while ((OK_ERROR_MWW=ExitCod())==0 && cnt++ 7) return 1;
nSf = 0xFE00 + (nSf 7) return 1;
nSf = 0xFE00 + (nSf 7 ) return ERR_OTL;
ulong adrSf = 0xA08000l + ( nSf 7 ) return ERR_OTL;
return ZapisExt ( 0xA08000l+(nSf> 4;
//ветвимся по коду теста
switch ((upr_sl & 0x000C) >> 2){
//чтение МВВ занятого семафора
case0:if (OpenSf(number_sf)!=0) SetOK();
else SetError();
CloseSf (number_sf);
break;
//чтение МВВ свободного семафора
case 1:if (OpenSf(number_sf)==0) SetOK();
else SetError();
CloseSf(number_sf);
break;
//чтение МПР занятого семафора
case 2: if (OpenSf(number_sf)==0)
{
SetOK();
while ((sost_sl & 0x0003) != 0)
CtenMpr (SL_SOST,&sost_sl);
}
else SetError();
CloseSf(number_sf);
break;
//чтение МПР свободного семафора
case 3: if (CloseSf(number_sf)==0) SetOK();
else SetError();
break;
}
break;
////////////////////////////////////////////////////////
//рабочая область
case 2:OK_ERROR=0;
// Направление 0: МПР->МВВ
if (((upr_sl & 0x0010) >> 4)==0)
//ветвимся по коду теста
switch ((upr_sl & 0x000C) >> 2){
// передача нулевой информации
case 0:for (mem=0;memМПР
else
//ветвимся по коду теста
switch ((upr_sl & 0x000C) >> 2){
// передача нулевой информации
case 0:if (OpenSf (0)==1) {
SetError();break;
}
for (mem=0;mem
#include
#define INT_MWW 0x72 //Номер прерываний от МВВ
uint upr_sl;
uint sost_sl;
//Подпрограмма формирования управляющего слова
void Set_UPR_SL (int DOP, int CODE_TEST, int CODE_USTR)
= CODE_USTR
//Подпрограмма получения кода выхода из тестов МВВ
uint ExitCod (void)
{
uint ExitCodeMvv;
CtenExt (BASADR+SL_SOST,&ExitCodeMvv);
ExitCodeMvv &= 0x0003;
return ExitCodeMvv;
}
//Подпрограмма ожидания ответа от МВВ
uint WaitOtvetMww ()
{
uint OK_ERROR_MWW;
uint cnt=0;
while((OK_ERROR_MWW=ExitCod())==0&&cnt++МВВ
switch (j){ //код теста
//Передача нулевой информации
case 0:for (mem=0;memМПР
Set_UPR_SL (1,j,2); //формируем слово управления
OK_ERROR_MWW = WaitOtvetMww ();
switch (OK_ERROR_MWW){
case 1:
switch (j){ //код теста
case 0:for (uint mem=0;mem
uint seg,addr;
uint error;
uint ret;
uint kon_summa; //Контрольная сумма (должна быть 0)
uint reg_smkont;//Для хранения инф. регистра самоконтроля
#define REG_KONTR 0xFF00 //адрес регистра контроля в 2-х
портовом ОЗУ
#define REG_SAM_KONTR 0x0C86 //адрес регистра самоконтроля в ОЗУ
контр. КЛС
#define ALL_SEG 0xFFFF //Адрес последнего байта в сегменте
#define NO_ERR 0
#define CHIP 1
#define FLASH 20
#define STAT_RAM 30
#define OTK_MVV 40
#define KON_KLS 50
#define ALL_SBOI 90
//------------------------------------------------------
//Чтение ОЗУ
int ReadRam ( uint seg, uint addr )
{
_ES = seg;
_SI = addr;
asm MOV AX, word ptr ES:SI
return _AX;
}
//Запись в ОЗУ
void WriteRam ( uint seg, uint addr, int znc )
{
_ES = seg;
_SI = addr;
_AX = znc;
asm MOV word ptr ES:SI, AX
}
//------------------------------------------------------
//Тест ППЗУ
uint Flash_Test ()
{
//Сумма всех 32-раз. слов должна быть равна 0
error=0;
kon_summa=0;
for (addr=0;addr
#define NO_ERR 0
#define CHIP 1
#define FLASH 20
#define STAT_RAM 30
#define OTK_MVV 40
#define KON_KLS 50
#define ALL_SBOI 90
char* AnalysError ( uint error )
{
switch ( error )
{
case NO_ERR : return "OK";
case CHIP : return "микропроцессор - ERROR";
case FLASH : return "контрольная сумма ППЗУ - ERROR";
case STAT_RAM : return "статическое ОЗУ - ERROR";
case OTK_MVV : return "сигнал 'Отказ МВВ' - ERROR";
case KON_KLS : return "контроллер КЛС - ERROR";
case ALL_SBOI : return "общий сбой";
}
return "неизвестная ошибка !!!";
}
//******************************************************
uint RasKont ()
{
uint sost_sl=0,
slIspMww;
printf ("Расширенный контроль - ");
//Записываем ошибку, если тест пройдет нормально - то ошибки не будет
ZapisMwwInt (7,SL_ISPR_TIP,ALL_SBOI);
//Ожидаем прихода результата
uint cnt=0;
do {
CtenMwwInt (7,SL_SOST, &sost_sl);
printf ("Слово состояния - %Xh\n",sost_sl);
}
while ( (sost_sl == SS_RASKON) && (cnt++<0x100) );
// while (sost_sl & SS_REZIM == SS_RASKON);
//Считываем результат
CtenMwwInt (7,SL_ISPR_TIP,&slIspMww);
//Выводим его на экран ТК
printf ("%s\n",AnalysError (slIspMww));
//return slIspMww;
return 0;
}
-----------------------
Дата
Подпись
№ документа
Лист
Изм
3
Лист