Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика->Реферат
Когда изучаешь какой-либо вопрос, считаешь, что знаешь его; когда можешь писать о нем, становишься уверенней в своих знаниях; уверенность возрастает, ...полностью>>
Информатика->Контрольная работа
Составим программу ввода оценки Р, полученной учащимся, и выдачи текста: «Молодец!», если Р=5; «Хорошо!», если Р=4; «Лентяй!», если Р< =3. Заданы длин...полностью>>
Информатика->Реферат
Информология- общая теория информации. Часто понятие "информация" используют, не задумываясь о глубине его содержания, отождествляя понятия знание, да...полностью>>
Информатика->Реферат
В 1971-1975 гг. микрокомпьютеры с превеликим трудом отвоевали плацдарм у мэйнфреймов, обзаведясь, в конце концов, собственной операционной системой (C...полностью>>

Главная > Реферат >Информатика

Сохрани ссылку в одной из сетей:

Приложение 4: МПР – «Расширенный контроль»

/*-------------------------------------------------------
автор Кулагин А.Г.
КПП МФПУ
КИВШ.00223-01
Программа расширенного контроля
файл kontmww.cpp
разработка 2000 года
-----------------------------------------------------*/
#include "demo.h"
#include "mww.h"
#include
#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;
}

Развитие производства в настоящее время невозможно представить без широкого спректра


Содержание

Содержание 1

Список принятых сокращений 3

Аннотация 4

Введение 6

1. Анализ многофункционального пульта управления и модуля ввода - вывода 8

1.1. Программно-аппаратный интерфейс МФПУ-1 8

1.2. Описание модуля МВВ 11

2. Анализ инструментальных средств 22

2.1. Выбор языка программирования 22

2.2. Загрузка и функционирование программ в МВВ 23

2.3. Загрузка и функционирование программ в МПР 25

3. Состав и назначение тестов 27

3.1. Ориентировочный состав тестов. 27

3.2. Контроля аппаратуры обмена 27

4. Требования к функциональным характеристикам тестов 32

4.1. Требования к программе 32

4.2. Требования к ВСК 32

4.3. Требования к КПП 34

4.4. Требования к отдельным тестам 35

4.5. Требования к надежности 38

4.6. Требования к информационной и программной совместимости 38

5. Описание функционирования КПП и ВСК 40

5.1. Модуль центрального процессора 40

5.2. Модуль ввода-вывода 45

5.3. Вспомогательные функции 50

5.4. Инициализация обмена с МВВ 55

5.5. Режим «контроль аппаратуры обмена» 55

5.6. Режим «расширенный контроль» 58

6. Экологичность и безопасность проекта. 61

Введение. 61

6.1. Анализ опасных и вредных факторов. 62

6.2. Анализ по обеспечению здоровых и безопасных условий труда. 70

6.3. Паспорт рабочего места. 72

6.4. Оценка условий труда по степени вредности и опасности. 76

7. Организационно-экономическая часть 82

7.1. Принципы организации оплаты труда 82

7.2. Расчет стоимости разработки КПП МВВ для МФПУ-1. 89

Список используемых источников 95

Приложение 1: МВВ – «Контроль аппаратуры обмена» 98

Приложение 2: МПР – «Контроль аппаратуры обмена» 105

Приложение 3: МВВ – «Расширенный контроль» 111

Приложение 4: МПР – «Расширенный контроль» 115

Список принятых сокращений

ВСК - встроенный контроль
ДПОЗУ - двух портовое ОЗУ
ЖКИ - жидкокристаллический индикатор
КЛС - кодовая линия связи
КПП - контрольно-проверочная программа
МБД - модуль базы данных
МВВ - модуль ввода-вывода
МДК - модуль дисплейного контроллера
МДС - модуль дискретных сигналов
МИП - модуль источника питания
МКК - модуль контроллера клавиатуры
МПР - модуль процессора
МФПУ - многофункциональный пульт управления
ОЗУ - оперативное запоминающее устройство
ПДС - преобразователь дискретных сигналов
ПЗУ - постоянное запоминающее устройство
ПО - программное обеспечение
ППЗУ - перепрограммируемое ПЗУ
РК - разовая команда
РМП - рабочее место программиста
СПО - специальное программное обеспечение
ТК - технологический компьютер
ТПО - тестовое программное обеспечение

Аннотация

Данный дипломный проект посвящен разработке алгоритмов и написанию подпрограмм взаимодействия модуля ввода-вывода (далее МВВ-34 и МВВ) с модулем центрального процессора (далее МПР), разработке контрольно-проверочной программы МВВ-34 и ее взаимодействие с МПР, в состав которой вошли следующие программные компоненты:
  1. Контроль аппаратуры обмена:

  • тест семафоров;

  • тест рабочей области (двух портового ОЗУ);

  • тест прерываний.

  1. Расширенный контроль МВВ:

  • тест микропроцессора;

  • тест ППЗУ;

  • быстрый тест ОЗУ;

  • расширенный тест ОЗУ;

  • тест двух портового ОЗУ;

  • тест сигнала «Отказ МВВ»;

  • тест контроллера КЛС.

В разделе «Анализ многофункционального пульта управления и модуля ввода-вывода» рассмотрены основные аспекты функционирования модуля в целом.
В разделе «Анализ инструментальных средств и взаимодействие МФПУ-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.Программно-аппаратный интерфейс МФПУ-1

1.1.1.Интерфейс МПР и МВВ-34

МВВ-34 предназначен для реализации в МФПУ-1 функций приема и выдачи информации по кодовым линиям связи (КЛС) согласно ГОСТ 18977-79 и РТМ 1495-75 с изменениями 2 и 3 (ARINC 429).
Взаимодействие МПР и МВВ осуществляется через 2-х портовое ОЗУ, размещенное в МВВ. МПР производит доступ к этой памяти по стандартной ISA шине, а доступ процессора ввода/вывода МВВ (Intel386EX) происходит по его локальной шине. Обоим процессорам 2-х портовая память доступна по чтению и записи.

1.1.2.Интерфейс МПР и МДС-1

Модуль дискретных сигналов МДС-1 (далее в тексте МДС) предназначен для приема и выдачи дискретных сигналов (разовых команд) и связи с МПР по шине ISA.
Взаимодействие МПР и МДС осуществляется через программно-доступные регистры МДС, располагаемые в области адресов ввода-вывода МПР.

1.1.3.Интерфейс МПР и МДК-1

МДК-1 предназначен для формирования изображения растровым методом и отображения информации на экране жидкокристаллической (ЖК) активной матричной цветной панели CT4040-C8 в составе прибора МФПУ-1.
В качестве графического процессора в модуле применен 32-разрядный RISC-процессор SMJ34020AGBM32 исполнения Military производства фирмы Texas Instruments Incr.
Взаимодействие МПР и МДК осуществляется через перемещаемое «окно» МПР, отображенное в область памяти графического процессора МДК.

1.1.3.1.Программирование обмена с МПР

Протокол обмена данными между центральным процессором и GPS должен определяться системным программистом, исходя из решения конкретных задач и распределения аппаратных ресурсов в системе (степени загруженности центрального процессора и возможности его привлечения для решения графических задач). Можно порекомендовать с целью уменьшения передаваемой информации (дисплейного файла) реализовать «векторный вход»: центральный процессор передает в дисплейном файле команды «нарисовать отрезок (дугу, окружность...)», а графический процессор разлагает передаваемые примитивы в растр.
Для срочного привлечения внимания к себе и для поддержки протокола обмена графический процессор может вызвать аппаратное прерывание центрального процессора по линии IRQ11 для шины ISA с предварительной загрузкой сообщения в свой почтовый ящик MSGOUT[HSTCTLL].
Аналогично центральный процессор также может вызвать программное прерывание графического процессора установкой бита (регистра I/O служебной зоны) INTIN[HSTCTLL] с передачей сообщения через буфер (почтовый ящик) MSGIN[HSTCTLL].
Аппаратный интерфейс обмена с центральным процессором не поддерживает пересылку информации с предварительной выборкой адреса графического процессора. При обращении центрального процессора в адресную зону ОЗУ программ обмен производиться 16-ти битовыми словами. Зона ОЗУ программ накрывает зону служебных регистров I/O, обращения в служебную зону рассматриваются как 32-разрядные.

