Смекни!
smekni.com

Двухканальная осциллографическая приставка к ПК (стр. 2 из 4)


3.Работа LPT порта

3.1Параллельный интерфейс: LPT-портПорт параллельного интерфейса был введен в PC для подключения принтера —LP'T-порт (Line PrinTer — построчный принтер). Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 386h, 378h и 278h. Порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов.BIOS поддерживает до четырех LPT-портов (LPT1-LPT4) своим сервисом — прерыванием INT 17h, обеспечивающим через них связь с принтерами по интерфейсу Centronics. Этим сервисом BIOS осуществляет вывод символа, инициализацию интерфейса и принтера, а также опрос состояния принтера.Интерфейс Centronics. Понятие Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах. Интерфейс Centronics поддерживается большинством принтеров с параллельным интерфейсом, его отечественным аналогом является интерфейс ИРПР-М. 3.2 Традиционный LPT-порт Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 1) соответствуют интерфейсу Centronics. Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE). Таблица 1Разъем стандартного LPT-порта.
Контакт DB-25S Провод шлейфа Назначение
I\O* Reg.Bit** Сигнал
1 1 0\1 CR: 0\ Strobe#
2 3 0(1) DR:0 Data 0
3 5 0(1) DR:1 Data 1
4 7 0(1) DR:2 Data 2
5 9 0(1) DR:3 Data 3
6 11 0(1) DR:4 Data 4
7 13 0(1) DR:5 Data 5
8 15 0(1) DR:6 Data 6
9 17 0(1) DR:7 Data 7
10 19 I SR:6 Ack#***
11 21 I SR:7\ Busy
12 23 I SR:5 PaperEnd
13 25 I SR:4 Select
14 2 0\1 CR:1\ Auto LF#
15 4 I SR:3 Error#
16 6 0\1 CR:2 Init#
17 8 0\1 CR:3\ SelectIn#
18-25 10,12,14,16 18, 20, 22, 24, 26 - -
* I/O задает направление передачи (вход/выход) сигнала порта; 0/I обозначает выходные линии, состояние которых считывается при чтении из соответствующих портов вывода.** Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).*** Вход Ack# соединен резистором (10 кОм) с питанием +5 В.3.3 Функции BIOS для LPT-порта BIOS обеспечивает поддержку LPT-порта, необходимую для организации вывода по интерфейсу Centronics. В процессе начального тестирования POST BIOS проверяет наличие параллельных портов по адресам ЗВСЬ, 378h и 278h и помещает базовые адреса обнаруженных портов в ячейки BIOS DATA AREA 0:0408h, 040Ah, 040СП, 040ЕП. Эти ячейки хранят адреса портов с логическими именами LPT1-LPT4. В ячейки 0:0478, 0479, 047А, 047В заносятся константы, задающие выдержку тайм-аута для этих портов. Поиск портов обычно ведется по базовому адресу. Если считанный байт совпал с записанным, считается, что найден LPT-порт, и его адрес помещают в ячейку BIOS DATA AREA. Адрес порта LPT4 BIOS самостоятельно установить не может, поскольку в списке стандартных адресов поиска имеются только три вышеуказанных. Обнаруженные порты инициализируются — записью в регистр управления формируется и снимается сигнал Initff, после чего записывается значение 00h, соответствующее исходному состоянию сигналов интерфейса. Программное прерывание BIOS I NT 17h обеспечивает следующие функции поддержки LPT-порта:00h — вывод символа из регистра AL по протоколу Centronics. Данные помещаются в выходной регистр и после готовности принтера формируется строб.01h — инициализация интерфейса и принтера.02h — опрос состояния принтера.При вызове INT 17h номер функции задается в регистре АН, номер порта — в регистре DX (0 — LPT1, 1 — LPT2...). При возврате после любой функции регистр АН содержит код состояния — биты регистра состояния SR[7:3] (биты 6 и 3 инвертированы) и флаг тайм-аута в бите 0.Флаг тайм-аута устанавливается при неудачной попытке вывода символа.
3.4 Режимы передачи данных Стандарт IEEE1284 определяет пять режимов обмена(EPP,ECP,NibbleMode, FastCentronics, ParallelPortFIFOMode) один из которых полностью соответствует традиционному стандартному программно-управляемому выводу по протоколу Centronics. Остальные режимы используются для расширения функциональных возможностей и повышения производительности интерфейса. Стандарт определяет способ согласования режима, по которому программное обеспечение может определить режим, доступный и хосту (в нашем случае это PC), и периферийному устройству. 3.5 Конфигурирование LPT-портов Управление параллельным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Таким образом обеспечивается возможность согласования аппаратуры и программного обеспечения и блокирования ложных переключении, вызванных некорректными действиями программы. Способ и возможности конфигурирования LPT-портов зависят от его исполнения и местоположения. Порт, расположенный на плате расширения (обычно на мультикарте), устанавливаемой в слот ISA или ISA+VLB, обычно конфигурируется джамперами на самой плате. Порт, расположенный на системной плате, обычно конфигурируется через BIOS Setup. 3.6 Использование параллельных портов Наиболее распространенным применением LPT-порта является, естественно, подключение принтера. Практически все принтеры могут работать с портом в режиме SPP, но применение расширенных режимов дает дополнительные преимущества:- Двунаправленный режим (Bi-Di) дает дополнительные возможности для сообщениясостояния и параметров принтера.-Скоростные режимы (Fast Centronics) существенно повышают производительность практически любого принтера (особенно лазерного), но могут потребовать более качественного кабеля.-Режим ЕСР потенциально самый эффективный, и он имеет системную поддержку во всех вариантах Windows. Из распространенных семейств ЕСР поддерживают принтеры HP DeskJet моделей BXX, LaserJet начиная с 4-го, современные модели фирмы Lexmark требуют применения кабеля по частотным свойствам соответствующего IEEE 1284. 3.7 Неисправности и тестирование параллельных портов Тестирование параллельных портов целесообразно начинать с проверки их наличия в системе. Список адресов установленных портов обычно появляется в таблице заставки, выводимой BIOS на экран перед загрузкой ОС. Кроме этой таблицы, список можно посмотреть и с помощью тестовых программ или прямо вBIOS DATA AREA с помощью любого отладчика. Если BIOS обнаруживает меньше портов, чем установлено физически, скорее всего, каким-либо двум портам присвоен один адрес. Программное тестирование порта без диагностической заглушки (Loop Back) не покажет ошибок, поскольку при этом читаются данные выходных регистров, а они у всех конфликтующих (по отдельности исправных портов) совпадут. Именно такое тестирование и производит BIOS при проверке на наличие портов. Разбираться с такой ситуацией имеет смысл последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке. Если физически установлен только один порт и его не обнаруживает BIOS, то либо он отключен при конфигурировании, либо вышел из строя скорее всего из-за нарушений правил подключения. 3.8 Параллельный порт и РпР Большинство современных периферийных устройств, подключаемых к LPT-порту, поддерживает стандарт 1284 и функции РпР. Для поддержки этих функций компьютером с аппаратной точки зрения достаточно иметь контролер интерфейса, поддерживающий стандарт 1284. Для работы РпР подключенное устройство должно сообщить операционной системе все необходимые сведения о себе (идентификаторы производителя, модели и набор поддерживаемых команд). Более развернутая информация об устройстве может содержать идентификатор класса, подробное описание и идентификатор устройства, с которым обеспечивается совместимость.

6 Описание электрической схемы

Исследуемые сигналы через входные гнезда XW1 и XW2 поступают на резистивно-емкостные делители, состоящие из переключателей 1SA2, 2SA2, резисторов 1R1—1R8, 2R1— 2R8 и конденсаторов 1С2—1С9,2С2—2С9, которые определяют максимальный размах по вертикали (префиксы 1 и 2 здесь и далее обозначают принадлежность элементов соответственно к каналам 1 и 2). К выходам делителей через повторители на транзисторах 1VT1, 1VT2 и 2VT1, 2VT2 подключены МОП-ключи микросхемы 1DA1 (два из ее направлений использованы в канале 1, остальные — в канале 2). Ключи открываются импульсами длительностью около 10 нc, поступающими от формирователя на триггере DD1.2, и через них заряжаются конденсаторы 1С10 и 2С10, к которым подключены неинвертирующие входы ОУ 1DA2 и 2DA2. Напряжения на конденсаторах, соответствующие напряжениям сигналов в момент открывания ключей, усиливаются ОУ в 10 раз. Длительность открывающего импульса соответствует минимальной длительности фронта входного сигнала, который отобразится без искажений, т. е. определяет полосу пропускаемых частот.

К выходам ОУ подключен сдвоенный АЦП последовательного приближения. Он содержит компараторы 1DA3, 2DA3 и ЦАП, собранный на элементах микросхем DD2, DD3 и матрице R-2R, состоящей из резисторов R12—R19, R21 — R28. Выходы компараторов соединены с контактами 13 и 15 принтерного разъема ХР1. Значения сигналов на этих контактах соответствуют битам 3 и 4 порта 37.9Н. Входы ЦАП подключены к контактам 2—9 ХР1, поэтому значение выходного сигнала ЦАП может устанавливаться путем записи в порт 378Н числа от 0 до 255 (в пределах 0,5...4,5 В). Реализованное в программе измерение напряжений на выходах ОУ 1DA2 и 2DA2 путем последовательного приближения осуществляется следующим образом. Сначала в порт 378Н выставляется число 27 (на выходе ЦАП — 2,5 В) и проверяется состояние выходов компараторов (бит 3 и 4 порта 379Н). Если компаратор сработал, к указанному числу прибавляется 26, если нет — из первого вычитается второе. Затем еще раз проверяется состояние компараторов, прибавляется или вычитается 25. Процедура повторяется до прибавления или вычитания 2 . Полученные в результате числа соответствуют значениям напряжения на выходах 1DA2 и 2DA2. Делитель R20R29 устанавливает пределы изменения напряжения на выходе ЦАП от0,5 до 4,5 В. Чтобы формирователь импульсов не срабатывал при определении напряжений на выходах ОУ, на вход D триггера DD1.2 в это время подается лог. 0.