Тестирование внешних контроллеров

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

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

Лекция №6

Тестирование внешних контроллеров

Клавиатура

          Унифицированное устройство со стандартным разъемом и последовательным интерфейсом связи системной платы.Клавиатура содержит внутренний контроллер (микроЭВМ 8042), который соединен с аналогичным контроллером 8048 на системной плате. 8042 сканирует матрицу клавиш, управляет индикаторами, выполняет внутреннюю диагностику (2 встроенных теста) и связь системной платы. Используется расширенная клавиатура АТ от 101 и больше клавиш.

          Центральный процессор через 60h порт управляет 8042. Перед посылкой команды в 8042 надо убедиться в готовности контроллера (первый бит=0 в порту 64h). Клавиатура работает с девятым прерыванием BIOS. Имеет 2 байтных кода основных клавиш, ASCII- и скан- код. 9-е прерывание записывает ASCII-код нажатой клавиши в младший байт буфера клавиатуры, а в старший – скан-код.

Действия по тестированию клавиатуры:

1.  Создать массивы известных ASCII- и скан-кодов (тип – байт).

2.  В режиме диалога с подсказками нажать требуемые клавиши и выполнить проверку считанного кода с элементом массива.

3.  Проверка светодиодов на включение – выключение (Num-, Caps-, Scroll-Lock).

4.  Проверка выполнения команд 8042, 8048, встроенных тестов.

Шаги выполнения действий алгоритмов:

1.  Готовность клавиатуры. В цикле опрос первого бита 64h порта. Если 0,–клавиатура готова к приему команды. Port[$64] and $02=0.

2.  Наличие ошибки. После определения готовности выполняется проверка: Port[$64] and $E0 ≠ 0 – ошибка.

3.  Чтение буфера клавиатуры. В цикле определяется неравенство головы и хвоста буфера:         mem[$40:$1C] ≠ mem[$40:$1A]. Если неравенство выполнилось, читаем ASCII-код из буфера памяти по адресу mem[$40:mem[$40:$1A]] и скан-код по адресу mem[$40:mem[$40:$1A]+1].

4.  Чтение скан-кода через 60h порт:

·  задержка ≈ 2000 мс;

·  первое чтение 60h порта;

·  в цикле выполняется второе чтение 60h порта до тех пор, пока их значения не совпадут;

·  вывод скан-кода как второго считанного байта.

5.  Чтение с помощью 16h прерывания. Имеет 2 подфункции: 0 и 10h. Запуск 0-й подфункции: в регистр АН загружается "0", вызывается 16h прерывание. Выходные параметры: AL – ASCII код; AH – скан код.

6.  Проверка команд 8042:

·  в порт 64h загружается команда (например, FFh или АВh);

·  задержка порядка 10000 мс;

·  проверка готовности и ошибок;

·  проверка правильности выполнения команды – вывод результата;

·  сброс команды, в 64h порт записывается АЕh.

7.  Проверка команд 8048:

·  готовность;

·  в 60h порт записывается команда ЕЕh;

·  задержка ≈ 2000мс;

·  ошибка;

·  чтение 60h порта (при команде ЕЕh ответ должен быть ЕЕh);

·  сброс.

8.  Светодиоды:

·  в 60h порт посылается команда EDh;

·  задержка;

·  в 60h порт посылается одна из 3 команд включения светодиодов (1 – Scroll, 2 – Num, 4 – Caps);

·  в 60h порт посылается команда EDh;

·  задержка;

·  в 60h порт засылается 0 – выключение любого светодиода.

Видеосистема

Структура диагностики программ видеосистемы

1.  Информация о видеоадаптере, графическом ускорителе, мониторе.

          Для монитора:

·  максимальная разрешающая способность (3 цифры: количество пикселей в строке,  столбец, код пикселя);

·  частота горизонтальной развертки (35,5 КГц);

·  частота кадровой развертки (43,5 Гц).

2.  Тесты видеосистемы:

·  устанавливаются различные разрешающие способности (А*В*С) выбором режима работы (mode);

·  проверка горизонтальности линий;

·  проверка вертикальности линий;

·  искажение изображения;

·  горизонтальное разрешение;

·  вертикальное разрешение;

·  однотонный шаблон;

·  резкость негативного изображения;

·  нежелательное мерцание;

·  контроль на блики;

·  черезстрочная развертка;

·  поочередное мерцание половин экрана;

·  показать основные цвета;

·  градация цветов по убыванию интенсивности;

·  цветовая сетка (проверка сведения лучей);

·  синхронизация цветов.

Пример алгоритма

1.  Запомнить текущий режим.

2.  Установить выбранный режим.

3.  Вывести на экран тестовое сообщение с подсказками (расшифровка режима).

4.  Визуально убедиться в правильности изображения. Перейти к п.2 с сохранением тестового сообщения, но установкой нового режима.

5.  Выполнить аналогичные действия в цвете и с цветами.

6.  Восстановить исходный режим.

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

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