Средства тестирования и отладки пэвм

Звук формируется от сигнала звуковой частоты, поступающего от второго канала (счетчика) таймера, работой которого можно программно управлять.

Частота сигнала (высота тона) задается установкой коэффициента деления счетчика, а длительность тона соответствует длительности разрешающего сигнала: программно-управляемого битом 0 порта 061h.

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

Кроме того, с учетом некоторой инерционности слухового восприятия, при быстром переключении частот можно добиться и простейшего (псевдо) многоголосия воспроизводимых мелодий.

Более интересные звуки можно извлекать, используя принцип широтно-импульсной модуляции, осуществляемой программно через бит 1 порта 061h. В этом случае динамик выполняет роль фильтра нижних частот. Процессоры, начиная с 80286, способны формировать такой поток управляющих сигналов, который позволяет воспроизводить музыку или речь с качеством карманного приемника. Но это почти полностью загружает процессор. Драйвер для такого извлечения звука существует и для Windows, но в стандартную поставку не входит. Известны и “простейшие” программы, которые воспроизводят голосом написанный текст или подсказывают произношение слов из словаря иностранного языка.

В настоящее время для работы со звуком используется двунаправленный аудиоканал. Роль стандартного звукового сигнала динамика ПЭВМ сводится к подаче гудков при загрузке, звуковой идентификации ошибок во время POSTYLE="до инициализации видеоадаптера, когда сообщения на экран еще не вывести, сопровождению сообщений о системных ошибках.

Интерфейс и контроллер клавиатуры ([5], с.85)

Для подключения клавиатуры предназначен последовательный интерфейс, включающий в себя два обязательных сигнала KB-Data и KB-Clock (данные и синхронизация), а также необязательный сигнал сброса KB-Reset, сбрасывающий клавиатуру низким уровнем.

Интерфейс клавиатуры ПЭВМ, начиная с AT, построен на контроллере i8042 (или на логически эквивалентном контроллере, интегрированным в микросхемы чипсета, обычно, в южный мост или аналогичный по назначению хаб) и обеспечивает двустороннюю связь с клавиатурой. Причем передача информации к клавиатуре используется для управления индикаторами ее состояния и программирования параметров (автоповтор, набор скан-кодов).

Интерфейс клавиатуры ПЭВМ XT был реализован аппаратной логикой и несколько отличался от интерфейса AT. Поэтому подключение неправильного типа клавиатуры (если такая сохранилась) будет восприниматься тестом POSTYLE="при загрузке ПЭВМ как ошибка (или неподключенная клавиатура) и вызовет зависание при разрешенной в BIOS Setup проверке клавиатуры.

Клавиатура подключается к системному блоку одним из двух видов разъема: обычным 5-контактным (розеткой на системном блоке и вилкой на клавиатуре) DIN, применяемым и в бытовой радиоаппаратуре, или малогабаритным (розеткой на системном блоке) mini-DIN, появившимся в компьютерах семейства PS/2 и получившим аналогичное название. На этот же разъем через плавкий предохранитель поступает и напряжение питания клавиатуры +5 В. Вид разъемов со стороны системного блока и назначение контактов приведены на рис.6. (Появляется и клавиатура, подключаемая к порту USB).

Электрически и логически интерфейс клавиатуры PS/2 повторяет интерфейс клавиатуры AT, поэтому для согласования различных типов разъемов применяют специальные переходники. Лучше использовать переходники в виде мягкого кабеля с разъемами. Жесткий переходник, особенно с AT-клавиатуры на PS/2 разъем системного блока, хуже тем, что малые движения кабеля создают большой момент силы, выламывающий переходник из маленького гнезда PS/2.

Питание от разъема клавиатуры (через специальные переходники) часто используется при подключении к параллельному порту внешних накопителей или адаптеров локальных сетей. Если при этом предохранитель не выдержит тока, потребляемого этими устройствами (особенно, при включении), то это вызовет, естественно, и отказ клавиатуры – ее индикаторы не будут мигать при включении.

Контроллер клавиатуры

Программируемый контроллер клавиатуры i8042 применяется в ПЭВМ, начиная с AT. Его функции состоят в приеме кодов от клавиатуры и управлении ее состоянием.

ПЭВМ использовали контролер клавиатуры i8042 (позднее i8242) для общения с клавиатурой. Контролер на материнской плате в действительности взаимодействовал с подобным контроллером внутри клавиатуры, формировавшим коды нажимаемых клавиш – скан-коды. Контроллер, встроенный в клавиатуру, обычно, реализуется микросхемой из семейства MCS-48(51) – Micro Controller Set или логически совместимой.

Когда контроллер i8042 получает скан-код от интегрированного в клавиатуру контроллера, он сообщает об этом процессору, используя аппаратное прерывание, выделенное клавиатуре (IRQ1). Процессор затем интерпретирует нажатую клавишу и выполняет соответствующее действие.

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

В ряде ПЭВМ контролер клавиатуры обрабатывает ввод от интегрированной PS/2 мыши, имеющейся на многих ПЭВМ. Этот способ спроектирован IBM при создании оригинальной PS/2 линии.

Кроме того, контроллер клавиатуры использовался для управления "линией A20" (21-й адресной линией). Многие новые чипсеты сохраняют эту.

Встроенное программное обеспечение контроллера i8042 хранится обычно в масочном внутреннем ПЗУ и не допускает изменения, но в этом, как правило, и нет необходимости. Данная программа обеспечивает формирование запроса прерывания по приему скан-кода от клавиатуры и отработку управляющих команд от процессора.

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

Связь контроллера с другими узлами процессора осуществляется по 8-битной шине данных, подключаемой к системной шине процессора, и двум 8-битным портам: ввода и вывода (действие которых может программироваться), определенные разряды которых выведены на интерфейс клавиатуры (и мыши PS/2).

Порты ввода и вывода (оба имеют адрес 060h) доступны по командам контроллера:

C0h – чтение порта ввода

D0h – чтение порта вывода

D1h – запись в порт вывода

При этом назначение разрядов порта вывода следующее:

бит 7 – последовательные данные в клавиатуру

бит 6 – синхронизация клавиатуры

бит 5 – запрос прерывания от дополнительного интерфейса (IRQ12)

бит 4 – запрос прерывания от клавиатуры (IRQ1)

бит 3 – синхронизация дополнительного

бит 2 – последовательные данные доп. Интерфейса

бит 1 – вентиль линии адреса A20 (Gate A20)

бит 0 – альтернативный сброс процессора (Ctrl+Alt+Del)

Биты [1:0] входного порта используются как вход данных дополнительного интерфейса и интерфейса клавиатуры.

Назначение регистров контроллера указано в табл.7:

Таблица 7. Регистры контроллера клавиатуры IBM PC

Порт
Чтн/Зап
Назначение

060h

Чт/Зп

Регистр данных (связан с портами ввода и вывода)

064h

Чт

Регистр состояния (выдается при чтении порта вывода)

Бит 7 – ошибка четности

Бит 6 – тайм-аут приемника/общий тайм-аут

Бит 5 – тайм-аут передатчика

Бит 4 – 1 = клавиатура на замке

Бит 3 – 1 = команда, 0 = данные

Бит 2 – 0 = питание включено, 1 = завершение системного сброса

Бит 1 – 1 = входной буфер полон, 0 = готовность к приему команды/данных

Бит 0 – 1 = выходной буфер полон

064h

Зп

Регистр команд (команда заносится при записи в порт вывода)

На рис.7 для ознакомления приведена структурная схема контроллера (одной из его модификаций VIA 82C42).

Когда клавиатура или мышка подают сигналы по линиям интерфейса (KBCLK, KBDATA, MSCLK, MSDATA), контроллер получает данные по последовательному интерфейсу и сохраняет полученные данные во внутреннем входном буфере. Если данные поступили от клавиатуры, то перед посылкой их во входной буфер выполняется трансляция полученного скан-кода. Кроме того, взводится сигнал в регистре состояния (и бит 4 порта вывода – IRQ1), указывающий на то, что входной буфер полон. Тем самым процессор оповещается о том, что нужно выдать команду чтения порта данных, чтобы извлечь полученные данные.

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

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

КМОП память и часы реального времени (CMOS Memory и RTC – Real Time Clock) ([5], с.89)

В первых ПЭВМ (PC XT) конфигурация оборудования (объем памяти, количество дисководов и пр.) задавалась переключателями, состояние которых опрашивалось во время выполнения POSTYLE="(Power On Self Test). В ПЭВМ, начиная с AT, для хранения подобной информации, состав которой расширился, ввели специальную микросхему КМОП памяти небольшого объема, питание которой осуществляется от батарейки. В эту же микросхему поместили и часы-календарь, также питающиеся от той же батарейки. Эта память и часы – CMOS Memory и Real Time Clock (RTC) – стали стандартным элементом архитектуры IBM совместимых ПЭВМ.

Содержимое этой памяти и дату сначала модифицировали с помощью внешней загружаемой утилиты SETUP, а позже эту утилиту встроили в BIOS. Микросхемы CMOS RTC имеют встроенную систему контроля питания, отслеживающую и разряд батареи ниже допустимого уровня. Достоверность информации конфигурирования проверяется с помощью контрольной суммы.

