Сигналы lpt порта. Осваиваем LPT порт

Современный персональный компьютер никогда не приобрёл бы такую огромную популярность, выполняй он только вычислительные функции. Нынешний ПК – это многофункциональное устройство, при помощи которого, пользователь может не только проводить какие-либо расчёты, но также выполнять ещё массу различных дел: распечатывать текст, управлять внешними устройствами, связываться с другими пользователями с помощью компьютерных сетей и т. д. Все эта огромная функциональность достигается при помощи дополнительных устройств – периферии, которые подключаются к персональному компьютеру посредством специальных разъёмов, называемыми портами.

Порты персонального компьютера

Порт – электронное устройство, выполняемое прямо на материнской плате ПК или на дополнительных платах, устанавливаемых в персональный компьютер. Порты имеют уникальный разъем для подключения внешних устройств – периферии. Предназначены они для обмена данными между ПК и внешними устройствами (принтерами, модемами, цифровыми фотоаппаратами и т. д.). Довольно часто, в литературе можно встретить ещё одно название для портов – интерфейсы .

Все порты можно условно разбить на две группы:

  • Внешние - для подключения внешних устройств (принтеры , сканеры , плоттеры , устройства видеоизображения , модемы и т. п.);
  • Внутренние - для подключения внутренних устройств (жёсткие диски , платы расширения).

Внешние порты персонального компьютера

  1. PS/2 - порт для подключения клавиатуры ;
  2. PS/2 - порт для подключения "мышки ";
  3. Ethernet - порт для подключения локальной сети и сетевых устройств (роутеров, модемов и др.);
  4. USB - порт для подключения устройств внешней периферии (принтеров, сканеров, смартфонов и др.);
  5. LPT - параллельный порт. Служит для подключения ныне устаревших моделей принтеров, сканеров и плотеров;
  6. COM - последовательный порт RS232. Служит для подключения устройств типа dial-up модемов и старых принтеров. Ныне устарели, практически не используется;
  7. MIDI - порт для подключения игровых консолей, midi клавиатур, музыкальных инструментов с таким же интерфейсом. В последнее время практически вытеснен USB-портом;
  8. Audio In - аналоговый вход для линейного выхода звуковых устройств (магнитофонов, плееров и др.);
  9. Audio Out - выход аналогово звукового сигнала (наушники, калонки и др.);
  10. Mikrophone - микрофонный выход для подключения микрофона;
  11. SVGA - порт для подключения устройств видеоотображения: мониторов, современных LED, LCD и плазменных панелей (этот тип разъёма является устаревшим);
  12. VID Out - порт используется для вывода и ввода низкочастотного видеосигнала;
  13. DVI - порт для подключения устройств видеоотображения, более современнее чем SVGA.

Последовательный порт (COM-порт)

Один из самых старых портов, устанавливаемых в ПК на протяжении уже более 20 лет. В литературе довольно часто можно встретить его классическое наименование – RS232 . Обмен данными при помощи его происходит в последовательном режиме, то есть линии передачи и приёма – однобитные. Таким образом, информация, которая передаётся от компьютера к устройству или наоборот, разделяется на биты, которые последовательно следуют друг за другом.

Скорость передачи данных , обеспечиваемая этим портом не велика, и имеет стандартизованный ряд: 50, 100, 150, 300, 1200, 2400, 4800, 9600, 14400, 38400, 57600, 115200 Кбит/сек.

Использовался последовательный порт для подключения к ПК таких «медленных» устройств, как первые принтеры и плоттеры, dial-up модемы, манипуляторы «мышь» и даже для связи компьютеров между собой. Как бы ни была медленной его скорость, для того, чтобы соединить устройства между собой требовалось всего три провода – настолько простым был протокол обмена данными. Понятно, что для полноценной работы требовалось большее количество проводников в шнуре.

На сегодняшний день последовательный порт практически уже не используется и полностью вытеснен более молодым, но и более скоростным «собратом» - USB-портом . Следует, правда, отметить, что некоторые производители все ещё комплектуют COM-портом свои материнские платы. Однако, само наименование - «последовательный порт» до сих пор используется разработчиками программного обеспечения. Так, например, Bluetooth-устройства, порты сотовых телефонов часто представляются именно, как «последовательный порт». Это, возможно, несколько сбивает с толку, но сделано это по той причине, что передача данных в них тоже осуществляется последовательно, но на более высокой скорости.

Если по какой-то причине вам может потребоваться COM-порт, а на вашем ПК его нет, то для это цели можно воспользоваться переходником, который подключается к современному USB-порту, имеющемуся на всех современных ПК, а с другой стороны у такого переходника имеется разъем последовательного порта. Есть, правда, одно ограничение, если программное обеспечение обращалось напрямую к «железу» настоящего COM-порта, то работать с таким переходником оно не будет. В этом случае необходимо приобретать специальную плату, которая устанавливается внутрь вашего ПК.

Конструктивно, последовательный порт ПК имеет разъем типа «папа» (с торчащими штырьками):


На сегодняшний день, 25-ти штырьковый разъем последовательного порта практически вышел из употребления и уже несколько лет не устанавливается на ПК. Если производитель снабжает материнскую плату COM-портом, то это 9-ти контактный разъем типа DB9.

Представляет собой интерфейс для подключения таких устройств, как принтеры, сканеры и плоттеры.

Позволяет одновременно передавать 8 бит данных, правда в одном направлении – от компьютера к периферии. В дополнении к этому, имеет 4 управляющих бита (так же как и в случае с битами данных, управляющие биты передаются от ПК к внешнему устройству), и 4 бита состояния (эти биты компьютер может «прочитать» из устройства).

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

Энтузиасты и радиолюбители часто используют этот порт для управления какими-либо нестандартными устройствами (поделки и пр.).

USB-интерфейс

USB – это сокращение полного названия порта – universal serial bus («универсальная последовательная шина»).

На сегодняшний день это один из самых широко используемых портов на персональном компьютере. И это не случайно – его технические характеристики и простота использования действительно впечатляют.

Скорость обмена данными для интерфейса USB 2.0 может достигать - 480 Мбит/сек, а интерфейса USB3.0 – до 5 Гбит/сек (!).

Причём, все версии этого интерфейса совместимы между собой. То есть устройство использующее интерфейс 2.0 может быть подключено к порту USB3.0 (порт в этом случае автоматически понизит скорость до нужного значения). Соответственно, устройство использующее порт USB 3.0 может быть подключено к порту USB 2.0. Единственное условие, если для нормальной работы требуется скорость выше, чем максимальная скорость USB 2.0, то нормальное функционирование периферийного устройства будет в этом случае не возможно.

