Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » Форум разработчиков РЭА »
Подскажите как подключить несколько приборов с выходом RS-232 на один COM

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   Подскажите как подключить несколько приборов с выходом RS-232 на один COM
Ankop
unregistered
написано 13 Апреля 2006 03:56  ПравкаОтветитьIP

Уважаемые специалисты, инженеру - геофизику нужна консультация.

Суть проблемы: имеются несколько приборов ( два, иногда три), с которых непрерывно по протоколу RS-232 передается информация. В данный момент приборы подключены к регистратору (IBM PC, DOS, каждый прибор к отдельному порту), написана программа сбора и отображения, все работает нормально. Возникла необходимость реализовать эту систему на базе ноутбука.

Подскажите, как реализовать коммутацию двух (хотя бы) каналов на единственный имеющийся COM. Интересует именно схемотехническое решение коммутатора. Управление додумаю сам (хотя бы через LPT).

Замечание: идея с использованием карт PCMCIA рассматривалась и была отвергнута.

sms
Junior Member

Сообщений: 9
Откуда: Новосибирск
Регистрация: Январь 2006

написано 13 Апреля 2006 09:32ИнфоПравкаОтветитьIP

А почему карточка не подошла? Наши клиенты наращивают мускулы с помощью USB-COM переходников, достаточно просто получается.
Просто если информация идет непрерывно, то о коммутации и речи быть не может. Ну а если всеже в разное время, можно поствить что-то из серии SP3223. Ну и управлять разрешением выхода.

misyachniy
Member

Сообщений: 118
Откуда: Kyiv
Регистрация: Февраль 2002

написано 13 Апреля 2006 09:54ИнфоПравкаОтветитьIP

Есть преобразователи USB-COM и USB - HUB.

Ankop
unregistered
написано 13 Апреля 2006 09:57  ПравкаОтветитьIP

Карточка не подошла по двум причинам:
1. те что работают под DOS - типа SILICOM - невозможно достать и дорого
2. те что доступны - в конструктиве PC-Card - не прогаммируются в DOS, не поддерживаются ноутбуком (слишком хилый), а писать под WIN - не хватает квалификации, времени и желания

Кстати, из сигнальных линий 232 используется ТОЛЬКО RxD (остальных просто нет).

sms
Junior Member

Сообщений: 10
Откуда: Новосибирск
Регистрация: Январь 2006

написано 13 Апреля 2006 10:21ИнфоПравкаОтветитьIP

DOS усложняет дело. Зато одну входную линию можно коммутировать любой логикой, только вход ее от минуса оградить. Но это только если вы можете управлять временем прихода данных, либо они гарантированно не перекрываются.

Ankop
unregistered
написано 13 Апреля 2006 11:12  ПравкаОтветитьIP

DOS или Win - не имеет значения.
Хорошо, обьясню подробнее. Имеется пароход (я морской геофизик) на котором есть два устройства - эхолот и GPS. GPS каждые две секунды вываливает кадр из ~ 800 байт. Эхолот выдает отсчеты глубин с периодичностью от 0.5 до 20 секунд (зависит от глубины моря) ~ 20 байт. Таким образом, есть две линии, на каждой из которых периодически проходит импульсный сигнал с уровнями до +/- 12 вольт. Нужно эти сигнальные линии коммутировать на вход СОМ - порта. Что-то вроде такого алгоритма: -- ПЕРЕКЛЮЧИЛСЯ НА КАНАЛ GPS -- ПРОЧЕЛ ДАННЫЕ -- ДАЛ КОМАНДУ НА ПЕРЕКЛЮЧЕНИЕ КАНАЛА -- ПРОЧЕЛ ДАННЫЕ ЭХОЛОТА -- СБРОСИЛ ДАННЫЕ ОБОИХ КАНАЛОВ НА ДИСК -- ОТОБРАЗИЛ НА ЭКРАНЕ -- ПЕРЕКЛЮЧИЛСЯ НА КАНАЛ GPS -- и так далее в течении нескольких дней (или недель). Выдать команду на переключение можно легко - через LPT. А вот с коммутатором - проблема (для меня).

sms
Junior Member

Сообщений: 11
Откуда: Новосибирск
Регистрация: Январь 2006

написано 13 Апреля 2006 12:44ИнфоПравкаОтветитьIP

dos/win разница есть, под виндами можно воткнуть USB-COM, правда не знаю как ваша программа работает с портами. Это был бы лучший вариант для вас, как мне кажется. Иначе вы будете во время чтения с GPS пропускать данные эхолота и наоборот. Я не знаком с протоколом, другим пользуюсь, но пропуск даже байта возможно приведет к потере всего пакета. Но это, конечно, ваше решение .
По поводу коммутатора. Давно не работал с дискретными элементами, поэтому плохо ориентируюсь в ассортименте. Но вам нужен любой аналоговый коммутатор, например 561КП1(может тут чего полезного найдете ссылка ) . Запитать можно свободными выходами ком-порта.

Valera
Member

Сообщений: 98
Откуда: novosibirsk
Регистрация: Май 2004

