- •Режимы работы
- •Режим совместимости (Compatibility Mode)
- •Полубайтный режим ввода (Nibble mode)
- •Режим усовершенствованного параллельного порта (epp)
- •Режим порта с расширенными возможностями (ecp)
- •Контактный разхем для подключения параллельного интерфейса пк и пк-совместимого интерфейса принтера
- •Согласование режимов
- •Последовательность согласования
- •Электрические параметры согласования
Режим совместимости (Compatibility Mode)
Этот режим определяет протокол, используемый большинством PC, для передачи данных на принтер. Он обычно называется "Centronics" режимом и является методом, используемым со стандартным параллельным портом. В этом режиме данные помещаются на линии данных порта, состояние принтера не проверяется ни на какие ошибки и на занятость (сигнал Busy), и затем программно формируется строб данных (Strobe) для тактирования принтера. Рисунок 1 описывает эту передачу.
Рисунок 1 — Цикл передачи данных в режиме совместимости
Фазовые Переходы Режима Совместимости:
1. Запись данных в регистр данных.
2. Программа читает регистр состояния, чтобы проверить принтер на занятость (BUSY).
3. Если принтер не занят, то производится запись в Регистр Управления, чтобы установить линию STROBE.
4. Производится запись в Регистр Управления, чтобы сбросить линию STROBE,
Как может быть замечено, для вывода одного байта данных требуется четыре I /O инструкции и много дополнительных инструкций. В результате полоса пропускания порта ограничена величиной примерно 150КБ в секунду.
Эта полоса пропускания достаточна для связи с матричными и наиболее старыми лазерными принтерами, но ее недостаточно для связи с LAN адаптерами, сменными приводами дисков и лазерными принтерами нового поколения. Конечно, этот режим допускает передачу только в прямом направлении и должен быть объединен с обратным режимом, чтобы иметь полный двунаправленный канал
Этот режим был включен в стандарт как способ обеспечить обратную совместимость с огромной массой установленных принтеров и периферийных устройств. Другие режимы используются для обеспечения обратной передачи и высокопроизводительной связи.
Многие объединенные 1284 I/O контроллеры осуществляют режим, который использует FIFO буфер, чтобы передать данные по протоколу режима совместимости. Этот режим называют "Быстрый Centronics" или "Режим FIFO Параллельного Порта". Когда установлен этот режим, данные, записываемые в FIFO порт, будут переданы принтеру с использованием аппаратных средств формирования стробов для подтверждения связи. Так как имеются очень небольшие времена ожидания между передачами и программное обеспечение не должно делать никакого стробирования или проверки квитирования, скорости передачи в некоторых системах достигают 500КБ в секунду. Этот режим, однако, не входит в стандарт IEEE 1284.
Полубайтный режим ввода (Nibble mode)
Полубайтный режим предназначен для двунаправленного обмена и может работать на всех стандартных портах. Порты имеют 5 линий ввода состояния, используя которые ПУ (периферийное устройство) может посылать в хост байт тетрадами (nibble — полубайт, 4 бита) за два приема. Сигнал Ack#, вызывающий прерывание, которое может использоваться в данном режиме, соответствует биту 6 регистра состояния, что усложняет программные манипуляции с битами при сборке байта. Поэтому программное обеспечение должно читать байт состояния и затем манипулировать битами, чтобы получить правильный байт. Сигналы порта приведены в таблице 1, временные диаграммы — на рисунке 2.
Таблица 1 — Сигналы в полубайтном режиме ввода
Сигнал SPP |
Имя в полубайтном режиме |
In / Out |
Описание |
nStrobe |
nStrobe |
Out |
Не используется для обратной передачи данных |
nAutoFd |
HostBusy |
Out |
Ведущий сигнал квитирования в режиме тетрады. Низкий уровень указывает, что главный компьютер готов к передаче в режиме тетрады. Высокий уровень указывает, что тетрада была получена. |
nSelectIn |
1284 Active |
Out |
Устанавливается высокий уровень, когда компьютер находится в режиме передачи 1284. |
nInit |
nInit |
Out |
Не используется для обратной передачи данных |
nAck |
PtrClk |
In |
Низкий уровень указывает на готовность данных тетрады, высокий устанавливается в ответ на положительный перепад HostBusy. |
busy |
PtrBusy |
In |
Используется для бита данных 3, затем 7 |
PE |
AckDataReq |
In |
Используется для бита данных 2, затем 6 |
Select |
Xflag |
In |
Используется для бита данных 1, затем 5 |
nError |
nDataAvail |
In |
Используется для бита данных 0, затем 4 |
Data [8:1] |
Не используются |
|
|
Рисунок 2. Цикл передачи в режиме тетрады.
Фазы передачи в полубайтном режиме по стандарту 1284:
1. Компьютер сообщает о готовности к приёму данных, устанавливая на HostBusy низкий уровень.
2. Периферийное устройство отвечает, помещая первую тетраду на линиях состояния.
3. Периферия сигнализирует о готовности тетрады, устанавливая на PtrClk низкий уровень.
4. Компьютер устанавливает на HostBusy высокий уровень, указывая, что он получил тетраду и еще не готов для приема другой тетрады.
5. Периферия устанавливает на PtrClk высокий уровень для подтверждения компьютеру.
Состояния от 1 до 5 повторяются для второй тетрады
Полубайтный режим, подобно режиму совместимости, требует, чтобы программное обеспечение управляло протоколом, устанавливая и читая сигналы на линиях параллельного порта. Полубайтный режим требует наиболее интенсивной работы программного обеспечения для обратной передачи. По этой причине, имеется серьезное ограничение приблизительно 50КБ в секунду для этого типа передачи данных. Главное преимущество этого режима — способность функционировать на всех PC, которые имеют параллельный порт. Ограничения производительности, имеющие место в полубайтном режиме, не имеют большого значение для периферийных устройств с небольшими требованиями к пропускной способности канала в обратном направлении, типа принтеров, но могут быть почти невыносимы для адаптеров локальной вычислительной сети, дисководов или CD-ROM.