Кроме этого, популярность данного порта обусловлена ещё и тем, что разработчики заложили в него одну, очень полезную особенностьданный порт может служить источником электропитания , для подключённого к нему внешнего устройства. В этом случае не требуется дополнительный блок для подключения к электрической сети, что очень удобно.

Для версии порта USB 2.0 максимальный потребляемый ток может достигать значения в 0.5A, а в версии USB3.0 – 0.9А. Превышать указанные значения не рекомендуется, так как это приведёт к выходу интерфейса из строя.


Разработчики современных цифровых устройств, все время стремятся к минимизации. Поэтому, конструктивно данный порт может иметь кроме стандартного разъёма, ещё и мини-вариант для миниатюрных устройств – mini-USB . Никаких принципиальных отличий от стандартного USB-порта кроме конструкции самого разъёма mini-USB не имеет.


Практически все современные устройства имеют USB-порт для подключения к ПК. Лёгкость установки – подключенное устройство распознаётся операционной системой практически сразу после присоединения, даёт возможность пользоваться таким портом без специальных «компьютерных» знаний. Принтеры, сканеры, цифровые фотоаппараты, смартфоны и планшеты, внешние накопители – это лишь небольшой список периферийного оборудования, которое сейчас использует этот интерфейс. Простой принцип – «воткнул и работай» сделали данный порт поистине бестселлером среди всех имеющихся на сегодняшний день интерфейсов персонального компьютера.

Порт Fire-Wire (Другие названия - IEEE1394, i-Link)

Этот вид интерфейса появился сравнительно недавно – с 1995 года. Представляет собой высокоскоростную шину последовательного типа. Скорость передачи данных может достигать - до 400 Мбит/сек в стандарте IEEE 1394 и IEEE 1394a, 800 Мбит/сек и 1600 Мбит/сек - для стандарта IEEE1394b.

Изначально этот интерфейс был разработан, как порт для подключения внутренних накопителей (типа SATA), но лицензионная политика компании Apple – одного из разработчиков этого стандарта, требовала выплаты за каждый чип контроллера. Поэтому, на сегодняшний день лишь небольшое количество цифровых устройств (некоторые модели фотоаппаратов и видеокамер) снабжены данным видом интерфейса. Широкого распространения этот вид порта так и не получил.



Значение этого интерфейса трудно переоценить, как правило, именно он используется для подключения персонального компьютера к локальной сети или для выхода в интернет в большинстве случаев. Практически все современные ПК, ноутбуки и нетбуки оборудованы встроенным в материнскую плату Ethernet-портом. В этом нетрудно убедиться, если осмотреть внешние разъёмы.

Для подключения внешних устройств используется специальный , имеющий с обоих концов одинаковые разъёмы – RJ-45 , содержащие восемь контактов.


Кабель симметричен, в связи с чем, порядок подключения устройств значения не имеет – к любому из идентичных разъёмов кабеля можно подключить любое устройство на выбор – ПК, роутер, модем и т. п. Маркируется аббревиатурой - UTP, общепринятое название – «витая пара» . В большинстве случаев как для домашнего, так и для офисного использования применяют кабель пятой категории марки UTP-5 или UTP-5E.

Скорость передаваемых по Ethernet-соединению данных зависит от технических возможностей порта и составляет 10 Мбит/сек, 100 Мбит/сек и 1000 Мбит/сек. Следует понимать, что эта пропускная способность является теоретической, и что в реальных сетях она несколько ниже в виду особенностей работы Ethernet-протокола передачи данных.

Также, следует иметь в виду, что далеко не все производители устанавливают в свои Ethernet-контроллеры быстродействующие чипы, так как они весьма дороги. Это приводит к тому, что на практике, реальная скорость передачи данных значительно ниже, указанной на упаковке или в спецификации. Как правило, практически все Ethernet-карты совместимы между собой и сверху вниз. То есть более новые модели, имеющие возможность подключения на скорости в 1000 Мбит/сек (1 Гбит/сек), без проблем будут работать со старыми моделями, на скоростях 10 и 100 Мбит/сек.

Для визуального контроля целостности подключения Ethernet-порт имеет индикаторы Link и Act . Индикатор Link - горит зелёным цветом при правильном и работающем физическом подключении, т. е. кабель между устройствами подключён, он целый, порты рабочие. Второй индикатор Act («активность») имеет, как правило, оранжевое свечение и мигает во время передачи или приёма данных.

Внутренние порты персонального компьютера

Как уже было сказано выше, внутренние порты предназначены для подключения такой периферии, как накопители на жёстких дисках, CD и DVD-ROM , «карт-ридеры» , дополнительные COM и USB порты и т. п. Находятся внутренние порты либо на материнской плате , либо на дополнительных платах расширения, устанавливаемых в системную шину.

Ныне устаревший интерфейс для подключения старых моделей накопителей на жёстких дисках («винчестеров», HDD). После создания SATA-интерфейса, получил название PATA-интерфейса, или сокращённо – ATA. PATA – ParallelAdvanced Technology Attachment . Это параллельный интерфейс передачи данных для подключения накопителей был разработан в середине 1986 года знаменитой теперь компанией WesternDigital.


В зависимости от производителя, материнская плата может содержать от одного до четырёх IDE-каналов. Современные производители, как правило, оставляют всего один IDE-порт для совместимости, а в последнее время и он исключён из состава материнской платы, будучи полностью вытеснен современным интерфейсом SATA.

Скорость передачи данных в последней версии интерфейса EnhancedIDE может достигать - 150 Мбит/сек. Подключение устройств осуществляется при помощи IDE-кабеля, имеющего 40 или 80 жил для старого или нового типа интерфейса соответственно.



Как правило, при помощи одного кабеля можно подключить до двух устройств одновременно к одному порту IDE. В этом случае, при помощи перемычек на накопителях, определяющих «старшинство» устройств работающих в паре, выбирается режим работы – на одном устройстве – «мастер» (master) , а для другого «подчинённый» (slave) .

Подключать можно как однотипные устройства, например, два накопителя на жёстких дисках или два DVD-ROM, так и разные в любых сочетаниях – DVD-ROM и HDD или CD-ROM и DVD-ROM. Разъём для подключения значения не имеет, следует лишь обратить внимания, что два разъёма для подключения периферии смещены для удобства к одному из концов шлейфа.