Доступ к ячейкам CMOS RTC осуществляется через порты ввода-вывода 070h – адрес (индекс) ячейки в пределах CMOS и 071h – данные. Поскольку эта память имеет низкое быстродействие (порядка единиц микросекунд), между командами записи адреса (в порт 070h) и чтения-записи данных необходима программная задержка.

Назначение ячеек CMOS RTC приведено в табл.8. (Запоминать таблицу нет необходимости, но при ответе на билет желательно помнить основные ее разделы –ВВС).

Можно отметить, что первоначально под изображение года в дате отводился только байт 09 (в нем можно было записать только две младшие цифры года), а старшие всегда считались 19. Позже (уже в 386 и 486 машинах) добавили еще один байт для века (32h или 37h). Однако, в раде моделей он автоматически не инкрементируется таймером. Кроме того не во всех BIOS был правильный календарь на XXI век. (Все это было связано с известной “проблемой 2000 года” Y2K).

Таблица 8. Стандартное назначение ячеек CMOS RTC

Адрес
Назначение

00h – 09h,

32h (37 в PS/2)

Ячейки RTC в двоично-десятичной кодировке

00 – секунды

01 – секунды будильника

02 – минуты

03 – минуты будильника

04 – часы

05 – часы будильника

06 – день недели

07 – день месяца

08 – месяц

09 – год (2 младшие цифры)

32h – век (2 старшие цифры года, в PS/2 – этот адрес 37h)

0Ah

Регистр A состояния RTC

Бит 7 – 1 = обновление времени, 0 = готов к чтению

Биты [6:4] – делитель частоты (для кварца 32,768 КГц – 010)

Биты [3:0] = 0110 – выходная частота 1024 Гц

0Bh

Регистр B состояния RTC

Бит 7 – 1 = остановка часов, 0 = нормальный ход

Бит 6 – 1 = разрешение периодических прерываний, 0 = запрет

Бит 5 – 1 = разрешение прерываний от будильника, 0 = запрет

Бит 4 – 1 = разрешение прерываний по окончании смены времени, 0 = запрет

Бит 3 – 1 = разрешение выходной частоты (см. регистр 0Ah), 0 = запрет

Бит 2 – 1 = двоичный формат, 0 - двоично-десятичный формат

Бит 1 – 1 = 24-часовой режим, 0 – 12-часовой режим

Бит 0 – 1 = разрешено переключение летнее/зимнее время, 0 = запрет

0Ch

Регистр C состояния RTC – чтение флагов идентификаторов прерывания

Бит 7 – IRQF – общий запрос прерывания

Бит 6 – PF – периодические прерывания

Бит 5 – AF – прерывание от будильника

Бит 4 – UF – прерывание по смене времени

Биты [3:0] – зарезервированы

0Dh

Регистр D состояния RTC

Бит 7 – 1 = питание нормальное, 0 = разряд батареи

Биты [6:0] – зарезервированы

0Eh

Байт состояния диагностики POST

Бит 7 – 1 = Power Lost – терялось питание CMOS

Бит 6 – 1 = Checksum Bad – ошибка контрольной суммы CMOS

Бит 5 – 1 = Bad Configuration – ошибка конфигурации

Бит 4 – 1 = RAM Size Error – несоответствие размера ОЗУ, определенного тестом, записи в CMOS

Бит 3 – 1 = HDD Error – ошибка инициализации жесткого диска

Бит 2 – 1 = Time Valid – нет ошибки календаря (30 февраля, 25 часов)

Биты [1:0] – зарезервированы

0Fh

Shutdown Code (код закрытия системы) – используется POSTYLE="для определения вида предшествующего закрытия системы

00 = аппаратный или программный сброс

01 = размер памяти определен

02 = тест памяти прошел

03 = тест памяти выявил ошибку

04 = POSTYLE="завершен, идет загрузка системы

05 = JMP FAR [0:0467h] с инициализацией контроллера прерываний

06 = тест защищенного режима прошел

07 = тест защищенного режима выявил ошибку

08 = ошибка при определении размера памяти

09 = перемещен блок Extended Memory (INT 15h)

0A = JMP FAR [0:0467h] без инициализации контроллера прерываний

0B = используется 80386

10h

Типы НГМД

Биты [7:4] – дисковод A

Биты [3:0] – дисковод B

0 = нет, 1 = 360 Кбайт, 2 = 1,2 Мбайт, 3 = 720 Кбайт, 4 = 1,44 Мбайт

11h

Зарезервирован

12h

Типы НЖМД

Биты [7:4] – привод 0

Биты [3:0] – привод 1

0 = нет, 1 – Eh = типы 1 – 14, Fh = тип в байте 19h (для второго привода – в 1Ah)

13h

Зарезервирован

14h

Установленное оборудование

Биты [7:6] – количество НГМД: 00 = 1, 01 = 2

Биты [5:4] – тип первичного видеоадаптера

00 – EGA или VGA

01 – CGA, 40 столбцов

10 – CGA, 80 столбцов

11 – MDA, 80 столбцов

Биты [3:2] – зарезервированы

Бит 1 – 1 = есть математический сопроцессор

Бит 0 – 1 = есть НГМД

15h – 16h

Размер базовой памяти (15h – младшие разряды, 16h – старшие), КБ

0280h = 640 КБ

17h – 18h

Размер расширенной памяти (младшие/старшие), КБ

19h, 1Ah

Расширенный тип диска C, D (в PS/2 зарезервированы)

1Bh – 2Dh

Зарезервированы

2Eh – 2Fh

Контрольная сумма CMOS с 10h по 20h (младшие/старшие)

30h – 31h

Реальный размер расширенной памяти (младшие/старшие), КБ

32h – 33h

В PS/2 контрольная CRC-сумма CMOS с10h по 31h (младшие/старшие)

33h

Флаги POST

Бит 7 – 1 = наличие 128 Кбайт ОЗУ под границей 1 Мбайт (доступна теневая

память)

Бит 6 – 1 = первая загрузка после выполнения SETUP

34h – 3Fh

Зарезервированы (можно писать свою информацию для привязки ПО к машине)

38h – 3Fh

В PS/2 пароль, доступ по несуществующим адресам 78h – 7Fh

  1. Учебно-методический комплекс основной образовательной программы по направлению подготовки бакалавров «Системный анализ и управление» Санкт-Петербург 2009 г

    Учебно-методический комплекс
    Нормативный срок освоения основной образовательной программы подготовки бакалавра по направлению 553 – Системный анализ и управление при очной форме обучения 4 года.
  2. Техническое задание 12 Архитектура web-портала 14 > Выбор средств проектирования 16 Обзор ресурсов 18

    Техническое задание
    Основополагающей является деятельность человека по поиску ответов на вопросы и достижение системного точного мировосприятия, с помощью которого эффективно решается множество проблем отдельной личности и всего общества.
  3. «Эконо­мика, разработка и использование программных средств»

    Методические указания
    Методические указания к курсовому проектированию по дисциплине «Эконо­мика, разработка и использование программных средств» / Сост.: Л.Б. Венчковский, И.
  4. Учебно-методический комплекс дисциплины (СД. Ф. 06) Технологии программирования (код и название дисциплины по учебному плану специальности)

    Учебно-методический комплекс
    Технологии разработки программного обеспечения: Разработка сложных программных систем: Учебное пособие для вузов / С. А. Орлов. - СПб.: Питер, 2002. - 464с.
  5. Программа собеседования по направлению «Информатика и вычислительная техника».

    Программа
    1.1. Множества, их спецификации; диаграммы Венна; отношения; свойства отношений; разбиения и отношение эквивалентности; отношение порядка; функции и отображения; операции.
  6. Е. А. Рудина Консультант по экономической части

    Документ
    Настоящая дипломная работа содержит результаты анализа существующих методов обнаружения распределенных вторжений, описание разработки на их основе комплексного подхода к оценке распределенных вторжений и интеграции этого подхода в
  7. Наименование оператора электронной площадки

    Документация об аукционе
    АКАДЕМИЯ ГОСУДАРСТВЕННОЙ ПРОТИВОПОЖАРНОЙ СЛУЖБЫ МИНИСТЕРСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ДЕЛАМ ГРАЖДАНСКОЙ ОБОРОНЫ, ЧРЕЗВЫЧАЙНЫМ СИТУАЦИЯМ И ЛИКВИДАЦИИ ПОСЛЕДСТВИЙ СТИХИЙНЫХ БЕДСТВИЙ
  8. Предисловие (42)

    Документ
    За все это время педвузовские кафедры программирования и вычислительной математики, как и образованные позднее на их основе кафедры информатики и вычислительной техники, не были избалованы своевременным появлением специальных учебных изданий.
  9. Программа обучения рассчитана на специалистов, которые не обладают достаточными знаниями в области спектрометрии, ее приборной базы и современных методов обработки получаемой информации и не имеют специального физического образования (1)

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

Другие похожие документы..