СХЕМЫ И ДОКУМЕНТАЦИЯ

Полезные схемы / Подключение различных устройств к параллельному порту компьютера.


<<< К списку раздела.

Подключение устройств к параллельному порту компьютера.

Давайте сразу определим границы возможностей устройств, подключаемых к порту принтера. Возьмём стандартный LPT (SPP): 8 линий данных (только вывод) , 4 линии управления (только вывод) и 5 линий статуса (только ввод), скорость обмена - до 600 Кбит/с. Если у Вас компьютер на базе процессора 80386 и выше, то возможно использование стандарта EPP. В таком случае мы сможем использовать двунаправленную линию данных, 4 линии управления (только вывод), 5 линий статуса (только ввод) со скоростью передачи данных до 2Мбит/с. Если Вы не знаете, поддерживает ли Ваш компьютер стандарт EPP, то это легко проверить:

  • перезагружаете компьютер.
  • в процессе загрузки, когда появится сообщение "Press DEL to enter setup." (у разных фирм-производителей это приглашение может меняться), нажать клавишу Delete.
  • в меню, где устанавливаются настройки даты/времени, параметров жёстких и гибких дисков искать строку "Parallel Port". Её нужно переставить в режим SPP/EPP.
  • сохранить изменения и выйти.

    Порт принтера не имеет линий питания на разъёме, т.е. к активным устройствам придётся собирать блок питания. Теперь непосредственно о том, что же можно подключить.

    1. Вам необходимо управление малопотребляющим устройством. Описание работы: байт данных ппрограммно выставляется на линии d0-d7, затем защёлкивается регистром ИР22 по импульсу с контакта 14 (AutoFD) LPT. В принципе, можно убрать из схемы регистр - LPT сам фиксирует последний поступивший байт на выходе, но если 1 ножку (ОС) микросхемы через резистор (около 300 Ом) соединить с +напряжения питания, то после выключения компьютера статус линий (включено/выключено) будет сохранён.Можно к выходам Q0-Q7 микросхемы подсоединить транзисторы или тиристоры, тогда можно будет управлять мощными лампами, двигателями и т.д.

    2. Нужна двунаправленная линия данных, допустим для случаев, когда управление устройства и опрос его состояний осуществляется по совместным каналам Микросхема АП6 - шинный драйвер, может передавать данные в две стороны. Направление задаётся синалом DIR, входом G включают/выключают драйвер от линии (переводят его входы/выходы в Z состояние).

    3. Необходимо управление мощным устройством во время, когда включен компьютер, но необходима надёжная развязка сигналов, чтобы не "сжечь" порт. Сопротивления резисторов, типы транзистора, тиристора и величина напряжения питания зависят от конкретного случая. При возникновении опасных ситуаций таких, как попадание высоковольтной линии на "землю" или пробой тиристора и транзистора, действие высокого напряжения не распространится на линии порта LPT, что предотвратит его выход из строя.

    Некоторые конкретные случаи.

    Я подключал микросхему цифроаналогового преобразователя К572ПА1 к компьютеру по следующей схеме: Время преобразования микросхемы - 5 мс. Для написания программы я использовал TurboPascal 7.0 на машине с процессором AMD5x86/133 (33Мгц на шине), частота смены байтов достигала 3 мс, и микросхема ЦАП с этим справлялась. Таким образом можно получать колебания (если в порт выдавать последовательность от 0 до 255 и обратно, то получается синусоида) с частотой 333 Гц.

    Но я заземлил младшие разряды и сдвинул "вниз" линии данных (d0 LPT -> d3 DAC, d1 LPT -> d4 DAC), т.е. получился 8-битный ЦАП. Если Uвых подать на регулятор напряжения (типа ЕН1), то можно получить блок питания с выставлением напряжения от компьютера.

    О программировании порта:

    Порт 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 в режим принятия данных. Вот все мои скромные познания в программировании.


    Разработка и оформление Андрея Александровича Борисенко aka ICE.
    По всем вопросам просьба писать мне на icenet (at) narod.ru