1.1.3.2.Программирование тестов

При всяком сбросе GSP (по включению питания, аварии источника питания, аппаратном сбросе с контрольного разъема, по системному сбросу RESET_DRV) должна выполняться проверка модуля путем последовательного исполнения тестов отдельных его компонент, а затем их инициализацию в нужное рабочее состояние. В случае определения ошибок при тестировании GSP должен сформировать разовую команду «Неисправность МДК" и прекратить выполнение команд. Можно порекомендовать метод контрольных точек для идентификации дефекта в случае определения ошибок. Суть его будет заключаться в том, что каждой тестируемой компоненте ставиться в соответствие своя контрольная точка, и она запоминается в определенной ячейке памяти. Прохождение текущей контрольной точки можно сопроводить выводом сообщения на экран CT4040. В случае ошибки по номеру контрольной точки можно установить неисправный компонент модуля. Альтернативным способом можно ввести регистр неисправности модуля с соответствующей битовой структурой и отображать на экране бинарный код.
Обязательно необходимо предусмотреть проведение текущей работоспособности модуля в процессе штатной работы. Необходимо засинхронизировать проведение текущего теста с обратным ходом сигнала кадровой развертки. Объем текущего теста должен по возможности быть небольшим (на уровне проверки значений контрольных сумм ПЗУ, проверки записи/чтения данных в фиксированные ячейки ОЗУ).
Необходимо предусмотреть режим расширенного теста модуля по протоколу взаимодействия с центральным процессором (предположим в режиме наземного контроля МФПУ), с отображением на экране CT4040 тестовых кадров проверки самого модуля, а также проверки светотехники, геометрии и других параметров непосредственно самой панели.

1.1.4.Интерфейс МПР и МКК-2

МКК-2 (далее в тексте МКК) предназначен для сканирования клавиатуры, определения нажатой клавиши и выдачи кода этой клавиши в модуль процессора (МПР). В качестве контроллера в модуле используется однокристальный микроконтроллер MD87C51FB-16 производства фирмы Intel. МКК также сканирует клавиши управления подсветом ЖКЭ и выдает аналоговый сигнал на модуль МУП по результатам обработки состояния этих клавиш.

1.2.Описание модуля МВВ

МВВ предназначен для реализации в МФПУ-1 функций приема и выдачи информации по кодовым линиям связи (КЛС) согласно ГОСТ 18977-79 и РТМ 1495-75 с изменениями 2 и 3 (ARINC 429).

1.2.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 секунду.

1.2.2.Микропроцессорное устройство

Тип микропроцессора - 80386ЕХ - со встроенной периферией:
  • контроллер прерываний;
  • контроллер прямого доступа;
  • таймер;
  • сторожевой таймер;
  • последовательный порт (RS232C).
  • Тактовая частота - 20 МГц.

Система памяти:
  1. статическое ОЗУ емкостью 128К(слов)*16 (разрядов);
  2. ЭСППЗУ типа Flash - 256К*16;
  3. ЭСППЗУ с возможностью перезаписи отдельных байтов - 128К*8;
  4. двух портовое ОЗУ - 16К*16.
  5. ПЗУ всех типов программируются в составе МВВ.

1.2.3.Структура и функционирование МВВ

Основной функциональный узел – это контроллер КЛС, состоящий из 32 независимых приемных каналов, 9 независимых передающих каналов и интерфейса с микропроцессором. Приемный канал преобразует последовательный дифференциальный сигнал КЛС в параллельный код (сообщение длиной 32 разряда) и записывает его в буферный регистр. Микропроцессор считывает принятые сообщения из буферных регистров (словами по 16 разрядов), адресуясь по внутренней шине к соответствующему приемному каналу (в режиме прерывания или по опросу готовности) и формирует блоки информации в двух портовом ОЗУ. Центральный процессор, обращаясь к МВВ по системной шине, считывает из двух портового ОЗУ принятые данные, записывает в двух портовое ОЗУ информацию для передачи по КЛС и, при необходимости, управляющую (командную) информацию для МВВ. Микропроцессор, опрашивая соответствующие ячейки двух портового ОЗУ, ставит выходные сообщения в очередь соответствующего передающего канала), каждый передающий канал содержит буфер типа FIFO на 8 слов по 32 разряда). Передающий канал преобразует очередное сообщение в последовательный сигнал КЛС в соответствии с заданными при инициализации скоростью передачи и паузой между сообщениями.
Программы, управляющие микропроцессором, и константы размещаются в ППЗУ типа Flash объемом 512 Кбайт (256К*16). Статическое ОЗУ (128К*16) предназначено для размещения переменных различного назначения и, возможно, отдельных программных модулей, требующих более быстрого выполнения. Кроме того, имеется ЭСППЗУ размером 128К*8 с возможностью перезаписи отдельных байтов, предназначенное для размещения начального загрузчика программного обеспечения, а также параметров, требующих сохранения при отключении или отказе питания (например, результаты тестирования, количество циклов перепрограммирования ППЗУ).
На технологический разъем выведены канал RS-232C (для загрузки программного обеспечения и тестирования при проведении профилактических и отладочных работ) и канал JTAG (для отладки и загрузки начального загрузчика).

1.2.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 управление мультиплексорами может быть как программным, так и аппаратным (переключение по таймеру).

1.2.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).

1.2.6.Взаимодействие МВВ с центральным процессором

Обмен информацией МВВ с центральным процессором МФПУ производится через двух портовое ОЗУ (размещенное в МВВ), один из портов которого подключен к системной шине (ISA), а другой - к внутренней шине МВВ. Обращения к ОЗУ через любой из портов производятся асинхронно и независимо от другого порта за исключением следующих двух случаев одновременного обращения к одной и той же ячейке памяти:
  1. через оба порта одновременно пытаются произвести запись в одну и ту же ячейку памяти; в этом случае тот сигнал записи, который пришел позже, блокируется;
  2. через один из портов производится чтение той ячейки, в которую в этот момент через другой порт идет запись; такое чтение даст неверные данные.
Исключение подобных ситуаций должно быть обеспечено на программном уровне соответствующим протоколом обмена, при этом может использоваться блок семафоров двух портового ОЗУ.
МВВ занимает на системной шине область адресов от A00000h до A1FFFFh в пространстве расширенной памяти, следовательно доступ к МВВ со стороны центрального процессора возможен только в защищенном режиме. Распределение адресов приведено в табл.4.10. Обмен с МВВ производится стандартными циклами шины ISA с одним тактом ожидания при 16-разрядной передаче данных, то есть минимальный цикл передачи 16-разрядного слова составляет 3 такта шины ISA (при частоте BCLK 8,33 МГц это составляет 360 нс.). Возможен также побайтный обмен.

1.2.7.Встроенный контроль

Аппаратные средства встроенного контроля МВВ включают следующие:
  1. элементы контроля контроллера КЛС; они описаны в п.4.3;
  2. сторожевой таймер, встроенный в микропроцессор 80386EX;
  3. узел формирования сигнала неисправности модуля, включающий сторожевой таймер и логику идентификации состояния исправности модуля. Поскольку сторожевой таймер микропроцессора используется в МВВ для контроля программного обеспечения, то для обнаружения других непредусмотренных ситуаций, например, зависание шины, не исправность микропроцессора, - используется другой (независимый) сторожевой таймер, реализованный на микросхеме MAX705, с периодом от 1,0 до 2,2 секунд.
