Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

___МЕТОДИЧКИ_2013 / Пособие по ОСМПС (pdf) / 3_Принципы самоконтроля

.pdf
Скачиваний:
44
Добавлен:
15.03.2016
Размер:
119.83 Кб
Скачать

3. ПРИНЦИПЫ САМОКОНТРОЛЯ

Микропроцессорные системы и микроЭВМ могут содержать встроенные тестовые программы. Они служат для занесения и считывания в память и через устройства ввода-вывода стандартных наборов данных. Тестовые программы содержат примеры функционирования реальных работающих систем.

Во многих микропроцессорных системах для проведения тестирования используются их собственные процессоры. Тестовые программы, записанные в ПЗУ и инициируемые при включении питания или по запросу, обеспечивают контроль ПЗУ, ОЗУ самого процессора и в определенной степени всех устройств ввода-вывода. Результаты контроля обычно доводятся до оператора через дисплей системы или с помощью специального индикатора, который сообщает об успешном завершении проверки. Существуют, однако, некоторые тестовые программы, предназначенные для работы с внешними приборами, такими, например, как сигнатурный анализатор.

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

3.1. ТЕСТИРОВАНИЕ ОЗУ

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

(А) Тест «шахматная доска». В ячейки памяти заносятся значения 1 и 0, размещаемые так же, как располагаются черные и белые клетки на шахматной доске, после чего проверяется правильность записанной информации. Затем в каждую ячейку заносится противоположное значение и снова выполняется проверка. При этом выясняется, может ли каждый элемент памяти хранить значения как логической 1, так и логического 0 (рис. 3.1). Наборы данных, аналогичные по структуре шахматной доске, в отличие от наборов, состоящих целиком из единиц и нулей, делают тест чувствительным к возможным паразитным завязкам между соседними ячейками.

 

00

01

10

11

 

 

 

 

 

00

0

1

0

1

 

 

 

 

 

01

1

0

1

0

 

 

 

 

 

10

X

X

X

X

 

 

 

 

 

11

X

X

X

X

 

 

 

 

 

Рис. 3.1. Проверка ОЗУ с помощью теста «шахматная доска».

1 - битам присваиваются поочередно значения 1 и 0 и проверяется содержимое памяти 2 - содержимое памяти инвертируется и проверяется каждый раз перед переходом к следующему ряду ячеек

(Б) Тест с заполнением нулями и единицами. При данном виде проверки сна-

чала вся память заполняется нулями. Затем считывается содержимое первой ячейки и в нее записывается 1. Считывание нулей и замещение их единицами последовательно выполняется для всех ячеек, пока вся память не будет заполнена единицами. Затем эти действия повторяются. В обратном порядке, т. е. все ячейки, начиная с последней, снова заполняются нулями. Теперь вся последовательность действий воспроизводится вновь с той разницей, что при инициализации вся память заполняется единицами.

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

Последовательный перебор всех адресов памяти, которая размещена на ИС, осуществляемый с использованием инвертирования их разрядов, представляет собой серьезное испытание для внутренних дешифраторов и позволяет выявить все задержки, выходящие за допустимые пределы.

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

3.2. ТЕСТИРОВАНИЕ ПЗУ

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

Более точный метод, при использовании которого существует меньшая вероятность взаимного маскирования ошибок, предусматривает формирование контрольных циклических избыточных кодов (CRC - Cyclic Redundancy Check). Первоначально метод CRC возник как средство контроля передачи данных между ЭВМ и их периферийными устройствами, например такими, как накопители на магнитных дисках и лентах.

Чтобы понять, каким образом он используется для тестирования ПЗУ, допустим, что все содержимое кристалла ПЗУ выводится из него слово за словом так, что образуется одна большая линейная цепочка битов. Эта цепочка вводится в сдвиговый регистр, снабженный цепями обратной связи, благодаря которым осуществляется сложение по модулю 2 данных обратной связи и новых данных, поступающих в виде битового потока. Результат, остающийся в регистре после ввода всех битов содержимого ПЗУ, представляет собой циклический код контроля по избыточности (рис. 3.2). Кстати, этот метод составляет основу сигнатурного анализа. Как и большинство вычислительных

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

Рис. 3.2. Формирование сигнатуры ПЗУ

Чувствительность данного метода контроля обусловливается конфигурацией цепей обратной связи, которые обеспечивают влияние каждого бита, вводимого в регистр, на окончательную сигнатуру. Если хотя бы один бит пропущен, высока вероятность того, что окончательный CRC будет существенно отличаться от исходного.

Этот метод составляет основу сигнатурного анализа, который будет рассмотрен в дальнейшем.

3.3. УСТРОЙСТВА ВВОДА-ВЫВОДА

Разнообразие устройств ввода-вывода и форм их взаимодействия с окружающим миром определяет сложность решения проблем их самоконтроля. Обычно устройство ввода-вывода включает несколько функциональных узлов; так, интерфейсный адаптер 6522 содержит два параллельных порта с четырьмя линиями квитирования, двумя счетчиками-таймерами и последовательно-параллельно-последовательным сдвиговым регистром.

Один из способов частичного тестирования, которые могут быть применены для этого устройства, состоит в контроле выполнения чтения и записи содержимого тех регистров, которые снабжены данными функциями.

Второй подход, часто используемый для контроля ИС, содержащих параллельные порты или универсальные асинхронные приемопередатчики (УАПП), требует установки специальной колодки, которая соединяет соседние порты (рис. 3.3). Одному из портов придаются при этом функции входного, а другому - выходного. Через порт вывода передается тестовый набор данных, после чего контролируется его прием портом ввода. Затем порты меняются ролями и тест повторяется.

Устройство с параллельными портами

Порт A

Порт B

7 6 5 4 3 2 1 0

7 6 5 4 3 2 1 0

Рис. 3.3. Тестовая колодка для проверки портов (соединение РА0 с PВ0, РА1 с РВ1 и т.д.)

Заключение

Если центральная часть системы функционирует должным образом и, в частности располагает возможностями индикации информации, можно использовать ее для генерации тестовых наборов данных и контроля работоспособности памяти и средств вво- да-вывода.

Вопросы для самоконтроля

1.При каком условии возможно самотестирование МПС, и какие устройства могут быть проконтролированы?

2.Приведите примеры тестов для контроля ОЗУ.

3.Какие существуют методы тестирования ПЗУ? Какой метод дает наибольшую точность?

4.Как можно протестировать устройства ввода-вывода?