![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Поскольку параллельный порт в IBM PC-совместимом компьютере чаще всего используется для подключения принтера, то его называют также принтер-портом. В MS-DOS компьютер работает максимум с тремя параллельными портами, которые имеют логические имена LPT1, LPT2 и LPT3. В адресном пространстве компьютера резервируются базовые адреса этих портов: 3ВСh, 378h и 278h. Первый адрес обычно используется, если принтер-порт находится, например, на плате графического адаптера Hercules или EGA. На плате Multi I/O Card адрес LPT1 – 378h, а LPT2 – 278h. Для принтерного порта LPT1 предусмотрено аппаратное прерывание IRQ7, а для LPT2 – IRQ5, хотя на практике они обычно не применяются. Установка базовых адресов портов и возможность использования прерываний настраиваются перестановкой перемычек (jumpers) на плате, описание которых приводится в технической документации для конкретного адаптера или в программе начальной установки SETUP.
Сначала интерфейс Centronics был конструктивно реализован на нескольких ТТЛ-микросхемах. Именно на них в этом случае выполняются декодирование адреса, промежуточное хранение и инвертирование отдельных сигналов. Затем широкое распространение получили адаптеры, в которых практически все функции отдельных ТТЛ-микросхем объединены в одной БИС типа 82С11, выполненной по КМОП-технологии. Теперь все микросхемы портов и адаптеров «спрятаны» обычно в одной СБИС.
Начиная с базового адреса, каждый порт принтера имеет в адресном пространстве три адреса. При этом первый адрес соответствует регистру данных, посылаемых от компьютера к принтеру. Чтение установленных битов данных можно осуществить по тому же адресу. Физически чтение данных происходит через специальный буфер данных.
Следующий адрес (базовый плюс единица) позволяет читать регистр статуса адаптера (расположенный в принтере) через буферную микросхему. Регистр статуса позволяет определить состояние некоторых сигналов интерфейса Centronics.Чтение регистра статуса имеет смысл при передаче данных на принтер для определения состояния принтера и процесса передачи данных.
Адрес третьего порта (базовый адрес плюс 2) соответствует регистру управления интерфейса. Этот регистр (read only – только для чтения) позволяет определить следующие состояния принтера:
- бит 0 = 0: сигнал Strobe активен (описание см. ниже),
- бит 1 = 0: сигнал Auto feed включен (описание см. ниже),
- бит 2 = 0: инициализация принтера,
- бит 3 = 1: принтер выбран,
- бит 4 = 1: прерывание разрешено.
Распределение сигналов
При минимальной конфигурации для реализации параллельного интерфейса было бы достаточно 11 проводов: один провод массы (корпус), два так называемых провода подтверждения (Handshake) и восемь проводов для передачи данных. Поскольку параллельный интерфейс часто отождествляют с разъемом кабеля принтера, приведем назначение выводов соответствующего 36-контактного разъема Centronics.
Данные (линия 2-9 и 18-25)
Восемь линий данных передают восемь битов информации. Для каждой линии данных имеется отдельный проводник заземления (18-25)
Подтверждение (линия 1,10,11)
При передаче данных обе стороны должны сообщать друг другу информацию о своем состоянии. Это осуществляется путем передачи по определенной линии сигнала низкого или высокого уровня (напряжения 0 В или 5 В).
Сигнал Strobe сообщает принтеру о том, что PC установил байт данных на линии данных и принтер может печатать символ.
Сигнал Busy сообщает PC, что принтер занят обработкой данных, которые накопились в его буфере. После обработки байта данных принтер сообщает, что обработка прошла корректно и он готов к приему новой информации.
Контроль принтера (линии 12-17)
Оставшиеся проводники кабеля принтера предназначены для передачи контрольных сигналов о состоянии принтера и конфликтах в его работе, например об ошибках при передаче данных.
Paper End
По линии 12 передается сообщение PC о том, что в принтере нет бумаги. Интерфейс реагирует на это, как на срыв передачи данных, и сигнализирует об этом по другим линиям (Select и Error). В противном случае принтер печатал бы без бумаги прямо по валику, что могло бы привести к серьезному повреждению головки принтера.
Select и Select Input
По линии 13 интерфейсу сообщается о том, в каком из состояний находится принтер, в состоянии On-line (готов) или Off-line (выключен или не готов). Уровень сигнала на линии 13 можно изменять вручную с помощью соответствующих переключателей на панели управления принтера. Сигнал Select Input, передаваемый по линии 17 или 36, устанавливает принтер в режим готовности к работе (On-line), например, после устранения какой-либо ошибки в его работе.
Error
Все ошибки, возникающие во время передачи данных, сообщаются по линии 15 или 32. Состояние линии Error влияет на состояние других линий и может остановить процесс печати.
Часто проявляющаяся ошибка при работе принтера – это так называемая ошибка времени выполнения (Time Out). Если принтер долгое время занят «изнурительной» работой с данными и не может сообщить сигналом Busy о том, что он больше не в состоянии принимать данные, то спустя некоторое время фиксируется ошибка Time Out. Регистрация этой ошибки влияет на все линии. При отсутствии сигнала об ошибке Time Out происходила бы непрерывная передача данных на принтер до тех пор, пока бесконечный цикл не привел бы к зависанию всей системы.
При инициализации (линия Init – 16 или 31) принтер переходит в свое исходное состояние. Для матричного принтера это означает, что его печатающая головка возвращается в исходное состояние. Кроме того, очищается буфер принтера, т. е. данные, обрабатываемые принтером, выгружаются из его памяти.
По линии Auto Feed (автоматический перевод строки, линия 14) передается сигнал, указывающий принтеру, как обрабатывать новую строку при поступлении команды возврата каретки.
Дата публикования: 2015-04-10; Прочитано: 707 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!