Таким образом, длительность цикла текущего встроенного контроля, управляемого микропроцессором, должна быть не более одной секунды. Этот цикл может включать, например:
  • обработку прерывания INT0 (в случае его возникновения) от схемы контроля выходов КЛС,
  • контроль микропроцессора,
  • контроль ОЗУ,
  • контроль 2-х портового ОЗУ,
  • контроль ЭСППЗУ по контрольным суммам,
  • другие виды контроля, в зависимости от наличия свободных ресурсов и времени.
При завершении цикла контроля, если не обнаружено устойчивых отказов, микропроцессор записывает в регистр контроля код исправности (отсутствие обнаруженных отказов). Этот код распознается логикой, и на вход сторожевого таймера подается импульс, предотвращая его срабатывание; при этом уровень на выходе сигнала ошибки FLRL остается высоким (неактивным). Если же сторожевой таймер сработал или в регистр контроля был записан другой код, отличный от кода исправности, то на системный разъем МВВ выдается сигнал ошибки: низкий уровень FLRL*.
Одиночные сбои регистрируются записью соответствующей информации в ЭСППЗУ, область от 60000h до 6FFFFh.
Необходимо вести учет ресурсов ЭСППЗУ всех типов по количеству циклов программирования с записью соответствующих данных в ЭСППЗУ. Анализ ресурсов производится в процессе расширенного встроенного контроля, который запускается при включении питания или по вызову оператора. Исходное значение ресурса для каждого из двух типов ЭСППЗУ составляет 10000 циклов программирования.
В случае обнаружения устойчивых дефектов микропроцессор записывает в регистр контроля код, отличный от кода исправности, форсируя выдачу сигнала ошибки.

2.Анализ инструментальных средств

2.1.Выбор языка программирования

МФПУ-1 является специализированной ЭВМ, в состав которого входят несколько модулей, в частности модуль ввода-вывода основанной на микропроцессоре Intel80386EX. Данный пульт и модуль ввода-вывода не имеют операционной системы и средств отладки – все эти компоненты находятся в стадии разработки. В распоряжении программиста имеются лишь небольшой набор программ, через которые можно запускать все остальные программы:
  • программа полной инициализации пульта и модуля ввода-вывода;
  • программа загрузки и передачи управления другой программе – минимальная операционная система.
Обе эти программы работают на самом низком уровне (с аппаратурой - на уровне портов и регистров контроллеров) и предъявляют к себе соответствующие требования. Поэтому для программирования была выбрана среда разработки Borland C++ 3.1. Данная среда в полной мере обеспечивает разработку системного программного обеспеченья, дает возможность применения таких конструкций программирования как FOR, WHILE, SWITCH и пр., а так же поддерживает инструкции языка ассемблера, что в совокупности обеспечивает хороший инструмент для разработчика.
  • Основными требованиями при программировании под МВВ были:
  • оптимизация программируемого кода;
  • объем кода;
  • скорость выполнения;
  • удобочитаемость;
  • обеспечение надежности выполнения.
Основной проблемой при программировании, было, есть и остается возможность отладки. Т.к. для данного пульта не существует полноценной операционной системы, на которой бы работали стандартные средства отладки, то для трассировки и выявления ошибок приходиться программировать, так называемые, «подпорки», которые позволяли бы отображать результату работы программ в МВВ, и вместе с этим производить ответную реакцию от центрального процессора.
Все программное обеспечение разных модулей работает под управлением центрального процессора. При написании программного обеспечения под МПР задача несколько облегчается по той причине, что для данного модуля существует «минимальная ОС», которая поддерживает основные функции стандартной MS-DOS, такие как, ввод-вывод на экран, задержку по таймеру, сервис прерываний и др. В процессе написания тестового программно обеспеченья, под МПР, для процесса отладки применялась функция C++ - printf, которая выводила на экран технологического компьютера отладочную информацию. Данная ОС разработана фирмой OCTAGON Systems Corporations и функционирует как ОС удаленного терминала по RS-232 порту (ПО SMARTLINK).

2.2.Загрузка и функционирование программ в МВВ

Особенностью загрузки программ в МВВ, является то, что загрузку можно осуществлять двумя способами:
  1. сначала происходит загрузка в МПР, а уже из него в память МВВ;
  2. через порт RS232 непосредственно в МВВ.
При использовании первого метода, значительно усложняется процесс загрузки программ и запуска их на выполнение, но снижаются требования к средствам разработке - вполне достаточно одного компьютера.
При разработке тестового программного обеспеченья использовался второй метод. Он гораздо проще, быстрее, эффективнее, но при этом требует наличия двух компьютеров: один из которых подключен через порт RS232 к МПР, а второй через такой же порт к МВВ. В такой схеме подключения разработку и процесс программирования необходимо вести одновременно на двух компьютерах. Данный метод несомненно более эффективен, но требует большего технического оборудования, что вызывает большие затраты на разработку программного обеспечения.
Для загрузки программного обеспечения в модуль ввода-вывода применяются три системные программы, которые должны отработать последовательно:
  1. инициализация модуля ввода-вывода и МФПУ в целом;
  2. загрузка программного обеспеченья через порт RS-232 в модуль;
  3. пуск загруженной программы с указанного адреса.
Следует отметить, что все загружаемые программы в МВВ-34 должны быть в бинарном виде, т.е. не должны содержать никаких заголовков (как у *.EXE файла). При компиляции программы с языка C++ получается файл типа EXE, и для перевода его в бинарный формат применялась программа EXE2BIN.EXE.
Программы, загруженные в МВВ, функционируют независимо от всех остальных модулей, т.к. МВВ имеет свой собственный процессор и статическую память. В связи с этим возможна отдельная от других модулей загрузка программ в МВВ, при этом программы функционирующие в других модулях никоем образом не затрагиваются. Это позволяет вести распределенное программирование. Единственной проблемой является то, что результаты выполнения программ невозможно визуально ощутить. Данная проблема устраняется путем перегрузки информации в межпроцессорное ОЗУ, а уже с помощью программ через центральный процессор происходит вывод на дисплей технологического компьютера.

2.3.Загрузка и функционирование программ в МПР

Модуль центрального процессора, через порт RS-232, подключен к технологическому компьютеру. На этом компьютере установлена программа SmartLink фирмы Octagon Systems Corporations, которая является удаленным терминалом. При включении МФПУ-1 автоматически производятся следующие действия:
  • полный сброс МФПУ-1;
  • определение и тест микропроцессора;
  • определение и тест базовой и расширенной памяти;
  • проверка CMOS;
  • запуск ROM-BIOS;
  • запуск OCTAGON-DOS;
  • запуск драйверов поддержки LPT и RS-232 портов.
Операционная система находится во Flash-памяти пульта. А все действия осуществляются через SmartLink.
После всех перечисленных автоматических действий можно приступать к загрузке программ. Возможна загрузка как EXE файлов, так и COM. Все сообщения, выводимые программами через printf, будут видны только в терминале SmartLink.

3.Состав и назначение тестов

3.1.Ориентировочный состав тестов.

Наименование теста

Вид контроля

КПП

ВСК

Тест JTAG

Тест интерфейса ISA

Тест микропроцессора

Тест канала RS-232C

Тест ППЗУ

Тест чтения перемычек выбора режима

Быстрый тест ОЗУ

Расширенный тест ОЗУ

Тест двух портового ОЗУ

Непрерывный контроль аппаратуры обмена

Расширенный контроль аппаратуры обмена

Тест сигнала «Отказ МВВ»

Тест контроллера КЛС

Тест обмена по КЛС

Тест программирования ЭСППЗУ

Тест программирования Flash-ЗУ

3.2.Контроля аппаратуры обмена

3.2.1.Непрерывный контроль

Модуль МВВ должен периодически переписывать информацию из первой во вторую ячейки сторожевого таймера. Период такой операции должен соответствовать максимальному периоду обмена по КЛС, но не реже одного раза в 1с.
Несоответствие информации в ячейках сторожевого таймера через указанное время после записи информации в первую ячейку позволяет МПР констатировать отказ связи с МВВ или «зависание» последнего.

3.2.2.Расширенный контроль

В процессе контроля процессор МПР является ведущим, МВВ - ведомым. Для перехода в режим расширенного контроля аппаратуры обмена МПР должен записать единицу в 8 разряд управляющего слова, после чего для проведения каждого из тестов записывать соответствующие параметры в разряды 7 - 0 управляющего слова.
  1. Разряды 1  0 содержат код тестируемого устройства:
  • 1 – семафор;
  • 2 - рабочая область;
  • 3 – прерывания;
  1. Разряды 3  2 содержат код теста.
  2. Разряды 7  4 дополнительный параметр.
В начале выполнения теста МВВ должен установить нуль в 0 и 1 разряды слова состояния, по окончании выполнения очередного теста - установить единицу:
  • при успешном завершении теста - в 0 разряд слова состояния;
  • при обнаружении отказа - в 1 разряд.

3.2.3.Контроль семафоров

Для контроля каждого из семафоров процессоры должны произвести 4 теста:
  • код 0 - чтение МВВ занятого семафора;
  • код 1 - чтение МВВ свободного семафора;
  • код 2 - чтение МПР занятого семафора;
  • код 3 - чтение МПР свободного семафора.
Для проведения каждого из тестов должны быть произведены следующие действия.
  1. МПР записывает в управляющее слово:

  • 6  4 разряды - номер семафора (0  7);

  • 3  2 разряды - код теста (0  3).

  1. МВВ производит:

  • в тесте 0 - читает семафор и сравнивает с 1;

  • в тесте 1 - читает семафор и сравнивает с 0;

  • в тесте 2 - записывает в семафор 0;

  • в тесте 3 - записывает в семафор 1.

  1. МВВ записывает результат в 0 или 1 разряд слова состояния.

  2. МПР принимает окончательное решение о результате теста.

3.2.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 разряд слова состояния;

  • МПР принимает окончательное решение о результате теста.

3.2.5.Контроль прерываний

Контроль прерываний производится в следующем порядке.
  1. МПР в управляющем слове задает требуемый режим.

  2. МВВ, получив прерывание, устанавливает все разряды слова состояния в 0.

  3. МПР, получив прерывание, устанавливает все разряды управляющего слова в 0.

  4. МВВ, получив прерывание, устанавливает нулевой (младший) разряд слова состояния в 1.

  5. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 1.

  6. МВВ, получив прерывание, устанавливает тот же разряд слова состояния в 0.

  7. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 0.

  8. Действия 4 - 7 повторяются для разрядов 1 - 15.

  9. МВВ записывает результат в 0 или 1 разряд слова состояния, возвращая остальным разрядам значения, которые они имели до начала теста.

  10. МПР принимает окончательное решение о результате теста.

4.Требования к функциональным характеристикам тестов

4.1.Требования к программе

В состав ТПО входят программные средства встроенного контроля (ВСК) и контрольно-проверочная программа (КПП).
ВСК предназначен для текущего и расширенного контроля в процессе функционирования МФПУ в составе системы. Программные и аппаратные средства ВСК должны обеспечивать полноту контроля не менее 95%. Программные средства ВСК физически размещаются в энергонезависимых ЗУ модулей МВВ и МПР.
КПП предназначена для полной проверки работоспособности МВВ с применением соответствующих технических средств.

4.2.Требования к ВСК

В состав программных средств ВСК должны входить:
  • обработчик прерывания по входу INT0 микропроцессора 386EX от схемы аппаратного контроля выходов КЛС;

  • обработчик прерывания по входу NMI микропроцессора 386EX от сторожевого таймера программного обеспечения;

  • обработчик сигнала «Отказ МВВ»;

  • программные средства текущего контроля;

  • программные средства расширенного контроля.

  1. Обработка прерывания по входу INT0 (что соответствует входу IR1 ведущего контроллера прерываний) сводится, в соответствии с [1], к считыванию из регистра контроля информации об ошибке (в формате: номер выхода КЛС, код на входе передатчика, код на выходе передатчика).

  2. При обработке прерывания по входу NMI фиксируются место в прерванной программе и время срабатывания сторожевого таймера.

  3. Сигнал "Отказ МВВ", поступающий на модуль МДС, следует обрабатывать в соответствии с техническим описанием модуля МДС.

4.2.1.Программные средства текущего контроля

Текущий контроль выполняется в промежутках времени, свободного от выполнения целевых функций программного обеспечения, но не реже, чем один раз в секунду. В состав тестов текущего контроля должны входить:
  • тест микропроцессора;

  • тест ППЗУ по контрольным суммам,

  • другие тесты при наличии свободных аппаратных и временных ресурсов.

Кроме того, программные средства текущего контроля должны взаимодействовать с целевым программным обеспечением для поддержки:

  • непрерывного контроля данных, принимаемых и передаваемых по КЛС путем формирования и контроля битов паритета и анализа регистров состояния контроллера КЛС,

  • периодического контроля данных, хранящихся в ОЗУ и в двух портовом ЗУ, по битам паритета и контрольным суммам.

Текущий ВСК не должен влиять на входные/выходные сигналы и данные МВВ.
Результаты текущего ВСК должны анализироваться на частоту появления и устойчивость дефектов и запоминаться в ЭСППЗУ модуля МВВ (область адресов от 60000h до 6FFFFh) или МПР с датой выявления ошибки с целью последующего анализа.
В случае успешного завершения текущего ВСК в регистр контроля записывается код исправности, а при выявлении устойчивых дефектов записью в этот регистр кода ошибки инициируется сигнал «Отказ МВВ».

4.2.2.Программные средства расширенного контроля.

Расширенный контроль должен запускаться в двух случаях:

  • автоматически после включения питания;

  • по команде оператора.

При автоматическом запуске расширенного контроля последовательно выполняются тесты, указанные в графе «ВСК» табл.2. Состав тестов может уточняться в процессе разработки с учетом общего времени, отведенного на расширенный контроль МФПУ (не более 20 секунд), и с учетом возможности параллельного тестирования МВВ и других модулей МФПУ.
При запуске расширенного контроля по команде оператора на дисплей МФПУ должно выдаваться меню, определяющее функциональный состав и модификации тестов. Оператор должен иметь возможность разрешить или запретить любую функцию тестирования, прервать выполнение тестов.
При проведении расширенного контроля выдача информации на выходные КЛС должна быть заблокирована, т.е. бит TFE в регистре контроля (разрешение передатчиков КЛС) должен быть очищен.
После завершения расширенного контроля МВВ начинает (продолжает) выполнять целевую функцию. Ошибки обрабатываются аналогично текущему контролю.

4.3.Требования к КПП

Должно быть предусмотрено функционирование КПП МВВ как в составе КПП МФПУ, так и самостоятельно.
Общее управление проверкой МВВ и диалог с оператором осуществляется технологическим компьютером. Протокол взаимодействия с МВВ по кабелю 2 приведен в ПРИЛОЖЕНИИ к настоящему документу. Взаимодействие с МПР по кабелю 1 и взаимодействие между МПР и МВВ по шине ISA определяются соответствующими протоколами.
При запуске КПП должна проверять наличие связи по каждому из трех кабелей и, в зависимости от этого, формировать меню для выбора конфигурации тестов. Отсутствие или неисправность одного или любых двух кабелей не должно приводить к завершению программы.
КПП должна использовать для проверки МВВ преимущественно модули встроенного контроля, а в тех случаях, когда ВСК не обеспечивает полного контроля ввиду аппаратных и временных ограничений, КПП должна загружать в ОЗУ модулей МВВ и/или МПР собственные программные модули и запускать их выполнение.

4.4.Требования к отдельным тестам

4.4.1.Тест JTAG

