Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: COM порт на современных материнках
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Angel
Есть некий чорный ящик который управляется с персоналки по последовательному порту (25 контактов). До этого времени этой персоналкой был 286 smile.gif
Но он успешно умер и мы решили поставить новую машину. Подключили через переходник 9 в 25 к порту. Программа управления написана в ДОСе. Проблема в том что теперь нет связи с этим чорным ящиком. Программа выдает сообщение что идет конект, но на этом все. В чем тут проблема. У меня пока один вариант, что программа привязана к апаратуре, и возможно использует нестандартное управление портом (нештатные режимы) которое на современных материнках не проходит.
Может ли такое быть? Есть ли другие варианты и что можно сделать?
vvs157
На старых машинах COM на 25 обычно был COM2. На новых матерях обычно только один ком-порт. Попробуйте на машине с двумя "железными" портами.
TsAN
Цитата(Angel @ Aug 4 2005, 10:46)
Подключили через переходник 9 в 25 к порту.
*
На самых первых персоналках хотя и крайне редко, но все ж таки бывали случаи установки COM-порта в полной конфигурации – со всеми предусмотренными сигналами. Да вот только на практике обычно старались ограничиться минимумом – отсюда и появился урезанный вариант с 9-контактным разъемом. Так что если у Вас тот самый редчайший случай использования ВСЕХ сигналов, то переход 9->25 не пройдет.

Цитата(Angel @ Aug 4 2005, 10:46)
Программа управления написана в ДОСе. Проблема в том что теперь нет связи с этим чорным ящиком. Программа выдает сообщение что идет конект, но на этом все. В чем тут проблема. У меня пока один вариант, что программа привязана к апаратуре, и возможно использует нестандартное управление портом (нештатные режимы) которое на современных материнках не проходит.
*
Под нестандартным управлением портом обычно подразумевается работа с портом напрямую, без использования служб ОС и BIOS. Как правило, при запуске такой программы в многозадачных ОС ее нормальная работа не гарантируется. Попробуйте запустить программу в чистой DOS'е (не сеанс MS-DOS, а именно загрузка в режиме DOS)

Цитата(vvs157 @ Aug 4 2005, 12:14)
На старых машинах COM на 25 обычно был COM2. На новых матерях обычно только один ком-порт. Попробуйте на машине с двумя "железными" портами.
*
Для начала можно в настройках имеющийся последовательный порт принудительно назначить как COM2…

Удачи!

Добавлено
В те времена бывало, что настройку COM-порта для одной программы надо было предварительно делать либо из другой, либо из командной строки. Попробуте запустить Вашу программу с полным использованием того ПО, которое использовалось на старом оборудовании - в первую очередь посмотрите, что прописано в CONFIG.SYS и AUTOEXEC.BAT
Angel
Цитата(vvs157 @ Aug 4 2005, 12:14)
На старых машинах COM на 25 обычно был COM2. На новых матерях обычно только один ком-порт. Попробуйте на машине с двумя "железными" портами.
*


На маме есть COM2 но ек выведен наружу. Я сделал кабель на 25 и подключил на этот порт. Потом сделел заглушку и проверил порт Checkit-ом - все тесты отлично прошли. Но с устройством все равно не работает sad.gif
Angel
Цитата(TsAN @ Aug 4 2005, 13:24)
1. На самых первых персоналках хотя и крайне редко, но все ж таки бывали случаи установки COM-порта в полной конфигурации – со всеми предусмотренными сигналами. Да и на практике обычно старались ограничиться минимумом – отсюда и появился урезанный вариант с 9-контактным разъемом.  Так что если у Вас тот самый редчайший случай использования ВСЕХ сигналов,  то переход 9->25 не пройдет.

2. Под нестандартным управлением портом обычно подразумевается работа с портом напрямую, без использования служб ОС и BIOS. Как правило, при запуске такой программы в многозадачных ОС ее нормальная работа не гарантируется. Попробуйте запустить программу в чистой DOS'е (не сеанс MS-DOS, а именно загрузка в режиме DOS)

3. Для начала можно в настройках имеющийся последовательный порт принудительно назначить как COM2…

Удачи!
*


1. А какие это все предусмотренные сигналы?

2. Я запускаю программу в чистой дос. Потому как на машине винта нет и не нужно - программа грузится с дискетки.

3. Это тоже пробывал - ничего sad.gif
TsAN
Цитата(Angel @ Aug 4 2005, 13:44)
1.  А какие это все предусмотренные сигналы?
*
К сожалению, по памяти не скажу - надо в букварь смотреть. В придачу к двум цепям передачи данных там было еще поболе десятка проводов. Наверное, можно просто посмотреть количество задействованных контактов: если окажется 9 или менее, то налицо частный случай последовательного интерфейса, известного как COM-порт, и причина неработоспособности явно не в этом.

Цитата(Angel @ Aug 4 2005, 13:44)
2. Я запускаю программу в чистой дос.
*
А конфиги те же? Если нет, попробуйте все же запустить с теми же конфигами, что и на рабочей системе.

Маловероятно, но вдруг. У советского аналога нумерация контактов не соответствует оригинальному DB-25, хотя по размерам сочленяются.

Возможен и такой вариант: программная реализация необходимых для нормальной работы временнЫх задержек (иногда даже с игнорированием сигналов квитирования). При этом задержка на более быстрой машине отсчитывается раньше, чем управляемое устройство перейдет в нужное состояние. Конечно, нормальные программы это применять не должны, но уж очень просто и с минимальными затратами все реализуется - потому и встречается довольно регулярно, особенно когда оборудование в единичных экземплярах.

Удачи!
moonrock
Ком порт который висит на 9-ногом разьеме ничем не отличается от порта с 25 ногами. Собственно полнофункциональный ком порт и состоит из 9 проводов. А урезанный из трех: RX, TX и GND.
Что могу предположить:
1. Проверьте еще раз кабель и его распайку. Все ли сигналы проходят? Вообще какие линни ком-порта использует ЧЯ?.
2. Может ЧЯ не нравятся уровни сигналов. Или выходное сопртивление.
В общем чудес с этим не бывает.
vvs157
Если прога писана на Борландовском Паскале - то 100% работать не будет из-за неправильной калибровке программных задержек - слишком быстрая машина
Angel
Цитата(vvs157 @ Aug 4 2005, 16:16)
Если прога писана на Борландовском Паскале - то 100% работать не будет  из-за неправильной калибровке программных задержек - слишком быстрая машина
*


Пробовал на 286 и 486 все рабоает. Думаю не в задержках дело.
vvs157
Цитата(moonrock @ Aug 4 2005, 15:45)
Ком порт который висит на 9-ногом разьеме ничем не отличается от порта с 25 ногами. Собственно полнофункциональный ком порт и состоит из 9 проводов. А урезанный из трех: RX, TX и GND.
*


Полный ком-порт действительно использует почти все из 25 контактов. Там помимо основного канала предусмотрен еще и резервный. Ни разу в живую реализкции не встречался. У очень старых принтеров (середина 80-х) с RS видел использование нестандартной распиновки, использующую часть линий из резервного канала.
vvs157
Цитата(Angel @ Aug 4 2005, 17:09)
Пробовал на 286 и 486 все рабоает. Думаю не в задержках дело.
*


Борладовские программы перестали работать где-то в районе P-II 200 MHz
vvs157
Цитата(Angel @ Aug 4 2005, 17:09)
Пробовал на 286 и 486 все рабоает. Думаю не в задержках дело.
*


Можно еще попытаться промониторить обмен с помощю вот этого
http://www.moxa.com/support/download_datascope_info.htm
Angel
Цитата(vvs157 @ Aug 4 2005, 17:17)
Полный ком-порт действительно использует почти все из 25 контактов. Там помимо основного канала предусмотрен еще и резервный. Ни разу в живую реализкции не встречался. У очень старых принтеров (середина 80-х) с RS видел использование нестандартной распиновки, использующую часть линий из резервного канала.
*


Где можна найти раскладку полного порта (25 контактов)?
Angel
Цитата(Angel @ Aug 4 2005, 18:21)
Цитата(vvs157 @ Aug 4 2005, 17:17)
Полный ком-порт действительно использует почти все из 25 контактов. Там помимо основного канала предусмотрен еще и резервный. Ни разу в живую реализкции не встречался. У очень старых принтеров (середина 80-х) с RS видел использование нестандартной распиновки, использующую часть линий из резервного канала.
*


Где можна найти раскладку полного порта (25 контактов)?
*



Есть такое http://www.bnoack.com/index.html?http&&&ww...32-port-25.html. Думаю что это то про что Вы говорите.
vvs157
Цитата(Angel @ Aug 4 2005, 18:28)
Есть такое http://www.bnoack.com/index.html?http&&&ww...32-port-25.html. Думаю что это то про что Вы говорите.
*


Именно оно самое!
TsAN
Цитата(Angel @ Aug 4 2005, 17:09)
Пробовал на 286 и 486 все рабоает. Думаю не в задержках дело.
*
На 486 COM-порт расположен на маме? Если да - оборудование использует 9-ти проводной RS-232 разъем. Если на карте (плате расширения) - как подключен разъем DB-25. Если ленточным кабелем на 9 или 10 проводников - тоже. Если COM-порт расположен на мультикарте - то же, на них полный RS-232C уже не монтировался.

Относительно задержек. Реально задержка должна быть с некоторым запасом, иногда весьма значительным. В то время как, несмотря на значительную разницу в быстродействии ЦП, реальные скорости опроса портов в системах на основе 286 и 486 - если в последнем порт не поключен к VLB - практически одинаковы: в обеих случаях порт сидит на одной и той же 8 МГц или около того ISA-шине, так что опросить его состояние, скажем, 1000 раз по времени будет практически одно и то же.
Попутно замечание. Чисто программная задержка на разных машинах будет разная независимо от языка программирования, ибо в основе ее - время исполнения некоторой последовательности команд. Хотя вполне возможно, что для различных языков отношение задержек может быть и различным.

И еще. Мысль, высказанная ув. moonrock:
Цитата(moonrock @ Aug 4 2005, 15:45)
2. Может ЧЯ не нравятся уровни сигналов. Или выходное сопртивление.
*
так же один из основных претендентов на причину неработоспособности. Особенно это относится к COM-портам, смонтированным на маме. Во всяком случае, для сравнения уровней сигналов на работающем и неработающем оборудовании причина эта весьма веская...

Удачи!
Jools
Какая у Вас машина? И какая операционка установлена? Возможно ответ найдете здесь
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.