|
Подключение устройств к параллельному порту
компьютера.
Раздел появился в силу того, что много людей задают примерно
таки вопросы: "А как подключить .... к компьютеру?".
Давайте сразу определим границы возможностей устройств,
подключаемых к порту принтера. Возьмём стандартный LPT (SPP): 8 линий данных
(только вывод) , 4 линии управления (только вывод) и 5 линий статуса (только
ввод), скорость обмена - до 600 Кбит/с. Если у Вас компьютер на базе процессора
80386 и выше, то возможно использование стандарта EPP (о стандартах
LPT порта читайте в разделе "Hardware" -> внешние шины компьютера).
В таком случае мы сможем использовать двунаправленную линию данных, 4 линии
управления (только вывод), 5 линий статуса (только ввод) со скоростью передачи
данных до 2Мбит/с. Если Вы не знаете, поддерживает ли Ваш компьютер стандарт
EPP, то это легко проверить:
-
перезагружаете компьютер
-
в процессе загрузки, когда появится сообщение "Press
DEL to enter setup." (у разных фирм-производителей это приглашение
может меняться), нажать клавишу Delete.
-
в меню, где устанавливаются настройки даты/времени,
параметров жёстких и гибких дисков искать строку "Parallel Port".
Её нужно переставить в режим SPP/EPP.
-
сохранить изменения и выйти.
Порт принтера не имеет линий питания на разъёме, т.е. к
активным устройствам придётся собирать блок питания.
Теперь непосредственно о том, что же можно подключить.
|
- Вам необходимо управление малопотребляющим устройством.Описание
работы: байт данных ппрограммно выставляется на линии d0-d7, затем
защёлкивается регистром ИР22 по импульсу с контакта 14 (AutoFD)
LPT. В принципе, можно убрать из схемы регистр - LPT сам фиксирует
последний поступивший байт на выходе, но если 1 ножку (ОС) микросхемы
через резистор (около 300 Ом) соединить с +напряжения питания,
то после выключения компьютера статус линий (включено/выключено)
будет сохранён.Можно к выходам Q0-Q7 микросхемы подсоединить транзисторы
или тиристоры, тогда можно будет управлять мощными лампами, двигателями
и т.д.(рис.1)
|
|
- Нужна двунаправленная линия данных, допустим для
случаев, когда управление устройства и опрос его состояний осуществляется
по совместным каналам Микросхема АП6 - шинный драйвер, может
передавать данные в две стороны. Направление задаётся синалом
DIR, входом G включают/выключают драйвер от линии (переводят его
входы/выходы в Z состояние) (рис.2)
|
|
- Необходимо управление мощным устройством во время,
когда включен компьютер, но необходима надёжная развязка сигналов,
чтобы не "сжечь" порт. Сопротивления резисторов, типы транзистора,
тиристора и величина напряжения питания зависят от конкретного
случая. При возникновении опасных ситуаций таких, как попадание
высоковольтной линии на "землю" или пробой тиристора и транзистора,
действие высокого напряжения не распространится на линии порта
LPT, что предотвратит его выход из строя. (рис.3)
|
|
Некоторые конкретные случаи.
- Я подключал микросхему цифроаналогового преобразователя
К572ПА1 к компьютеру по следующей схеме: Время преобразования
микросхемы - 5 мс. Для написания программы я использовал TurboPascal
7.0 на машине с процессором AMD5x86/133 (33Мгц на шине), частота
смены байтов достигала 3 мс, и микросхема ЦАП с этим справлялась.
Таким образом можно получать колебания (если в порт выдавать последовательность
от 0 до 255 и обратно, то получается синусоида) с частотой 333
Гц. Но я заземлил младшие разряды и сдвинул "вниз" линии данных
(d0 LPT -> d3 DAC, d1 LPT -> d4 DAC), т.е. получился 8-битный
ЦАП. Если Uвых подать на регулятор напряжения (типа ЕН1), то можно
получить блок питания с выставлением напряжения от компьютера
(рис.4)
|
О программировании порта:
Порт LPT в PC-совместимых компьютерах находится по адресу
378h-37Ah для LPT1 и 278h-27Ah для LPT2. Прерывания №7 для первого порта,
№5 для второго. Базовый адрес (378h или 278h) служат для записи данных в
порт на линии d0-d7. Базовый+1 - для чтения битов состояния: бит 3 для линии
-ERROR; 4 - SLCT; 5 - PE; 6 - ACK; 7 - BUSY. Базовый+2 - для записи битов
управления: бит 0 соотвествует сигналу -STROBE; 1 - AUTO FD; 2 - INIT; 3
- SLCT IN. Также, если Ваш компьютер поддерживает стандарт ЕРР, то чётвёртым
битом Вы сможеите разрешить прерывание от принтера а пятым битом перевести
линии порта d0-d7 в режим принятия данных. |