Прежде всего, командой IDCODE следует прочитать код идентификации микропроцессора (он должен быть равен 28270013h). Затем командой EXTEST перейти в режим тестирования внешних цепей микропроцессора и произвести выборочную проверку записи и чтения по нескольким адресам на внутренней шине. Поскольку канал JTAG медленный, этим тестом можно проверить лишь ограниченное количество адресов.

4.4.2.Тест интерфейса ISA

Проверяются адреса МВВ на системной шине, т.е. ячейки двух портового ОЗУ, включая семафоры, и сигнал «Сброс». При этом обращение к двух портовому ОЗУ по внутренней шине МВВ должно быть заблокировано, а семафоры предварительно очищены.

4.4.3.Тест микропроцессора

Тест микропроцессора 80386EX включает тест ядра микропроцессора (возможно использование встроенного теста, запускаемого по сигналу «Сброс»") и тестов периферийных устройств: последовательного порта, таймеров, контроллера прерываний, контроллера ПДП,- с использованием диагностических режимов и регистров.

4.4.4.Тест канала RS-232C

Предварительно проверяется наличие связи (подключен ли кабель) путем последовательной установки нуля и единицы на выходе DTR и считывания установленных значений на входе DSR. Далее производится «Установка связи» и проверяется правильность передачи данных путем посылки несколько раз команды «Тест» с варьированием значения параметра.

4.4.5.Тест ППЗУ

Проверяются контрольные суммы ППЗУ всех типов и ресурсы по количеству циклов программирования. Информация о ресурсах должна храниться в одной из ячеек ЭСППЗУ (область от 60000h до 6FFFFh). При исчерпании ресурса выдается предупреждающее сообщение.

4.4.6.Тест чтения перемычек выбора режима

Проверяется правильность считывания четырех перемычек выбора режима MOD1...MOD4 и перемычки разрешения программирования EPR на внешнем разъеме X1 МФПУ. Перемычки устанавливаются оператором по запросу программы и считываются программой.

4.4.7.«Быстрый» тест ОЗУ и «расширенный» тест ОЗУ

Поскольку полная проверка ОЗУ (256 Кбайт) занимает достаточно длительное время, автоматически при ВСК запускается «быстрый»" тест ОЗУ, содержащий 2 или 4 прохода, например: запись и чтение шахматного кода, затем запись и чтение обратного шахматного кода. «Расширенный» тест ОЗУ запускается оператором или из КПП.

4.4.8.Тест двух портового ОЗУ

Проверяется запись и чтение двух портового ОЗУ, включая семафоры, по внутренней шине МВВ. При этом обращение к двух портовому ОЗУ по системной шине (со стороны МПР) должно быть заблокировано, а семафоры предварительно очищены.

4.4.9.Тест сигнала «Отказ МВВ»

Установка и сброс сигнала «Отказ МВВ» осуществляется через регистр контроля. Считывание сигнала "Отказ МВВ" производится путем обращения к модулю МДС со стороны МПР. Алгоритм считывания приведен в техническом описании модуля МДС.

4.4.10.Тест контроллера КЛС

Предназначен для автономной проверки контроллера КЛС. При этом используются:
  • встроенные тесты, запускаемые через регистры самоконтроля;

  • программно-управляемый контроль с использованием внутренних обратных связей. При этом по умолчанию выходы всех передатчиков должны быть отключены путем очистки бита TFE в регистре контроля, а данные для тестирования выбираются мультиплексором со входов микросхем передатчиков и подаются на тестовые входы приемников.

Оператор должен также иметь возможность включить передатчики в цепь обратной связи.

4.4.11.Тест обмена по КЛС

Этот тест должен имитировать реальный режим эксплуатации МВВ. Информация с выходов КЛС через жгут-заглушку (см. табл.1) передается на входы. Обмен с МПР должен соответствовать протоколу. Все аппаратные средства МВВ (в том числе сторожевой таймер, контроллер прерываний) должны быть задействованы как в реальном режиме. Тест должен работать непрерывно и завершаться по команде оператора.

4.4.12.Тест программирования ЭСППЗУ

Производится запись с последующей проверкой в ЭСППЗУ по адресам от 60000h до 7FFFFh (либо, по выбору оператора, в отдельные ячейки, либо по всем адресам). Содержимое ЭСППЗУ предварительно сохраняется. Этот тест запускается только по явному указанию оператора.

4.4.13.Тест программирования Flash-ЗУ

Выполняется цикл «Стирание – Запись – Верификация» Flash-ЗУ. Содержимое Flash-ЗУ предварительно сохраняется. Этот тест запускается только по явному указанию оператора.

4.5.Требования к надежности

ТПО должно иметь функционально-модульную структуру; при этом отказ отдельного функционального узла аппаратуры не должен влиять на работоспособность ТПО в целом. При отказе функционального узла аппаратуры программные модули, использующие этот узел, должны, если есть возможность, переключаться на другой узел. Например, при отказе основного ОЗУ использовать для хранения данных ячейки двух портового ОЗУ, при отказе канала связи через COM2 использовать канал обмена через двух портовое ОЗУ и т.д.

4.6.Требования к информационной и программной совместимости

КПП должна работать на любом совместимом с IBM PC компьютере, имеющем в своем составе основную память не менее 512 килобайт, дисковод, последовательный порт RS-232C, 80-колонный монитор, под управлением MS-DOS, начиная с версии 2.1 и выше.

5.Описание функционирования КПП и ВСК

5.1.Модуль центрального процессора

5.1.1.«Контроль аппаратуры обмена»

5.1.1.1.Подпрограмма формирования управляющего слова

void Set_UPR_SL (int DOP, int CODE_TEST, int CODE_USTR)
{
CtenExt (BASADR+SL_SOST,&sost_sl);
sost_sl &= 0xFFFC;
ZapisExt (BASADR+SL_SOST,sost_sl);
CtenExt (BASADR+SL_UPR,&upr_sl);
upr_sl &= 0xFF00;
upr_sl |= CODE_USTR | (CODE_TEST << 2) | (DOP << 4);
ZapisExt (BASADR+SL_UPR,upr_sl);}
Данная подпрограмма предназначена для формирования в управляющем слове сообщения МВВ о номере тестируемого устройства, кода теста, а также дополнительной информации.

Вход:

  1. дополнительный код;

  2. код теста;

  3. код устройства.

Выход: нет.

Подпрограмма работает непосредственно с расширенной памятью и адресуется используя смещение.

Логика:

  1. Чтение слова состояния и обнуление младших двух разрядов, для того, чтобы МВВ через них вернул код завершения теста;

  2. Чтение слова управления и выставление в нем кода тестируемого устройства со всеми дополнительными параметрами.

5.1.1.2.Подпрограмма получения кода выхода из тестов МВВ

uint ExitCod (void)
{
uint ExitCodeMvv;
CtenExt (BASADR+SL_SOST,&ExitCodeMvv);
ExitCodeMvv &= 0x0003;
return ExitCodeMvv;
}
Данная программа предназначена для получения кода выхода из теста от МВВ.
Вход: нет.
Выход: код выхода
1 – все в порядке
2 – ошибка
Логика:
Происходит чтение слова состояния и обнуление всех разрядов кроме младших двух. Именно в них и передается результат.

5.1.1.3.Подпрограмма ожидания ответа от МВВ

uint WaitOtvetMww ()
{
uint OK_ERROR_MWW;
uint cnt=0;
while ((OK_ERROR_MWW=ExitCod())==0 && cnt++<0x100) delay (5);
if (OK_ERROR_MWW == 0) printf ("\nНет ответа от МВВ !!!\n");
return OK_ERROR_MWW;
}
Данная программа предназначена для остановки центрального процессора и ожидания завершения работы МВВ, с последующей передачей кода ответа модулю МПР.
Вход: нет.
Выход: ответ МВВ (см. п. 5.1.1.2.)
Логика: подпрограмма работает в цикле до тех пор, пока либо не придет код ответа от МВВ или не закончится цикл. Если цикл закончится, то подпрограмма констатирует отказ МВВ, и вернет 0. Иначе возвращается код ответа от МВВ.

5.1.1.4.Обработчик прерываний от МВВ (тест контроля прерываний)

void interrupt KONT_INTERRUPT (...)
{
CtenMwwInt (SL_SOST,&sost_sl);
ZapisMwwInt (SL_UPR,sost_sl);
//Сбрасываем ведущий и ведомый каскад
asm mov al,20h
asm out 20h,al
asm out 0A0h,al
}
Назначение: тест контроля прерываний.
Вход: нет.
Выход: нет.

Логика: данный обработчик читает слово состояния и переписывает его в слово управления. После чего сбрасывается ведущий и ведомый каскады, для того, чтобы сообщить контроллеру прерываний об уже обработанном прерывании.

5.1.1.5.Режим контроля прерываний

uint KontMww (void)
Назначение: задающая программа, вызывает тот или иной тест.
Вход: нет.
Выход: 0-ошибки нет, иначе код ошибки
Логика: Данная подпрограмма вызывается в процессе инициализации обмена с МВВ и предназначена для контроля аппаратуры обмена, в который входят: контроль семафоров, рабочей области и прерываний. Данная подпрограмма выполняет следующие функции:
  1. Перевод МВВ в нужный тест;
  2. Прием от МВВ кода завершения теста;
  3. Анализ ошибок и вывод результатов на ТК.
При входе головной программы в режим «контроль аппаратуры обмена» управление передается в данную подпрограмму, т.е. она является менеджером данного режима.

5.1.2.«Расширенный контроль»

5.1.2.1.Анализ теста от МВВ

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 "неизвестная ошибка !!!";
}
Назначение: анализ исправности МВВ и передача строки для последующего вывода на экран ТК.
Вход: номер ошибки.
Выход: строка сообщения.
Логика: после прохождения расширенного контроля МВВ, через слово исправности, передает в МПР код завершения всех тестов, а данная программа этот код переводит в строку.

