|
ATMega+внешний модем |
|
|
|
Oct 14 2005, 04:22
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-05
Пользователь №: 9 622

|
 Пришёл утром на работу, а мне говорят ты жил зря!!! и ставят задачу в наши изделия подключить контроллер, который через внешний модем, будет сообщать удалённому пользователю, опять же через модем, параметры изделия. Всё бы ничего, но вот как связать модем с МК, не знаю, какой модем лучше, Помогите кто чем может, ссылками советами , может кто чего делал пробовал. сроку месяц дали
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
Oct 14 2005, 05:43
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата(tobias_ivan @ Oct 14 2005, 08:27) Да, любой подойдет! Стыковку сделайте на преобразователе уровней TTL->+-12V: max232 или ей подобные (ad232, st232). Изучите AT-команды. На практике посмотрите как происходит связь между ПК и модемом при соединении удаленки. ДЛя этого на ком-порт повесте просмотрщик (например, PortMon, или другие: тут на форуме обсуждали такие программы), в нем увидете какие команды (а самое главное последовательность байт) передает программа ПК модему. Ну и передачу файла можно глянуть. Кстати для начала можно все отработать именно на ПК. Напишите эмулятор Вашего контроллера и Вам станет ясно что и как из программы переносить в него. Удачи! Посмотрите здесь, может пригодится. http://book.itep.ru/10/at_109.htm
|
|
|
|
|
Oct 14 2005, 05:48
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-05
Пользователь №: 9 622

|
я так понимаю, стандарт RS232 синхронный. Монитор СОМ порта есть, преобразование уровней тож ясно, АТ команды понятно. задача в реалии Где то, например в деревне Забодаево, есть радивещательный передатчик (в необслуживаемом режиме, но с телефоном) , а в областном центре Небодаево на РТПЦ, тож есть телефон, и комп, пришёл ну работу инженер Сидоров, нажал на кнопки - комп позвонил в Забодаево педатчику, а тот сообщил ему пару параметров. и всем хорошо. я нашёл вот это http://yumi.ziet.zhitomir.ua/ct/hardware/modem_tut/gl3.shtml
--------------------
С уважением Dimka Dat
|
|
|
|
|
Oct 14 2005, 06:06
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата(dimkadat @ Oct 14 2005, 08:48) я так понимаю, стандарт RS232 синхронный. Монитор СОМ порта есть, преобразование уровней тож ясно, АТ команды понятно. задача в реалии Где то, например в деревне Забодаево, есть радивещательный передатчик (в необслуживаемом режиме, но с телефоном) , а в областном центре Небодаево на РТПЦ, тож есть телефон, и комп, пришёл ну работу инженер Сидоров, нажал на кнопки - комп позвонил в Забодаево педатчику, а тот сообщил ему пару параметров. и всем хорошо. я нашёл вот это http://yumi.ziet.zhitomir.ua/ct/hardware/modem_tut/gl3.shtml RS232 асинхронный стандарт! Для аппаратной стыковки модема с МК MAX232 скорее всего будет недостаточно, мало у ней входов/выходов. Посмотрите, что есть у MAXIMа для реализации полного RS232.
|
|
|
|
|
Oct 14 2005, 06:51
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946

|
Цитата(Igor26 @ Oct 14 2005, 09:06) Цитата(dimkadat @ Oct 14 2005, 08:48) я так понимаю, стандарт RS232 синхронный. Монитор СОМ порта есть, преобразование уровней тож ясно, АТ команды понятно. задача в реалии Где то, например в деревне Забодаево, есть радивещательный передатчик (в необслуживаемом режиме, но с телефоном) , а в областном центре Небодаево на РТПЦ, тож есть телефон, и комп, пришёл ну работу инженер Сидоров, нажал на кнопки - комп позвонил в Забодаево педатчику, а тот сообщил ему пару параметров. и всем хорошо. я нашёл вот это http://yumi.ziet.zhitomir.ua/ct/hardware/modem_tut/gl3.shtmlRS232 асинхронный стандарт! Для аппаратной стыковки модема с МК MAX232 скорее всего будет недостаточно, мало у ней входов/выходов. Посмотрите, что есть у MAXIMа для реализации полного RS232. Зачем реализововать полный RS232 работает и при RX TX больше не чего не надо ну типа RTS DTR и т.д. и т.п. ( Говорю так по тому что есть опыт такой разроботки и она работает ) Atmega 8 + st232 + Zyxel 1496E дома стоит Atmega 8 + st232 + Siemens C45 типа в поле Работа ГУТ
|
|
|
|
|
Oct 14 2005, 13:27
|

Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342

