Составители:
169
1. Вывод байта в регистр данных (1 цикл IOWR#).
2. Ввод из регистра состояния и проверка готовности устройства (сигнал
Busy). Этот шаг зацикливается до получения готовности или до
срабатывания программного тайм-аута (минимум 1 цикл IORD#).
3. По получению готовности выводом в регистр управления
устанавливается строб данных, а следующим выводом строб снимается.
Обычно, чтобы
переключить только один бит (строб), регистр
управления предварительно считывается, что к двум циклам IOWR#
добавляет еще один цикл IORD#.
Видно, что для вывода одного байта требуется 4-5 операций ввода-вывода с
регистрами порта (в лучшем случае, когда готовность обнаружена по первому
чтению регистра состояния). Отсюда вытекает главный недостаток вывода
через стандартный порт – невысокая скорость
обмена при значительной
загрузке процессора. Порт удается разогнать до скоростей 100-150 Кбайт/с при
полной загрузке процессора, что недостаточно для печати на лазерном
принтере. Другой недостаток функциональный – сложность использования в
качестве порта ввода.
Все перечисленные недостатки помог решить стандарт на параллельный
интерфейс IEEE 1284, принятый в 1994 году. Он определяет 5 режимов обмена
данными, метод
согласования режима, физический и электрический
интерфейсы. Согласно IEEE 1284, возможны следующие режимы обмена
данными через параллельный порт:
• Режим совместимости (Compatibility Mode) – однонаправленный (вывод)
по протоколу Centronics. Этот режим соответствует SPP-порту.
• Полубайтный режим (Nibble Mode) – ввод байта в два цикла (по 4 бита),
используя для приема линии состояния. Этот режим обмена подходит
для любых адаптеров, поскольку задействует только
возможности
стандартного порта.
Рис. 98. Передача данных в Nibble Mode.
• Байтный режим (Byte Mode) – ввод байта целиком, используя для
приема линии данных. Этот режим работает только на портах,
допускающих чтение выходных данных (Bi-Directional или PS/2 Туре 1).
Страницы
- « первая
- ‹ предыдущая
- …
- 168
- 169
- 170
- 171
- 172
- …
- следующая ›
- последняя »