написано 13 Апреля 2006 14:13ИнфоПравкаОтветитьIP

У Овен есть коммутатор 8 сом портов АС2(?), управляется с ноги DTR/RTS(?) - не помню/. Перейти на провод, например, шестой от текущего - 6 раз дёрнуть этой ногой,если 7 раз - на -1. Схема примитивная.
Синхронизация потоков - вся на Вас.

ИМХО, если Вы портируете СОМ-инфу в MsDos, сделать тоже самое под Win Вам будет ещё проще.
Переходите!
Наконец, существуют способы запуска в WinNT программ ДОС, работающих с СОМ-портами.
Если ли в Вашей программе не программируется контроллёр прерываний, всё будет летать.
MsDos в буке - забивание гвоздей ... этим самым!

Весельчак У
Moderator

Сообщений: 7380
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 13 Апреля 2006 21:30ИнфоПравкаОтветитьIP

Ежели не заморачиваться с нетрадиционными решениями, то проще всего взять 3 микросхемы типа ADM101E. На выводы 6 2-х штук подаются сигналы от эхолота и GPS приёмника, их же выводы 5 соединяются вместе и подключаются к выводу 4 третьей, у которой вывод 7 подключается на вход RS ноутбука. Управление производится подачей логических 0(включено) или 1 (выключено) на выводы 8 первых 2-х микросхем (от LPT). Вывод 8 третьей - на землю. Придётся ещё найти 5 В для питания.
Этот вариант избыточен, но не требует исследований и будет работать с любым RS232.

Другой вариант потребует исследовать уровни выходных напряжений эхолота и приёмника - чтобы было не более +/-7,5 В, зато проще, дешевле и с питанием меньше проблем. Надо взять, как рекомендовал sms, 561КП1 или 561КП2 (1561КПх). Питание для этой м/сх можно сделать на батарейках (подобрать нужное количество). Поскольку потребление будет почти никакое, то их хватит очень надолго. 1561КПх позволяет коммутировать напряжение до +/-9 В (при соответствующем питании), хотя лучше всё же иметь запас и не использовать её на 100%. При положительном питании больше 5 В придётся ещё поставить или преобразователь уровня, или просто один транзистор с 2 резисторами.

Ankop
unregistered
написано 14 Апреля 2006 03:18  ПравкаОтветитьIP

Первый предложенный вариант Весельчака У, пожалуй, оптимальный. Второй не проходит по причине того, что эхолот имеет честные уровни +/- 12 вольт.

Насчет USB. Как то не поднимается рука ставить ноут с USB на такую работу, кагда есть пара штук стареньких, но рабочих IBM ThinkPad 486SX-25 с 4 метрами оперативки. Какая там Win... Ведь нужно всего лишь тихо стоять весь рейс на столе НЕ ВЫКЛЮЧАЯСЬ и тупо копить данные, периодически сбрасывая их по сети на сторону. А программировать порты под DOS - не проблема.
Вопрос считаю исчерпанным, тему можно закрывать.

Огромное спасибо всем за помощь !!!

фанат
Junior Member

Сообщений: 11
Откуда: Украина
Регистрация: Январь 2006

написано 14 Апреля 2006 10:37ИнфоПравкаОтветитьIP

kryna
Junior Member

Сообщений: 1
Откуда: Омск, Россия
Регистрация: Декабрь 2006

написано 15 Декабря 2006 10:56ИнфоПравкаОтветитьIP

Извините, что так поздно встреваю- только что прочитал эту ветвь.
Imho, чтобы не потерять гарантированно ни обного бита от 2-ух источников, предлагается один источник подключить к штатному COM-порту, а второй через преобразователь уровней к входному биту LPT-порта. Данные от LPT-порта вводить и преобразовывать в байты программно. Преобразователь уровня представляет собой 2 диода, включенных последовательно. ПлюсовоЙ свободный вывод этой связки подключен к выводу ОБЩИЙ, минусовой свободный вывод- к +5 вольт. Средняя точка подключается к требуемому контакту LPT-порта. Средняя же точка через резистор, ну например 1 ком, подключается к источнику 2-ух полярного сигнала. Работает это хозяйство следующим образом. Если входной сигнал +12 в., то через верхний диод излишнее напряжение уходит в +5 в., если -12 в., то через нижний диод оно гасится до 0 в. Резистор служит для ограничения тока источника и выбирается из соображения надежного срабатывания в LPT-порту.

Valera
Member

Сообщений: 493
Откуда: novosibirsk
Регистрация: Май 2004

написано 15 Декабря 2006 12:35ИнфоПравкаОтветитьIP

kryna
Работает это хозяйство следующим образом
Какая возможна скорость обмена?

Весельчак У
Moderator

Сообщений: 8243
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 15 Декабря 2006 23:03ИнфоПравкаОтветитьIP

kryna
Такая схема не гарантирует полной работоспособности, хотя, чаще всего, работать будет, особенно при коротких линиях связи с малыми помехами. И вместо 2-х диодов я бы поставил стабилитрон.

Valera
Зависит от быстродействия компьютера. Аппаратно можно почти до мегабита.

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика