Лекция №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. Восстановить исходный режим.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.