Чтение онлайн

на главную - закладки

Жанры

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

Гук Михаил Юрьевич

Шрифт:

¹ I/O задает направление передачи (вход-выход) сигнала порта. O/I обозначает выходные линии, состояние которых считывается при чтении из портов вывода; O(I) — выходные линии, состояние которых может быть считано только при особых условиях (см. ниже).

² Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).

³ Вход Ack# соединен резистором (10 кОм) с питанием +5 В.

Адаптер SPP-порта содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта

BASE
(3BCh, 378h или 278h).

Data Register (

DR
) — регистр
данных
, адрес=
BASE
. Данные, записанные в этот регистр, выводятся на выходные линии
Data[7:0]
. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях, что не всегда одно и то же.

Status Register (

SR
) — регистр состояния (только чтение), адрес=
BASE+1
. Регистр отображает 5-битный порт ввода сигналов состояния принтера (биты
SR.4-SR.7
) и флаг прерывания. Бит
SR.7
инвертируется — низкому уровню сигнала соответствует единичное значению бита в регистре, и наоборот.

Ниже описано назначение бит регистра состояния (в скобках даны номера контактов разъема порта).

♦ 

SR.7
Busy
— инверсное отображение состояния линии
Busy
(11): при низком уровне на линии устанавливается единичное значения бита — разрешение на вывод очередного байта.

♦ 

SR.6
Ack
(Acknowledge) — отображение состояния линии
Ack#
(10).

♦ 

SR.5
РЕ
(Paper End) — отображение состояния линии
Paper End
(12). Единичное значение соответствует высокому уровню линии — сигналу о конце бумаги в принтере.

♦ 

SR.4
Select
отображение состояния линии
Select
(13). Единичное значение соответствует высокому уровню линии — сигналу о включении принтера.

♦ 

SR.3
Error
— отображение состояния линии
Error#
(15). Нулевое значение соответствует низкому уровню линии — сигналу о любой ошибке принтера.

♦ 

SR.2
PIRQ
— флаг прерывания по сигналу
Ack#
(только для порта PS/2). Бит обнуляется, если сигнал
Ack#
вызвал аппаратное прерывание. Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния.

♦ 

SR[1:0]
— зарезервированы.

Control Register (

CR
) — регистр управления, адрес=
ВАSЕ+2
, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов (биты 0–3) для которых возможно и чтение; выходной буфер обычно имеет тип «открытый коллектор». Это позволяет корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты 0, 1, 3 инвертируются.

Ниже описано назначение бит регистра управления.

♦ 

CR[7:6]
зарезервированы.

♦ 

CR.5
Direction
— бит управления направлением передачи (только для портов PS/2, см. ниже). Запись единицы переводит порт данных в режим ввода. При чтении состояние бита не определено.

♦ 

CR.4
AckINTEN
(Ack Interrupt Enable) — единичное значение разрешает прерывание по спаду сигнала на линии
Ack#
— сигнал запроса следующего байта.

♦ 

CR.3
Select In
— единичное значение бита соответствует низкому уровню на выходе
Select In#
(17) — сигналу, разрешающему работу принтера по интерфейсу Centronics.

♦ 

CR.2
Init
— нулевое значение бита соответствует низкому уровню на выходе
Init#
(16) — сигнал аппаратного сброса принтера.

♦ 

CR.1
Auto LF
— единичное значение бита соответствует низкому уровню на выходе
Auto LF#
(14) — сигналу на автоматический перевод строки (LF — Line Feed) по приему байта возврата каретки (CR). Иногда сигнал и бит называют
AutoFD
или
AutoFDXT
.

♦ 

CR.0
Strobe
— единичное значение бита соответствует низкому уровню на выходе
Strobe#
(1) — сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно

IRQ7
или
IRQ5
) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (
Ack#
) при установке
CR.4=1
. Во избежание ложных прерываний контакт 10 соединен резистором с шиной +5 В. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта. Как уже было сказано, BIOS это прерывание не использует и не обслуживает.

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

1. Вывод байта в регистр данных (1 цикл

IOWR#
).

2. Ввод из регистра состояния и проверка готовности устройства (бит

SR.7
— сигнал
Busy
). Этот шаг зацикливается до получения готовности или до срабатывания программного тайм-аута (минимум 1 цикл
IORD#
).

3. По получению готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается. Обычно, чтобы переключить только один бит (строб), регистр управления предварительно считывается, что к двум циклам

IOWR#
добавляет еще один цикл
IORD#
.

Видно, что для вывода одного байта требуется 4–5 операций ввода-вывода с регистрами порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандартный порт — невысокая скорость обмена при значительной загрузке процессора. Порт удается разогнать до скоростей 100–150 Кбайт/с при полной загрузке процессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный — сложность использования в качестве порта ввода.

Поделиться:
Популярные книги

Отморозки

Земляной Андрей Борисович
Фантастика:
научная фантастика
7.00
рейтинг книги
Отморозки

Цеховик. Книга 2. Движение к цели

Ромов Дмитрий
2. Цеховик
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Цеховик. Книга 2. Движение к цели

Гримуар темного лорда V

Грехов Тимофей
5. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда V

Комендант некромантской общаги 2

Леденцовская Анна
2. Мир
Фантастика:
юмористическая фантастика
7.77
рейтинг книги
Комендант некромантской общаги 2

Попаданка в деле, или Ваш любимый доктор

Марей Соня
1. Попаданка в деле, или Ваш любимый доктор
Фантастика:
фэнтези
5.50
рейтинг книги
Попаданка в деле, или Ваш любимый доктор

Ведьмак. Назад в СССР

Подус Игорь
1. Ведьмак. Назад в СССР
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Ведьмак. Назад в СССР

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

Огромный. Злой. Зеленый

Новикова Татьяна О.
1. Большой. Зеленый... ОРК
Любовные романы:
любовно-фантастические романы
5.40
рейтинг книги
Огромный. Злой. Зеленый

Черный маг императора

Герда Александр
1. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора

Мое ускорение

Иванов Дмитрий
5. Девяностые
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Мое ускорение

Вечный. Книга IV

Рокотов Алексей
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга IV

Я еще князь. Книга XX

Дрейк Сириус
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще князь. Книга XX

Матабар IV

Клеванский Кирилл Сергеевич
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар IV

Лорд Системы

Токсик Саша
1. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
4.00
рейтинг книги
Лорд Системы