5.1.2.2.Менеджер расширенного контроля

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) );
//Считываем результат
CtenMwwInt (7,SL_ISPR_TIP,&slIspMww);
//Выводим его на экран ТК
printf ("%s\n",AnalysError (slIspMww));
return slIspMww;
}
Назначение: менеджер режима «расширенного контроля».
Вход: нет.
Выход: код ошибки.
Логика: подпрограмма при входе записывает ошибку в «слово исправности» и ожидает перехода МВВ из режима «расширенного контроля» в любой другой режим (в действительности в режим «ожидание»). После этого считывает «слово исправности» и анализирует его состояние, выводит результат на экран ТК и возвращает код ошибки.

5.2.Модуль ввода-вывода

5.2.1.«Контроль аппаратуры обмена»

5.2.1.1.Подпрограмма установки положительного завершения теста

void SetOK (void)
{
CtenMpr(SL_SOST,&sost_sl);
//sost_sl &= 0xFFFC;//очищаем 2 мл.бита
sost_sl |= 1;
ZapisMpr(SL_SOST,sost_sl);
}
Назначение: передача положительного результата теста в МПР через «слово состояния»
Вход: нет.
Выход: нет.
Логика: подпрограмма считывает «слово состояния» и устанавливает 1 (единицу) в младшем разряде, после чего производит запись.


5.2.1.2.Подпрограмма установки отрицательного завершения теста

void SetError (void)
{
CtenMpr(SL_SOST,&sost_sl);
//sost_sl &= 0xFFFC;//очищаем 2 мл.бита
sost_sl |= 2;
ZapisMpr(SL_SOST,sost_sl);
}
Назначение: передача отрицательного результата теста в МПР через «слово состояния»
Вход: нет.
Выход: нет.
Логика: подпрограмма считывает «слово состояния» и устанавливает 2 (двойку) в младшем разряде, после чего производит запись.

5.2.1.3.Обработчик контроля прерываний от МПР

void KONT_INTERRUPT ()
{
//ZapisMpr(10,0XFFFF);
CtenMpr (SL_UPR,&upr_sl);
switch (upr_sl){
case 0x0000:sost_sl=0x0001;break;
case 0x0001:sost_sl=0x0002;break;
case 0x0002:sost_sl=0x0004;break;
case 0x0004:sost_sl=0x0008;break;
case 0x0008:sost_sl=0x0010;break;
case 0x0010:sost_sl=0x0020;break;
case 0x0020:sost_sl=0x0040;break;
case 0x0040:sost_sl=0x0080;break;
case 0x0080:sost_sl=0x0100;break;
case 0x0100:sost_sl=0x0200;break;
case 0x0200:sost_sl=0x0400;break;
case 0x0400:sost_sl=0x0800;break;
case 0x0800:sost_sl=0x1000;break;
case 0x1000:sost_sl=0x2000;break;
case 0x2000:sost_sl=0x4000;break;
case 0x4000:sost_sl=0x8000;break;
default:sost_sl=0xFFFF; //Признак окончания теста
}
ZapisMpr(SL_SOST,sost_sl);
asm DW 0FAAh //Выход из прерывания
}
Назначение: контроль прерываний.
Вход: нет.
Выход: нет.
Логика: данный обработчик является тестом контроля прерываний от МПР. Управление сюда передается при записи МПР в «управляющее слово» какой-либо информации. МВВ в зависимости от считанной из «управляющего слова» информации посылает новую информацию в «слово состояния», тем самым генерирую аппаратное прерывание для МПР.
Примечание:
  1. данное прерывание является SMI – немаскируемое;
  2. обработчик должен располагаться по адресу 38000h.

5.2.1.4.Контроль аппаратуры обмена

void KontObm ()
Назначение: тестирование контроля аппаратуры обмена.
Вход: нет.
Выход: нет.
Логика: после входа МВВ в режим «контроля аппаратуры обмена» управление передается менеджеру данного режима, который в свою очередь вызывает данную подпрограмму. В нее входит контроль семафоров, рабочей области и прерываний. Данная подпрограмма выполняет следующие функции:
  1. разбор «управляющего слова» на составляющие и выделение кода тестируемого устройства и номера теста с дополнительной информацией;
  2. тестирование нужного устройства;
  3. передача результата теста через «слово состояния» в МПР.
  4. синхронизация действий МВВ с МПР.

5.2.1.5.Менеджер «контроля аппаратуры обмена»

uint RezimKontObm ()
{
//Делать пока режим не смениться
do
{
CtenMpr (SL_UPR,&upr_sl);
if (upr_sl!=old_upr_sl) {
old_upr_sl=upr_sl;
//Вызываем контроль обмена
KontObm ();
}
} while ((upr_sl & SS_REZIM) == SS_KONTOBM);
return 0;}
Назначение: поддержка взаимосвязи головной инициализирующей программы с самим тестированием.
Вход: нет.
Выход: код ошибки.
Логика: сюда управление передается при переводе МВВ в режим «контроль аппаратуры обмена». Подпрограмма считывает «слово управления» и запоминает его, после чего вызывает тестирование. Действия выполняются до тех пор, пока не сменится режим.

5.2.2.«Расширенный контроль»

5.2.2.1.Чтение ОЗУ

int ReadRam ( uint seg, uint addr )
{
_ES = seg;
_SI = addr;
asm MOV AX, word ptr ES:SI
return _AX;
}
Назначение: чтение любой области памяти.
Вход: сегмент, смещение.
Выход: прочитанное значение

5.2.2.2.Запись в ОЗУ

void WriteRam ( uint seg, uint addr, int znc )
{
_ES = seg;
_SI = addr;
_AX = znc;
asm MOV word ptr ES:SI, AX
}
Назначение: запись слова в область памяти.
Вход: сегмент, смещение, значение.
Выход: нет.

5.2.2.3.Менеджер «расширенного контроля»