Следует также иметь в виду, что подключив «быстрое» устройство, рассчитанное на 80-ти жильный кабель при помощи старого 40-ка жильного кабеля, вы сильно снизите скорость обмена. Кроме этого, если одно из устройств в паре имеет старый (медленный) интерфейс ATA, то скорость передачи данных в этом случае будет определяться именно скоростью работ этого устройства.

При наличии двух портов IDE и двух накопителей внутри ПК, для увеличения скорости обмена данными необходимо подключать каждый накопитель на отдельный порт IDE.

Этот интерфейс является развитием своего предшественника интерфейса IDE, с той лишь разницей, что в отличие от своего «старшего товарища» он является не параллельным, а последовательным интерфейсом. SATA – SerialATA.

Конструктивно он имеет всего семь проводников для своей работы и намного меньшую площадь как самого разъёма, так и связующего кабеля.


Скорость передачи данных у этого интерфейса значительно выше устаревшего IDE и в зависимости от версии SATA составляет:

  1. SATARev. 1.0 – до 1.5 Гбит/сек;
  2. SATARev. 2.0 – до 3 Гбит/сек;
  3. SATARev. 3.0 – до 6 Гбит/сек.

Так же, как и IDE-интерфейс шнур для подключения устройств «универсален» - разъёмы одинаковы с обеих сторон, но в отличие от «собрата» теперь при помощи одного SATA-кабеля можно подключить лишь одно устройство к одному SATA-порту.

Но вряд ли стоит огорчаться по этому поводу. Производители позаботились о том, чтобы количество портов было достаточным для самых разных применений, устанавливая на одну материнскую плату до 8 портов SATA. Разъем SATA-порта третьей ревизии, как правило, имеет ярко-красный цвет.

Дополнительные порты

Большинство материнских плат оборудуется производителями дополнительным количеством портов USB, а иногда и ещё одним, дополнительным COM-портом.


Сделано это для удобства пользователя. Большинство современных корпусов настольных ПК имеют Usb-разъёмы, установленные на передней панели для комфортного подключения внешних накопителей. В этом случае не нужно тянуться к задней стенке системного блока и «попадать» в Usb-разъём, который выведен на заднюю панель.

Такой разъем на передней панели и подключается к дополнительному USB-порту установленному на материнской плате. Кроме всего прочего, выведенных на заднюю панель интерфейсов USB может попросту не хватать, в виду большого количества устройств периферии , в этом случае можно приобрести дополнительную планку с разъёмами USB и подключить их к дополнительным портам.


Все вышесказанное относится и к другим портам, установленным на материнской плате. Например, последовательный порт COM или FireWireIEEE1394 может попросту не выводиться на заднюю панель персонального компьютера, однако на материнской плате он в то же время присутствует. В этом случае достаточно купить соответствующий шлейф и вывести его наружу.

Назвать портами данные разъёмы будет технически неверно, хотя метод подключения к ним дополнительных плат всё-таки чем-то схож с другими привычными портами. Принцип тот же – воткнул и включил. Система в большинстве случаев сама найдёт устройство и запросит (или установит автоматически) для него драйвера.


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

Шины PCI и PCIe несовместимы друг с другом, поэтому прежде чем приобрести себе плату расширения необходимо уточнить – какие системные шины установлены на материнской плате вашего ПК.

PCIex 1 и PCIex 16 – это современная реализация более старой шины PCI разработанной в 1991 году. Но в отличие от своей предшественницы, она является последовательной шиной, а кроме этого все шины PCIe соединены по топологии «звезда», в то время как старая шина PCI соединялась параллельно друг другу. Кроме этого, новая шина обладает такими преимуществами, как:

  1. Возможность горячей замены плат;
  2. Полоса пропускания имеет гарантированные параметры;
  3. Контроль целостности данных при приёме и передачи;
  4. Управляемое энергопотребление.

Различаются шины PCI Express количеством проводников подводимых к слоту, при помощи которых осуществляется обмен данными с установленным устройством (PCIex 1, PCIex2, PCIex 4, PCIex 8, PCIex 16, PCIex 32). Максимальная скорость передачи данных может достигать - 16 Гбит/сек.

LPT порт - это то место в компе куда подключается принтер. Но туда можно воткнуть ещё много чего интересного. В том числе и придуманые вами схемы. У меня, например, через LPT порт включался свет в комнате, открывался замок на двери и выключалось радио.

Так выглядит разъем на компьютере.

У него 25 выводов:

N Направление Сигнал
1 Выход Data Strobe
2 Выход Data 0
3 Выход Data 1
4 Выход Data 2
5 Выход Data 3
6 Выход Data 4
7 Выход Data 5
8 Выход Data 6
9 Выход Data 7
10 Вход Acknowledge
11 Вход Busy
12 Вход Paper Out
13 Вход Select
14 Выход Auto feed
15 Вход Error
16 Выход Init
17 Выход Select Input
18-25 Ground

Для простых схем управления нам понадобятся выводы:
2 - 9 - это выходы Data0-7.
18 - 25 - это земля (минус). Обычно(не всегда) они соединены с корпусом компа.
Это основной набор контактов, необходимый для изготовления собственных схем.

Также хочу обратить внимание на вывод 1 - это "Data Strobe". Как я понял, положительный сигнал на этом выходе говорит устройству, что нужно произвести чтение очередной команды. Если мы не запитаем этот выход программно, то принтер просто не будет обращать внимания на остальные выходы.

Для ввода информации в порт используются выводы 10-13, 15 . Подробнее позже.

Выходы порта могут принимать только 2 состояния - log0 и log1 . При включении компьютера состояния выходов быстро меняются, потом переходят в log0. В зависимости от типа материнской платы один-два выхода могут перейти в log1. Далее, при загрузке ОС Windows состояния вхлдов могут снова измениться. После окончания загрузки система не трогает выходы пока не начнется печать или "поиск оборудования".

Источник: zps-electronics.com


C этой схемой также часто просматривают:
Дмитрий Иванов, 21 Сентября 2009 Статья доработана и обновлена 23 Января 2012

За время существования этого сайта мне довольно часто задают один и тот же вопрос, который можно описать примерно следующим образом:



В итоге решил описать этот вопрос подробнее и написать статью. Да, действительно, сейчас стационарных PC с LPT портом нужно поискать (т.е. далеко не каждая "мать" сейчас идет в комплекте с LPT портом). Про ноутбуки вообще говорить не приходится. Современные модели LPT порт вообще не применяют. Только очень дорогие и специализированные машины, типа DELL, могут "похвастаться" наличием этого порта.

Также, сейчас в продаже можно свободно приобрести вот такие устройства, называемые LPT-USB переходниками.