|
Действительно, для небыстрой пересылки маленьких пакетов можно обойтись только линиями RX, TX. Хотя, очень желательно еще линию DCD завести, чтобы всегда "независимо" знать, что связь есть. Прочие RTS-CTS, DTR-DCR нужны когда пересылаются большие блоки данных, не влазящие в буфера. Базовый набор команд у всех модемов более/менее одинаков (называют их Hayes-совместимыми). Инициализация: "ATZ" Набор номера: "ATD1234567" на вызываемом модеме выдается "RING" говоришь ему "Поднять трубу": "ATA" модемы договариваются, соединяются... ...выдают слово "CONNECT чего-то там с чем-то там" ВСЕ, соединение установлено, пихаемые в порт байтики появляются с другой стороны, и наоборот  Чтобы прекратить связь: "+++ATH" Конечно, нужно предусмотреть обработку неудач соединения ("NO DIAL TONE", "BUSY", "NO CARRIER" и т.п.). Всяческие настройки модемов обычно можно сделать предварительно, затем записать их им в память. Подробнее -- см. в полных инструкциях на модемы. В свое время очень хорошо были расписаны, например, модемы US Robotics.
--------------------
Gray©at
|
|
|
|
|
Oct 14 2005, 13:39
|

Участник

Группа: Новичок
Сообщений: 48
Регистрация: 6-05-05
Пользователь №: 4 784

|
Кстати, по поводу протокола могу посоветовать неплохой апнот с атмела: http://www.atmel.com/dyn/resources/prod_do...nts/doc1472.pdfhttp://www.atmel.com/dyn/resources/prod_documents/AVR350.zipЦитата AVR350: XmodemCRC Receive Utility for AVR (7 pages, revision C, updated 09/05) The Xmodem protocol was created years ago as a simple means of having two computers talk to each other. With its half-duplex mode of operation, 128-byte packets, ACK/NACK responses and CRC data checking, the Xmodem has found its way into many applications.
--------------------
|
|
|
|
|
Oct 14 2005, 13:48
|

Участник

Группа: Новичок
Сообщений: 48
Регистрация: 6-05-05
Пользователь №: 4 784

|
Цитата(Igor26 @ Oct 14 2005, 09:43) Посмотрите здесь, может пригодится. http://book.itep.ru/10/at_109.htmСпасибо за ссылку, это просто чудо-книга
--------------------
|
|
|
|
|
Oct 17 2005, 01:59
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-05
Пользователь №: 9 622

|
Параметров действительно не много, байт 20. скорость 1200 б/с подойдёт. Значит , я так понимаю достаточно RX TX линий, асинхронный режим. Соеденяется через MAX232 При этом через определённые промежутки времени модем нужно ресетиь, для защиты от сбоев по питанию. Причём аппаратно. Mega 128 работает как с обычным UARTом? Только АТ командами, при этом , если самому контроллеру звонить не нужно всё упрощается: | | line v ---------------¬ | модем | L--------------- TX mode ^ | | data | вызов | v ---------------¬ | MK | L--------------- ________________________________ | | v ---------------¬ | модем | L--------------- Init mode ^ ^ | init | reset | | ---------------¬ | MK | L--------------- В общих чертах?
--------------------
С уважением Dimka Dat
|
|
|
|
|
Oct 17 2005, 07:22
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946

