LAB599.RU — интернет-магазин средств связи
EN FR DE CN JP

Полезные схемы / Универсальный параллельный адаптер


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

Универсальный адаптер для параллельного порта.

1. Краткое описание.

Универсальный параллельный адаптер предназначен для подключению к компьютеру различных устройств с цифровыми входами. Например, он может использоваться для записи информации в ПЗУ, прямого управления шаговыми двигателями, для налаживания различных электронных схем в качестве эмулятора и т.д.. При наличии соответствующего программного обеспечения многие из перечисленных задач можно выполнить используя только порт компьютера, но при этом возникает вполне реальный риск выхода порта из строя, так как его выходы не имеют защиты и рассчитаны на подключение только одного вывода, а для ремонта может потребоваться замена материнской платы. Кроме того для подключения к параллельному порту чего либо необходимо предварительно выключить компьютер. Адаптер устраняет эти проблемы и позволяет думать в первую очередь о разрабатываемой схеме, а не о том как бы в процессе ее создания не спалить компьютер.

2. Схема.

Идея использовать параллельный порт для выдачи и приема цифровых сигналов с ТТЛ уровнями не нова, например в [1] приводится подобная схема. Предлагаемый здесь адаптер отличается простотой, при возможностях достаточных для большого количества применений. К тому же если Вам через какое то время понадобится увеличить количество входов-выходов можно просто собрать такую же схему и подключить ее по приведенной ниже таблице. Хотя если предполагается что выводов одной схемы сразу будет недостаточно лучше использовать более мощный вариант. Схема состоит из трех регистров и одного мультиплексора. Все регистры включены по одинаковой схеме, за исключением третьего, его выходы могут быть переведены в высокоомное состояние, поэтому к нему так же подведен управляющий сигнал разрешения включения выходов ОЕ. Информационные входы всех регистров объединены и подключены к соответствующим выходам параллельного порта компьютера, так как используется ТТЛШ серия, то допустимо нагружать один выход порта на несколько входов микросхем. Для стробирования используются управляющие линии порта, подключенные ко входам С регистров. Для увеличения количества входов используется мультиплексор D4.

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

Схема подключается к параллельному порту, так же необходимо подвести питание +5В к микросхемам, лучше всего для этого использовать блок питания компьютера. В моем варианте собранная схема находится внутри компьютера, подключается к внутреннему разъему LPT порта на системной плате, для питания использует 4 контрактный разъем, а рабочие выходы выведены на 32 контактный разъем вмонтированный в заглушку от отсека 5,25 на передней панели. На этот же разъем выведены напряжения питания +5, +12 вольт. При необходимости увеличить количество выводов можно собрать второй такой же блок и подключить его в соответствии с приведенной ниже таблицей к первому, подключенному к компьютеру. При этом появятся дополнительно несколько входов и выходов, но время доступа увеличится.

Подключение к параллельному порту
 Вывод порта  Тип  Название вывода  Цепь адаптера 
2OD0IN1
3OD1IN2
4OD2IN3
5OD3IN4
6OD4IN5
7OD5IN6
8OD6IN7
9OD7IN8
1O-STROBEIN9
14O-AUTO FDIN10
16O-INITIN11
17O-SLCT ININ12
10I-ACKIN13
11IBUSYIN14
12IPEIN15
13ISLCTIN16
18..25-GNDобщ.

Подключение второго адаптера для увеличения количества выводов.
 Первый  Второй  Первый  Второй 
O1I1O9I9
O2I2O10I10
O3I3O11I11
O4I4O12I12
O5I5O17I13
O6I6O18I14
O7I7O19I15
O8I8O20I16

Для подключения к внешнему устройству используются цепи О1...О24. О1...О16 являются обычными выходами, О17-О24 могут использоваться как входы или выходы. Цепь О16 параллельно используется для внутренних нужд.

4. Программирование.

Программа должна писаться для каждого конкретного случая использования устройства отдельно, поэтому я не привожу здесь никаких вариантов, а только рассматриваю основные принципы программного управления схемой.

Практически любой язык программирования имеет функции позволяющие записать число по заданному адресу в порт ввода-вывода. Управление схемой осуществляется через вызовы таких функций. Для записи 8 битного числа в буферный регистр схемы, необходимо записать его в регистр данных параллельного порта, затем записать в в регистр управления любое число имеющее в соответствующем разряде единицу (соответствующем выводу С выбранного буферного регистра) и затем в него же ноль. Для чтения 4х бит данных достаточно просто прочитать регистр состояния порта, для чтения остальных бит предварительно измените состояние линии О16. Необходимо учитывать то что некоторые входные и выходные линии порта проинвертированы.

Адреса регистров для LPT1 приведены в таблице.*
 Регистр данных378h
 Регистр состояния379h   
 Регистр управления 37Ah
*)Верно для большинства компьютеров, но для корректного определенья адресов следует использовать данные BIOS.

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

Партнеры