uint RasKont ()
{
ret=0;
ret = Chip_Test(); //микропроцессор
if (ret==0) ret = Flash_Test(); //FLASH-память
if (ret==0) ret = Ram_Test(); //быстрый тест стат.ОЗУ
if (ret==0) ret = Ext_Ram_Test();//расширеный тест стат.ОЗУ
if(ret==0)ret= Signal_Otkaz_Mww_Test();//сигнал "Отказ МВВ"
if (ret==0) ret = Kontrol_Kls_Test(); //контроллер КЛС
//Запись результата теста для МПР
ZapisMpr (SL_ISPR_TIP,ret);
ZapisMpr (SL_SOST,SS_OZIDANIE);
return ret;
}
Назначение: последовательное тестирование модуля ввода-вывода.
Вход: нет.
Выход: код ошибки.
Логика: происходит последовательное тестирование всех компонентов МВВ и включает в себя следующие тесты:
  1. Тест микропроцессора;
  2. FLASH-памяти;
  3. Быстрый тест ОЗУ;
  4. Расширенный тест ОЗУ;
  5. Тест сигнала «ОТКАЗ МВВ»;
  6. Тест контроллера КЛС.

5.3.Вспомогательные функции

5.3.1.Процедура открытия семафоров (МВВ)

uint OpenSf (uint nSf)
{
osRet = ERR_NOOPENSF, osCnt = 98; // 0;
if (nSf > 7) return 1;
nSf = 0xFE00 + (nSf << 1);
outport (nSf,0);
while ((osRet!=0)&&(osCnt++<=100)) osRet = inport (nSf);
return osRet;
}
Назначение: открытие семафора.
Вход: номер семафора (0-7)
Выход: код ошибки
Логика: происходит проверка на номер семафора. Происходит попытка открытия. Далее программа читает значение с соответствующего порта в цикле не более 100 раз и возвращает код ошибки.

5.3.2.Процедура закрытия семафоров (МВВ)

uint CloseSf (uint nSf)
{
if (nSf > 7) return 1;
nSf = 0xFE00 + (nSf << 1);
outport (nSf,1);
return NO_ERR;
}
Назначение: закрытие семафора.
Вход: номер семафора (0-7)
Выход: код ошибки
Логика: происходит проверка на номер семафора. Посылаем значение (1) в соответствующий порт. Закрытие происходит всегда, если соответствующий семафор был открыт.

5.3.3.Чтение из двух портового ОЗУ (МВВ)

uint CtenMprSf (uint nSf, uint adr, int* znc)
{
cmsRet = OpenSf (nSf);
if (!cmsRet)
{
CtenMpr (adr, znc);
cmsRet = CloseSf (nSf);
}
return cmsRet;
}
Назначение: чтение слова из двух портового ОЗУ.
Вход: семафор, адрес, ячейка памяти куда будет помещено прочитанное значение.
Выход: код ошибки.
Логика: открытие семафора, чтение ячейки памяти, закрытие семафора, возврат кода ошибки.

5.3.4.Запись в двух портовое ОЗУ (МВВ)

uint ZapisMprSf (uint nSf, uint adr, int znc)
{
zmsRet = OpenSf (nSf);
if (!zmsRet)
{
ZapisMpr (adr, znc);
zmsRet = CloseSf (nSf);
}
return zmsRet;
}
Назначение: запись слова в двух портовое ОЗУ.
Вход: семафор, адрес, значение.
Выход: код ошибки.
Логика: открытие семафора, запись значения в ячейку памяти, закрытие семафора, возврат кода ошибки.

5.3.5.Процедура открытия семафоров (МПР)

uint OpenSf ( uint nSf )
{
uint ret,scet = 0,status = 1;
if ( nSf > 7 ) return ERR_OTL;
ulong adrSf = 0xA08000l + ( nSf << 1 );
ret = ZapisExt ( adrSf, 0 );
while ((status!=0) && (scet++<100) && (!ret)) ret = CtenExt (adrSf, &status);
if (!ret) if(status)ret = ERR_NOOPENSF;
return ret;
}
Назначение: открытие семафора.
Вход: номер семафора (0-7)
Выход: код ошибки
Логика: происходит проверка на номер семафора. Происходит попытка открытия нужного семафора путем записи 0 (ноль) в соответствующую ячейку памяти двух портового ОЗУ. Далее программа читает значение из этой ячейки в цикле не более 100 раз и возвращает код ошибки.

5.3.6.Процедура закрытия семафоров (МПР)

uint CloseSf ( uint nSf )
{
if ( nSf > 7 ) return ERR_OTL;
return ZapisExt ( 0xA08000l+(nSf<<1), 1 );
}
Назначение: закрытие семафора.
Вход: номер семафора (0-7)
Выход: код ошибки
Логика: происходит проверка на номер семафора. Записываем значение (1) в соответствующую ячейку двух портового ОЗУ. Закрытие происходит всегда, если соответствующий семафор был открыт.

5.3.7.Чтение из двух портового ОЗУ (МПР)

uint CtenMwwInt (uint nSf, uint adr, uint* znc)
{
uint ret = OpenSf (nSf);
if (!ret) ret = CtenExt (BASADR+adr, znc);
if (!ret) ret = CloseSf (nSf);
return ret;
}
Назначение: чтение слова из двух портового ОЗУ.
Вход: семафор, адрес, ячейка памяти куда будет помещено прочитанное значение.
Выход: код ошибки.
Логика: открытие семафора, чтение ячейки памяти, закрытие семафора, возврат кода ошибки.

5.3.8.Запись в двух портовое ОЗУ (МПР)

uint ZapisMwwInt (uint nSf, uint adr, uint znc)
{
uint ret = OpenSf (nSf);
if (!ret) ret = ZapisExt (BASADR+adr, znc);
if (!ret) CloseSf (nSf);
return ret;
}
Назначение: запись слова в двух портовое ОЗУ.
Вход: семафор, адрес, значение.
Выход: код ошибки.
Логика: открытие семафора, запись значения в ячейку памяти, закрытие семафора, возврат кода ошибки.

5.4.Инициализация обмена с МВВ

При старте контрольно-проверочной программы (КПП) в МПР запускается подпрограмма инициализации обмена с МВВ, в состав которой входят следующие компоненты, вызывающиеся по очереди в случае успешного завершения предыдущей подпрограммы:
  • Перевод МВВ в режим «ожидание»;
  • Перевод МВВ в режим «контроль аппаратуры обмена»;
  • Контроль аппаратуры обмена;
  • Перевод МВВ в режим «расширенный контроль»;
  • Расширенный контроль;
  • Перевод МВВ в режим «ожидание»;
  • Создание базы данных в двух портовом ОЗУ;
  • Перевод МВВ в режим «чтение БД»;
  • Проверка – загружена ли БД в МВВ;
  • Режим «Обмен».
При успешном завершении всех вышеперечисленных пунктов инициализация МВВ считается успешной, в противном случае незавершенной, а на ТК выдается соответствующее сообщение.

5.5.Режим «контроль аппаратуры обмена»

При входе в режим «контроль аппаратуры обмена» последовательно запускаются следующие тесты:
  1. контроль семафоров;
  2. контроль рабочей области;
  3. контроль прерываний.

5.5.1.Контроль семафоров

Контроль семафоров включает в себя цикл из восьми семафоров, на каждый из которых приходится по четыре теста и проходит в следующем порядке:
  1. чтение МВВ занятого семафора:
  • открываем семафор из МПР;
  • формируем слово управления;
  • ожидаем ответа от МВВ (МВВ должен попытаться открыть семафор и в случае неудачи открытия выдать правильный результат);
  • закрываем семафор из МПР.
  1. чтение МВВ свободного семафора:
  • закрываем семафор из МПР;
  • формируем слово управления;
  • ожидаем ответа от МВВ (МВВ должен попытаться открыть семафор и в случае удачи выдать правильный результат).
  1. чтение МПР занятого семафора:
  • формируем слово управления;
  • ожидаем ответа от МВВ (МВВ должен открыть семафор);
  • МПР открывает семафор, если не открывается, то все в порядке;
  • МПР дает команду МВВ на закрытие семафора (все семафоры после любых операций должны закрываться);
  • закрываем семафор из МПР.
  1. чтение МПР свободного семафора:
  • формируем управляющее слово;
  • ожидаем ответа от МВВ (МВВ должен закрыть семафор);
  • МПР открывает семафор (если открылся, то все в порядке);
  • МПР закрывает семафор.