Инстркуция гласит что этот прибор полностью совместим с различными принтерами, сканерами и т.д. Подключаем переходник к USB порту, устанавливаем драйвера. Смотрим диспетчер устройств. Скорее всего в ветке "Порты LPT/COM" ни чего не появилось (хотя бывают исключения). Скорее всего повится либо новая ветка со странным устройством с именем, например, LPT1USB либо в разделе USB устройств появится странная запись о "USB устройстве поддержки LPT принтеров" . Пробуем запустить какой-нибудь пример из статей выше. И ни тут то было - ни чего не работает. Пробуем адрес порта LPT1 - ни чего не работает. Пробуем адресс порта LPT2. К сожалению, такая модернизация адреса в запросах тоже ни к чему не приводит - светодиоды как не загорались так и не загораются.

Чтобы разобраться в чем тут дело давайте вернемся на время к обычному "родному железному" LPT порту - LPT1, который из материнской платы "торчит". Зайдем в диспетчер устройств, заглянем в свойства нашего порта. Там мы увидим вот такую картину. Отлично видно, что система прописала базовый адрес ввода-вывода 0x378 и запрос на прерывание номер 7. Все правильно.

Теперь погрузимся на уровень программирования. В примерах статей выше мы минуя систему защиты ввода-вывода легальными и нелегальными способами напрямую общались с реально существующим регистром ввода-вывода, которому присвоен адрес 0x378. Тут все понятно. Незабудем также о том, что Windows рекомендует работать с LPT портом используя вызовы API функций - OpenFile(), WriteFile(), ReadFile() . Приложения, которые используют LPT порт для обмена информацией по парралельному интерфейсу с внешними устройствами (принтер, например) так и делает. У него нет задачи установить на каком-либо бите регистра Data лигическую еденицу. Ему (приложению) нужно просто отправить пакет данных, а кто там будет какие линиии при этом "дергать" и считывать его не сильно интересует. Эти операции проводит системный драйвер LPT порта. Он подгружается в память при загрузке ОС. Когда мы вызываем функцию OpenFile("LPT1", ....) мы по сути дела обращаемся к драйверу порта, который имеет символическое имя LPT1. Драйвер делает кучу всякой работы - запрещает доступ к порту другим процессам, настраивает параметры протокола передачи данных, собственно реализует эту передачу, но в конечном итоге все это сводится к прямому управлению отдельными битами LPT порта на уровне ядра ОС.

А теперь попробуем поработать с нашим переходником USB-LPT. Начнем как не покажется странным, с API вызовов. Запускаем OpenFile("LPT1USB", ...) (смотря как этот переходник диспетчере устройств назовется, если вообще назовется). Что при этом происходит? Дело в том, что теперь мы будем работать не с драйвером LPT порта ОС а с драйвером этого переходника! Вот в чем фокус то! Он принимает пакет данных от нашего пользовательского приложения и в нужном формате через систмный драйвер USB отсылает этот пакет на USB контроллер, "ноги" которого торчат из внешней LPT розетки на проводе (ну это так, "грубое объяснение"). Видете, здесь нет ни какого намека на обращение к регистрам по адресам 0x378(0x278), т.к. их просто нет!

Поэтому, когда Вы патаетесь запускать примеры данного раздела и обращаться напрямую по адресам 0x378 (если этот "псевдо порт" назвался LPT1USB или что-то в этом духе), 0x278 (LPT2_...) и т.д. ни чего не происходит. Их просто нет! А вот программа котороая работает через API вызовы ни чего не заметит - вся низкоуровневая работа делается драйвером, а каким драйвером и куда пойдут пакеты данных (в реальный порт ввода-вывода или в USB хост-контроллер) - приложению неважно! Попробуйте открыть свойства "псевдопорта" в диспетчере устройств. Нет вкладки с ресурсами? Есть, но там каие-то неадекватные значения или вкладка деактивировнна? В том то и дело.



Почему 99%? Потомоу что есть самодельниые USB-LPT переходники, которые определяются Windows как полноценный порт LPT1 и ему присваивается вполне обыденный адрес 0x378. Обращения на прямую к пинам порта проходят успешно! Однако это очень нестандартная конструкция (в первую очередь драйвер, который занимается перехватом обращений по базовому адресау порта LPT1). Все это не очень надежно (обновление ОС - и конструкция теряет работоспосбность) и для использования рекомендовано быть может только с натяжкой.



Как ни покажется странным - решение ЕСТЬ. Вы всегда сможете добавить настоящий LPT порт в свой настольный компьютер или ноутбук. Во-первых, забудте сразу о переходниках с интерфейсом USB. Для решения этой задачи необходимо приробрести PCI-LPT переходник для настольного PC (необходимо наличие свободного PCI слота) или PCMCIA-LPT переходник для ноутбука (см. фото ниже).


В случае использования этих устройств ни каких проблем нет. Определяются они как настоящие "родные" LPT порты. Соответствующая запись будет добавлена в диспетчер устройств во вклдаку "LPT/COM порты" . Прямое обращение к пинам порта будет работать.

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Комсомольский-на-Амуре государственный технический университет»

Кафедра «Промышленная электроника»

Тестирование LPT-порта персонального компьютера

Методические указания к лабораторной работе по курсу

«Отладочные средства микропроцессорных систем» для студентов направления 210100 «Электроника и наноэлектроника»

Комсомольск-на-Амуре 2013

Тестирование LPT-порта персонального компьютера: Методические указания к лабоpатоpной работе по курсу "Отладочные средства микропроцессорных систем" для студентов направления 210100 «Электроника и наноэлектроника» / Сост. С.М. Копытов. - Комсомольск-на-Амуpе: Комсомольский-на-Амуpе гос. техн. ун-т, 2013. - 19 с.

Рассмотрены параллельный интерфейс Centronics, сигналы и программная поддержка LPT-порта персонального компьютера, приведены рекомендации по его тестированию.

Предлагаемые методические указания предназначены для студентов направления 210100.

Печатается по постановлению редакционно-издательского совета Комсомольского-на-Амуре государственного технического университета.

Согласовано с отделом стандартизации.

Рецензент В.А. Егоров

Цель работы: изучить основные возможности стандартного LPT-порта. Освоить принципы программно-управляемого обмена информацией через параллельный порт. Научиться проверять его работоспособность.

1 основные сведения

1.1 Описание параллельного интерфейса

Исторически параллельный интерфейс был введен в персональный компьютер (ПК) для подключения принтера (отсюда и аббревиатура LPT – Line Printer – построчный принтер). Однако впоследствии параллельный интерфейс стал использоваться для подключения других периферийных устройств (ПУ). Базовая разновидность порта позволяет передавать данные только в одном направлении (от ПК к ПУ), однако позднее был разработан ряд стандартов двунаправленной передачи данных.

В современных офисных компьютерах LPT-порт, как правило, не предусмотрен, однако, установив мультикарту расширения портов, такой порт можно получить в свое распоряжение.

Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в адресном пространстве устройств ввода/вывода. Количество регистров зависит от типа порта, однако три из них стандартны и присутствуют всегда. Это регистр данных, регистр состояния и регистр управления. Адреса регистров отсчитываются от базового, стандартные значения которого 3BCh, 378h, 278h. Порт может использовать аппаратное прерывание (IRQ7 или IRQ9). Многие современные системы позволяют изменять режим работы порта, его адрес и IRQ из настроек базовой системы ввода-вывода (Base Input Output System – BIOS) Setup.

LPT порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-х битную шину управляющих сигналов. Очевидно, что порт асимметричен  12 линий работают на вывод и только 5 на ввод.

При начальной загрузке BIOS пытается обнаружить параллельный порт, причем делает это примитивным и не всегда корректным образом  по возможным базовым адресам портов передается тестовый байт, состоящий из чередующегося набора нулей и единиц (55h или AAh), затем производится чтение по тому же адресу, и если прочитанный байт совпал с записанным, то считается, что по данному адресу найден LPT порт. Определить адрес порта LPT4 BIOS не может. Для работы с ПУ в BIOS предусмотрено прерывание INT 17h, предоставляющее возможность передавать данные (побайтно), инициализировать ПУ и получать информацию о его состоянии.

Понятие Centronics относится к набору сигналов, протоколу обмена и 36-контактному разъему, ранее устанавливаемому в принтерах. Назначение сигналов и контакты разъема ПУ, на который они выведены приведены в таблице 1.

Таблица 1 - Сигналы интерфейса Centronics

Направление

Назначение

Строб данных. Передается ЭВМ, данные фиксируются по низкому уровню сигнала.

Линии данных. D0 - младший бит.

Acknowledge – импульс подтверждения приема байта (запрос на прием следующего). Может использоваться для формирования прерывания.

Занят. Прием данных возможен только при низком уровне сигнала

"1" сигнализирует о конце бумаги

"1" сигнализирует о включении принтера (ГП – готовность приемника), обычно +5 В через резистор от источника питания ПУ)

Автоматический перевод строки. Если "0", то ПУ при получении символа CR (перевод каретки) выполняет функцию LF – перевод строки

Ошибка ПУ (off-line, нет бумаги, нет тонера, внутренняя ошибка)

Инициализация (переход к началу строки, сброс всех параметров на значения по умолчанию)

Выбор принтера. При "1" принтер не воспринимает остальные сигналы интерфейса

Общий провод

Примечание: столбец "T" – активный уровень сигнала: "1" – высокий активный уровень, "0" – низкий активный уровень. Столбец "Направление" – направление передачи по отношению к принтеру: I – Input (вход), O – Output (выход).

Сигнал Auto LF практически не применяется, но его неправильное значение приводит к тому, что принтер либо делает пропуски строк, либо печатает строки поверх друг друга, либо дублирует строки при печати в два прохода.

Отечественным аналогом интерфейса Centronics является ИРПР-М. Кроме него существует интерфейс ИРПР (устаревший), который отличается протоколом обмена, отсутствием сигнала "Error" и инверсией линий данных. Кроме того, ко всем входным линиям ИРПР подключены пары согласующих резисторов: 220 Ом к +5 В и 330 Ом к общему проводу. Это перегружает большинство интерфейсных адаптеров современных ПК.

Протокол обмена данными по интерфейсу Centronics приведен на рисунке 1.

Рисунок 1 - Протокол обмена данными по интерфейсу Centronics

Передача начинается с проверки источником сигнала Error. Если он установлен, то обмен не производится. Затем проверяется состояние сигнала Busy. Если он равен "0", то источник приступает к передаче байта данных. Для передачи байта источник выставляет на линии D0-D7 байт данных и выдает сигнал Strobe#. Приемник по сигналу Strobe# (здесь и далее по тексту значок "#" после названия сигнала является признаком того, что сигнал имеет низкий активный уровень) читает данные с шины данных и выставляет сигнал Busy на время его обработки. По окончании обработки приемник выдает сигнал ACK# и снимает сигнал Busy.

Если в течение длительного времени (6 – 12 сек) источник не получает ACK#, то он принимает решение об ошибке "тайм-аут" (time-out) устройства. Если после приема байта приемник по какой - либо причине не готов принимать данные, то он не снимает сигнал Busy. При программной реализации обмена по указанному протоколу желательно ограничить время ожидания снятия Busy (обычно 30 – 45 сек), иначе возможно зависание программы.

Стандартный параллельный порт называется SPP (Standard Parallel Port). SPP порт является однонаправленным, на его базе программно реализуется протокол обмена Centronics. Порт обеспечивает возможность генерации IRQ по импульсу ACK# на входе. Сигналы порта выводятся на стандартный разъем DB-25S (розетка), который размещен непосредственно на плате адаптера или соединяется с ним плоским шлейфом (в случае, если адаптер интегрирован с материнской платой).

Названия сигналов соответствуют названиям сигналов интерфейса Centronics (таблица 1), а изображение разъема интерфейсного адаптера со стороны компьютера приведено на рисунке 2.

Таблица 2 - Разъем и шлейф стандартного LPT порта

Провод шлейфа

10, 22, 14, 16, 18, 20, 22, 24, 26

Примечание. I/O – направление передачи: I – вход; O – выход; O(I) – выход, состояние которого может быть считано при определенных условиях, O/I – выходные линии, состояние которых читается при чтении из соответствующих регистров порта. * - Вход ACK# соединен с питанием +5 В через резистор 10 кОм. Это сделано для исключения ложных прерываний, т.к. прерывание генерируется по отрицательному перепаду сигнала на входе ACK#.

Рисунок 2 - Разъем интерфейсного адаптера Cetronics DB-25S

В качестве недостатков стандартного LPT порта (SPP) следует отметить невысокую скорость передачи данных (100 – 150 кБ/сек), загрузку процессора при передаче данных, невозможность двунаправленного побайтного обмена. Существует "радиолюбительская" методика двунаправленного обмена, которая состоит в том, что для ввода данных на линии D0-D7 выставляют "1", а в качестве передатчика используют микросхемы с открытым коллектором, которые при открытом транзисторе могут "подсаживать" напряжение логической единицы до уровня порядка 1.5 – 1.7 В. Ток ограничен на уровне 30 мА. Как очевидно из уровней сигналов, они не соответствуют уровням ТТЛ, поэтому многие порты не работают в таком режиме или работают нестабильно. Кроме того, такой способ может быть опасен для адаптера порта, который будет работать с предельными для него токами.

Стандарт IEEE 1284 , принятый в 1994 году, определяет термины SPP, ЕРР и ЕСР. Стандарт определяет 5 режимов обмена данными, метод согласования режима, физический и электрический интерфейсы. Согласно IEEE 1284, возможны следующие режимы обмена данными через параллельный порт:

Compatibility Mode – однонаправленный (вывод) по протоколу Centronics. Этот режим соответствует стандартному порту SPP;

Nibble Mode – ввод байта в два цикла (по 4 бита), используя для ввода линии состояния. Этот режим обмена может использоваться на любых адаптерах;

Byte Mode – ввод байта целиком, используя для приема линии данных. Этот режим работает только на портах, допускающих чтение выходных данных (Bi-Directional или PS/2 Type 1);

ЕРР (Enhanced Parallel Port) Mode – двунаправленный обмен данными, при котором управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту (чтения или записи в порт). Эффективен при работе с устройствами внешней памяти, адаптерами локальных сетей;

ЕСР (Extended Capability Port) Mode – двунаправленный обмен с возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding), использования FIFO-буферов и DMA. Управляющие сигналы интерфейса генерируются аппаратно. Эффективен для принтеров и сканеров.

В современных машинах с LPT-портом на системной плате режим порта – SPP, ЕРР, ЕСР или их комбинация задается в BIOS Setup. Режим Compatibility Mode полностью соответствует SPP и часто установлен по умолчанию. Все остальные режимы расширяют функциональные возможности интерфейса и повышают его производительность. Кроме того, стандарт регламентирует способ согласования режима, доступного как ПК, так и периферийному устройству.

Физический и электрический интерфейс. Стандарт IEEE 1284 определяет физические характеристики приемников и передатчиков сигналов. Существенным является то, что при передаче используются уровни ТТЛ логики.

Стандарт IEEE 1284 определяет три типа используемых разъемов: А (DB-25S), B (Centronics-36), C (новый малогабаритный 36-контактный разъем). Интерфейсные кабели могут иметь от 18 до 25 проводников (в зависимости от числа проводников GND). Обычные кабели могут работать только на низких скоростях при длине не более 2 метров. Улучшенные экранированные кабели с сигнальными проводниками, перевитыми с общими проводами, могут иметь длину до 10 метров. Такие кабели маркируются как "IEEE Std 1284 - 1994 Compliant".

Работа с параллельным портом на низком уровне (т.е. на уровне прямого обращения к контроллеру порта) применяется при решении различного круга задач по обмену информацией с нестандартными устройствами, для написания драйверов принтеров и ряда других задач. Прямая работа с контроллером позволяет реализовать любой протокол обмена с устройством и использовать линии порта по своему усмотрению.

Контроллер порта расположен в адресном пространстве устройств ввода-вывода и обращение к нему производится посредством команд IN и OUT ассемблера. Информацию о портах LPT1 – LPT3 можно получить, прочитав переменные BIOS, приведенные в таблице 3.

Таблица 3 - Переменные BIOS для LPT портов

Имя порта

Адрес в BIOS

Тип переменной

Описание

Базовый адрес порта LPT1. Если переменная равна 0, то порт LPT1 не найден

Константа, задающая тайм-аут

Базовый адрес порта LPT2. Если переменная равна 0, то порт LPT2 не найден

Константа, задающая тайм-аут

Базовый адрес порта LPT3. Если переменная равна 0, то порт LPT3 не найден

Константа, задающая тайм-аут

Базовый адрес порта LPT4. Если переменная равна 0, то порт LPT4 не найден

Константа, задающая тайм-аут

BIOS ищет порты по адресам Base: 3BCh, 378h, 278h. Порт LPT4 BIOS найти не может:

378h - параллельный адаптер LPT1;

278h - параллельный адаптер LPT2;

3BCh - параллельный адаптер LPT3.

Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам, начиная с базового (Base) адреса. Перечень данных регистров приведен в таблице 4.

Таблица 4 - Регистры стандартного LPT порта

Регистр данных (DR). Записанные в этот регистр данные выводятся на выходные линии интерфейса D0D7. Результат чтения этого регистра зависит от схемотехники адаптера и соответствуют либо записанным ранее данным, либо сигналам на линиях D0D7, что не всегда одно и тоже. При стандартном включении справедлив первый вариант - читаемые данные равны ранее записанным.

Регистр состояния (SR) . Представляет собой 5-ти битный порт ввода, на который заведены сигналы состояния от внешнего устройства. Допускает только чтение. Назначение битов данного регистра приведены в таблице 5.

Таблица 5 - Биты регистра состояния SR

Название

Назначение

Инверсное отображение состояния линии Busy (11). При низком уровне на линии 11 (Busy) – бит равен "1" – ПУ готово к приему очередного байта

Отображение состояния линии ACK# (10).

"0" – подтверждение приема,

"1" – обычное состояние

Отображение состояния линии Paper End (12).

"0" – норма, "1" – в ПУ нет бумаги

Отображение состояния линии Select (13).

"0" - ПУ не выбрано, "1" - ПУ выбрано

(инверсн.)

Отображение состояния линии Error (15).

"0" – ошибка ПУ, "1" – обычное состояние

Флаг прерывания по ACK# (только PS/2).

Обнуляется, если ACK# вызвал аппаратное прерывание. "1" – после сброса или после чтения регистра состояния

Не используются (резерв)

Регистр управления (CR). Регистр управления представляет собой 4-х битный порт вывода, допускающий чтение и запись. Биты 0, 1, 3 инвертируются, т.е. "1" в данных битах регистра управления соответствует "0" на соответствующих линиях порта. Назначение битов регистра управления приведены в таблице 6. Бит 5 используется только двунаправленными портами.

Таблица 6 - Биты регистра управления CR

Название

Назначение

Бит управления направлением порта.

"1" – режим ввода, "0" – режим вывода

Бит управления генерацией прерывания по ACK# . "1" – разрешить прерывание по спаду ACK# (10)

Управление линией SLCT IN# (17).

"1" – работа принтера разрешена.

Управление линией INIT# (16). "1" – обычное состояние, "0" – аппаратный сброс ПУ

Управление линией Auto LF# (14). "1" – включить режим "Auto LF", "0" – обычное состояние

Управление линией Strobe# (1). "1" – стробирование данных, "0" – обычное состояние

Программирование интерфейса. Для разработки прикладных программ необходимо выбрать язык программирования. Если требуется несложная, быстрая и компактная программа, которая не содержит сложных вычислительных операций, то для ее написания лучше выбирать язык низкого уровня (язык ассемблера). Язык ассемблера относится к группе машинно-ориентированных языков, т.е. каждому семейству микропроцессоров соответствует свой язык.

Язык высокого уровня следует выбирать, если необходимо производить сложные вычисления, или в случае, если высокое быстродействие программы не требуется. Объектные коды, полученные в результате трансляции программ, написанных на языке высокого уровня, обычно занимают в памяти ЭВМ намного больше места и исполняются медленнее в сравнении с программами на ассемблере. Часто применяется подход, когда критичные к быстродействию части программы пишутся на ассемблере, а вычислительные процедуры – на языке высокого уровня, например, на Паскале или Си.

Рассмотрим работу с регистрами интерфейса CENTRONICS на языке PASCAL или ассемблере:

Х - число типа "byte" (0..255). Например, при посылке 170 10 = =10101010 2 на линии d0–d7 единичный сигнал будет присутствовать на выводах d1, d3, d5, d7 (обозначение выводов начинается с d0). Число 170 останется на выводах разъёма до тех пор, пока Вы не перешлёте туда же другое число (это может сделать и другая программа) или не выключите компьютер. Заметьте, что адрес порта в команде задан в шестнадцатиричном виде, а посылка - в десятичном. Если вместо Паскаль-команды

Port[$378]:=170;

Вы примените

где d – переменная, то переменная примет значение последнего посланного в порт байта или, при переходе в режим приёма, значение байта, поданного на порт внешним устройством.

Пример чтения статус-регистра на языке Pascal:

В переменной d после выполнения программы будет отображено состояние порта. Допустим, переменная вернула значение 126 10 . В двоичном виде оно выглядит как 01111110 2 . Младшие (правые) три бита (нулевой, первый и второй) не используются, и почти равны 1, 1 и 0. Третий бит – 1, значит на ERROR высокий уровень. Та же ситуация на SELECT, Paper End, ACK и BUSY (не забывайте, что сигнал BUSY является инвертированным).

Приведем пример фрагмента программы, которая считывает байт с линий данных D0-D7:

Port[$37A]:=32 ; значение 32 "включает" единицу в пятом

d:=Port[$378] ; бите, переводя порт в режим ввода

Как видно из приведенных примеров, программирование LPT-порта является весьма простой задачей, что позволяет в значительной степени облегчить работу разработчика программного обеспечения устройств с обсуждаемым интерфейсом.

1.2 Тестирование LPT-поpтa

Тестирование LPT-поpтa можно выполнить с помощью простой заглуш­ки, которую можно изготовить, воспользовавшись таблице 7.

Таблица 7 - Таблица цепей заглушки для тестирования LPT-поpтa

Направление

Направление

Компьютер обрабатывает сигналы параллельными потоками, поэтому ему легче «общаться» с параллельными, а не с последовательными внешними портами. В 1984 г. в составе IBM PC впервые появился параллельный порт. Задуман он был как средство подключения матричных принтеров, отсюда и название LPT - Line PrinTer или Line Printer Terminal. В дальнейшем для принтеров стали использовать быстродействующий интерфейс USB, а LPT-порт начал постепенно вытесняться из компьютерных спецификаций. Остряки сравнивают LPT с чемоданом без ручки - и выбросить жалко, и тащить невозможно. Тем не менее, «ветеран» ещё на многое способен, если, конечно, он присутствует в конкретном компьютере.

Разъём LPT-порта имеет 25 контактов. Нормой «де-факто» считается розетка DB-25F в компьютере и вилка DB-25M в ответном кабеле (Табл. 4.2). Нумерация контактов вилок и розеток зеркальная (Рис. 4.7, а, б).

Таблица 4.2. Раскладка сигналов в 25-контактном разъёме LPT-порта

Расшифровка

Направление

Вход/выход

Вход/выход

Подтверждение

Готовность

Нет бумаги

Автоперенос

Вход/выход

Инициализация

Вход/выход

Выбор входа

Вход/выход

Рис. 4.7. Внешний вид спереди 25-контактных разъёмов LPT-порта: а) розетка DB-25F в компьютере; б) вилка DB-25M в соединительном кабеле.

Первоначально линии LPT-порта были однонаправленными SPP (Standard Parallel Port). Часть из них работала только на вход, часть - только на выход, что по набору сигналов и протоколу обмена соответствовало принтерному интерфейсу «Centronics». В 1994 г. был утверждён новый стандарт параллельного интерфейса IEEE 1284, предусматривающий двунаправленные линии и три режима работы: SPP, EPP (Enhanced Parallel Port), ECP (Extended Capabilities Port).

Уровни электрических сигналов LPT-порта совпадают с обычными «пятивольтовыми» логическими микросхемами. Раньше в компьютерах применялись буферные TTJl-микросхемы серии 74LSxx, позднее - КМОП-микросхемы и БИС, примерно эквивалентные серии 74ACxx. В последнем случае можно ориентировочно считать, что НИЗКИЙ уровень равен 0.1..0.2 В, а ВЫСОКИЙ - 4.5…4.9 В.

Стандартом регламентируется нагрузка 14 мА по каждому выходу при сохранении напряжения не менее +2.4 В ВЫСОКОГО и не более +0.4 В НИЗКОГО уровня. Однако в разных материнских платах выходные буферы LPT-порта могут иметь разную нагрузочную способность, в том числе и ниже стандарта («слабый» порт).

Требования к соединительным кабелям, подключаемым к LPT-порту:

Сигнальные провода должны быть свиты в пары с общим проводом GND;

Каждая пара должна иметь импеданс 56…68 Ом в диапазоне частот 4… 16 M Гц;

Если применяется плоский ленточный кабель, то сигнальные провода должны физически чередоваться с общим проводом GND (локальные экраны);

Уровень перекрёстных помех между сигналами не более 10%;

Кабель должен иметь экран, покрывающий не менее 85% внешней поверхности. На концах кабеля экран должен быть окольцован и соединён с «земляным» контактом разъёма;

В разъёме кабеля можно запаять на контакты 1…17 последовательные резисторы C2-23 (OMJIT-O.125) сопротивлением 100…300 Ом (Рис. 4.8). Это позволит защитить компьютер от случайных коротких замыканий в нагрузке и уменьшить высокочастотный «звон» на фронтах сигналов.

