Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Проблемы с подключением COM мыши |
<<Назад Вперед>> | Страницы: 1 2 | Печать |
JustMan
Newbie
Откуда: г. Одесса Всего сообщений: 39 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 сен. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 27 февраля 2017 21:40 Сообщение отредактировано: 27 февраля 2017 21:46
Доброго времени суток. Есть 386-ой комп. На матери встроенных портов нету. А так же две 16-битные мультикарты (с COM портами), три 8-битных контроллера (так же с COM портами). И мышь от Mitsumi. Проблема в том, что из всех этих контроллеров мышь работает только на одном из двух 16-битных. При этом, при использовании любого из данных контроллеров, BIOS при инициализации видит COM и LPT порты (имею ввиду, что при загрузке ПК BIOS показывает адреса этих портов). Адрес COM портов одинаковый. На уровне перемычек все эти контроллеры настроил правильно, насколько смог (COM порты включены, используемому COM разьему програмно соответствует тот же COM порт, к которому подключается мышь). Мышь работала с драйвером gmouse.com. Этот же драйвер пробовал на всех остальных контроллерах. Пробовал другие драйвера (mouse.com, mouse8.com, ...). Все равно не работает. Мышь подключается без переходников. Можете, пожалйуста, помочь с запуском мыши на 8-битных контроллерах. Может на всех остальных контроллерах спалена схема работы COM порта? А может ли такое быть, если BIOS эти порты видит? |
BreakPoint |
NEW! Сообщение отправлено: 27 февраля 2017 22:01 Сообщение отредактировано: 27 февраля 2017 22:03
кто кого видит, простите? в архитектуре иса увидеть что либо на шине достаточно сложно. тем более сом порт. можете почитать с каким блекджеком и шлюхами на иса организован плаг-и-пелй. то что вы видите в биосе, это адреса которые хранятся в BIOS Data Area, то что выставляется джамперами на карте - это те адреса на которые карта будет откликаться. это ваша задача их подружить. т.е. самому выставить джампера, и задать эти адреса и прерывания в биосе. список рекомендованой литературы https://vk.com/ghostsofsilicon...3_50133824 |
Сейчас на форуме |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
На ISA по свободным адресам читаются значения 0xFF, биос проверяет известные ему адреса и если там значение не "пустой" шины - рапортует, что там есть порт, только и всего. На 386 можно проверить порты "чекитом", сделав заглушку 1-4-6, 2-3, 7-8-9 для 9-ногого dsub, при запуске теста указать, что имеется заглушка. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 27 февраля 2017 23:03 Сообщение отредактировано: 27 февраля 2017 23:06
Я когда-то разбирался в этой проблеме. Убил кучу нервов, времени, и накупил с досады штук 50 буферных микросхем в запас. Итак, если BIOS "видит" порт, то почти наверняка у Вас живая микросхема порта 82250 (82450). Но радоваться рано, она почти неубиваемая, т.к. защищена 3мя буферными микросхемами: 75189, 75188 и снова 75189, используемая наполовину. аналоги 1489 и 1488. Какая вход, а какая выход сейчас не помню, погуглите, это легко и быстро. И те и те горят. Входы - от статики, выходы - от случайного замыкания их с другими выходами ( а в COM-порте используются сигналы +12в...-12в). Я спаял пассивную тестовую заглушку (схема есть в инете). Она позволяет с программой Checkit проверить COM-порт с достоверностью, достаточной для мыши. (Модем в одном случае у меня не заработал с портом, прошедшем проверку заглушкой, но Вам достаточно "мышиной" степени исправности). И, заодно, следствие из того, что одна микруха использована наполовину: для upgrade портовой платы, у которой есть пустые панельки под второй порт, достаточно (помимо самого порта 82250/82450) по 1шт 1489 и 1488, т.к. имеющаяся на плате "половинка" уже разведена на панельку второго порта. Буду вопросы - пишите. Я бы и буферными микросхемами поделился, все равно лежат, но Вы далеко. P.S. Схему заглушки Вам верно подсказали выше. P.P.S После того, как нашел распиновки этих буферных микросхем, то проверял тестером, и часть неисправных звонилась чуть ли не накоротко. Те, что не звонились, но были в панельках, менял для проверки, и таким образом все портовые платы починил. |
ATauenis
Advanced Member
Откуда: Москва Всего сообщений: 2904 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 апр. 2015 |
JustMan, попробуйте разные режимы (Microsoft/Mouse Systems), бывает, на подгорелых портах видится только один вид грызунов. |
Dmitriy007
Newbie
Откуда: Новая Москва Всего сообщений: 29 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2015 |
Если у Вас разъёмы com портов на выкидышах, то возможно дело в разных распайках выкидышей! Встречал два вида распайки: один пин к пину соответствует на IDC и D-SUB разъёмах, т.е. 1 на 1, 2 на 2, 3 на 3, 4 на 4 и т.д., другой 1 IDC на 1 D-SUB, 2 на 6, 3 на 2, 4 на 7 и т.д. (имеется в виду D-SUB9). Вполне возможно, что у Вас именно в этом проблема, по крайней мере сам на это наступал не один раз! |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Dmitriy007 написал: Поддерживаю. Тоже "наступал", когда комплектовал портовые платы недостающим выкидышем. Но я почему-то подумал, что у ТС заведомо родные короткие выкидыши от платы до планки на этой же плате, а ведь бывает, что на родной планке выведены GAME+LPT, а оба COM на второй планке, и вот тогда выкидыши могут оказаться не родными и не подходящими. по крайней мере сам на это наступал не один раз! |
Dmitriy007
Newbie
Откуда: Новая Москва Всего сообщений: 29 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2015 |
sanders написал: У него там пять разных контроллеров, маловероятно, что все они с ком разъёмами на самой плате. Но я почему-то подумал, что у ТС заведомо родные короткие выкидыши от платы до планки на этой же плате, а ведь бывает, что на родной планке выведены GAME+LPT, а оба COM на второй планке, и вот тогда выкидыши могут оказаться не родными и не подходящими. |
BreakPoint |
NEW! Сообщение отправлено: 28 февраля 2017 8:42 Сообщение отредактировано: 28 февраля 2017 8:43
Вопрос к знатокам, каким образом ИСА биос может "увидеть" сом порт? |
Сейчас на форуме |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 28 февраля 2017 10:08 Сообщение отредактировано: 28 февраля 2017 10:08
А как тестовые программы опрашивают весь список портов? Засылают значение и считывают ответ. Если физическая ячейка (порт) присутствует, то возвращается записанное число. Так же и BIOS - знает какие стандартные ячейки опросить. Если ячейки (порта) нет, то возвращается FF Можете найти плату портов, где второй порт установлен на панельку, вытащить микросхему 82450 (82250) и в экране загрузки (summary) пропадет упоминание о 2F8. Комп видит только память внутри этой микросхемы. Исправность порта в целом BIOS не определяет. |
cactus
Advanced Member
Откуда: Темрюк Всего сообщений: 726 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 18 сен. 2006 |
Dmitriy007 написал: Прямой и "шахматка", другой распиновки, наверное, не бывает. Если у Вас разъёмы com портов на выкидышах, то возможно дело в разных распайках выкидышей! Встречал два вида распайки: один пин к пину соответствует на IDC и D-SUB разъёмах, т.е. 1 на 1, 2 на 2, 3 на 3, 4 на 4 и т.д., другой 1 IDC на 1 D-SUB, 2 на 6, 3 на 2, 4 на 7 и т.д. (имеется в виду D-SUB9). |
BreakPoint |
NEW! Сообщение отправлено: 28 февраля 2017 11:34
Тут возникает несколько вопросов: 1) А если порт есть, то FF не может вернуться? 2) Запись/чтение данных по случайным портам во время загрузки системы может привести к тому, что какое либо устройство восрпимет данные как комманду, и начнет выполнять какие либо действия. sanders написал: 3) Насколько я знаю, для ком порта такое не проканает, так как данные пришутся в одни регистр, а читаются из другого - хотя адреса однинаковые. И как такой подход будет работать с однонаправленными портами? Засылают значение и считывают ответ. возможно биос дейтвительно шаманит по фиксированным адресам, хотя эти и странная реализация. А на самой сом карте биоса нет? системный биос может просмотреть часть адрессного пространства на предмет наличия других биосов. может на это биос на карте порт инициализирует? |
Сейчас на форуме |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Нет, на портовых платах BIOS-а нет. Поддержка RS-232 уже реализована в системном BIOS и другие BIOS-ы не нужны. Порт - это ячейка памяти в адресном пространстве. То, что порт двунаправленный, и одна ячейка памяти рассчитана на передачу данных, а другая ячейка - на прием, наверное не мешает считать из ячейки то, что в нее записано. Может быть записать в ячейку, рассчитанную на приме данных извне - нельзя, но уж в "выходную" ячейку записать точно можно. А считать ее содержимое тем более. И таким образом понять, что там есть порт. Но не оценить его исправность. Я не претендую на истину, но думаю, что BIOS не сканирует все подряд, а только проверяет те порты, которые "знает". Их не так много: 4 флопа, 2 винта, 4 RS-232, 2 или 3 LPT, десяток видео и т.д.... Он же не инициализирует звуковые карты, сеть - вот это как раз уже дело внешних BIOS-ов, если они есть, либо драйверов, если нет BIOS |
Сергей С |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 28 февраля 2017 11:54 Сообщение отредактировано: 28 февраля 2017 12:55
Использование "заглушки" позволяет проверить исправность буферных микросхем, использование мультиметра (в частности вольтметра) тип требуемой раскладки шлейфа. А в описании программ/драйверов адреса портов и прерываний с которыми её "подружил" разработчик программного обеспечения. Оффтопик: Оффтопик: например биос Мазовии, проверяет только 2 базовых адреса расположения портов COM(3F8h,2F8h), вот лог опроса одного из них, если обратно считывается записанное ранее значение то считается что устройство присутствует, и факт этого так и сам адрес записывается в ячейки стандартной базы данных BIOS расположенная в области физ. адресов памяти (400h-500h) Более подробно можно узнать в специализированной литературе - М.Гук_Интерфейсы ПК Справочник.djvu 000fe7f7 serial: write to address: 0x3fb = 0x80 Подобный лог возможно получить используя эмуляторы устройств работа которого изучается, или являющиемся более достоверным вариант с использованием различного вида отладчиков(внутрисхемных, программных). Прикрепленный файл (com_port.jpg, 0 байт, скачан: 20 раз) |
BreakPoint |
NEW! Сообщение отправлено: 28 февраля 2017 12:38
Сергей С написал: спасибо за объяснение. а как вы этот лог получили? |
Сейчас на форуме |
pahan
Advanced Member
Откуда: Химки, М.О. Всего сообщений: 1070 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мар. 2015 |
Обращение к порту есть обращение к регистрам другой микросхемы. Их состояние после ресета явно указано в документации. Ни один регистр, состояние которого реально на что-то влияет, FF в этом момент не вернёт (by design). В микросхеме UART 16450 добавили scratchpad register, который ничего не делает, а представляет собой тупо свободные 8 бит для любых целей, вот он НЯП, может FF вернуть. Все остальные (взятые из оригинальной микросхемы 8250), если исправны - никогда. Тут возникает несколько вопросов: А для этого в сколько-нибудь серьёзном устройстве и существует протокол обмена: чтобы что-то воспринять как команду, надо чтобы изменился не один сигнал, а несколько и в конкретном порядке. Если вернуться конкретно к COM-порту, то да, всё что туда напишет биос (или любой другой софт) во время поиска/инициализации, будет видно на противоположном конце провода. А правильно (не) реагировать на это - работа того, кто на другом конце провода находится. 2) Запись/чтение данных по случайным портам во время загрузки системы может привести к тому, что какое либо устройство восрпимет данные как комманду, и начнет выполнять какие либо действия. Это для LPT такое не проканает. Причём в его оригинальном IBMовском варианте на рассыпухе, когда "регистр" на самом деле напрямую выеден на пины порта. 3) Насколько я знаю, для ком порта такое не проканает, так как данные пришутся в одни регистр, а читаются из другого - хотя адреса однинаковые. Опять же в конкретном случае com-порта по его базовому адресу находятся 3 регистра. И регистр управления скоростью DLAB нормально доступен и на чтение и на запись, что вам уже выше в логе продемонстрировали. |
JustMan
Newbie
Откуда: г. Одесса Всего сообщений: 39 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 сен. 2015 |
Спасибо, очень интересные советы. Буду пробовать несколько вариантов, начну с заглушки + программный тест. С косичками не знал что бывают разные (мышь как раз на косичке и работает). |
JustMan
Newbie
Откуда: г. Одесса Всего сообщений: 39 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 сен. 2015 |
Доброго времени суток. Получилось сделать заглушку, еще раз спасибо за советы. В итоге протестировал в CheckIt все мультикарты и контроллеры. Как и ожидалось, рабочий COM порт был только в одной карте (на которой мышь и работает ). Также протестировал COM порты на двух ноутах. К счастью, оба порта рабочие. Получилось соеденить ноуты через нуль-модемный кабель и передать DOOM2 . |
Dmitriy007
Newbie
Откуда: Новая Москва Всего сообщений: 29 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2015 |
JustMan написал: Вы проверяли с разными вариантами косичек (прямая и шахматная распиновка)? Доброго времени суток.Получилось сделать заглушку, еще раз спасибо за советы. В итоге протестировал в CheckIt все мультикарты и контроллеры. Как и ожидалось, рабочий COM порт был только в одной карте (на которой мышь и работает ). Также протестировал COM порты на двух ноутах. К счастью, оба порта рабочие. Получилось соеденить ноуты через нуль-модемный кабель и передать DOOM2 . |
<<Назад Вперед>> | Страницы: 1 2 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Проблемы с подключением COM мыши |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |