Как имитировать параллельный (LPT) принтер с USB-принтером?
DOS-программы до сих пор используются в мире бизнеса. Советы о том, как заставить их работать должным образом на современной вычислительной платформе, широко распространены в Интернете. Вот что сработало для меня.
16-разрядная программа DOS, с которой нам нужно работать, находится на 32-разрядном сервере Windows 2003, который вскоре будет удален. До этого общий ресурс программы сопоставляется на двух 32-разрядных клиентских компьютерах из основного домена с помощью групповой политики. Ярлык для файла .cmd, который запускает программу, размещается вручную на клиентах, также в основном домене. Программа хорошо работает на Windows 8.1. Конечно, это немного компромисс, но машины будут обновлены до 64-битной Windows 8.1, когда программа DOS, которая запускается из вторичного домена, будет удалена.
Печать из программы представляет собой самую большую проблему. В этой программе используются два разных параллельных принтера, но программа печатает только на один порт, и нет никакой возможности изменить это поведение. Нужно распечатать чек на лазерный принтер? Он должен быть подключен к порту LPT1. Нужно распечатать дамп данных на матричный принтер? Он также должен быть подключен к порту LPT1. С этой программой ежедневно работают два человека, поэтому мы будем использовать их компьютеры, по одному для каждого принтера. Давайте установим первый принтер:
Если компьютер имеет физический (параллельный) порт DB-25, вы можете отключить его в BIOS. Windows 8.1 не будет поддерживать это, и нам это не нужно.
A Cables-to-Go модель 16899 Адаптер параллельного принтера USB-DB25 используется для подключения принтера к компьютеру. Адаптер устанавливается автоматически и не распознается как параллельное устройство или порт LPT.
Теперь откройте Устройства и принтеры. Нажмите Добавить принтер и выберите нужный принтер, которого нет в списке. В следующем диалоговом окне выберите «Добавить локальный принтер или сетевой принтер с ручными настройками» и в следующем диалоговом окне «Использовать существующий порт». Выберите виртуальный порт принтера для USB, USB001 или USB002, из списка, а не параметры порта LPT.
Первый принтер — это многорежимный матричный принтер Panasonic KX-P1191. Принтер не указан в диалоговом окне, запрашивающем драйвер, и обновление списка путем нажатия Центра обновления Windows не помогает. Проверка сайта поддержки Panasonic показывает, что принтер на данный момент полностью не поддерживается, но специалист службы технической поддержки Panasonic помог разобраться в том, что привело к драйверу Epson FX Series 1 (80), включенному в Windows 8.1. Работает отлично.
Теперь принтер установлен. Но он находится на порту USB001, и программа будет печатать только на порт LPT1. Решение относительно простое и может быть интегрировано прямо в пакетный файл, который используется для запуска программы. Давайте возьмем старую школу и подшучиваем над нашим принтером: мы поделимся им и напечатаем на LPT1 таким образом.
Щелкните правой кнопкой мыши принтер и выберите «Свойства». Предоставьте общий доступ к принтеру, не перечисляйте его в каталоге, просто создайте короткое имя общего ресурса, а затем убедитесь, что пользователь клиентского компьютера указан в группе или в области имени пользователя на вкладке «Безопасность».
Два человека, которые будут печатать на этих принтерах, создают мою зарплату, поэтому я дал им права администратора домена. Это могло быть ненужным. Оба являются пользователями в основном домене, но не во втором, и я не хотел тратить время на устранение неполадок с разрешениями.
Теперь измените пакетный файл и используйте хорошо документированную команду net use для реализации решения печати:
@echo off ::delete the printer net use lpt1 /delete ::add the printer net use lpt1 \\\COMPUTER\PRINTER /persistent:yes ::fire up the nasty ol' DOS program <existing syntax used to start the program>
Где COMPUTER — это имя компьютера, а PRINTER — это общее имя принтера. Процедура одинаково хорошо работала на втором компьютере для принтера HP LaserJet 1100 с использованием драйвера «HP LaserJet 1100 (MS)», поставляемого с Windows 8.1.
— ПРИМЕЧАНИЯ —
Системная ошибка 5:
Убедитесь, что пользователь указан на вкладке безопасности. «Все» могут быть удалены. Требуются ли для пользователя права администратора домена? Вероятно, нет, если все работает с одного домена.
Системная ошибка 66:
Проверьте свой синтаксис. Вы, вероятно, неправильно написали имя компьютера, принтера или, возможно, пропустили двоеточие? В соответствии с документацией Microsoft требуется только одна двоеточие. Будет ли добавление ненужного двоеточия в lpt1 [:] вызвать сбой?
Все о сетевом использовании: https://technet.microsoft.com/en-us/library/bb490717.aspx
Установка драйвера принтера при параллельном подключении | Руководство Пользователя
Откройте окно «Устройства и принтеры».
Windows 10 (версия 1703 и выше), Windows Server 2019
В меню [Пуск] нажмите [Система Windows] [Панель управления].
Нажмите [Просмотр устройств и принтеров].
Для Windows 10 (версии ниже 1703) и Windows Server 2016
Правой кнопкой мыши нажмите [Пуск], затем нажмите [Панель управления].Нажмите [Просмотр устройств и принтеров].
Windows 8.1, Windows Server 2012/2012 R2
На панели экспресс-кнопок нажмите [Set] ([Задать]) [Control Panel] ([Панель управления]).
Нажмите [Просмотр устройств и принтеров].
Windows 7, Windows Server 2008 R2
В меню [Пуск] нажмите [Устройства и принтеры].
Windows Server 2008
В меню [Пуск] выберите [Панель управления].
Нажмите [Printer] ([Принтер]) в окне [Hardware and Sound] ([Оборудование и звук]).
Нажмите [Установка принтера].
Нажмите [The printer that I want isn’t listed] ([Необходимый принтер отсутствует в списке]).
Выберите опцию [Add a local printer or network printer with manual settings] ([Добавить локальный или сетевой принтер с параметрами, заданными вручную]) и нажмите [Next] ([Далее]).
Выберите порт в списке [Use an existing port:] ([Использовать имеющийся порт:]) [LPT1: (Порт принтера)] — [LPT3: (Порт принтера)] и нажмите [Next] ([Далее]).
Нажмите [Have Disk…] ([Установить с диска…]) [Browse…] ([Обзор…]), чтобы указать драйвер (INF-файл), и нажмите [OK].
Если привод CD-ROM обозначается D:\, то файл хранится в следующей папке:
Драйвер
OS
Папка
PCL 6
32-разрядный драйвер
D:\X86\DRIVERS\PCL6\X86\MUI\DISK1
64-разрядный драйвер
D:\X64\DRIVERS\PCL6\X64\MUI\DISK1
PostScript 3
32-разрядный драйвер
D:\X86\DRIVERS\PS\X86\MUI\DISK1
64-разрядный драйвер
D:\X64\DRIVERS\PS\X64\MUI\DISK1
Загруженный файл хранится в папке «DISK1».
Выберите устанавливаемый драйвер принтера и нажмите [Next] ([Далее]).
Для изменения имени принтера, отображенного в окне, введите имя принтера и нажмите [Next] ([Далее]).
Начинается установка драйвера принтера.
Для использования принтера в качестве общего задайте необходимые параметры и нажмите [Next] ([Далее]) [Finish] ([Завершить]).
Что такое «LPT» порт и для чего он нужен?
Порт «LPT» редко встречается на современных компьютерах. Это специальный разъем компьютера для подключения принтера. Некоторые компьютеры были снабжены несколькими портами «LPT». Эти порты нумеровались: «LPT1», «LPT2» и так далее.
Параллельные порты
Исторически так сложилось, что порты для подключения компьютера разделены на категории: серийные и параллельные порты. «LPT» относится к параллельным портам. Это значит, что информация перемещается по восьми различным проводам, то есть одновременно и параллельно. Компьютеры имеют дело с двоичной информацией. Двоичность преобразует информацию в массивы нулей и единиц. Одно двоичное число (ноль или единица) называется битом. Группа из восьми бит называется байтом. Восемь бит каждого байта, которые перемещаются из компьютера в параллельный порт, перемещаются одновременно. Другой тип кабеля, подключенный к серийному порту, перемещает восемь бит каждого байта друг за другом.
Значение
У параллельного порта есть название. По умолчанию название для единственного параллельного порта компьютера «LPT1». Данный вид портов в основном используется для подключения принтера. К таким портам можно подключить и другие устройства, однако пользователи используют принтер гораздо чаще, чем другие устройства. Подключение принтера к компьютеру делает его «периферией». «Периферийным» может быть любое подключенное с помощью специального кабеля к компьютеру дополнительное устройство. Это «периферийное» оборудование одновременно может использоваться только одним компьютером. Единственный способ подключить уже подключенное «периферийное» устройство к другому компьютеру, чтобы использовать принтер, подключенный к первому компьютеру – с помощью сети и программного обеспечения. Этот процесс отличен от сетевого принтера, который подключается к сети, а не к одному компьютеру. В этом случае используется другой тип кабеля и другой тип порта.
Подключение
Параллельный порт «LPT» и соответствующий разъем имеет 25 штифтов и называется «DB-25», либо «D-Type 25». В разъеме штифты оголены. Они вставляются в 25 отверстий параллельного порта. Восемь из 25 штифтов отвечают за передачу данных, остальные несут либо данные управления, либо инструкции принтера вроде сообщений от принтера о отсутствии бумаги в принтере.
Будущее
Сетевые принтеры подключаются к компьютеру не с помощью порта «LPT», а с помощью порта «Ethernet». К порту «LPT» можно подключить не только принтер, но и другие устройства. Сегодня «периферийные» устройства не используют параллельные порты. И порты «LPT», и серийные порты сегодня ушли в историю и на смену им пришел «USB» порт, либо сетевой порт. Способность беспроводного подключения новых принтеров и периферийных устройств предоставляет еще одну альтернативу «LPT» порту, как способу подключения принтера к компьютеру.
ПохожееКак имитировать параллельный принтер (LPT) с помощью USB-принтера?
программы DOS все еще используются в мире бизнеса. Советы о том, как заставить их работать должным образом на современной вычислительной платформе, свирепствуют в Интернете. Вот что сработало для меня.
16-битная программа DOS, с которой нам нужно работать, находится на 32-битном сервере Windows 2003, который скоро будет удален. До тех пор общий ресурс программы сопоставляется на двух 32-разрядных клиентских компьютерах из основного домена с групповой политикой. Ярлык для .cmd файл, который запускает программу кладется вручную на клиентах, также на основном домене. Программа хорошо работает на Windows 8.1. Немного компромисса, чтобы быть уверенным, но машины будут обновлены до 64-разрядной Windows 8.1, когда программа DOS, которая работает из вторичного домена, удаляется.
печать из программы представляет самую большую проблему. Две разные параллельные принтеры используются с этой программой, но программа печатает только на один порт и нет возможности изменить это поведение. Нужно напечатать проверить лазерный принтер? Он должен быть подключен к порту LPT1. Нужно напечатать сброс данных к принтеру матрицы многоточия? Он также должен быть подключен к порту LPT1. Два человека работают с этой программой ежедневно, поэтому мы будем использовать их компьютеры, по одному для каждого принтера. Давайте установим первый принтер:
Если компьютер имеет физический DB-25 (параллельный) порт, вы можете отключить его в BIOS. Windows 8.1 не будет поддерживать его, и он нам не нужен.
A Кабели-To-Go модель 16899 USB к db25 параллельный адаптер принтера используется для подключения принтера к компьютеру. Адаптер устанавливается автоматически и не распознается как параллельное устройство или порт LPT.
теперь откройте устройства и принтеры. Нажмите кнопку Добавить принтер и выберите нужный принтер отсутствует в списке. В следующем диалоговом окне выберите Добавить локальный принтер или сетевой принтер с ручными настройками и в следующем диалоговом окне используйте существующий порт. Выберите порт виртуального принтера для USB, USB001 или USB002, из списка, а не параметры порта LPT.
первый принтер многорежимный принтер матрицы многоточия Panasonic KX-P1191. Принтер не отображается в диалоговом окне с запросом драйвера и обновление списка, нажав кнопку Центр обновления Windows не помогает. Проверка сайта поддержки Panasonic указывает на то, что принтер полностью не поддерживается на данный момент, но специалист технической поддержки Panasonic помог разобраться в следе, который привел к драйвер Epson FX Series 1 (80) входит в состав Windows 8.1. Отлично работает.
теперь принтер установлен. Но он находится на порту USB001 и программа будет печатать только на порт LPT1. Решение относительно простое и может быть интегрировано прямо в пакетный файл, который используется для запуска программы. Давайте сделаем старую школу и подшутим над нашим принтером: мы поделимся им и напечатаем на LPT1 таким образом.
щелкните правой кнопкой мыши принтер и выбрать недвижимость. Предоставьте общий доступ к принтеру, не указывайте его в каталоге, создайте короткое имя общего ресурса для удобства, а затем убедитесь, что пользователь клиентского компьютера указан в области имя группы или пользователя на вкладке Безопасность.
два человека, которые будут печатать на этих принтерах, создают мою зарплату, поэтому я дал им права администратора домена. Возможно, в этом не было необходимости. Оба являются пользователями в основном домене, но не вторичными, и я не хотел тратить время на устранение неполадок.
теперь измените пакетный файл и используйте хорошо документированную команду net use для реализации решения печати:
@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>
где компьютер-имя компьютера, а принтер-имя общего ресурса принтера. Процедура работала одинаково хорошо на втором компьютере для принтера HP LaserJet 1100 с помощью драйвера» HP LaserJet 1100 (MS)», поставляемого с Windows 8.1.
— NOTES —
Системная Ошибка 5:
убедитесь, что пользователь указан на вкладке Безопасность. «Каждый» может быть удаленный. Требуются ли пользователю права администратора домена? Наверное нет, если все выполняется из одного домена.
Системная Ошибка 66:
Проверьте синтаксис. Возможно, вы неправильно написали имя компьютера, принтер, или, может быть, пропустили двоеточие? Только одно двоеточие необходимо, в в документации Microsoft. Будет добавление ненужного двоеточия в порт lpt1[:] причиной неудачи?
Все о net использовать: https://technet.microsoft.com/en-us/library/bb490717.aspx
Управление шаговым двигателем с помощью LPT порта компьютера
(Ниже описана несложная разработка, позволяющая управлять шаговым двигателем, подключенным к LPT порту IBM-совместимого компьютера.)
Параллельный порт является великолепным интерфейсом, позволяющим подключать к персональному компьютеру множество самых различных устройств. Однако он может быть легко поврежден, поэтому при его использовании для подсоединения самодельных внешних устройств нужно быть очень внимательным. Если вы не уверены в том, что вы все делаете правильно, сначала проконсультируйтесь у специалистов и только потом экспериментируйте. Ниже приводится краткое описание параллельного порта. Параллельный порт имеет несколько линий ввода/вывода, которые могут быть разделены на две группы — линии передачи данных и линии сигналов управления. Линии передачи данных — двунаправленные (разумеется, речь идет о режимах ЕСР/ЕРР), и именно их мы и будем использовать. В табл.1 описано назначение выводов разъема порта LPT.
Назад№ выв. | Назва-ние | Направ-ление | Описание |
---|---|---|---|
1 | STROBE | ввод и вывод | устанавливается PC после завершения каждой передачи данных |
2/9 | DO-D7 | вывод | 8 линий данных |
10 | АСК | ввод | устанавливается в «0» внешним устройством после приема байта |
11 | BUSY | ввод | устройство показывает, что оно занято, путем установки этой линии в «1» |
12 | Paper out | ввод | для принтеров |
13 | Select | ввод | устройство показывает, что оно готово, путем установки на этой линии «1 » |
14 | Autofeed | Ввод и вывод | |
15 | Error | ввод | индицирует об ошибке |
16 | Initialize | Ввод и вывод | |
17 | Select In | Ввод и вывод | |
18-25 | Ground | GND | общий провод |
- Подсоедините вывод любой обмотки двигателя к выводу питания +12 В, а к другому выводу этой обмотки — общий провод. Вал должен провернуться на небольшой угол. Пометьте первый вывод цифрой 1.
- Оставьте эти два вывода в одном месте. Теперь подключите выводы других обмоток к источнику питания 12 В. Обратите внимание, что эти два вывода заставляют шаговый двигатель поворачивать вал на небольшой угол в другую сторону. Отметьте один из них номером 2, другой — номером 4.
- Оставшийся вывод обозначьте номером 3.
Прим. переводчика: я использовал шаговый двигатель от русского дисковода. Тип двигателя: ПБМГ-200-265Ф. Для
определения выводов применялся тестер. При этом я зарисовал схему обмоток, фиксируя на ней измеренные
сопротивления.
Оказалось, что двигатель имеет четыре обмотки. Две обмотки соединены друг с другом и имеют общий провод
белого цвета,
вторые выводы этих обмоток красного и зеленого цвета. Две другие обмотки также соединены друг с другом и
имеют общий
провод черного цвета, вторые выводы этих обмоток голубого и желтого цвета. Если соединить белый и черный
провода,
получается практически та же схема, что и описанная в оригинальной статье. Порядок подключения выводов я
определил
опытным путем.
Для управления шаговым двигателем можно использовать микросхему драйвера ULN2003, которая содержит семь
мощных
транзисторных ключей, собранных по схеме Дарлингтона. Каждый ключ способен управлять нагрузкой с током
потребления до
500 мА. Микросхема имеет резисторы в цепи базы, что позволяет напрямую подключить ее входы к обычным
цифровым
микросхемам. Все эмиттеры соединены вместе и выведены на отдельный вывод. На выходах транзисторных ключей
имеются
защитные диоды, что позволяет управлять с помощью этой микросхемы индуктивными нагрузками при минимуме
внешних
компонентов. В нашей конструкции использовано только четыре транзисторных ключа. Электрическая схема
подключения
шагового двигателя показана на рис. 2.
Обратите внимание, что первый вывод шагового двигателя, идентифицированный с помощью описанной ранее
процедуры,
подсоединен к линии DO параллельного порта (разумеется, через микросхему ULN2003). Каждый следующий вывод
подсоединен
к соответствующему выводу параллельного порта. Если порядок подключения выводов шагового двигателя неверный,
вал
мотора будет не вращаться, а лишь поворачиваться на небольшой угол из одной стороны в другую и наоборот.
Общий провод
схемы подсоединен к источнику питания не напрямую, а через стабилитрон. Это сделано с целью защиты схемы от
напряжения
ЭДС самоиндукции, возникающего в катушках при резком выключении напряжения питания схемы.
Программа, разработанная для описываемого устройства, достаточно проста. Она управляет выводами порта и
формирует на
них специальную последовательность импульсов. Эта последовательность показана в табл. 2 и 3.
Различие между алгоритмами (полным и половинным углом поворота вала на один шаг) состоит в том, что во
втором случае
скорость вращения оказывается в два раза ниже, при этом в два раза уменьшается угол поворота вала двигателя
на каждом
шаге, т. е. увеличивается разрешающая способность системы. Также во втором случае примерно в два раза
увеличивается
потребляемая мощность, и кроме того, двигатель способен развивать в два раза больший крутящий момент.
Для изменения направления вращения вала двигателя необходимо формировать указанные последовательности в
обратном
порядке.
№ шага | DO | D1 | D2 | D3 |
---|---|---|---|---|
1 | 1 | 0 | 0 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 0 |
4 | 0 | 0 | 0 | 1 |
№ шага | DO | D1 | D2 | D3 |
---|---|---|---|---|
1 | 1 | 0 | 0 | 0 |
2 | 1 | 1 | 0 | 0 |
3 | 0 | 1 | 0 | 0 |
4 | 0 | 1 | 1 | 0 |
5 | 0 | 0 | 1 | 0 |
6 | 0 | 0 | 1 | 1 |
7 | 0 | 0 | 0 | 1 |
8 | 0 | 0 | 0 | 1 |
Ниже приведен короткий пример программы для Turbo С, работающей в операционной системе MS-DOS. Эта программа заставляет шаговый двигатель вращаться в прямом направлении, в режиме полного угла на один шаг.
Перевод с английского Михаила Голубцова.
ПортыLPT — Параллельное прямое кабельное соединение — Выводы
Параллельное прямое соединение — второе решение, охватывающее передачу данных с одного компьютера на другой. Требуемый кабель немного сложнее, так как он имеет больше проводов, которые необходимо подключить, но достигнутые скорости передачи окупают время и усилия, необходимые для изготовления кабеля. Мы также рассмотрим физических портов LPT , режимов LPT ( SPP , EPP , ECP ), LPT-порт Pintouts , Кабель прямого подключения LPT и другие.
Пользователи, заинтересованные в передаче файлов с помощью параллельных прямых кабелей, могут посетить следующую страницу поддержки Microsoft, на которой объясняется, как установить и настроить функцию прямого кабельного подключения (https://support.microsoft.com/en-us/kb/298446).
Как мы увидим ниже, существует три разных типа портов LPT: SPP, EPP и ECP, каждый из которых поддерживает разные скорости и функции, но все они используют одно и то же прямое кабельное соединение.
Стандартный LPT-порт будет обеспечивать скорость от 40 кб / с от до 60 кб / с , в то время как более быстрые -порты ECP будут обеспечивать до 1.1 Мбит / с или 8,8 Мбит / с .
Чтобы лучше понять, почему параллельные каналы намного быстрее, чем последовательные, нам необходимо проанализировать способ передачи данных. Это ясно показано и объяснено на схеме ниже:
Рисунок 1. Передача данных через параллельный (LPT) порт
На этой диаграмме показана передача данных через параллельные порты, и мы можем видеть, как несколько блоков данных одновременно передаются с одного хоста на другой, что значительно увеличивает общую пропускную способность.Последовательные порты могут передавать один блок данных за раз, поэтому не могут соответствовать скоростям параллельных портов.
Как выглядит параллельный порт (LPT)?
На рисунке ниже показан параллельный порт, также известный как порт LPT, на компьютере:
Рисунок 2. Физический порт LPT на материнской плате компьютера
На старых компьютерах вы всегда найдете порт LPT прямо над двумя COM-портами, и он обычно имеет пурпурный цвет. Глядя на порт LPT, невозможно определить, является ли порт типом SPP, EPP или ECP, потому что все три типа визуально выглядят одинаково.и все порты LPT используют разъемы DB-25 female.
Исследование различных типов портов LPT
Прежде чем мы начнем анализировать выводы порта LPT, давайте взглянем на различные типы доступных портов LPT. На схеме ниже показаны все три порта LPT, а также их поддерживаемая скорость и описание:
Рисунок 3. Различные порты LPT: SPP, EPP и ECP и их спецификации
4-битные порты
Порт может выполнять 8-битный байтовый вывод и 4-битный полубайтовый ввод.Эти порты часто называют «однонаправленными» и чаще всего встречаются на картах шины настольных компьютеров (также называемых картами расширения ввода-вывода, последовательными / параллельными картами или даже картами 2S + P) и более старых ноутбуках. Это по-прежнему самый распространенный тип порта, особенно в настольных системах. 4-битные порты способны обеспечивать эффективную скорость передачи около 40-60 кбит / с в типичных устройствах, но могут быть увеличены до 140 кбит / с с помощью определенных дизайнерских приемов.
8-битные порты
Эти порты могут выполнять как 8-битный ввод, так и вывод и иногда называются «двунаправленными портами», но производители часто неправильно используют этот термин для обозначения 4-битных портов.Большинство новых ноутбуков имеют 8-битную возможность, хотя ее, возможно, потребуется включить с помощью специальной функции настройки CMOS ноутбука. Это обсуждается ниже. Относительно меньший процент плат с шиной LPT имеет 8-битную способность, которая иногда должна быть активирована с помощью аппаратной перемычки на самой плате. Истинные 8-битные порты предпочтительнее 4-битных портов, потому что они значительно быстрее при использовании с внешними устройствами, которые используют 8-битные возможности. Восьмибитные порты поддерживают скорость в диапазоне от 80 до 300 Кбит / с, опять же в зависимости от скорости подключенного устройства, качества программного обеспечения драйвера и электрических характеристик порта.
портов EPP
Может выполнять как 8-битный ввод, так и вывод на скоростях шины ISA. Эти порты работают на уровне 8-битных шинных карт и могут достигать скорости передачи данных до 600 Кбит / с. Эти порты обычно используются периферийными устройствами, не являющимися принтерами, такими как внешние компакт-диски, ленточные накопители, жесткие диски, сетевые адаптеры и т. Д.
Порты ECP
Может выполнять как 8-битный ввод, так и вывод на скоростях шины. Спецификация для этого типа порта была совместно разработана Microsoft и Hewlett-Packard.Порты ECP отличаются возможностью DMA, встроенными FIFO глубиной не менее 16 байт, возможностью аппаратного сжатия данных и, как правило, их больше, чем у других портов. Эти порты работают на уровне 8-битных шинных карт и могут обеспечивать скорость передачи данных до 1 Мбит / с и выше на компьютерах, чьи шины будут поддерживать это. В будущем эта конструкция будет обеспечивать более высокую скорость передачи данных.
Давайте теперь быстро посмотрим на выводы порта LPT:
Рисунок 4. Распиновка порта LPT и их функции
Кабель прямого подключения LPT
Как объяснялось, существуют разные порты LPT, но все они используют один и тот же параллельный кабель для прямой передачи между двумя хостами.. В зависимости от настроек LPT вашего компьютера в BIOS вы сможете достичь разной скорости передачи, как описано ранее.
На схеме ниже четко показана конфигурация выводов кабеля прямого подключения LPT:
Рисунок 5. Распайка выводов кабеля прямого подключения DB-25 к DB-25 LPT
Примечание: по одному проводу следует присоединить к металлическому корпусу штырей с обеих сторон; это также показано на схеме как «металлическое тело».
Пользователи, пытающиеся создать LPT Direct Cable, должны также найти и загрузить полезную «Утилиту DirectParallel Connection Monitor Utility», расположенную в разделе загрузки полезных инструментов , которая предоставляет полезную информацию о портах LPT на компьютере, на котором он работает, а также информацию о соединение, режим ввода-вывода (4-битный, 8-битный, ECP, EPP), типы параллельного порта, адрес ввода-вывода и IRQ.
Next — Последовательное прямое кабельное соединение, DB9, DB25, COM-порты и выводы или возврат к разделу сетевых кабелей
Конфигурация порта LPT состоит из
наконечник
Режимы работы порта LPTПорт LPT можно настроить для различных режимов работы.Параметры, доступные для конкретного порта, зависят от возможностей системы. Большинство систем, с которыми вы, вероятно, будете работать, должны предлагать все эти режимы, хотя несколько цифровых динозавров, которые все еще крутятся в некоторых офисах, могут не иметь режимов IEEE-1284. Стандартный режимСтандартный режим порта LPT — это конфигурация, впервые используемая на ПК, и это единственный режим, доступный во многих системах на базе 386 и более ранних. В некоторых системах это также называется совместимым режимом.Хотя конфигурация для этого режима обычно включает как IRQ, так и адрес порта ввода-вывода, на самом деле для печати используется только адрес порта ввода-вывода. Если параллельный порт используется в стандартном / совместимом режиме, IRQ 7 можно использовать для другого устройства. Стандартный режим — это самый медленный режим (150 килобайт в секунду [КБ / с] на выходе / 50 Кбит / с на входе), но это наиболее подходящий режим для старых принтеров. В этом режиме восемь строк используются для вывода, но только четыре строки используются для ввода. Порт может отправлять и получать, но только в одном направлении за раз. Этот режим работает с любым параллельным кабелем. PS / 2 ДвунаправленныйСледующий режим, доступный в большинстве систем, — это PS / 2 или двунаправленный режим. Этот режим был впервые использован на старых компьютерах IBM PS / 2 и является самым простым режимом, доступным на некоторых моделях компьютеров. Двунаправленный режим больше подходит для использования с устройствами, отличными от принтеров, потому что восемь строк используются как для ввода, так и для вывода, и он использует только адреса портов ввода-вывода.Этот режим не быстрее, чем совместимый режим печати, но принимает входящие данные с большей скоростью, чем совместимый режим; порт отправляет и передает данные со скоростью 150 Кбит / с. Для этого режима требуется двунаправленный кабель принтера или кабель принтера IEEE-1284. Высокоскоростные двунаправленные режимы IEEE-1284Три режима, которые являются полностью двунаправленными (могут отправлять и получать данные по 8 бит за раз), а также намного быстрее, чем исходный двунаправленный порт в стиле PS / 2, включая
Эти режимы, которые передают данные со скоростью до 2 мегабайт в секунду (МБ / с) и принимают данные со скоростью 500 Кбит / с, были включены в стандарт параллельного порта IEEE-1284. Большинство систем на базе Pentium и более новых имеют порты, соответствующие хотя бы одному из этих стандартов. Все это требует параллельного кабеля, совместимого с IEEE-1284. Эти режимы подходят для использования с
По сути, список включает все самые последние принтеры и периферийные устройства, которые подключаются к параллельному порту. предостережение
Типы параллельных кабелейСуществует три основных типа параллельных кабелей:
Кабели принтера и коммутатора / устройства могут поддерживать двунаправленные стандарты IEEE-1284 или более ранние версии. Вот их внутреннее отличие: tip
Кабели IEEE-1284 имеют несколько типов экранирования как на самом кабеле, так и на конце кабеля принтера. Этот экран предназначен для минимизации помех от внешних источников. Обычные кабели имеют минимальное экранирование. Кабели IEEE-1284 внутри имеют конструкцию из витой пары, по которой к принтеру подаются 18 пар проводов.Пары проводов помогают минимизировать перекрестные помехи (помехи между разными проводами в кабеле). Стандартные (совместимые) кабели используют не так много пар проводов, а двунаправленные кабели требуют меньшего экранирования. В результате кабели IEEE-1284 значительно толще и дороже, чем обычные или двунаправленные кабели принтера. Стандартные и дополнительные настройки параллельного портаПараллельные порты можно настроить как LPT1, LPT2 и LPT3. Когда в системе обнаруживается единственный параллельный порт, независимо от его конфигурации, он всегда обозначается как LPT1.Конфигурации для LPT2 и LPT3, показанные в Таблице 8.2, применимы, когда у вас есть компьютер с более чем одним параллельным портом. Таблица 8.2. Типичные параметры конфигурации оборудования параллельного порта
Если один из портов является портом ECP или EPP / ECP, в большинстве систем обычно используется DMA 3 вместе с перечисленными здесь диапазонами адресов IRQ и портов ввода-вывода.Некоторые компьютеры по умолчанию используют DMA 1 для параллельного порта ECP или EPP / ECP, но DMA 1 будет конфликтовать с большинством звуковых карт, работающих в режиме эмуляции Sound Blaster.
Некоторые 16-разрядные карты мульти-ввода-вывода на базе ISA или PCI могут размещать параллельный порт с любым доступным IRQ до 15. Параллельный порт PCI или мульти-ввод-вывод (параллельный и последовательный порты и, возможно, другие на той же карте) карты могут совместно использовать IRQ с другими картами PCI.Однако параллельные порты ISA, в том числе встроенные в материнскую плату, не могут совместно использовать IRQ при использовании в режимах EPP, ECP или EPP / ECP. (В этих режимах используется IRQ.) Как настроить или отключить параллельные портыВ зависимости от расположения параллельного порта существует несколько способов настройки параметров порта. К ним относятся
Выполните следующие действия, чтобы настроить конфигурацию параллельного порта, встроенного в системную плату:
Выполните следующие действия, чтобы настроить конфигурацию платы параллельного порта ISA с помощью перемычек или DIP-переключателей:
Параллельные порты на базе PCI настраиваются с помощью PnP (Plug and Play) BIOS; некоторые карты ISA также можно настроить с помощью PnP BIOS. В некоторых случаях вы можете настроить параметры, используемые параллельным портом PnP или параллельным портом на материнской плате, с помощью Панели управления Windows. См. Подробности в главе 19. Добавление дополнительных параллельных портовХотя вы можете последовательно подключить принтер и другое устройство с параллельным портом к одному параллельному порту, вы не можете подключить два принтера к одному и тому же порту, если не используете коммутатор.Если вы хотите иметь два параллельных принтера, которые можно использовать одновременно, или если вы хотите предоставить различным устройствам с параллельным портом свои собственные порты, вам необходимо добавить параллельный порт. Какие у вас есть варианты? наконечник
Вы можете добавить дополнительные параллельные порты в систему с помощью любого из следующего:
Установите карту PCI в слот PCI и карту ISA в слот ISA.Карты ISA, которые не являются PnP, должны быть вручную настроены для использования доступных IRQ, адреса порта ввода-вывода и ресурсов канала DMA. Используйте Диспетчер устройств Windows, чтобы определить доступные параметры ресурсов (подробности см. В главе 19). |
Основы работы с параллельным портом — Как работают параллельные порты
Изначально параллельные порты были разработаны IBM как способ подключения принтера к вашему ПК. Когда IBM разрабатывала ПК, компания хотела, чтобы компьютер работал с принтерами, предлагаемыми Centronics , ведущим производителем принтеров в то время.IBM решила не использовать тот же интерфейс порта на компьютере, который Centronics использовала на принтере.
Вместо этого инженеры IBM соединили 25-контактный разъем DB-25 с 36-контактным разъемом Centronics, чтобы создать специальный кабель для подключения принтера к компьютеру. Другие производители принтеров в конечном итоге приняли интерфейс Centronics, что сделало этот странный гибридный кабель маловероятным стандартом де-факто.
Когда ПК отправляет данные на принтер или другое устройство через параллельный порт, он отправляет 8 бит данных (1 байт) за раз.Эти 8 бит передаются параллельно, друг другу, в отличие от тех же восьми битов, передаваемых последовательно (все в одной строке) через последовательный порт. Стандартный параллельный порт может отправлять от 50 до 100 килобайт данных в секунду.
Давайте подробнее рассмотрим, что делает каждый вывод при использовании с принтером:
- Вывод 1 передает сигнал строба . Он поддерживает уровень от 2,8 до 5 вольт, но падает ниже 0,5 вольт всякий раз, когда компьютер отправляет байт данных.Это падение напряжения сообщает принтеру, что данные отправляются.
- Контакты с 2 по 9 используются для передачи данных . Чтобы указать, что бит имеет значение 1, через правильный вывод подается заряд в 5 вольт. Отсутствие заряда на контакте означает значение 0. Это простой, но очень эффективный способ передачи цифровой информации по аналоговому кабелю в реальном времени.
- Контакт 10 отправляет сигнал подтверждения от принтера на компьютер. Как и контакт 1, он поддерживает заряд и снижает напряжение ниже нуля.5 вольт, чтобы компьютер знал, что данные получены.
- Если принтер занят , он будет заряжать контакт 11. Затем он упадет напряжение ниже 0,5 В, чтобы компьютер знал, что готов к приему дополнительных данных.
- Принтер сообщает компьютеру, закончилась ли бумага , отправляя заряд на контакт 12.
- Пока компьютер получает заряд на контакт 13, он знает, что устройство в сети .
- Компьютер посылает на принтер сигнал auto feed через контакт 14, используя 5-вольтовый заряд.
- Если у принтера есть какие-либо проблемы , он понижает напряжение до менее 0,5 В на контакте 15, чтобы компьютер знал об ошибке.
- Каждый раз, когда готово новое задание на печать, компьютер сбрасывает заряд с контакта 16 на и инициализирует принтер.
- Контакт 17 используется компьютером для удаленного отключения принтера . Это достигается путем отправки заряда на принтер и поддержания его до тех пор, пока вы хотите, чтобы принтер был отключен.
- Контакты 18-25 являются заземлением и используются в качестве опорного сигнала для низкого (ниже 0,5 вольт) заряда.
Параллельный порт
Когда IBM представила ПК в 1981 году, параллельный порт принтера (часто упоминаемый даже сейчас как LPT , что означает линейный терминал печати ) был включен в качестве альтернативы последовательному порту для подключения принтера. Параллельный порт может передавать 8 бит данных за раз, тогда как последовательный порт передает только один бит за раз.В нем использовался 25-проводной разъем для передачи данных и различных управляющих сигналов, используемых принтером.
Параллельный порт
Первоначально параллельный порт позволял осуществлять связь только в одном направлении (от компьютера к принтеру), а максимальная скорость передачи данных составляла около 150 Кбит / с. Стандарт для интерфейса отсутствовал, что затрудняло гарантию правильной работы на разных платформах, а длина внешних кабелей была ограничена двумя метрами.Параллельный порт в конечном итоге превратился в усовершенствованный параллельный порт (EPP), который обеспечил двунаправленную связь и скорость передачи данных до 2 Мбит / с в обоих направлениях по кабелям длиной до девяти метров. Параллельный порт на ПК состоит из разъема с 17 сигнальными линиями и 8 линиями заземления. Сигнальные линии делятся на три группы:
- Управление (4 линии)
- Статус (5 строк)
- Данные (8 строк)
В исходном стандартном параллельном порту (SPP) линии управления используются для отправки управляющих сигналов с ПК на принтер.Строки состояния используются для отправки сигналов управления и информации о состоянии (например, чтобы указать, что принтер занят или закончилась бумага) с принтера на ПК. Линии данных передают данные от ПК к принтеру только в одном направлении. Более поздние реализации параллельного порта позволили отправлять данные с периферийного устройства на ПК. В таблице ниже указаны все эти сигналы и даны их определения SPP.
Группа | SPP сигнал | DB25 Pin | In / Out | Signal Description |
---|---|---|---|---|
Control | STROBE | 01 | Out low | Out low.Указывает, что в строках данных есть действительные данные. |
SELECTIN | 13 | Out | Активный низкий. Используется, чтобы указать принтеру, что он выбран . | |
AUTOFEED | 14 | Out | Активный низкий. Указывает принтеру, что должен автоматически вставлять перевод строки для каждого возврата каретки. | |
INIT | 16 | Out | Активный низкий. Используется для перезагрузки принтера. | |
Статус | ACK | 10 | In | Низкий установленный импульс, используемый для обозначения того, что был получен последний символа. |
BUSY | 11 | In | Высокий сигнал, выдаваемый принтером, чтобы указать, что он занят и не может принимать данные. | |
КОНЕЦ БУМАГИ | 12 | В | Бумага пуста. | |
ОШИБКА | 15 | In | Установлен низкий уровень, чтобы указать, что существует некоторая ошибка . | |
ВЫБРАТЬ | 17 | В | Высокий уровень означает, что принтер подключен к сети. | |
Данные | ДАННЫЕ 0 | 02 | Out | Вывод только в SPP. |
ДАННЫЕ 1 | 03 | Вых. | ||
ДАННЫЕ 2 | 04 | Вых. | ||
ДАННЫЕ 5 | 07 | Out | ||
DATA 6 | 08 | Out | ||
DATA 7 | 09 | Out |
Каждому сигналу присваивается определенный бит в регистрах, составляющих аппаратный / программный интерфейс параллельного порта.Регистры представляют собой блок из 3 регистров, начиная с базового адреса параллельного порта. Эти порты называются портами LPT и имеют базовые адреса ввода-вывода 3BCh, 378h и 278h. Реализации параллельного порта, которые поддерживают расширенные режимы стандарта IEEE1284, используют от 8 до 16 регистров и расположены по адресам ввода-вывода 378h или 278h или, в случае параллельного адаптера, совместимого с Plug and Play, могут перемещаться. В таблице 2.2.2 указаны регистры для стандартного параллельного порта.
Адреса портов
Параллельный порт имеет три часто используемых адресных блока — 3BCh-3BFh (4 байта), 378h-37Fh (8 байтов) и 278h-27Fh (8 байтов). Базовый адрес 3BCh изначально использовался для параллельных портов на видеокартах и вышел из употребления, когда видеокарты перестали использовать параллельные порты. Позже он снова появился в качестве опции для базового адреса LPT. LPT1 обычно назначается базовый адрес 378h, а LPT2 назначается базовый адрес 278h.Регистры устройства параллельного порта занимают 3 байта, начиная с указанного базового адреса, и биты в каждом регистре имеют определенные сигналы, связанные с ними, как показано в таблице ниже.
Смещение регистра | Имя | Чтение / запись | Номер бита | Описание |
---|---|---|---|---|
Base + 0 | Порт данных | W | 7 | Данные | (контакт)
6 | Данные 6 (вывод 8) | |||
5 | Данные 5 (вывод 7) | |||
4 | Данные 4 (вывод 6) | |||
3 | Данные 3 (вывод 5) | |||
2 | Данные 2 (контакт 4) | |||
1 | Данные 1 (контакт 3) | |||
0 | Данные 0 (контакт 2) | |||
Base + 1 | Порт состояния | R | 7 | Занят |
6 | Ack | |||
5 | Paper Out | |||
4 | Select In | |||
1 | Зарезервировано | |||
0 | Зарезервировано | |||
Base + 2 | Порт управления | R / W | 7 | Не используется Не используется |
5 | Включить двунаправленный порт | |||
4 | Включить IRQ через линию подтверждения | |||
3 | Выбрать принтер | |||
2 | Инициализировать принтер 1 | Авто перевод строки | ||
0 | Строб |
Спецификация параллельного порта была формализована стандартом IEEE 1284 в 1994 году.Этот стандарт определяет несколько режимов работы, включая режим совместимости , который позволяет передавать данные только в одном направлении, режим расширенного параллельного порта (EPP) и режим порта с расширенными возможностями (ECP) . Режимы EPP и ECP обеспечивают двунаправленную связь с помощью дополнительного оборудования, которое генерирует квитирование и управляет им. Стандарты IEEE1284 для кабеля, разъема и электрического интерфейса гарантируют взаимодействие между всеми параллельными периферийными устройствами и гарантируют сохранение целостности данных даже при высоких скоростях передачи данных на расстоянии до 30 футов.
Связь через параллельный порт
[25286] — PST Product Service & Support
Эта статья относится к:
E-Prime 3.0
E-Prime 2.0
E-Prime 1.x
Деталь
Как узнать, могу ли я использовать связь через параллельный порт?
Проверьте руководство вашего внешнего устройства, чтобы узнать, может ли оно использовать связь через параллельный порт и какие значения могут потребоваться.Также убедитесь, что на вашем компьютере установлен соответствующий порт.
Параллельный порт может отправлять и получать данные через кабель, соединяющий устройства. Внутри каждого порта есть «штырь», соответствующий одному из проводов кабеля. Параллельные порты имеют 25 контактов. Каждый контакт в кабеле предназначен для определенной цели, но обычно для отправки данных используются только контакты с 2 по 9.
Программное обеспечение на отправляющей стороне будет включать или выключать каждый вывод в соответствии с значением, которое вы хотите отправить.Затем на принимающей стороне программное обеспечение может считывать состояние контактов (включено или выключено) и интерпретировать отправленное вами значение. В зависимости от вашего метода связи в E-Prime, а также требований вашего внешнего устройства, вы можете выбрать манипулирование отдельными контактами или всегда отправлять данные по всем 8 контактам одновременно (см. «Как отправить сигнал?» Ниже ). Ответственность за прием и обработку сигнала другим устройством или машиной несет пользователь.
Как мне изначально настроить кабели, параметры Windows и параметры E-Prime?
Убедитесь, что параллельный кабель надежно подключен к компьютеру и устройству.Обратите внимание, что в настоящее время нет кабелей USB-to-Parallel, совместимых с E-Prime. Дополнительные сведения см. В этой статье: ИНФОРМАЦИЯ: рекомендуемые адаптеры параллельного порта для машин без параллельного порта [18031]. За помощью в настройке внешнего устройства обратитесь к руководству пользователя или в ИТ-отдел.
После настройки оборудования необходимо убедиться, что E-Prime знает, какой порт вы хотите использовать для связи через параллельный порт. Адрес этого порта, а также номер порта LPT назначаются Windows автоматически.Вам нужно получить эту информацию из Windows, чтобы ее можно было поместить в E-Prime. Есть несколько способов общения в E-Prime. События задач доступны только в E-Prime Professional 2.0.10.242 и более поздних версиях. Устройство с параллельным портом доступно как в E-Prime 2.0.10.242 Professional, так и в Standard или более поздних версиях. Команды OnsetSignal / OffSetSignal и WritePort доступны во всех версиях E-Prime. Эти темы рассматриваются ниже в разделе «Как отправить сигнал?».
Как получить необходимую информацию о порте из Windows
1.Щелкните Пуск — Панель управления — Система
2. Щелкните вкладку «Оборудование» на странице «Свойства системы»
3. Щелкните Диспетчер устройств
4. Щелкните «+» рядом с «Порты (COM и LPT)», чтобы просмотреть список портов. используется вашей машиной. Если порт LPT не отображается и вы знаете, что у вас есть необходимое оборудование, возможно, вам придется установить драйвер через Центр обновления Windows или с веб-сайта производителя. Для получения дополнительной информации об установке драйверов оборудования обратитесь в свой ИТ-отдел.
для событий задач / устройства параллельного порта (в версии 2.0.10.242 или новее): только номер LPT, например ‘1’
Для OnsetSignal / OffSetSignal или WritePort (все версии E-Prime): только адрес порта, например ‘& H478’
Выберите параллельный порт (LPT или принтер), щелкните правой кнопкой мыши и выберите «Свойства», затем выберите вкладку «Ресурсы». Будет показан адрес текущего доступного порта. Адрес порта может быть указан в десятичном или шестнадцатеричном формате. При использовании шестнадцатеричного представления E-Basic требует, чтобы перед адресом было вставлено «& H».Например, наиболее распространенным адресом параллельного порта является (в десятичном формате) 888, что переводится в шестнадцатеричной системе счисления в 378. Следовательно, в E-Prime он будет записан как & h478. Для получения дополнительной помощи в поиске адреса порта обратитесь к руководству по параллельному порту или в ИТ-отдел.
Как поместить эту информацию в E-Prime
Для событий задач / устройства параллельного порта (в версии 2.0.10.242 или новее): только номер LPT, например ‘1’
Откройте E-Studio и дважды щелкните фиолетовый объект эксперимента, чтобы открыть его свойства.Щелкните вкладку «Устройства», «Добавить…», затем «Параллельный порт».
Выберите новый параллельный порт и нажмите «Редактировать…», чтобы изменить его свойства. Убедитесь, что номер LPT здесь совпадает с номером из диспетчера устройств Windows. При необходимости настройте другие параметры. Это устраняет необходимость в пользовательском сценарии для настройки и инициализации связи через параллельный порт. Устройство ParallelPort рекомендуется использовать вместо устройства порта из-за его гибкости и способности использовать номер LPT вместо базового адреса.Кроме того, устройство ParallelPort можно использовать для отправки цифровых триггеров через события задачи.
Для OnsetSignal / OffSetSignal или WritePort (все версии E-Prime): только адрес порта, например ‘& H478’
Откройте E-Studio и дважды щелкните фиолетовый объект эксперимента, чтобы открыть его свойства. Щелкните вкладку «Устройства», «Добавить…», затем «Порт». Введите соответствующий адрес порта в поле «Адрес». При необходимости настройте другие параметры.
Как отправить сигнал через параллельный порт
ПРИМЕЧАНИЕ : Параллельные порты сохраняют свое прошлое состояние до тех пор, пока не будут изменены, даже после перезагрузки.То есть вы всегда должны «очищать» (записывать все контакты в ноль) в начале любого эксперимента.
События задачи
E-STUDIO: Использование событий задач [22862]
Устройство параллельного порта
Отправляйте команды с помощью ParallelPortDevice.WriteByte в сценарии InLine. Дополнительную информацию об использовании этой команды см. В Справочнике по командам E-Prime (https://pstnet.com/ecr).
OnsetSignal / OffSetSignal
ПРИМЕЧАНИЕ : Свойства OnsetSignal / OffsetSignal подготавливают объект для сигнализации.В отличие от WritePort, где значение отправляется немедленно в порт, фактический сигнал при использовании свойств OnsetSignal / OffsetSignal не возникает до фактического начала или смещения объекта, когда он запускается на временной шкале процедуры.
Эти свойства позволят отправлять триггеры в точное время начала / смещения объекта и значительно улучшат вашу способность согласовывать синхронизацию со стимулами. Свойства включают (где «X» — фактическое имя объекта, для которого устанавливается свойство):
- Х.OnsetSignalEnabled
- X.OnsetSignalPort
- X.OnsetSignalData
- X.OffsetSignalEnabled
- X.OffsetSignalPort
- X.OffsetSignalData
Вы можете найти эти свойства, полностью задокументированные в общей теме RteRunnableInputObject в Справочнике по командам E-Prime. Обратите внимание, что вам нужно будет указать адрес вашего порта через свойство xxxSignalPort и значение, которое вы отправляете через xxxSignalData.
В следующем примере предположим, что объекты с именами «Prime» и «Probe» имеют адрес параллельного порта & h478.Если вы хотите, чтобы каждый объект отправлял сигнал на параллельный порт в начале эксперимента, вы должны создать встроенный объект в начале эксперимента и ввести следующий скрипт:
- Prime.OnsetSignalEnabled = True
- Prime.OnsetSignalPort = & h478
- Prime.OnsetSignalData = & H01
- Probe.OnsetSignalEnabled = True
- Probe.OnsetSignalPort = & h478
- Probe.OnsetSignalData = & H02
В этом примере «Prime» отправляет сигнал в бит 0, а «Probe» отправляет сигнал в бит 1 каждый раз, когда объект запускается в сценарии.
Обычно необходимо установить эти свойства только один раз, в начале эксперимента. Однако, если значение OnsetSignalData изменяется при некоторых условиях, вам нужно будет изменить значение свойства в InLine, который выполняется до объекта, отправляющего сигнал.
По умолчанию при отправке OnsetSignal от объекта бит остается на высоком уровне до тех пор, пока он не будет отключен следующим запущенным объектом. Если вы хотите переключиться, есть два варианта:
- Используйте команду WritePort в строке InLine после этого объекта.Запишите «0» во все биты.
- Используйте соответствующие свойства OffsetSignalEnabled / Port / Data, чтобы сбросить все биты обратно на 0 при смещении объекта.
Если вам нужно контролировать длительность импульса, вам также необходимо будет управлять свойствами Duration и PreRelease объекта, который его отправляет, до тех пор, пока не будет достигнута желаемая ширина импульса (т. Е. Регулируя время между началом объекта и компенсировать). Обратитесь к временным диаграммам в «Приложении E: Время выполнения объекта» в Руководстве пользователя E-Prime для описания различных временных интервалов выполнения объекта в E-Prime.
WritePort
В качестве альтернативы вы можете перемежать сценарий между каждым объектом в пробной последовательности и использовать либо команду WritePort, либо связанные с ней методы для связи с внешним устройством. Однако использование этого метода НЕ гарантирует точную синхронизацию сигналов со стимулом. При использовании этого метода сигнал должен возникать в течение одного обновления, и это обновление будет зависеть от частоты обновления вашего собственного монитора.
Чтобы включить импульс WritePort, который синхронизируется в рамках одного обновления следующего события, вы должны вставить InLine непосредственно перед объектом события в процедуре.Затем вы будете использовать следующий сценарий в InLine (где информация WritePort настраивается для вашего эксперимента):
Display.WaitForVerticalBlank
WritePort nAddress, nValue
Как получить сигнал через параллельный порт
События задачи
E-STUDIO: Использование событий задач [22862]
Устройство параллельного порта
Используйте устройство параллельного порта в качестве маски ввода или получайте команды с помощью ParallelPortDevice.ReadCurrentByte в скрипте InLine. Дополнительную информацию об использовании этой команды см. В Справочнике по командам E-Prime (https://pstnet.com/ecr). Вход параллельного порта также может быть зарегистрирован как маска входа на E-объекте.
Устройство порта
Используйте устройство порта как маску ввода. В большинстве случаев, если вы просто ищете какой-либо бит для изменения и запуска E-Prime, вы можете ввести «любой» в поле «Допустимый ввод» для входного объекта. Кроме того, вы можете получать команды с помощью ReadPort () в скрипте InLine (https: // pstnet.com / ecr).
Особенности использования параллельного порта
ПРИМЕЧАНИЕ : Убедитесь, что в BIOS правильно установлен режим параллельного порта (обычно используются термины «только вывод» или «стандартный»). Чтобы избежать изменения настроек BIOS, см. ОБРАЗЕЦ : Настройка параллельного порта , который может использовать сценарий E-Basic для настройки параллельного порта. Обратите внимание, что обычно в этом нет необходимости при использовании карты параллельного порта PCI.
Параметр значения также может быть записан в десятичной или шестнадцатеричной системе счисления.Значение переводится в двоичную запись, которая представляет собой конкретный битовый шаблон. Таким образом, битовая комбинация соответствует штыревым соединениям. Биты либо с 0, либо с 1. Пины всегда начинаются с 1.
Вы должны помнить, что при записи в параллельный порт вы отправляете 8 бит данных одновременно. Вы напишете «1» любому биту, соответствующий вывод которого вы хотите «включить». «0» записывается в любой бит, соответствующий вывод которого вы хотите «выключить». Сопоставление битов с выводами является относительно стандартным для параллельного порта.Пожалуйста, обратитесь к документации для вашего оборудования и / или адреса порта для отображения битов на контакты. Примечание. Первый доступный бит для подключения контактов начинается с бита номер 1 и с контакта номер 2. Вы не можете отправить сигнал на контакт номер 1.
Для стандартного параллельного порта вы можете предположить, что контакты с 9 по 2 соответствуют номеру 0000000, когда все контакты выключены, и сопоставить числовые значения с этим обозначением. Используя двоичную систему, числовые значения контактов (от 9 до 2) равны 128, 64, 32, 16, 8, 4, 2, 1 соответственно.10000000 представляет от 1 до 9 и 0 для остальных контактов; если вы хотите включить вывод 9, вы должны послать на порт значение 128. 00000001 представляет «1» для контакта 2 и «0» для других контактов; если вы хотите включить контакт 2, вы должны отправить на порт значение 1. В следующей таблице показаны стандартные схемы контактов и соответствующие десятичные значения.
Штифт | Значение |
2 | 1 |
3 | 2 |
4 | 4 |
5 | 8 |
6 | 16 |
7 | 32 |
8 | 64 |
9 | 128 |
Например, если вы хотите включить бит номер один в битовой комбинации, основанной на 1, и оставить остальные выключенными, вы должны послать сигнал «1» на контакт 2 и сигнал 0 на контакты 3-9. .В двоичной системе счисления это будет записано как 00000001. В десятичной или шестнадцатеричной системе счисления это будет преобразовано в «1». Если вы подключили внешнее оборудование к выводу, связанному с битом 0, внешнее оборудование будет видеть на выводе + 5 В (приблизительно) или логическую «1». Вы можете проверить это с помощью осциллографа или портативного мультиметра, подключив сигнальный провод к контакту, представляющему бит 0, а заземляющий провод — к контакту заземления (обычно контакты 18-25).
Взаимодействие с параллельным портом
Параллельный порт принтера исходного IBM-PC имел в общей сложности 12 цифровых выходов и 5 цифровых входов, доступ к которым осуществлялся через 3 последовательных 8-битных порта в пространстве ввода-вывода процессора.E-Prime поддерживает стандартный порт принтера (только выход, стандартный, SPP, AT) в конфигурации проводки ниже. Обратите внимание, что другие конфигурации, такие как PS / 2, двунаправленная, EPP, ECP и т. Д., В настоящее время не поддерживаются в E-Prime.
- 8 выходных контактов, доступ к которым осуществляется через порт данных
- 5 входных контактов (один перевернутый) доступны через порт STATUS
- 4 выходных контакта (три перевернутых) доступны через порт CONTROL
- Остальные 8 контактов заземлены
25-контактный гнездовой разъем D-типа
Чтобы избежать изменения настроек BIOS, см. ОБРАЗЕЦ : конфигурация параллельного порта , который может использовать полный сценарий E-Basic для настройки параллельного порта.Затем вы можете вызвать ConfigurePortForOutput, который позволит порту DATA (контакты 2–9) принимать вызовы WritePort и OnsetSignalXXX. Вы также можете вызвать ConfigurePortForInput, который позволит настроить порт DATA (контакты 2–9) для входных ответов, а также избежать использования БАЗОВОГО АДРЕСА + 1 при настройке устройства порта. То есть вы должны указать & h478 вместо & h479.
Если вы не можете добавить параллельный порт к своей машине или хотите использовать альтернативу USB, вы можете использовать наше устройство Chronos.
Возможность для ParallelPortDevice ToggleBit, SetBit, ResetBit
ParallelPortDevice, а также ParallelPort в событиях задач предлагает возможность использовать функции ToggleBit, SetBit и ResetBit.- SetBit — Укажите номер бита, отсчитываемый от нуля, для установки высокого уровня. Значение остается высоким, если ранее было высоким.
- ResetBit — Укажите номер бита, отсчитываемый от нуля, для установки низкого уровня. Значение остается низким, если ранее было низким.
- ToggleBit — Укажите номер бита, отсчитываемый от нуля, для переключения.Если значение ранее было высоким, то оно устанавливается низким. Если значение ранее было низким, оно будет установлено высоким.
Как установить новый принтер на принтер LPT или параллельный порт.
ВАЖНО: Эта процедура должна выполняться при входе в систему как администратор или в учетной записи с правами администратора.
ПРИМЕЧАНИЯ:
- Прежде чем продолжить, посетите веб-сайт производителя принтера, чтобы найти последние версии драйверов для операционной системы Windows XP. Некоторые принтеры не работают должным образом без обновленных драйверов.
- Если конкретному принтеру стороннего производителя для правильной установки требуется программа установки или установки, обратитесь к производителю принтера стороннего производителя для правильной процедуры установки.
- Подключите кабель принтера к соответствующему порту на компьютере.
- Включите принтер.
- Нажмите кнопку «Пуск», затем выберите «Панель управления».
- В окне панели управления дважды щелкните значок «Принтеры и другое оборудование».
- В окне «Принтеры и другое оборудование» в разделе «Выберите задачу»…, нажмите кнопку Добавить принтер.
- В окне мастера добавления принтера нажмите кнопку Далее.
- В окне Сетевой или Локальный принтер щелкните, чтобы выбрать Локальный принтер ….
- Щелкните, чтобы снять флажок Автоматически определять и устанавливать …
- Щелкните кнопку Далее.
- В окне «Выбор порта принтера» щелкните, чтобы выбрать «Использовать следующий порт»:.
- Щелкните стрелку вниз и выберите LPT1: (Рекомендуемый порт принтера).
- Щелкните кнопку Далее.
- В окне «Установить программное обеспечение принтера» выберите соответствующий принтер.
ПРИМЕЧАНИЕ. Если новый драйвер был загружен или включен в комплект поставки принтера, нажмите кнопку «Установить с диска …» и введите соответствующий путь.
- Нажмите кнопку Далее.
- В окне «Дайте имя своему принтеру» нажмите кнопку «Далее».
ПРИМЕЧАНИЕ. Если установлен другой драйвер принтера, будет доступна возможность сделать новый принтер принтером по умолчанию. Это также произойдет, если другие установленные драйверы предназначены для приложения факсимильной связи или устройства записи PDF-файлов.
- В окне «Печать пробной страницы» нажмите кнопку «Далее».
- В окне «Завершение мастера установки принтера» нажмите кнопку «Готово».
- В поле Сейчас отправляется тестовая страница … нажмите кнопку ОК.
Как использовать параллельный порт ПК для связи
Аннотация: Цель этой заметки по применению — показать, как создать быстрый, простой и дешевый 2-проводный (I²C-совместимый) интерфейс с использованием параллельного порта ПК. Это примечание по применению было специально написано для тех, кто только что получил или только что заказал образцы устройств Dallas Semiconductor и понял, что теперь им нужен способ связи с 2-проводными устройствами.Хотя существует множество решений, представленное здесь не требует микроконтроллера, прошивки или каких-либо сложных микросхем. Для дальнейшей помощи в решении поставленной задачи предоставляется программное обеспечение Windows® 95/98, которое устраняет головную боль, связанную с сложной задачей одновременной отладки аппаратного и программного обеспечения. Имея программное обеспечение вместе с парой инструментов для отладки, можно приложить все усилия исключительно для того, чтобы как можно быстрее поднять и запустить оборудование.
Введение
Цель этой заметки по применению — показать, как создать быстрый, простой и дешевый 2-проводный (I²C-совместимый) интерфейс с использованием параллельного порта ПК.Это примечание по применению было специально написано для тех, кто только что получил или только что заказал образцы устройств Dallas Semiconductor и понял, что теперь им нужен способ связи с 2-проводными устройствами. Хотя существует множество решений, представленное здесь не требует микроконтроллера, прошивки или каких-либо сложных микросхем. Для дальнейшей помощи в решении поставленной задачи предоставляется программное обеспечение Windows 95/98, которое устраняет головную боль, связанную с сложной задачей одновременной отладки аппаратного и программного обеспечения.Имея программное обеспечение вместе с парой инструментов для отладки, можно приложить все усилия исключительно для того, чтобы как можно быстрее настроить и запустить оборудование.Поскольку это оборудование взаимодействует с ПК, применяются стандартные заявления об отказе от ответственности. Хотя представленное оборудование и программное обеспечение были созданы и протестированы вместе, используйте их на свой страх и риск. Обязательно дважды и трижды проверьте все соединения и напряжение источника питания, так как он будет напрямую подключаться к схеме параллельного порта ПК. Dallas Semiconductor / Maxim не несет ответственности за любой возможный ущерб.Это решение предназначено только для ознакомительных целей и не предназначено для использования в производстве или распространении. Хотя текущее программное обеспечение предназначено только для Win95 / 98, будет доступна следующая версия, которая будет поддерживать Win NT.
Зачем использовать параллельный порт вместо последовательного порта или USB?
Параллельный порт был выбран в этой заметке по применению, потому что цель заключалась в том, чтобы создать интерфейс быстро, просто и дешево. Интерфейс параллельного порта основан на логической микросхеме 74HC05 и некоторых пассивных компонентах.С другой стороны, решение для последовательного порта потребует микроконтроллера, прошивки, программатора или возможности программирования в системе, трансляторов уровня, кристалла, а также многих других пассивных компонентов. Точно так же USB также требует значительного количества оборудования в дополнение к гораздо большим инвестициям в программное обеспечение и прошивку. Кроме того, для отладки USB-оборудования часто требуются очень дорогие анализаторы протоколов. Итак, с точки зрения нашей цели, выбор очевиден. Но прежде, чем будет принято окончательное решение, необходимо проанализировать и недостатки, чтобы убедиться, что они допустимы.Наверное, самым большим недостатком параллельного порта является его будущее. Все больше и больше производителей ПК отказываются от параллельных и последовательных портов в пользу USB. Еще одним недостатком параллельного порта является то, что большая часть его конфигурации задается в BIOS ПК. Это означает, что если не удается установить связь между ПК и оборудованием, необходимо перезагрузить ПК, чтобы вы могли войти в утилиту BIOS (обычно нажав F1 или DEL во время запуска) и настроить параметры параллельного порта.Это не препятствие в среде разработки / оценки, но огромная головная боль поддержки, когда она находится в руках широкой публики. Далее, хотя это скорее неудобство, чем недостаток, это изменение от ПК к ПК. Поскольку параллельный порт является устаревшим оборудованием, с годами он претерпевал изменения, вариации и улучшения. Однако при разработке оборудования вы хотели бы, чтобы оно работало как со старыми параллельными портами, так и с новыми и будущими. Это приводит к предположениям (временным и электрическим), которые необходимо сделать при проектировании аппаратного обеспечения интерфейса.И, наконец, еще один недостаток, связанный с операционной системой, — это необходимость драйвера устройства в системах Windows NT. Windows NT не позволяет пользовательским приложениям напрямую читать / записывать аппаратные регистры. Это действительно усложняет дело со стороны программного обеспечения и стоит дорого, если драйвер приобретается.
К счастью, Windows 95 и Windows 98 по-прежнему достаточно распространены, чтобы не доставлять особых неудобств в ознакомительной среде, не говоря уже о том, что эта тема станет спорной после того, как программное обеспечение будет изменено для поддержки Windows NT.
Оборудование
Схема двухпроводного интерфейса параллельного порта показана на рис. 1 . Все детали легко получить через Radio Shack и Digi-Key. Интерфейс может быть построен с использованием компонентов для поверхностного монтажа или сквозных отверстий.
Рисунок 1. Двухпроводной интерфейс параллельного порта.
Интерфейс основан на широко распространенном 74HC05, обозначенном на схеме как U1. 74HC05 содержит шесть инверторов с выходами с открытым коллектором.Эта ИС выполняет несколько важных задач в этом приложении. Прежде всего, он обеспечивает некоторую изоляцию между схемой параллельного порта ПК и схемой ниже по потоку. Он также преобразует сигналы TTL параллельного порта в открытый коллектор, который требуется для 2-проводного интерфейса. Выходы с открытым коллектором также необходимы для подключения двунаправленного сигнала SDA к одному выделенному входу и одному выделенному выходу параллельного порта (в отличие от использования одного двунаправленного вывода параллельного порта, что потенциально потребует от пользователя экспериментов с ПК. Настройки BIOS).
Поскольку сигнал SCL 2-проводного интерфейса вводится только по отношению к IC (поскольку растяжение тактовой частоты не реализовано), SCL генерируется с использованием D0 параллельного порта (контакт 2 разъема DB-25 ПК), настроенного как выход. D0 подключен ко входу одного из инверторов 74HC05 (U1E). Однако некоторые параллельные порты могут не выдавать напряжение, достаточно высокое для того, чтобы инвертор мог интерпретировать уровень как высокий, поэтому R3 используется в качестве подтяжки, чтобы сделать интерфейс нечувствительным к изменениям между ПК.Аналогичным образом, чтобы компенсировать вариации от ПК к ПК, C4 включен в качестве заполнителя, который может быть заполнен при взаимодействии с ПК с зашумленным параллельным портом. Для большинства приложений этот конденсатор не понадобится, но если собирается печатная плата, не помешает спланировать заранее и, по крайней мере, предусмотреть место для конденсатора. Наконец, выход инвертора U1E — SCL. Поскольку выход представляет собой открытый сток, для реализации высоких логических уровней требуется подтягивающий резистор R1.
Сигнал SDA, с другой стороны, двунаправленный.Он реализован с использованием одного входного контакта (контакт 12 разъема DB-25 ПК) и одного выходного контакта (D1, контакт 3 разъема DB-25 ПК). Связь от ПК к 2-проводному устройству осуществляется по той же схеме, которая использовалась для генерации SCL. Выход D1 параллельного порта подключается к входу другого инвертора (U1A) в 74HC05 (U1). И снова, чтобы гарантировать, что высокий логический уровень параллельных портов достаточно высок, чтобы инвертор интерпретировал его как высокий, подтягивающий резистор R4 подтягивает сигнал D1 до V CC .Точно так же конденсатор C5 является заменителем в случае обнаружения зашумленного параллельного порта и требует дополнительной фильтрации. Выход инвертора — открытый сток и требует R2 для реализации высоких логических уровней.
Связь по SDA от 2-проводного устройства с ПК осуществляется с помощью одного из входных контактов параллельного порта (контакт 12) в дополнение к другому инвертору 74HC05 (U1B). Очень важно отметить, что для того, чтобы устройство могло обмениваться данными с ПК, прикладное программное обеспечение должно установить на D1 низкий уровень, чтобы выходной сигнал инвертора высвобождал SDA, позволяя 2-проводному устройству переключать SDA.Вход инвертора U1B контролирует SDA. Выход инвертора подтягивается к V CC через R6, который отвечает за определение высокого логического уровня. Последовательный резистор R5 используется в качестве защиты в случае возникновения разногласий. Это последовательное сопротивление не является обязательным в этом примере, потому что контакт 12 параллельного порта является только входным. Если бы мы использовали один из контактов ввода / вывода параллельного порта, с другой стороны, то резистор важен в случае, если внешнее напряжение подавалось на параллельный порт, когда параллельный порт пытался вывести высокий уровень.Даже если ваше прикладное программное обеспечение было осторожно, чтобы не вызвать разногласия, возможно, что другое приложение может получить доступ к порту даже на короткий период времени (например, ОС периодически сканирует в поисках принтера).
Поскольку только три из шести инверторов 74HC05 требуются для реализации 2-проводной связи, три инвертора не используются. Чтобы они не пропадали даром, схема включает дополнительную схему, в которой два неиспользуемых затвора используются для управления светодиодом, который можно включать и выключать под управлением программного обеспечения.Контакт 17 параллельного порта — это выходной контакт, используемый для управления инверторами U1C и U1D, которые параллельно обеспечивают достаточный ток стока для управления широким спектром светодиодов. Резистор R7, как и R3 и R4, гарантирует, что на входах инвертора будет достаточно высокое напряжение, чтобы интерпретировать его как высокое. Резистор R8 — это резистор, ограничивающий ток светодиода, используемый для управления яркостью светодиода. Что касается вывода 17 параллельного порта, следует отметить, что у него есть инвертор, встроенный в ПК, поэтому запись «0» на вывод 17 бит инвертируется в высокий уровень до достижения DB25.Высокий уровень на входе U1C и U1D приводит к низкому уровню на выходе, что приводит к включению светодиода.
Входы оставшихся неиспользуемых инверторов должны быть связаны с GND, чтобы на выходе было высокое положение, чтобы предотвратить возникновение конфликтных ситуаций.
Конденсаторы C1 и C2 включены в качестве хорошей практики для обхода напряжения источника питания вблизи того места, где напряжение подается на печатную плату. Точно так же развязывающий конденсатор C3 следует разместить как можно ближе к V CC и GND 74HC05.
При подключении SCL и SDA от интерфейса к 2-проводному устройству важно убедиться, что земля интерфейса является общей с землей 2-проводного устройства.Кроме того, если SCL и SDA интерфейса подключаются к цепи, которая содержит 2-проводное устройство, имейте в виду, что вы можете получить R1 и R2 параллельно с 2-проводными подтягивающими резисторами прикладной схемы. Если вы планируете подключать 2-проводное устройство «в цепи», вы можете соответственно отрегулировать резисторы R1 и R2 или исключить их, если в прикладной схеме уже есть подтяжки SDA и SCL.
Наконец, как указано на схеме, в прототипе интерфейса использовался гнездовой разъем DB25.Производитель и номер детали показаны на схеме вместе с поставщиком и номером детали кабеля DB25 «папа-вилка». В зависимости от имеющихся у вас расходных материалов, использовать штекер DB25 так же просто, как и кабель штекер-гнездо DB25.
Регистры параллельного порта
Связь между ПК и интерфейсом достигается с использованием только четырех битов, находящихся в трех регистрах (см. Таблицу 1). Базовый адрес по умолчанию для параллельного порта (LPT1) обычно 378h. Два других возможных местоположения — 3BCh и 278h.Базовый адрес — это адрес 8-битного байта данных. Этот байт содержит биты, управляющие выводами D7-D0, где младший бит равен D0. Байт, следующий за байтом данных по базовому адресу + 1, является байтом состояния. Для данной схемы интересующий бит в байте состояния — это бит 5 (где бит 0 — это младший бит), который является входом SDA. Чтение бита 5 байта состояния указывает состояние SDA (через инверсию U1B). Перед выполнением чтения важно сначала убедиться, что D1 в байте данных записан на низкий уровень, поэтому инвертор U1A находится в hi-z, что позволяет инвертору U1B определять состояние SDA.Байт, следующий за байтом состояния, является байтом управления, расположенным по базовому адресу + 2. Интересующий бит в байте управления — это бит 3 (где бит 0 — это младший бит). Бит 3 подается через инвертор, встроенный в ПК, а затем выводится на вывод 17 DB25 ПК. Этот бит включает и отключает светодиод. Примеры чтения и записи описанных битов приведены ниже. Таблица 1. Регистры параллельного порта
Проверка и отладка оборудования
После того, как оборудование построено, обязательно проведите его быстрый визуальный осмотр.Перед подключением интерфейса к ПК или источнику питания убедитесь, что все соединения безопасны, правильны и не существует нежелательных коротких замыканий. Убедитесь, что V CC случайно не замкнут на GND. После выполнения этих мер предосторожности подключите источник питания 5 В к интерфейсу (пока не подключайте кабель параллельного порта). Если у источника питания есть текущие показания, убедитесь, что ток не превышает 10–15 мА. Если наблюдается больший ток, то трижды проверьте все соединения.Убедитесь, что ИС правильно сориентирована, и дважды проверьте полярность любых поляризованных конденсаторов, которые могли быть использованы (например, C1). Другая возможная причина превышения ожидаемого тока питания — неправильные значения подтягивающих резисторов. Случайное использование резистора 470 Ом вместо 4,7 кОм вызовет заметное увеличение.
Если все в порядке, подсоедините кабель параллельного порта. Потребляемый ток должен измениться лишь незначительно, опять же из-за подтягивающих резисторов. На этом этапе вы можете либо попробовать прилагаемое программное обеспечение, либо проработать следующий раздел и узнать, как использовать утилиту Microsoft Debug для прямого чтения и записи регистра параллельного порта, который можно использовать для проверки и / или отладки. оборудование.Чтение и запись регистров параллельного порта с помощью отладки Microsoft Windows 95 и 98 стандартно поставляются с утилитой DOS под названием Debug, которую можно использовать для чтения и записи аппаратных регистров. Хотя Windows NT также включает отладку, операционная система не разрешает прямой доступ к оборудованию, поэтому использование отладки в NT не влияет на оборудование. Чтобы запустить отладку, просто нажмите «Пуск» и выберите «Выполнить». В поле редактирования введите «Отладка». Должно появиться окно DOS с подсказкой «-». На рис. 2 показан снимок экрана Debug.Использовать отладку очень просто. Например, чтобы прочитать байт по адресу 378h, в приглашении «-» введите следующее, а затем введите:
и 378Результатом будет двухзначное (однобайтное) шестнадцатеричное значение, считанное с указанного адреса. Запись в память также можно выполнить с помощью Debug. Например, чтобы записать 00h в ячейку 378h, введите следующее, а затем введите:
o 378 00Настоятельно рекомендуется проявлять осторожность при отладке и получать доступ только к известным регистрам.Доступ к другим регистрам, вероятно, вызовет неизвестные / нежелательные побочные эффекты. Чтобы выйти из отладки, введите q, а для получения справки введите?.
Вот несколько примеров использования Debug для проверки / отладки оборудования (расположенного по адресу LPT по умолчанию). Эти примеры также показаны на снимке экрана отладки (рисунок 2).
-i 378 Чтение байта данных.
-o 378 00 Записать байт данных в 00h. Это повысит логический уровень на выходе SDA и SCL.
-i 378 Чтение байта данных. Это должно вернуть 00, так как мы только что записали его в 00.
-o 378 01 Это сделает SCL низким, а SDA высоким.
-o 378 02 Это сделает SDA низким, а SCL высоким.
-o 378 03 Это сделает и SDA, и SCL низкими.
-o 378 00 Убедитесь, что SDA высокий, прежде чем выполнять следующую команду.
-i 379 Возвращает состояние SDA. Если бит 5 равен 0, значит SDA высокий. Если 1, то SDA низкое. Хранить
-o 378 02 Теперь установите низкий уровень SDA.
-i 379 Прочитать состояние SDA еще раз. На этот раз бит 5 должен читаться как 1.
Для включения и выключения светодиода рекомендуется оставить неиспользуемые биты в байте управления без изменений. Для этого сначала выполняется чтение регистра, а затем операция И или ИЛИ для установки или сброса бита 3. Имейте в виду, что есть дополнительный инвертор, встроенный в ПК.
-i 37A Прочитать контрольный байт. Как вы можете видеть на скриншоте, мой компьютер вернул значение 0C (и
-o 37A 04 Включить светодиод
Рисунок 2. Снимок экрана отладки.
Утилита для параллельного порта
На рис. 3 показан снимок экрана программного обеспечения параллельного порта, которое было написано специально для оборудования, представленного в этой заметке по применению.Его можно загрузить по адресу: https://www.maximintegrated.com/content/dam/files/design/tools/tech-docs/3230/parallel-port.zipСнимок экрана может незначительно отличаться от того, что было загружено с момента улучшения / дополнения вероятны.
Рисунок 3. Снимок экрана утилиты параллельного порта.
По умолчанию используется адрес LPT 378h. Если вы определили, что программное обеспечение не может обмениваться данными с оборудованием, следует попробовать другой адрес, выбрав другой переключатель «Порт».Самый простой способ определить, обменивается ли программное обеспечение с оборудованием, — это нажать кнопки включения и выключения светодиода. В случае успеха попробуйте кнопку «Тест», которая переключает D1 (U1A) и считывает значение обратно через U1B. Результаты будут отображены в поле статуса.
Синхронизирующий импульс можно игнорировать и отключить. Позже, если вы захотите использовать осциллограф для захвата 2-проводной связи, вы можете включить синхронизирующий импульс и поместить пробник осциллографа на вывод 17 DB25 и использовать его в качестве триггера.
На этом этапе вы должны быть готовы к обмену данными с любыми двухпроводными устройствами, которые вы подключили. Убедитесь, что SDA, SCL и GND устройств подключены к оборудованию. В идеале вы также должны убедиться, что V CC 74HC05 как можно ближе, если не равняется V CC устройства.
Существует несколько способов связи с устройством, но сначала необходимо убедиться, что программное обеспечение знает, с каким 2-проводным подчиненным адресом взаимодействовать.Программное обеспечение по умолчанию — A0 (шестнадцатеричный), что является наиболее распространенным для наших цифровых потенциометров, хотя это часто зависит от адресных контактов устройств, если они есть. Чтобы изменить двухпроводной адрес, введите его в поле редактирования адреса и нажмите «Изменить». Если вы не знаете двухпроводной адрес устройства, проверьте его данные в техническом описании устройства.
Самый простой способ чтения и записи одно- и / или двухбайтовых регистров устройства — использование раздела программы «Одно- и двухбайтовые чтения / записи».Этот раздел идеально подходит для программирования / настройки устройства, поскольку все детали 2-проводной схемы (запуск, остановка, ACK, NACK и т. Д.) Обрабатываются автоматически. Просто введите желаемый адрес памяти для чтения (в шестнадцатеричном формате) и щелкните по чтению или записи. Если вы хотите писать, то вам также необходимо заполнить поле «Данные» нужными данными для записи.
Другой способ связи с устройствами — использование раздела «2-проводные функции». Этот раздел идеально подходит, если вы хотите узнать подробности о 2-проводном протоколе.Перед тем как показать несколько примеров, несколько кнопок заслуживают пояснения. Кнопка «Отправить запись» использует 2-проводной адрес из поля 2-проводного адреса, а затем маскирует LSB (бит чтения / записи) в 0. Затем отправляются 8 бит. Кнопка «Отправить чтение» также использует тот же двухпроводной адрес, но делает LSB равным 1, указывая на то, что последует чтение. Затем отправляются 8 бит. Кнопка «Сброс шины» синхронизирует SCL 9 раз, сбрасывая 2-проводную шину.
Примеры (с использованием адреса подчиненного устройства по умолчанию):
- Записать адрес памяти 7Fh в 01h.
Старт
Отправить Запись
Данные [7F]
Данные [01]
Стоп - Чтение адреса памяти 7Fh (чтение одного байта)
Start
Send Write
Data [7F]
Start — Это часто называется повторным запуском.
Отправить чтение
Rd w / NACK — Rd w / NACK используется здесь, потому что будет прочитан только 1 байт.
Стоп - Чтение адресов памяти F0h и F1h (многобайтное чтение)
Start
Send Write
Data [F0]
Start
Send Read
Rd w / ACK — Если необходимо прочитать более 2 байтов, эта команда может быть повторена
Rd w / NACK — Последнее чтение должно быть с NACK
Стоп