Рис. 4.8. Электрическая схема LPT-кабеля с «антизвонными» резисторами.

Схемы соединения MK с LPT-портом можно разделить на три группы:

Приём сигналов от компьютера (Рис. 4.9, а…з);

Передача сигналов в компьютер (Рис. 4.10, а…д);

Приём/передача сигналов одновременно (Рис. 4.11, a…e).

В схемах приняты некоторые упрощения. В качестве входного сигнала указывается в основном «DO», а в качестве выходного - «АСК», хотя могут быть и другие, перечисленные в Табл. 4.2. На каждом конкретном компьютере работоспособность самодельных схем необходимо проверять экспериментально, что связано с наличием «сильных» и «слабых» LPT-портов по нагрузочной способности.

Рис. 4.9. Схемы ввода сигналов из LPT-порта в MK (начало):

а) резистор R1 ограничивает входной ток. Элементы R2, C1 могут отсутствовать, но они уменьшают «звон» на фронтах сигналов при длинном кабеле;

б) буферный транзистор VT1 инвертирует сигнал. Диод VD1 не обязателен, но он защищает транзистор от ошибочной подачи большого отрицательного напряжения. Если не ставить резистор R2, то схема останется работоспособной, однако при отстыковке кабеля от LPT-порта возможны ложные срабатывания транзистора VT1 от внешних помех и наводок;

в) диод VD1 отсекает помехи и повышает порог срабатывания транзистора VT1. Резистор R1 надёжно закрываеттранзистор VT1 при НИЗКОМ уровне с LPT-порта;

г) буферный логический элемент DD1 имеет выход с открытым коллектором. Фронты сигналов формируются элементами R1, C1. Можно вместо инвертора DD1 поставить повторитель К155ЛП9, сделав соответствующие изменения в программе MK и компьютера;

д) триггер Шмитта DD1 (замена - К555ТЛ2) повышает помехоустойчивость. Чем меньше сопротивление резисторов R1, R2, тем больше крутизна фронтов сигнала. При отключённом кабеле от LPT-порта резистор R1 не даёт входу микросхемы DD1 «висеть в воздухе»;

е) последовательное включение двух логических элементов DD11, /)/)/.2увеличивает (восстанавливает) крутизну фронтов сигнала. Резистор R1 устраняет выбросы, «звон»;

Рис. 4.9. Схемы ввода сигналов из LPT-порта в MK (окончание):

ж) данные, поступающие от LPT-порта, предварительно помещаются в промежуточный регистр DD1. Запись производится при ВЫСОКОМ уровне на входе «С» микросхемы DD1, хранение - при НИЗКОМ. Такое решение устраняет помехи, поскольку в LPT-порт в зависимости от установленных в компьютере драйверов периодически могут выводиться случайные данные. Их устраняют программно, например, путём многократного считывания входного сигнала с линий MK;

з) буферизация LPT-порта мощными транзисторными ключами, находящимися в микросхеме DA1 фирмы Texas Instruments. Резисторы R1…R8 могут иметь в 10… 15 раз более низкие сопротивления, что позволяет подключить параллельно выходам микросхемы А4/другие узлы устройства.

Рис. 4.10. Схемы вывода сигналов из MK в LPT-порт (начало):

а) непосредственное подключение выхода MK без буферных элементов. Резисторы R1, R2 уменьшают отражение сигналов в линии. Кроме того, резистор R2 защищает выход MK от случайного короткого замыкания с цепью GND в проводах соединительного кабеля;

б) триггер Шмитта DD1 служит защитным буфером для MK при аварийной ситуации на выходе (короткое замыкание или подача большого напряжения);

в) микросхема DD1 имеет выход с открытым коллектором, что защищает её от короткого замыкания в проводах и разъёмах соединительного кабеля;

г) подача двух противофазных сигналов в компьютер. Цель - программная необходимость или организация дублирующего (контрольного) канала передачи данных;

д) опторазвязка на элементах HL1, BL1, которые применяются в компьютерных механических «мышах». Транзистор КГ/усиливает и инвертирует сигнал. Для нормальной работы устройства компьютер должен выставить ВЫСОКИЙ уровень на линии «D8».

Рис. 4.11. Комбинированные схемы ввода/вывода сигналов между MK и LPT-портом (начало):

а) если компьютер выставляет на линии «DO» ВЫСОКИЙ уровень, то MK в режиме выхода может генерировать сигнал «АСК» через резистор R1. Если MK переводится в режим входа, то компьютер может передавать ему данные по линии «DO» через диод VD1 при этом внутренний « pull-up» резистор MK формирует ВЫСОКИЙ уровень;

б) сигнал от LPT-порта вводится в MK через инвертор на транзисторе VT1 при этом компьютер должен выставить ВЫСОКИЙ уровень на линии «D2». Информация в MK вводится с линии «DO» через резистор R1 Высокое сопротивление резистора R1 физически развязывает входной и выходной каналы;

Рис. 4.11. Комбинированные схемы ввода/вывода сигналов между MK и LPT-портом (окончание):

б) сигнал от LPT-порта вводится в MK через инвертор на транзисторе VT1, при этом компьютер должен выставить НИЗКИЙ уровень на линии «DO». Информация в МК вводится через элементы R1, R3, VT2;

г) сигнал от LPT-порта вводится в MK через повторитель на транзисторе VT1, при этом компьютер должен выставить ВЫСОКИЙ уровень на линии «DO». Информация в MK вводится через повторитель на микросхеме DD1\

ж) сигналы «D0»…«D3» вводятся в MK при НИЗКОМ уровне на линии «INIT», при этом компьютер должен настроить линии «D4»…«D7» как входы. В настройках BIOS компьютера надо установить двунаправленный режим EPP или ЕСР для LPT-порта. Информация в компьютер из МК передаётся по линиям «D4»…«D7» при ВЫСОКОМ уровне на линии «INIT». Резистор R1 переводит выходы микросхемы DD1 в Z-состояние при отключённом кабеле от LPT-порта;

e) сигнал от MK в LPT-порт вводится через повторитель DD1.2, при этом компьютер должен выставить ВЫСОКИЙ уровень на линии «D2» и НИЗКИЙ уровень на линии «D5». Информация в MK вводится через повторитель DD1.1 при НИЗКОМ уровне налинии «D2». Стробирование сигналов по входам «Е1», «Е2» микросхемы DD1 повышает достоверность передачи данных.

Понравилась статья? Поделиться с друзьями: