Использование LPT- порта
Данная статья содержит подробную информацию
о сопряжении любых электронных устройств с LPT-портом,
о программировании порта, а также его расширении.
LPT - один из самых старых портов, но он является
самым удобным для управления элетронными устройствами,
так как сигналы порта постоянные и не нуждаются в каких
либо преобразованиях. На базе данного порта можно организовать
автоматизированую систему с датчиками и рабочими элементами или
простое управление какими либо элетронными устройствами.
LPT имеет 25 выводов (пинов). Пины 18-25 - заземлены на корпус
компьютера. Пины 2-9 управляющие выводы. Также через эти пины
возможен прием входных сигналов. Пины 10-13 и 15 служат только для
приема сигналов. Пины 1, 14, 16 и 17 служат только для вывода
сигналов.
Порт организован на логике типа TTL. Уровень напряжения на выходах при
отсутствии сигнала (логический ноль) составляет долю вольта. При
установленом сигнале напряжение приближено к 5В, обычно ~ 4,90 В.
Чтобы подать входной сигнал, необходимо соединить нужный
входной пин с массой.
Теперь перейдем непосредственно к подключению схем или устройств к
порту. Одним важным недостатком порта является отсутствие выводов источника
питания, поэтому для Ваших схем понадобится независимый источник питания.
Аналогично можно вывести питание с одного из разьемов питания изнутри компьютера.
Чтобы использовать другой источник питания необходимо соединить его минус (землю)
с одним из пинов 18-25 (с массой компьютера).
Для управления устройствами, потребляющими малый ток необходимость в схеме
сопряжения отпадает, так как мощность порта может обеспечить нормальную работу
таких устройств. Таковыми являются например светодиоды, электронные наручные
часы, черно-белые ЖК дисплеи.Управляющие входы каких либо приборов.Исключением
является использование устройств, которые нагружают порт до предела. Такие
устройства лучше подключать через резисторы для отвода тепла и предохранения
порта (Основная нагрузка будет приходится именно на эти резисторы, а не на резисторы
порта), при отсутствии этих резисторов Вы подвергаете опасности сам порт. Также они
ограничивают потребление тока в цепи. Сопротивление резисторов - в диапазоне
470 Ом - 2kОм (в зависимости от того,что подключаете). Тончых расчетов тут не
требуется: просто найдите сопротивление, при котором устройство или схема будет
работать нормально, а сами резисторы не раскалялись. Рекомендуетя всегда соединять
схему с портом через резисторы.
Для подключения более мощных устройств вплоть до высоковольтных используются
транзисторы и реле. Транзистор тут используются в режиме электронного ключа.
Подобрать транзистор, который будет соединен с портом нужно так, чтобы для его
отпирания было достаточно мощности порта, а также чтобы данный транзистор мог
выдержать нагрузку управляемой цепи.
Предположим, что требуется с помощью LPT управлять электродвигателем в 12В.
Разумеется, напрямую в порт его подключать нельзя. В цепь двигателя необходимо
включить транзистор. Для этого используется его коллектор и эмиттер. Если
используется транзистор обратной проводимости, то коллектор следует подключать
к минусу внешнего источника, а эмитор к одному из выводов двигателя.Второй вывод
двигателя на плюс источника. Если используется транзистор прямой проводимости,
то просто нужно поменять его положение на противоположное. База транзистора должна
быть соединена через резистор с одним из выходных пинов порта. При появлении сигнала
на выходе ток попадает на базу транзистора, и тот отпирает цепь с 12 вольтовым
двигателем.
Для управления высоковольтными схемами требуются реле. При использовании реле все
делается также, как в приведенном выше примере, только вместо двигателя
устанавливается реле, через которое проходит высокое напряжение, Например 220В.
Ненадежность использования реле заключается в том, что высокое напряжение при
неисправности реле может попасть в порт, и тогда вы лишитесь не только порта, но и
компьютера. Чтобы избежать такого случая, используются оптопары (можно сделать
самодельную оптопару). К порту подключен источник света, например светодиод. В управляемую
цепь через несколько транзисторных каскадов включен фотодатчик. При попадании света на
фотодатчик идет отпирание цепей по каскаду вплоть до включения реле.
Таким образом при неисправности реле высокое не может попасть в LPT порт.
Есть возможность расширения порта. Для этого понадобится источник питания.
Расширение заключается в увиличении мощности и количестве входов и выходов. Однако
при увеличении входов и выходов уменьшается максимальная скорость работы порта. В
исходном состоянии порт может работать со скоростью 9,6 кбит/с или 9600 бод. При
расширении порта скорость упадет в 3-4 раза. Прицнип расширения заключается в
изменении фунции выводов. К примеру сделаем 21 управляющих вывода вместо 12. Для
такого расширения потребуется четырехразрядный дешифратор и 15 триггеров типа DC.
Эти элементы могут быть произвольными, но должны быть совместимы с логикой TTL.
Выводы 2-5 порта напрямую соединяются со входами дешифратора. Каждый выход
дешифратора соединяется со входом "C" соответствующего тригера. Вывод порта 6
соединяется со входами "D" всех пятнадцати тригеров. Вывод порта 7 также
соединяется со входами "R" всех 15 триггеров. Выходы 15 триггеров будут
расширеными выходами управления и плюс 6 отсавшихся на порте - итого 21. Принцип
работы этой схемы таков. На вывод порта 6 подается сигнал, в который нужно установить
один из 15 выходов расширения. Этот сигнал будет присутствовать на входах "D" всех 15
триггеров. Затем на четыре входа дешифратора с выводов порта 2-5 подается число в двоичной
системе, которое указывает номер расширенного вывода, для которого требуется сменить
состояние. При этом на выходе дешифратора, на который указывает двоичное число, возникнет
сигнал, котоый попадает на вход "С" соответствующего ему тригера. После этого на входы
дешифратора подаются нули. Сигнал со входа выбранного тригера пропадает, и по его спаду
тригер запоминает состояние, которое указывается на входе "D", и сразу же передается
на выход. ЧТобы отключить сигналы на выходах всех тригеров, подается импульсный
сигнал с вывода 7 порта, который соединен со входами "R" всех тригеров, что приведет
к их обнулению. Иными словами, указывается сигнал, который нужно выдать на расширеном выходе,
затем выбирается один из выходов и происходит запись. Таким образом порт можно расширить до 256
выходов и не обязательно посредством именно этих элементов. Таким же образом происходит
расширение входов. Существует много вариантов расширения порта,
это зависит от интеллекта и фантазии сборщика схемы.
Теперь следует рассмотреть работу LPT порта со стороны программного обеспечения. Начать следует
с настройки самого порта. Чтобы полноценно использовать порт, в БИОСе нужно установить режим
параллельного порта (parallel port mode), называемый ECP+EPP. Данный режим позволяет одновременно
использовать любой из пинов 2-9 как вход и выход. Внимание, на старых компьютерах такого режима
может и не быть. В этом случае устанавливать нужно режим EPP.
Для управления LPT в компьютере предусмотрены три портовых адреса: 378h, 37Ah, 37Fh. Через порт 378h
осуществляется доступ к выводам 2-9 (8 бит). Через порт 37Аh осуществляется доступ к остальным выводам,
а также настройка порта. Порт 37Fh используется только для чтения и предназначен для получения сигналов
с пинов 2-9 (только в режиме TCP+EPP). Бит 5 порта 37Аh отвечает за направление ввода по пинам 2-9.
Если данный бит установлен в 1, то при чтении с порта 378h ,будут приходить данные о входных сигналах,
в обратном случае данные будут содержать информацию о сигналах, которые на данный момент выдаются портом.
При чтении порта 37Аh мы будем получать информацию о направлении данных по пинам 2-9, а также состояния
входов 10-13 и 15.При записи в порт 37Ah можно установить направление данных, а также установить сигналы
на пинах 1, 14, 16, 17. Каждый пин LPT соответствует биту данных, полученых или записаных в выше описаные
портовые адреса.
Предположим, что на пины 2-9 подключены светодиоды. Задача зажечь их через один. Для этого в порт 378h
записываем число 10101010 в двоичном представлении или AAh в шестнадцатеричном. Каждый бит числа
соответсвует пину. После записи в порт светодиоды будут светится через один.
Для ввода данных в порт представим схему из выключателей, которые одним выводом соединены с массой, вторым
с пинами 2-9 соответственно. При чтении с порта 37Fh мы получим 8-разрядное число, биты которого будут
соответствовать состояниям на каждом пине: 1 для разомкнутых выключателей и 0 для замкнутых.
Источник: createcode.ru - Создание сайтов, программирование, SEO
|