Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия
- Название:Аппаратные интерфейсы ПК. Энциклопедия
- Автор:
- Жанр:
- Издательство:Издательский дом «Питер»
- Год:2002
- Город:Санкт-Петербург
- ISBN:5-94723-180-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия краткое содержание
Книга посвящена аппаратным интерфейсам, использующимся в современных персональных компьютерах и окружающих их устройствах. В ней подробно рассмотрены универсальные внешние интерфейсы, специализированные интерфейсы периферийных устройств, интерфейсы устройств хранения данных, электронной памяти, шины расширения, аудио и видеоинтерфейсы, беспроводные интерфейсы, коммуникационные интерфейсы, вспомогательные последовательные интерфейсы. Сведения по интерфейсам включают состав, описание сигналов и их расположение на разъемах, временные диаграммы, регистровые модели интерфейсных адаптеров, способы использования в самостоятельно разрабатываемых устройствах. Книга адресована широкому кругу специалистов, связанных с эксплуатацией ПК, а также разработчикам аппаратных средств компьютеризированной аппаратуры и их программной поддержки.
Аппаратные интерфейсы ПК. Энциклопедия - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Регистровая модель адаптера ЕСР (табл. 1.8) использует свойства архитектуры стандартной шины и адаптеров ISA, где для дешифрации адресов портов ввода-вывода задействуются только 10 младших линий шины адреса. Поэтому, например, обращения по адресам Port
, Port+400h
, Port+800h
… будут восприниматься как обращения к адресу Port, лежащему в диапазоне 0-3FFh. Современные PC и адаптеры декодируют большее количество адресных бит, поэтому обращения по адресам 0378h и 0778Н будут адресованы двум различным регистрам. Помещение дополнительных регистров ЕСР «за спину» регистров стандартного порта (смещение 400-402Н) преследует две цели. Во-первых, эти адреса никогда не использовались традиционными адаптерами и их драйверами, и их применение в ЕСР не приведет к сужению доступного адресного пространства ввода-вывода. Во-вторых, этим обеспечивается совместимость со старыми адаптерами на уровне режимов 000–001 и возможность определения факта присутствия ЕСР-адаптера посредством обращения к его расширенным регистрам.
Таблица 1.8. Регистры ЕСР
Смещение | Имя | R/W | Режимы ECP¹ | Название |
---|---|---|---|---|
000 | DR | R/W | 000-001 | Data Register |
000 | ECPAFIFO | R/W | 011 | ЕСР Address FIFO |
001 | SR | R/W | Все | Status Register |
002 | CR | R/W | Все | Control Register |
400 | SDFIFO | R/W | 010 | Parallel Port Data FIFO |
400 | ECPDFIFO | R/W | 011 | ECP Data FIFO |
400 | TFIFO | R/W | 110 | Test FIFO |
400 | ECPCFGA | R | 111 | Configuration Register A |
401 | ECPCFGB | R/W | 111 | Configuration Register В |
402 | ECR | R/W | Все | Extended Control Register |
¹ Регистры доступны только в данных режимах (указаны значения бит 7–5 регистра ECR)
Каждому режиму ЕСР
соответствуют (и доступны) свои функциональные регистры. Переключение режимов осуществляется записью в регистр ECR. «Дежурными» режимами, включаемыми по умолчанию, являются 000 или 001. В любом из них работает полубайтный режим ввода. Из этих режимов всегда можно переключиться в любой другой, но из старших режимов (010–111) переключение возможно только в 000 или 001. Для корректной работы интерфейса перед выходом из старших режимов необходимо дождаться завершения обмена по прямому доступу и очистки FIFO-буфера.
В режиме 000 (SPP) порт работает как однонаправленный программно-управляемый SPP-порт.
В режиме 001 (Bi-Di PS/2) порт работает как двунаправленный порт PS/2 типа 1. От режима 000 отличается возможностью реверса канала данных по биту CR.5
.
Режим 010 (Fast Centronics) предназначен только для высокопроизводительного вывода через FIFO-буфер с использованием DMA. Сигналы квитирования по протоколу Centronics вырабатываются аппаратно. Сигнал запроса прерывания вырабатывается по состоянию FIFO-буфера, но не по сигналу Ack#
(запрос одиночного байта «не интересует» драйвер быстрого блочного вывода).
Режим 011 является собственно режимом ЕСР, описанным выше, Поток данных и команд
, передаваемых в ПУ, помещается в FIFO-буфер через регистры ECPDFIFO
и ECPAFIFO соответственно. Из FIFO они выводятся с соответствующим признаком цикла (состояние линии HostAck
). Принимаемый поток данных от ПУ извлекается из FIFO-буфера через регистр ECPDFIFO
. Получение адреса в командном цикле от ПУ не предусматривается. Обмен с регистром ECPDFIFO
может производиться и по каналу DMA.
Компрессия по методу RLE при передаче выполняется программно. Для передачи подряд более двух одинаковых байт данных в регистр ЕСPAFIFO
записывается байт, у которого младшие 7 бит содержат счетчик RLC (значение RLC=127 соответствует 128 повторам), а старший бит нулевой. После этого в ECPDFIFO
записывается сам байт. Принимая эту пару байт (командный байт и байт данных), ПУ осуществляет декомпрессию. При приеме потока от ПУ адаптер ЕСР декомпрессию осуществляет аппаратно и в FIFO-буфер помещает уже декомпрессированные данные. Отсюда очевидно, что вывод данных с одновременным использованием компрессии и DMA невозможен.
Режим 100 (EPP) — один из способов включения режима EPP (если таковой поддерживается адаптером и разрешен в CMOS Setup).
Режим 110 (Test Mode) предназначен для тестирования взаимодействия FIFO и прерываний. Данные могут передаваться в регистр TFIFO и из него с помощью DMA или программным способом. На внешний интерфейс обмен не воздействует. Адаптер отрабатывает операции вхолостую на максимальной скорости интерфейса (как будто сигналы квитирования приходят без задержек). Адаптер следит за состоянием буфера и по мере необходимости вырабатывает сигналы запроса прерывания. Таким образом программа может определить максимальную пропускную способность канала.
Режим 111 (Configuration mode) предназначен для доступа к конфигурационным регистрам. Выделение режима защищает адаптер и протокол от некорректных изменений конфигурации в процессе обмена.
Как уже упоминалось, каждому режиму ЕСР соответствуют свои функциональные регистры (табл. 1.8).
Регистр данных DR
используется для передачи данных только в программно-управляемых режимах (000 и 001).
Регистр состояния SR
передает значение сигналов на соответствующих линиях (как в SPP).
Регистр управления CR
имеет назначение бит, совпадающее с SPP. В режимах 010, 011 запись в биты 0, 1 (сигналы AutoLF#
и Strobe#
) игнорируется.
Регистр ECPAFIFO
служит для помещения информации командных циклов (канального адреса или счетчика RLE
, в зависимости от бита 7) в FIFO-буфер. Из буфера информация будет выдана в командном цикле вывода.
Регистр SDFIFO
используется для передачи данных в режиме 010. Данные, записанные в регистр (или посланные по каналу DMA), передаются через буфер FIFO по реализованному аппаратно протоколу Centronics. При этом должно быть задано прямое направление передачи (бит CR.5
=0).
Регистр DFIFO
используется для обмена данными в режиме 011 (ЕСР). Данные, записанные в регистр или считанные из него (или переданные по каналу DMA), передаются через буфер FIFO по протоколу ЕСР.
Регистр TFIFO
обеспечивает механизм тестирования FIFO-буфера в режиме 110.
Регистр ECPCFGA
позволяет считывать информацию об адаптере (идентификационный код в битах [7:4]).
Регистр ECPCFGB
позволят хранить любую информацию, необходимую драйверу. Запись в регистр не влияет на работу порта.
Регистр ECR
— главный управляющий регистр ЕСР. Его биты имеют следующее назначение:
♦ ECR[7:5]
— ЕСР MODE
— задают режим ЕСР;
♦ ECR.4
— ERRINTREN#
— (Error Interrupt Disable) запрещает прерывания по сигналу Error#
(при нулевом значении бита по отрицательному перепаду на этой линии вырабатывается запрос прерывания);
Интервал:
Закладка: