Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Размножитель RS-232
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
WHALE
Есть такая задача-на удаленных обьектах стоит оборудование,которое мониторится через gsm-модем
с 232 интерфейсом.Соответсвенно,больше 1 аппарата на него повесить нельзя,а очень хочется smile.gif
Гугление с целью поиска подходящих чипов привело к удручающим результатам cranky.gif -и выбор очень мал а цены на них типа филипковых SC28C94 вообще удручили- 30 баксов,имхо,перебор.
И собственно вопрос-не подскажете ли чип или дешевый проц,имеющий не менее 4 UART.
Aleck
Обычно промышленное оборудование имеет интерфейс RS-485 и свой ардрес соответственно тогда можно обойтись простым преобразователем rs232-rs485. А как происходит обмен с вашим оборудованием запрос-ответ ?
Gall
Если очень надо, на любом проце можно наделать софтовых UART, на сколько ног хватит.
zltigo
Цитата(WHALE @ Jul 15 2006, 22:32) *
И собственно вопрос-не подскажете ли чип или дешевый проц,имеющий не менее 4 UART.

На скоростях GSM модемов сделать софтовых эмуляторов UART в нужных количествах особых проблем не составит. Ну а если в железе, то из того с чем имел дело - STR7xx. Там их 4 штуки.
beer_warrior
AT91 посмотрите, там некоторые модели явно под коммукационное оборудование.
Petka
Раз Вы задали вопрос в форуме AVR, то могу посоветовать посмотреть на анонсируемые AVR. Я там видел камень как раз с 4мя UART.
WHALE
2 Aleck это не промышленное оборудование-TV и FM передатчики,SAT-ресиверы-все имеют только RS-232,каждый свой протокол и вдобавок некоторые работают на скорости 4800.
2 beer_warrior ,zltigo спасибо,посмотрю.
2 Petka На эти камни я уже смотрел,больно они "тяжелые" для такого применения,кроме UART больше ничего использоваться,скоре всего,не будет-да и поставки обещают только осенью плюс неизвестная цена.
Софтовый uart-мысль хорошая.Спасибо всем,буду думать.
WHALE
Скачал Атымелевскую апликуху софтового уарта,там одиночные выборки на полуторократном интерва-
ле,никакого мажоритирования cranky.gif Кто-нибудь их применял,как насчет ошибок декодирования?
GetSmart
Может простейший проц для выбора одного рабочего канала из нескольких, и аналоговый мультиплексор. Всё равно общаться с модемом будет только кто-то один. Тогда и 8 устройств легко подключить.

А вообще, не очень-та понятна логика работы.
WHALE
аппаратура работает в 2 режимах-в случае аварии отсылка sms и терминальный режим для подробного
просмотра состояния.Причем большая часть не работает с линиями управления-используется только rx-tx,а аварийное состояние может возникнуть одновременно у нескольких-мультиплексорный режим невозможен-возможна потеря sms. sad.gif
GetSmart
Да неужели?
А что, модем будет отсылать 4 СМС одновременно?
В любом случае клиентское устройство общается в режиме запроса/ответа-подтверждения. Ну а если нет, то система не надёжна и грош ей цена.
aaarrr
Как я понимаю, нужно подключить к одному GSM-модему несколько устройств, каждое из которых в отдельности умеет с ним общаться.

Боюсь, что это возможно только в том случае, если есть возможность доработать подключаемые устройства. Прикидываться модемом для нескольких разных устройств одновременно - весьма нетривиальная задача, особенно если производители и протоколы разные.
WHALE
2 GetSmart А системы то и нет никакой sad.gif aaarrr понял абсолютно правильно(а я наверно,
нечетко сформулировал)-есть набор абсолютно разного оборудования разных производителей,которые
умеют общаться с gsm-модемом.Ставить каждому персональный модем-имхо,дурдом.
2 aaarrr Прикинуться модемом как раз несложно-протокол отмониторен,задача организовать связь на физическом уровне.
Склоняюся к варианту в качестве проца выбрать 162 мегу-недорогой камень с 2 уартами без лишних
наворотов-1 аппаратный на модемный канал,1-видно будет cranky.gif На остальное железо софтовые.
Насчет атмеловской апликухи софтового уарта никто не может сказать насчет стабильности работы?
aaarrr
Цитата(WHALE @ Jul 16 2006, 23:57) *
Прикинуться модемом как раз несложно-протокол отмониторен

Очень оптимистично оцениваете. У каждого устройства будут свои "небольшие особенности" работы с модемом, и в результате Вы замучаетесь отлаживать такую систему. Mega162 - не лучший выбор, памяти для такой задачи потребуется много, я бы смотрел в сторону ARM'ов.
zltigo
Цитата(WHALE @ Jul 16 2006, 22:57) *
...1-видно будет cranky.gif

Отладочная консоль и мониториг - без вариантов нужны.

Цитата
Насчет атмеловской апликухи софтового уарта никто не может сказать насчет стабильности работы?

Если расстояния измеряются единицами метров, то как ни сделай - работать будет. Если многие десятки,
то тогда уже можно думать над количеством отсчетов на импульс. Что, впрочем, не бог весть какая проблема - не получиться не может. Займитесь, пока, общесистеными решениями, а UARTы и потом подшлифуете.

Цитата(aaarrr @ Jul 16 2006, 23:22) *
памяти для такой задачи потребуется много, я бы смотрел в сторону ARM'ов.

Это точно. Одни буфера для девайсов, которым никто не может запретить одновременно захотеть пообщатся места займут. Консолька буферизированная. Ну и всего остального набежит быстро.
При условии, что речь идет об экономии кучки GSM модемов, а не, напрмер, кнопок загонять себя на минималистичный контроллер, ради экономии единиц долларов, явно не стоит.
WHALE
насчет больших обьемов памяти-это вы о чем?не понимаю cranky.gif начальная конфигурация модема-
в самом тяжелом случае с проверкой gsm он или обычный и обнулением предыдущих sms-14 ат-команд.
Собственно sms-1 ат-команда+максимум 100 байт сообщения.А в терминальном оежиме в общем случае работа в прозрачном режиме трансляции между модемом и оборудованием.Память понадобится только при конвертации скорости(привет от итальянцев angry.gif ),но при максимальной длине пакета в 500 байт в терминальном режиме килобайта памяти хватит за глаза.
BVU
Цитата(WHALE @ Jul 16 2006, 23:57) *
2 GetSmart А системы то и нет никакой sad.gif aaarrr понял абсолютно правильно(а я наверно,
нечетко сформулировал)-есть набор абсолютно разного оборудования разных производителей,которые
умеют общаться с gsm-модемом.Ставить каждому персональный модем-имхо,дурдом.
2 aaarrr Прикинуться модемом как раз несложно-протокол отмониторен,задача организовать связь на физическом уровне.
Склоняюся к варианту в качестве проца выбрать 162 мегу-недорогой камень с 2 уартами без лишних
наворотов-1 аппаратный на модемный канал,1-видно будет cranky.gif На остальное железо софтовые.
Насчет атмеловской апликухи софтового уарта никто не может сказать насчет стабильности работы?

В таком случае здесь достаточно одного модема (один канал связи). Тоесть необходим всего один контроллер, который передает данные через модем. В свою очередь от синхронизирован с другими устройствами/контроллерами через любой другой интерфейс, по которому происходит сбор данных для последующей передачи (т.е. получается некий аналог сети...).
zltigo
Цитата(WHALE @ Jul 17 2006, 10:22) *
это вы о чем?не понимаю cranky.gif

Это мы о буферизации, причем для каждого из девайсов отдельной.
А сколько их там у Вас?
Причем вот этого:
Цитата
работа в прозрачном режиме трансляции между модемом и оборудованием

Там и близко быть не должно такого, ибо такая "концепция" никак не соответствут праву любого количества девайсов в любой момент попроситься к модему. Если Вы конечно не делаете "паркетную" систему, или сможете заставить девайсы полностью плясать по Вашим правилам (тут звучало и слово доработать).
aaarrr
Цитата(WHALE @ Jul 17 2006, 11:22) *
насчет больших обьемов памяти-это вы о чем?не понимаю cranky.gif начальная конфигурация модема-
в самом тяжелом случае с проверкой gsm он или обычный и обнулением предыдущих sms-14 ат-команд.
Собственно sms-1 ат-команда+максимум 100 байт сообщения.А в терминальном оежиме в общем случае работа в прозрачном режиме трансляции между модемом и оборудованием.Память понадобится только при конвертации скорости(привет от итальянцев angry.gif ),но при максимальной длине пакета в 500 байт в терминальном режиме килобайта памяти хватит за глаза.

А теперь представьте себе: работаете вы в терминальном режиме, а в этот момент парочка устройств решает отправить по СМС, длина коего в PDU режиме может достигать 352 байт, не считая AT-команды.
И что останется от одного жалкого килобайта? А если учесть необходимость преобразования скорости, то и 4-х килобайт не кажется много.
WHALE
Да, cranky.gif убедили smile.gif Тогда вариант 8515+внешяя SRAM?
defunct
Цитата(aaarrr @ Jul 16 2006, 23:22) *
Mega162 - не лучший выбор, памяти для такой задачи потребуется много, я бы смотрел в сторону ARM'ов.

Какой памяти? Если RAM, дык тогда m162 самое то. 64k адресуемого пространства, да и банки никто не отменял, хоть mb подключай..

Цитата(WHALE @ Jul 17 2006, 11:24) *
Да, cranky.gif убедили smile.gif Тогда вариант 8515+внешяя SRAM?

