Параллельный порт в лабораторных разработках

May 5, 2012 by admin Комментировать »

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

Параллельный порт позволяет  принимать  9  бит данных от устройства или отправлять

12 бит данных устройству. Аппаратно интерфейс реализован посредством 4 х линий управле ния, 5 ти  линий состояния и 8 ми  линий данных, которые подключены к 25 контактному разъему типа DB 25, расположенному на задней стенке компьютера.

Самым первым стандартом параллельного порта стал интерфейс, известный под назва нием Centronics. Он описывает сигналы, протокол обмена и расположение внешних контак тов  на  разъемах  в  компьютере  и  принтере.  С  точки  зрения  схемотехники,  интерфейс Centronics реализован как  группа из трех регистров ввода вывода: данных, управления и состояния, которые доступны программисту.

В таблице 3.1 приведено описание сигналов интерфейса, нумерация выводов на разъе ме DB 25 в компьютере и направление сигналов по отношению к параллельному порту ком пьютера.

Указанная  спецификация сигналов, соответствующая интерфейсу Centronics, была стан дартизована  под названием  SPP (Standard  Parallel Port). В дальнейшем спецификации  режи мов обмена данными получили дальнейшее развитие  в протоколах EPP (Enhanced Parallel Port) и ECP (Extended Capabilities Port), которые были разработаны и приняты под эгидой стан дарта IEEE 1284,  обеспечивая обратную совместимость со стандартным режимом SPP.

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

Для стандартного  интерфейса SPP источником обмена является обычно компьютер, или, по–другому, хост, а приемником  — принтер или иное устройство. Временная диаграмма об мена по протоколу SPP показана  на рис. 3.1.

Рассмотрим пример передачи байта данных от источника к приемнику. Передача выпол

няется в следующей последовательности:

    вначале проверяется состояние сигнала BUSY: если он равен 0, то источник приступа

ет к передаче байта данных, выставляя на линиях D0–D7  биты данных, после чего

Таблица 3.1

Рис. 3.1

Обмен данными по протоколу SPP

устанавливает сигнал STROBE в низкий уровень, указывая на то, что данные на лини

ях D0–D7  действительны;

    приемник  читает байт с шины данных D0–D7,  устанавливая  сигнал  BUSY в высокий уровень. По окончании обработки данных приемник устанавливает сигнал ACK в низ кий уровень, подтверждая окончание обработки, и снимает сигнал BUSY. Если в тече ние определенного  интервала времени  (как правило,  это 5 микросекунд) сигнал  ACK не будет установлен, то источник  полагает, что произошла  ошибка  тайм аута со сторо ны приемника.  В большинстве промышленных разработок  этот сигнал в целях эконо мии времени игнорируется.

Кроме того, если после приема очередного байта приемник пока не готов принимать сле

дующий байт данных, то он оставляет  сигнал  BUSY в активном состоянии.

Изначально параллельный порт персонального компьютера был реализован как отдель ное устройство, но в настоящее время схемотехника порта интегрирована в материнскую плату компьютера.  Напомню, что базовая  программная  модель параллельного порта включа ет три регистра: данных, состояния и управления.

Базовым адресом параллельного порта является адрес регистра данных, по отношению к которому вычисляются остальные адреса.

Например, если базовый адрес порта равен некоторому значению Base, то регистр дан

ных будет иметь адрес Base, регистр состояния — Base+1  и регистр управления — Base+2.

В качестве базовых адресов регистров чаще всего используются адреса (в шестнадцате ричной нотации) 0x3BC, 0x378,  0x278,  которые обычно прошиваются в BIOS материнской платы. Эти адреса, как и режим работы порта, можно изменить, установив соответствующие настройки в BIOS.

Драйвер параллельного порта для обработки данных может использовать аппаратное прерывание; как правило, это линия IRQ7 или IRQ9 контроллера прерываний.  Базовый адрес

0x3BC использовался в более ранних моделях комбинированных  видеокарт, а в настоящее время нередко используется как вариант выбора для интегрированного на материнской пла те параллельного порта. В операционных системах Windows и Linux параллельным портам присваиваются символические имена в виде «LPTn», где n — номер порта (1, 2 и т. д.), причем

«LPT1» обычно присваивается порту с базовым адресом 0x378, а «LPT2» —  порту  с базовым адресом 0x278h, как показано в таблице 3.2.

Таблица 3.2

Базовые адреса параллельного порта

При включении компьютера BIOS изначально выполняет проверку по адресу 0x3BC, и если обнаруживает, что он принадлежит параллельному порту, то присваивает порту имя

«LPT1». Далее выполняется проверка адресов 0x378  и 0x278;  и если адреса обнаружены, им ставятся соответственно имена «LPT2» и «LPT3». Поскольку в большинстве современных мате ринских плат адрес 0x3BC для параллельного порта не используется, то базовым  адресом

«LPT1» устанавливается 0x378, а базовым адресом «LPT2» — 0x278.

Параллельные порты современных компьютеров могут работать в разных режимах, по

этому в большинстве версий BIOS предусмотрена установка следующих режимов:

    Printer (иногда этот режим называется Default или Normal);

    Standard & Bi directional (SPP);

    EPP1.7 и SPP;

    EPP1.9 и SPP;

    ECP;

    ECP и EPP1.7;

    ECP и EPP1.9.

  Приведем их краткое описание:

    Printer — это название  базового  режима,  соответствующего стандарту SPP. В данном

режиме  параллельный порт работает только как  однонаправленный, поэтому бит

5 го регистра управления в этой конфигурации не задействован;

    Standard & Bidirectional — порт работает как двунаправленный. В этом режиме бит

5 го регистра управления позволяет устанавливать двусторонний обмен данными, что позволяет источнику прочитать биты на линиях данных;

    EPP1.7 и SPP — этот режим представляет собой комбинацию  режимов EPP 1.7 и SPP.

В этом случае доступны как  стандартные регистры режима  SPP (данных, состояния и управления), так и EPP регистры. Направление передачи сигналов порта можно ме нять, используя  бит 5 го регистра  управления.  Стандарт EPP 1.7 является более ран ней версией  EPP, поэтому в нем не предусмотрен бит тайм аута;

    EPP1.9 and SPP — этот режим  напоминает  предыдущий, с той лишь разницей, что используется версия EPP 1.9.

Интерфейс Centronics благодаря его простоте можно успешно использовать в собствен ных разработках  устройств ввода вывода  или лабораторных системах управления оборудо ванием.

Следует отметить, что прямое программирование  портов ввода вывода посредством ко манд ассемблера возможно  только в операционных системах Windows 98/Me,  но невоз можно в защищенных системах Windows 2000/XP/2003. Тем не менее, даже в таких систе мах можно получить доступ к аппаратным ресурсам параллельного порта, если использовать свободно распространяемый драйвер PortTalk (один из сайтов, откуда его можно скачать, www.beyondlogic.org). Этот драйвер несложен  в применении,  и мы будем его применять при разработке проектов этой главы.

При разработке собственных проектов с использованием параллельного порта вам не

обходимо учитывать следующие факторы:

    адреса базовых регистров параллельного порта на вашей машине могут отличаться от используемых в примерах этой главы, поэтому нужно их дополнительно проверить и установить корректные значения в исходном тексте программы;

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

Во всех примерах данной главы базовым  адресом параллельного порта является стан дартный по умолчанию адрес в BIOS, равный  0x378,  поэтому если вы используете в проек тах другой адрес, то внесите соответствующие изменения в тексты программ, где это необ ходимо!

Источник:  Магда Ю. С. Компьютер  в домашней лаборатории.  – М.: ДМК Пресс, 2008. – 200 с.: ил.

Оставить комментарий

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