Тестирование внутренних контроллеров ПК

Страницы работы

Содержание работы

Лекция №5

Тестирование внутренних контроллеров ПК

          К внутренним контроллерам ПК относятся: таймер, ПДП (DMA), контроллер прерываний (аппаратных), COM и LPT порты и др. (адаптеры видео, звука, сканирования, компакт дисков).

Таймер

          Системный таймер 8253/8254 – это 3-х канальные программируемые счетчики, которые предназначены для:

·  0-й канал – генерация прерывания от системных часов;

·  1-й канал – генерация запросов на регенерацию памяти;

·  2-й канал – генерация звуковых сигналов.

          Внутренние счетчики каналов 16-ти разрядные (режим -1), но общение с ними возможно только по 8 бит. Первым передается младший байт, а вторым – старший. Входная частота всех каналов – 1,19 МГц.

          Порт 43Н является управляющим регистром для всех каналов. Через него задаются режимы работы всех 3-х каналов.

Обращение к каналам:

0-й канал: через 40h порт;

1-й канал: через 41h порт;

2-й канал: через 42h порт.

          Рекомендуется 0-й и 1-й каналы не останавливать на длительное время. Для тестирования это обязательная рекомендация.

          Исчерпывающее тестирование 16-ти разрядного счетчика требует больших временных затрат. Кроме того, чтение содержимого счетчика за 2 такта является моментом, когда время обнаружения тркбуемого кода (все "0", все "1", чередование "0" и "1") может быть весьма длительным.

          Основной алгоритм программы POST – это чтение "на лету" 5-ти младших бит счетчика.

          Для установки режима "на лету" для 0-го канала в 43h порт пишется 0, для первого канала – 40h, для второго – 80h.

Алгоритм тестирования таймера

1.  Сохранить содержимое всех портов таймера.

2.  Установить номер канала и режим чтения "на лету" (запись в порт 43h).

3.  В цикле выполняется опрос 40h/41h/42h портов на состояние К0, К1, К2.

4.  И так для всех портов и всех констант.

5.  При выполнении каждого цикла фиксировать номер канала, тип константы и время выполнения.

6.  Зафиксировать окончание теста.

7.  Восстановить содержимое требуемых портов.

Контроллер прямого доступа к памяти – ПДП(DMA)

В ПК стоят 2 контроллера 8237А.

          В ПДП есть три группы регистров:

1.  страниц;

2.  адреса;

3.  счетчика.

          Каналов обычно 8: 4 однобайтных и 4 двухбайтных.

Обмен с регистрами выполняется только побайтно. Для работы с 16-ю разрядами используется триггер младший/старший байт. По сбросу 8237А или записью любого байта по адресу 0СН/0DH (первый/второй контроллеры) триггер устанавливается для работы с младшими байтами, а после этого со старшими (после обращения).

Пример алгоритма тестирования регистров ПДП:

1.  сохранение содержимого регистра;

2.  запись в регистр константы тестирования (К0, К1, К2);

3.  чтение содержимого регистра со сравнением и вывод результата (адрес регистра, тип константы);

4.  восстановление содержимого регистра.

          И так для всех выбранных регистров.

          2-й метод тестирования ПДП – это проверка выполнения пересылки заготовленного файла по одному из каналов между ОЗУ и внешним устройством (FD).

Контроллер прерываний 8259А

Два контроллера 8259А предназначены для обслуживания аппаратных прерываний от устройств ПК (IRQ0 - IRQ15). Каждое устройство подключается к своему входу порта 21Н/А1Н (первый и второй контроллеры, соединены каскадом). Разрешенный уровень прерываний – это “0”. Сброс или инициализация контроллера – это запись числа 20Н в порт 20Н или А0Н.

Пример алгоритма тестирования:

1.  Определение состояния  порта 21Н (А1Н), запоминание этого состояния;

2.  Установка в 0/1 соответствующего разряда порта 21Н (А1Н);

3.  Чтение со сравнением;

4.  Восстановление и инициализация.

COM-порты

          Асинхронный универсальный приемопередатчик (UART) 8250, 16450, 16550 предназначен для асинхронного двунаправленного обмена информацией с использованием протокола RS-232C. Протокол определяет назначение регистров, таблиц, 9- и 25-контактных разъемов (DB9, DB25), форму сигналов и назначение бит в регистрах и сигнале.

Характеристики:

RS-232C:

Длина – 15 м, скорость – 20 Кбит/с

RS-432А:

Длина – 12 м, скорость – 10 Мбит/с; длина – 1000 м, скорость – 100 Кбит/с

UART имеет 10 программируемых однобайтных регистров, которые задают:

1.  скорость передачи (от 2-х до 115500 бод);

2.  длину передаваемого слова (от 5-ти до 8-ми бит);

3.  вид контроля по паритету (четность, нечетность, без контроля);

4.  количество стоп-битов (1-2);

5.  работа с прерываниями (включена/отключена);

6.  режим для самотестирования (программа соединяет выход COM-порта со входом);

7.  работа с модемом;

8.  состояние линий связи.

Обобщенный алгоритм тестирования

1.  Определяется наличие COM портов в ПК. По адресам 40h:0 с шагом 2 по смещению читается слово (для СОМ1 – 03F8h, для СОМ - 02F8h) из памяти. Если в памяти 0, СОМ порт отсутствует.

2.  Выполняется перебор различных скоростей обмена.

3.  Устанавливаются различные типы контроля.

4.  Устанавливаются различные длины слов.

5.  Аппаратно или программно соединяется выход COM-порта со входом .

6.  Заготавливается тестовая строка (тестовый файл)

7.  Для различных значений пунктов 1, 2, 3 выполнить пересылку заготовленной тестовой строки (тестового файла) с помощью адаптера самому себе.

8.  Выполнить сравнение, вывести результаты (время теста, типы установок пунктов 1, 2, 3).

          Это выполнить с аппаратными прерываниями и без них.

LPT порт

          Line Printer (LPT) – построчный принтер.

          Адаптер параллельного интерфейса в основном состоит из набора регистров.

          Адреса регистров:

1.  Базовый порт (03F8h, 02F8h) – регистр данных. Наличие LPT порта устанавливается чтением памяти по адресам 40h:08h (LPT – 03F8h), 40h:0Ah (LPT – 02F8h).

2.  База + 1 – регистр состояния.

3.  База +2 – регистр управления.

          Это адресация для SPP порта.

          Расширение: стандарт IEEE1284 – 1994 на SPP, EPP, ECP.

Пример алгоритма тестирования

1.  Определение наличия адаптеров.

2.  Запись – чтение К0, К1, К2 в базовый порт.

3.  Состояние драйвера для передачи на принтер.

Похожие материалы

Информация о работе