Не сильно вчитываясь в содержимое ветки - да вариант хорош. Только для отладки используйте m162 там все же аппаратных 2 UARTa и JTAG имеется. Pin-to-Pin совместима с 8515.
Serj78
что-то мне подсказывает, что протокол общения с модемом должен обязательно содержать подтверждения, прошел пакет или нет, ток может просто ждать? вряд ли может возникнуть ситуация, что ну никак нельзя подождать 200-300мс, перед ответом - а в это время опрашивать другие устройства... тогда и полностью автономных буферов не потребуется. возможно у устройств есть запросный режим- надо изучить...
Сергей Борщ
Цитата(zltigo @ Jul 16 2006, 23:38) *
Это точно. Одни буфера для девайсов, которым никто не может запретить одновременно захотеть пообщатся места займут. Консолька буферизированная. Ну и всего остального набежит быстро.
При условии, что речь идет об экономии кучки GSM модемов, а не, напрмер, кнопок загонять себя на минималистичный контроллер, ради экономии единиц долларов, явно не стоит.
А если такой вариант: Кто первый захотел занять модем, тот его и получил в прозрачном режиме. Для всех остальных устройство прикидывается модемом но на попытку звонка отвечает Busy или какой эквивалент "SMS не прошла". Устройство будет пытаться повторить посылку. После освобождения канала первым устройством прозрачный канал переключается на второе и очередная попытка успешно пройдет уже через модем.
zltigo
Цитата(Сергей Борщ @ Jul 18 2006, 14:39) *
А если такой вариант:

Варианты, естественно молут быть. Только надо четко различать максимально безпроигрышные, разнообразные компромисные и "абы заработало". В данном случае диапазон "цены вопроса" составляет единицы баксов.

P.S.
Я и сам знаю толк в извращениях и могу, как показывает практика :-) выкрутится из подавляющего большинства ситуаций, когда "надо". Однако сразу создавать ситуацию в начале проектирования _нового_ утройства (да еще весьма открытого к внешнему влиянию) явно не правильно.
WHALE
проблемы работы в терминальном режиме нет,так как включаю его я на приемной стороне.Проблема в
в отправке аварийных sms,которые несколько передатчиков могут захотеть выдать одновременно.И так
бывает-все это добро стоит где-нибудь в будке и при броске питания при его появлении дружно начинают докладывать,или зимой тарелку заносит снегом,а на ней висит 2-3 ресивера-на 2-3 каналах пропадает входной сигнал.
2zltigo ваше замечание насчет извращений абсолютно справедливо,поэтому я и открыл этот топик
Плюс я не разработчик-я ремонтник. sad.gif Но что-вы скажете непример,если есть серийно выпускаемый
передатчик(италия),в котором из линий rs-232 используются только rx и tx -cts он не понимает,плюс еще милый прикол-при включении питания он пытается отправить аварийную sms,но модем-то тоже инициализируется и получив в ответ на запрос о наличии сети "cети нет"-модем ее пока ищет-считает,что ее нет пожизненно и с модемом больше не общается angry.gif Плюс все это на скорости 4800
А если он получил,что все нормально,он считает,что это тоже пожизненно-модем можно выключать-он не заметит.Причем со временем переполняется буфер sms и отправки не происходит-его это не колышит-тереть буфер должен дядя. angry.gif Это профессиональная разработка?
Но это все лирика-пока остановлюсь на варианте в случае занятости модема обменом с девайсом и попытки обращения другого модемом будет прикидываться контроллер,складывать в буфер и отправлять при освобождении канала.
В железе-162 мега с внешним озу.
Всем спасибо за обсуждение-от пары граблей вы меня спасли. cheers.gif
zltigo
Цитата(WHALE @ Jul 18 2006, 17:26) *
sad.gif Но что-вы скажете непример,если есть серийно выпускаемый
передатчик(италия)

Это у Итальянцев традиция такая :-(. Трижды в разные годы сталкивался с разным итальянским оборудованием (Olivetti Technost, Italtel, Marconi ) - ну не это их дело электроникой заниматься :-(
Harbinger
Цитата(WHALE @ Jul 18 2006, 17:26) *
Но это все лирика-пока остановлюсь на варианте в случае занятости модема обменом с девайсом и попытки обращения другого модемом будет прикидываться контроллер,складывать в буфер и отправлять при освобождении канала.

Пожалуй, будет проще (в программном плане), если контроллер будет "прикидываться модемом" всегда smile.gif
GetSmart
Это будет сложнее и хуже всего.
zltigo
Цитата(GetSmart @ Jul 20 2006, 13:21) *
Это будет сложнее и хуже всего.

Нет.
Harbinger
Почему, собственно? Разве что памяти займет больше. Но алгоритм стройнее получится - все сообщения от устройств будут обрабатываться единообразно. Что намного снизит вероятность нештатных ситуаций ("глюков").
GetSmart
Цитата(zltigo)
Нет.

Да.
WHALE
Народ,давайте проверим практикой smile.gif сегодня нарисовал схему,заказал комплектацию,завтра начну писать софт.Сваяю,отчитаюсь.
Еще раз всем спасибо за обсуждение и наставление на путь истинный. a14.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.