После прохождения каждого теста в МПР происходит анализ ответов МВВ и МПР, и в зависимости от результатов на ТК выводится код ошибки.

5.5.2.Контроль рабочей области

Контроль рабочей области включает в себя два направления передачи информации (из МПР в МВВ, и наоборот, из МВВ в МПР) и четыре набора тестов.
  • нулевое направление (МПР  МВВ):
  1. передача нулевой информации: записываем ноль в двух портовое ОЗУ;
  2. передача единичной информации: записываем единицу в двух портовое ОЗУ;
  3. передача шахматной информации: в четные адреса двух портового ОЗУ записываем значение 5555h, а в нечетные – AAAAh;
  4. передача обратной шахматной информации: в четные адреса двух портового ОЗУ записываем значение AAAAh, а в нечетные – 5555h;
После записи информации формируем управляющее слово и ожидаем ответа от МВВ. МВВ, после принятия команды на тест считывает информацию из двух портового ОЗУ и сверяет ее с эталоном, т.е. с 0, 1, 5555h и AAAAh, AAAAh и 5555h в соответствующем тесте. После считывания информации МВВ передает код ошибки в МПР. Далее, МПР анализируем ответ и выдаем ошибку на экран ТК, если произошла ошибка выдается адрес памяти ДПОЗУ, где произошла ошибка.
  • единичное направление (МВВ  МПР):
Формируем управляющее слово и ожидаем ответа от МВВ. МВВ приняв задание запускает нужный тест с передачей нулевой, единичной, шахматной или обратной шахматной информации. МПР в этот момент ожидает ответа от МВВ. Получив этот ответ, МПР начинает считывать информацию и сравнивать ее с эталоном. В случает ошибки выдается соответствующее сообщение с указанием адреса где произошла ошибка. После прохода теста, более полно анализируется вся принятая и полученная информация с последующей выдачей информации на экран ТК.

5.5.3.Контроль прерываний

Контроль прерываний начинается с их инициализации. Для этого, В МПР, сохраняется старый обработчик аппаратных прерываний от МВВ и устанавливается новый (int 72h). Маскируем 72h-вектор, тем самым разрешаем их и запрещаем все остальные. Формируем слово управления и разрешаем прерывания в МВВ от МПР, после чего базовая программа МПР встает на ожидание конца теста.
МВВ приняв управляющее слово записывает по адресу 38000h (адрес не перемещаемый) команду «длинного» перехода на обработчик прерывания от МПР (прерывания SMI микропроцессора i80386EX). МВВ запоминает слово состояния и записывает в него ноль, тем самым генерируя для МПР аппаратные прерывания от МВВ. МПР получив прерывание считывает слово состояния и переписывает его в слово управления, тем самым генерирую аппаратное прерывание для МВВ от МПР. После чего МПР сбрасывает оба каскада контроллера прерываний, тем самым подтверждая для микропроцессора свою обработку. МВВ получив прерывание от МПР, считывает слово управления, анализирует полученную информацию и записывает новую информацию в слово состояния. И так 16 раз, со смещением бита влево в слове состояния и слове управления после чего констатируется окончание теста.
При достижении окончания теста оба процессора выходят из прерываний и обмениваются полученной информацией, после чего МПР принимает окончательное решение о прошедшем тесте и выдает его на экран ТК.

5.6.Режим «расширенный контроль»

После выполнения «контроля аппаратуры обмена» и в случае успешного его завершения МФПУ-1 переводится в режим «расширенного контроля». Данный режим предназначен для самоконтроля МВВ и включает в себя следующие компоненты:
  • тест микропроцессора;
  • тест ППЗУ;
  • быстрый тест статического ОЗУ;
  • расширенный тест статического ОЗУ;
  • тест сигнала «отказ МВВ»;
  • тест контроллера КЛС.
Все тесты запускаются последовательно, и в случае малейшего сбоя тестирование полностью прекращается, а в МПР передается код ошибки, который ее анализирует и выдает сообщение на экран ТК.

5.6.1.Тест микропроцессора

Использован стандартный тест применяемый в BIOS’ах современных компьютеров.

5.6.2.Тест ППЗУ

Проверяется контрольная сумма всех 32-х разрядных слов, которая должна быть равна 0. Для этого при организован цикл на прохождение ППЗУ памяти, по окончании которого возвращается код ошибки.

5.6.3.Быстрый тест статического ОЗУ

Для тестирования был выбран метод применяемый при тестировании рабочей области двух портового ОЗУ в режиме «контроля аппаратуры обмена»:
  • запись в область статического ОЗУ шахматной информации с последующим ее чтением и анализом;
  • запись в область статического ОЗУ обратной шахматной информации с последующим ее чтением и анализом;
После прохождения теста возвращается код ошибки.

5.6.4.Расширенный тест статического ОЗУ

При тестировании сначала вызывается «быстрый тест статического ОЗУ», а потом добавляется записью нулевой и единичной информации.
После прохождения теста возвращается код ошибки.

5.6.5.Тест сигнала «отказ МВВ»

Не реализован по техническим причинам.

5.6.6.Тест контроллера КЛС

  • Через регистры самоконтроля запускается внутренний (аппаратный) тест контроллера КЛС;
  • Ожидается конец тестирования;
  • Считывание результатов теста с последующим их анализом.
После прохождения теста возвращается код ошибки.


Загрузить файл

Похожие страницы:

  1. Разработка модели обучения школьному курсу стереометрии на модульной основе

    Тесты >> Педагогика
    ... КОНСТАТИРУЮЩЕГО И КОНТРОЛЬНОГО СРЕЗОВ ВЫВОДЫ ПО ... Использование системного подхода в разработке модульного обучения (Андреева М.В., ... самоуправления. Модульные программы и модули строятся с ... , последовательно вводить все более ... тесты, т.е. проверочные работы, ...
  2. Разработка интерактивных моделей микромира и методика их использования при изучении школьного курса

    Курсовая работа >> Химия
    ... , кроме контрольного; В ... должны предоставлять возможность ввода ответа в ... информационно – моделирующие модули соответствующих объектов ... для проверки выводов, сделанных ... средне». Пример такого проверочного задания следующий: ... разработку такого рода программ, ...
  3. Ввод и вывод информации

    Реферат >> Информатика
    ... контрольно-курсовой работе представлена тема “Устройства Ввода/вывода информации”. Устройства вывода ... виде одного модуля (аналогичное ... с разработкой фирмой ... организациях для вывода проверочных копий. ... , корректировку и отладку программ; - ввод данных и команд в ...
  4. Сети связи и системы коммутации

    Шпаргалка >> Информатика, программирование
    ... В пределах каждой зоны (области) вводится единая 7-значная нумерация, причем каждой ... . больше 2 - СЕ значащая. 4. Проверочные разряды, формируются на передающем конце ... /Imej(φu-φi)=|zВ|ejφв. zВ=Um/Im- модуль zВ; характеризующий соотношение амплитуд U и I ...
  5. Основная образовательная программа начального общего образования ГБОУ ЦО

    Реферат >> Банковское дело
    ... Программы рабочих учебных программ, курсов, модулей и метапрограмм 4.3. Программа ... программы Необходимость разработки образовательной программы ... продуктов: всех контрольно-проверочных и диагностических работ ... ввода информации в компьютер: ввод ... делать выводы, ...

Хочу больше похожих работ...

Generated in 0.0028400421142578