Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сколько LPT-портов можно подключить к компьютеру ?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
san822
Недавно обсуждал с коллегой одну задачу,
параллельно возник вопрос - сколько можно подключить LPT-портов к одному компьютеру ?
Обычно ПК имеет минимум один LPT-порт, но можно купить платы расширения и получить ещё
какое-то количество LPT-портов ограниченное количеством PCI или ISA-шин.
Но ведь есть ещё как
минимум одно ограничение - каждому LPT-порту нужно выделить свой адрес(и прерывание),
а они вроде(говорю "вроде" так как это не проверенная мною информация)
ограничены 16 прерываниями(если писать прогу в DOS).
Т. е. надо чем-то жертвовать ради дополнительных LPT-портов ?

Если основываться на информацию, которую мне удалось найти в книгах,
то IBM-совместимые ПК могут спокойно иметь 3 LPT-порта, а можно ли ещё больше ?
vvs157
Вопрос: а для чего нужны эти порты?
Если для подключения принтеров в DOC - то LPT прерываниями не пользуются. По "уставу" им выделены 7 и 5 IRQ. Однако большинстви программ пониманиют только LPT1 и LPT2, если будет 3-й то на него эти программы работать не будут.
Если для чего другого - то вопрс этому другому нужны или нет прерывания. Скажем устройства типа переносных дисков могут безпрерываний не работать.
По "уставу" за LPT действительно зарезервированы 3 блока в пространстве ввода-вывода.
san822
LPT-порты мне нужны как выводы от компьютера,
по которым можно передавать и принимать сигналы.

В общем-то можно использовать и не LPT-порты,
а какую-нубудь штуковину подключаемую,
напрмер, к USB(или последовательному порту) и имеющую множество входов и выходов так,
чтобы с ними можно было бы работать также легко как и с LPT-портами.
Желательно, чтобы входы были
достаточно "зоркими" и не пропускали сигналы длительностью ~ 0.1 сек.
proba
зависить от оп системы. XP выделяет до 255 виртуальных COM port на USB-COM диваисы. не вижу ограничения менщую и на USB-LPT конвертеры.
san822
Цитата(proba @ May 18 2006, 13:05) *
зависить от оп системы. XP выделяет до 255 виртуальных COM port на USB-COM диваисы. не вижу ограничения менщую и на USB-LPT конвертеры.



ОС сейчас применяется DOS, этого хватает.
Если получится проверить всё, что нужно , то потом перейдём с ПК на какой-нибудь МК.
rezident
В BIOS IBM PC/XT была поддержка 4-х LPT и 4-х COM. BIOS PS/2 поддерживал только три LPT.
vvs157
Цитата(san822 @ May 18 2006, 13:04) *
LPT-порты мне нужны как выводы от компьютера,
по которым можно передавать и принимать сигналы.


Желательно, чтобы входы были
достаточно "зоркими" и не пропускали сигналы длительностью ~ 0.1 сек.


Тогда 3 - при условии что найдете карточки, у которой можно достаточно гибко менять базовый адрес порта не трогая при этом IRQ.

В Вашем случае "зоркость" определяется только "проворностью" софта, который крутится под DOS'ом
kolobok0
Цитата(san822 @ May 18 2006, 13:15) *
ОС сейчас применяется DOS, этого хватает. Если получится проверить всё, что нужно , то потом перейдём с ПК на какой-нибудь МК.


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

И ышо. Если Вы готовы "вставлять", что то в слоты компа, то напрашивается своё решение. Некой платы ввода-вывода. В принцепе - неделя на железо (если нет сильных извратов по скорости и прочее) и далее затраты чисто на софт...

с уважением
(круглый)
vvs157
Цитата(kolobok0 @ May 18 2006, 17:38) *
либо используете мультиплицирование на прерываниях (используете одни и те жи каналы -пины- на шине) и уже программно через опрос группы портов - узнаёте об источнике прерывания.

с уважением
(круглый)


С ISA прерываниями не так все просто. У шины ISA (в отличие от PCI) прерывание генерится активным уровнем лог. "1", то есть монтажное соединение нескольких источников прерываний не допускается.
kolobok0
Цитата(vvs157 @ May 20 2006, 01:23) *
С ISA прерываниями не так все просто. У шины ISA (в отличие от PCI) прерывание генерится активным уровнем лог. "1", то есть монтажное соединение нескольких источников прерываний не допускается.


осталось выяснить кто о чём глаголит :)
я про ту, которая со времён "эр-эс-ха-тэ" :biggrin: тьху PCXT. Вот именно она - активный уровень лог. "0"

с уважением
(круглый)
vvs157
Цитата(kolobok0 @ May 22 2006, 19:41) *
Цитата(vvs157 @ May 20 2006, 01:23) *

С ISA прерываниями не так все просто. У шины ISA (в отличие от PCI) прерывание генерится активным уровнем лог. "1", то есть монтажное соединение нескольких источников прерываний не допускается.


осталось выяснить кто о чём глаголит smile.gif
я про ту, которая со времён "эр-эс-ха-тэ" biggrin.gif тьху PCXT. Вот именно она - активный уровень лог. "0"

с уважением
(круглый)


В PCXT в качестве контроллера прерываний использовался 8259A (КР580ВН59А), у которого прерывание генерится при подаче лог "1" (см приложенный DS стр 4 табл. pin description IR1-IR7 - входы внешних запросов на прерывание - именно они и выведены были на шину ISA)
san822
Цитата(kolobok0 @ May 18 2006, 17:38) *
[
И ышо. Если Вы готовы "вставлять", что то в слоты компа, то напрашивается своё решение. Некой платы ввода-вывода. В принцепе - неделя на железо (если нет сильных извратов по скорости и прочее) и далее затраты чисто на софт...

с уважением
(круглый)


Да, это тоже вариант,
но не в данном случае.
На ПК будут проведены лишь некоторые проверочные операции,
потом эту работу будет делать МК(именно на него
и планируется потратить какое-то количество недель smile.gif) и плата ввода-вывода там не нужна.
kolobok0
Цитата(vvs157 @ May 23 2006, 00:49) *
В PCXT в качестве контроллера прерываний использовался 8259A (КР580ВН59А), у которого прерывание генерится при подаче лог "1" (см приложенный DS стр 4 табл. pin description IR1-IR7 - входы внешних запросов на прерывание - именно они и выведены были на шину ISA)


Приношу свои извинения.
Заглянул дома в "проверенный" источник - старею. Память подвела - давно это было, более 15 лет назад.


с уважением
(круглый)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.