|
Цитата(GrayCat @ Oct 14 2005, 16:27) Действительно, для небыстрой пересылки маленьких пакетов можно обойтись только линиями RX, TX. Хотя, очень желательно еще линию DCD завести, чтобы всегда "независимо" знать, что связь есть. Прочие RTS-CTS, DTR-DCR нужны когда пересылаются большие блоки данных, не влазящие в буфера. Базовый набор команд у всех модемов более/менее одинаков (называют их Hayes-совместимыми). Инициализация: "ATZ" Набор номера: "ATD1234567" на вызываемом модеме выдается "RING" говоришь ему "Поднять трубу": "ATA" модемы договариваются, соединяются... ...выдают слово "CONNECT чего-то там с чем-то там" ВСЕ, соединение установлено, пихаемые в порт байтики появляются с другой стороны, и наоборот  Чтобы прекратить связь: "+++ATH" Конечно, нужно предусмотреть обработку неудач соединения ("NO DIAL TONE", "BUSY", "NO CARRIER" и т.п.). Всяческие настройки модемов обычно можно сделать предварительно, затем записать их им в память. Подробнее -- см. в полных инструкциях на модемы. В свое время очень хорошо были расписаны, например, модемы US Robotics. Я советую послать строку инита. ATE0V0 Тогда модем будет отвечать цифр. командами CONNECT - 1 RING -2 NO DIALTONE -6 BUSY - 7 Тогда будет проще void Tel_Ok(void) { index_in-- ; if (index_in>1) return; switch (buffer_in[0]) { case '1':// CONNECT break; case '2':// RING break; case '6':// NO DIALTONE break; case '7':// BUSY break; } } Успехов
|
|
|
|
|
Dec 16 2005, 07:40
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-05
Пользователь №: 9 622

|
Извиняюсь за возвращение темы, но есть проблемма, стык МК<-> модем не работает..... модем не принимает комманды от МК. Причём, если соеденить их через ПК (в протеусе соеденив СОМ1 и СОМ2) то всё превосходно работает.... В развязке стоит МАХ 232СРЕ , может в ней грабли? Модем Акорп 56000.
--------------------
С уважением Dimka Dat
|
|
|
|
|
Dec 16 2005, 07:56
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946

|
Цитата(dimkadat @ Dec 16 2005, 11:40)  Извиняюсь за возвращение темы, но есть проблемма, стык МК<-> модем не работает..... модем не принимает комманды от МК. Причём, если соеденить их через ПК (в протеусе соеденив СОМ1 и СОМ2) то всё превосходно работает.... В развязке стоит МАХ 232СРЕ , может в ней грабли? Модем Акорп 56000.  Схему в студию !!!
|
|
|
|
|
Dec 16 2005, 08:16
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-05
Пользователь №: 9 622

|
Типа того, изиняйте за качество "Вот так должно быть по лучшее"
Сообщение отредактировал dimkadat - Dec 19 2005, 02:48
--------------------
С уважением Dimka Dat
|
|
|
|
|
Dec 19 2005, 03:43
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-05
Пользователь №: 9 622

|
--------------------
С уважением Dimka Dat
|
|
|
|
|
Jan 26 2006, 01:39
|

Частый гость
 
Группа: Свой
Сообщений: 94
Регистрация: 4-05-05
Из: Харьков
Пользователь №: 4 740

|
Цитата(GrayCat @ Oct 14 2005, 15:27)  Действительно, для небыстрой пересылки маленьких пакетов можно обойтись только линиями RX, TX. Хотя, очень желательно еще линию DCD завести, чтобы всегда "независимо" знать, что связь есть. Прочие RTS-CTS, DTR-DCR нужны когда пересылаются большие блоки данных, не влазящие в буфера.
Базовый набор команд у всех модемов более/менее одинаков (называют их Hayes-совместимыми).
Инициализация: "ATZ" Набор номера: "ATD1234567" на вызываемом модеме выдается "RING" говоришь ему "Поднять трубу": "ATA" модемы договариваются, соединяются... ...выдают слово "CONNECT чего-то там с чем-то там" ВСЕ, соединение установлено, пихаемые в порт байтики появляются с другой стороны, и наоборот Чтобы прекратить связь: "+++ATH" А надежней DTR рубить связь, ибо для "+++" паузу определенную нужно выдерживать между плюсами ... Цитата Конечно, нужно предусмотреть обработку неудач соединения ("NO DIAL TONE", "BUSY", "NO CARRIER" и т.п.). ATV0 и можно цифры разбирать вместо строк. Рекомендую мануал для модемов Hayes-совместимых а в часности Rockwell (Conexant) чипсет: htp://www.vector.kharkov.ua/new/img_picsupport_info.php?id=10&download=1 Цитата Всяческие настройки модемов обычно можно сделать предварительно, затем записать их им в память.
Подробнее -- см. в полных инструкциях на модемы. В свое время очень хорошо были расписаны, например, модемы US Robotics.
--------------------
SY AfE
|
|
|
|
|
Jan 26 2006, 07:16
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-05
Пользователь №: 9 622

|
Спасибо всем! устройство рождено, испытано и готовится а производство. Модемы использовал зухель ОМНИ.
"А надежней DTR рубить связь, ибо для "+++" паузу определенную нужно выдерживать между плюсами ... "
Да, работает на порядок проще и надёжнее.
--------------------
С уважением Dimka Dat
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|