Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия

Тут можно читать онлайн Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия - бесплатно полную версию книги (целиком) без сокращений. Жанр: Все книги в жанре Компьютерное "железо", издательство Издательский дом «Питер», год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия краткое содержание

Аппаратные интерфейсы ПК. Энциклопедия - описание и краткое содержание, автор Михаил Гук, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Аппаратные интерфейсы ПК. Энциклопедия - читать онлайн бесплатно полную версию (весь текст целиком)

Аппаратные интерфейсы ПК. Энциклопедия - читать книгу онлайн бесплатно, автор Михаил Гук
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Связь контроллера с центральным процессором обеспечивается через 8-битную шину данных. Контроллер выбирается сигналом CS#от дешифратора адреса, срабатывающего по адресам 0060h и 0064h; внутренние регистры контроллера выбираются линией SA2системной шины адреса. Чтение и запись выполняется по сигналам IORD#и IOWR#, генерируемых при выполнении процессором инструкций INи OUT. Таким образом, контроллер располагается в пространстве ввода-вывода CPU по адресам 60h (регистр данных) и 64h (регистр состояния и команд), назначение регистров приведено в табл. 8.1. Из регистра данных считываются данные, принимаемые по интерфейсам от клавиатуры и мыши, а также данные, возвращаемые контроллером в ответ на адресованные ему команды. Запись в регистр данных используется для подачи команд и данных, адресованных к клавиатуре и мыши, а также данных для команд, адресованных контроллеру. В регистр команд записываются команды, адресованные контроллеру. Режим работы контроллера (разрешение работы интерфейсов клавиатуры и мыши и прерываний от них, трансляция скан-кодов и другие параметры) задается командным байтом , посылаемым в контроллер по специальной команде. Перед любой записью в контроллер необходимо убедиться в его готовности. Признаком готовности/занятости контроллера является значение бита 1 регистра состояния (порт 064h).

Таблица 8.1. Назначение регистров контроллера клавиатуры

Порт, R/W Назначение
060 RW Порт данных 8042
064 R Регистр состояния 8042 (R/O): бит 7 — ошибка четности при последнем обмене с клавиатурой; бит 6 — тайм-аут приемника/общий тайм-аут¹; бит 5 — тайм-аут передатчика/выходной буфер интерфейса мыши полон (Mouse_OBF)¹; бит 4: 0 — клавиатура на замке; бит 3:1 — последняя запись была командой, 0 — данными; бит 2: системный флаг, устанавливается в 0 по включении питания, в 1 — программно (что означает состояние завершения системного сброса Reset OK); бит 1: 1 — входной буфер интерфейса клавиатуры полон, 0 — готовность к приему команды/данных; бит 0: 1— выходной буфер интерфейса клавиатуры полон (OBF)
064 W Регистр команд 8042

¹Второе назначение бита относится к контроллеру i8242B, имеющему дополнительный интерфейс для подключения PS/2-Mouse.

Контроллер имеет два внешних порта, с помощью которых и реализуются последовательные интерфейсы, а также управление вентилем GateA20, сигналом сброса процессора и чтением сигналов от джамперов системной платы и ключа блокировки клавиатуры. Эти порты не имеют непосредственного отображения в пространстве адресов ввода-вывода PC; доступ к ним осуществляется через команды контроллера. Кроме этих портов контроллер имеет два специальных входа T0и T1, которые могут считываться его микропрограммой и использоваться в качестве источников его внутренних прерываний (это не прерывания CPU). Каждая из двунаправленных интерфейсных линий KB-Data, KB-Clock, MS-Dataи MS-Clockреализуется битом порта вывода и битом ввода. В режиме PS/2 для чтения линий KB-Clockи MS-Clockиспользуются входы T0и T1, в режиме AT вход T1используется для линии KB-Data.

Порт ввода P1доступен по команде C0h; в режиме PS/2 имеет следующее назначение бит:

♦ бит 7 — ключ блокировки клавиатуры ( Keylock ): 0 — клавиатура заблокирована;

♦ бит 6 — перемычка установки видеорежима: 0 — цветной (Color), 1 — монохромный (Mono);

♦ бит 5 — системная перемычка: 0 —замкнута;

♦ бит 4 — перемычка задания объема ОЗУ: 0 — 256 Кбайт, 1 — 512 Кбайт и более;

♦ биты 3, 2 — не используются;

♦ бит 1 — линия MS-Data;

♦ бит 0 — линия KB-Data.

В современных ПК используются только биты 0, 1 и 7; в режиме AT биты 0 и 1 не используются.

Порт вывода (P2), доступный для записи и чтения по командам D1h и D0h соответственно, имеет следующее назначение бит:

♦ бит 7 — линия KB-Data;

♦ бит 6 — линия KB-Clk;

♦ бит 5 — запрос прерывания от дополнительного интерфейса ( IRQ12), в режиме AT не используется;

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

♦ бит 3 — линия MS-Clk, в режиме AT не используется;

♦ бит 2 — линия MS-Data, в режиме AT не используется;

♦ бит 1 — вентиль линии адреса A20 ( Gate A20 , см. п. 12.3): 0 — A20 обнулен, 1 — управляется выводом процессора;

♦ бит 0 — альтернативный сброс процессора (сигнала INIT, без формирования общего сигнала сброса).

Приняв посылку от клавиатуры, контроллер выполняет внутреннюю трансляцию скан-кода (если это не запрещено командным байтом) и устанавливает в регистре состояния OBF=1, что приводит к генерации запроса прерывания IRQ1(если это не запрещено командным байтом). В ответ на это хост должен считать данные (транслированный скан-код, префиксы и т.п.) из порта данных (60h). Трансляция обеспечивает программную совместимость клавиатур XT и AT (см. ниже) по чтению скан-кодов из порта 60h. При получении посылки от мыши контроллер не выполняет никаких преобразований и устанавливает в регистре состояния Mouse_OВF=1, что приводит к генерации запроса прерывания IRQ12(если это не запрещено командным байтом). По этому сигналу данные от мыши должны быть считаны хостом из того же порта 60h. To же самое происходит и при программной записи байта в выходной буфер клавиатуры (код D2h) или мыши (код D3h), с установкой соответствующих битов состояния и генерацией запросов IRQ1или IRQ12.

После получения команды, по которой контроллер должен возвращать данные, он устанавливает в регистре состояния OBF=1, что приводит к генерации запроса прерывания IRQ1(если это не запрещено командным байтом). После этого данные должны быть считаны из порта данных (по адресу 60h). Если команда возвращает несколько байтов данных, прерывание генерируется для каждого байта.

Взаимодействие с контроллером осуществляется подачей команд — записью в регистр команд (по адресу 064h). Перед посылкой команды необходимо убедиться в готовности контроллера к ее приему — бит 1 порта 64h должен иметь нулевое значение. Подробно команды контроллера описаны в литературе [2, 8]. Контроллеры клавиатуры различаются версиями встроенного ПО, поэтому замена контроллера другим, с отличающейся версией ПО (KBC BIOS), может оказаться проблематичной — микросхема BIOS системной платы должна знать особенности контроллера клавиатуры.

8.1.3. Системная поддержка и программный интерфейс

Клавиатура имеет системную поддержку на уровне BIOS — обработку фактов нажатия и отпускания клавиш и обеспечение сервисов ввода символов с клавиатуры, а также управления ее параметрами (задержка и частота автоповтора) и индикаторами. Коды, принятые от клавиатуры ее контроллером, считываются и обрабатываются обработчиком аппаратного прерывания IRQ1(вектор 09h). Результат обработки помещается в клавиатурный буфер , из которого по программному прерыванию Int 16hэтот результат для дальнейшей обработки может быть извлечен значительно позже. Нажатие «системной» комбинации Ctrl+Alt+Del, клавиши PrintScreen( SysRq) и некоторых других к записи в клавиатурный буфер не приводит, а вызывает специальные процедуры. Прикладной программе, для которой требуется нестандартное использование клавиатуры (например, в качестве музыкальной), придется самой заниматься обработкой аппаратного прерывания IRQ1, перехватывая вектор Int 09h. Перехват этого вектора требуется и для вызова каких-либо функций резидентных программ по «горячим» клавишам.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Михаил Гук читать все книги автора по порядку

Михаил Гук - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Аппаратные интерфейсы ПК. Энциклопедия отзывы


Отзывы читателей о книге Аппаратные интерфейсы ПК. Энциклопедия, автор: Михаил Гук. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x