реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Подключение к AT91SAM GSM-модема в режиме full-modem
Aurochs
сообщение Oct 31 2007, 10:17
Сообщение #1


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Очень нужна помощь специалиста. Помогите пожалуйста!

Подключаю GSM модем на USART1 AT91SAM7X256 в режиме full-modem (прописываю 3 в поле USART_MODE регистра US_MR). Все работает прекрасно до того момента, когда устанавливается CSD-соединение (соединение с другим модемом через GSM-сеть). С этого момента AT91SAM начинает игнорировать все поступающие с модема данные и так продолжается до тех пор, пока связь не будет прервана.

Схема подключения:
Модем ARM
RX <--> TX
TX <--> RX
DTR <--> DTR
DCD <--> DCD
DCD <--> DSR (у модема нет выхода DSR)
RTS <--> RTS
CTS <--> CTS
RI <--> RI

Выходные для ARM сигналы DTR и RTS все время установлены в активное состояние (0).
Если же запрограммировать USART1 на нормальный режим (прописать 0 в поле USART_MODE регистра US_MR), вышеописанный эффект исчезает. Но обязательно нужна аппаратная поддержка управления потоком, поэтому такой режим не подходит...

Заранее благодарен за любую помощь.
Go to the top of the page
 
+Quote Post
_dem
сообщение Oct 31 2007, 12:36
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



Уточните, какой именно модем и что происходит при установке соединения на линиях USART (в частности, CTS) ?
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Oct 31 2007, 12:54
Сообщение #3


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Цитата(_dem @ Oct 31 2007, 14:36) *
Уточните, какой именно модем и что происходит при установке соединения на линиях USART (в частности, CTS) ?

Модем - SIM300C
CTS=0 DCD=0 DTR=0 RTS=0
Из ARMa в модем при этом данные идут нормально и тот их передает в эфир.
С другого конца модем тоже принимает данные и передает их в ARM, но тот их почему-то игнорирует...
Go to the top of the page
 
+Quote Post
_dem
сообщение Oct 31 2007, 13:06
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



т.е. на RXD АРМ-а данные есть, а он их не видит ?
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Oct 31 2007, 16:12
Сообщение #5


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Цитата(_dem @ Oct 31 2007, 15:06) *
т.е. на RXD АРМ-а данные есть, а он их не видит ?

Да, именно так. Я только прописываю режим NORMAL в US_MR и ARM начинает читать данные.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Nov 1 2007, 06:51
Сообщение #6


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Незнаю что за модем может я и ошибаюсь но схема подключения
Код
Схема подключения:
Модем ARM
RX <--> TX
TX <--> RX
DTR <--> DTR
DCD <--> DCD
DCD <--> DSR (у модема нет выхода DSR)
RTS <--> RTS
CTS <--> CTS
RI <--> RI
неправельня должно быть

Схема подключения:
Код
Модем       ARM
RX    <--> TX
TX    <--> RX

DTR  <--> DSR

RTS  <--> CTS
CTS  <--> RTS

С остальными надо доку на модем
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 1 2007, 09:19
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MALLOY2 @ Nov 1 2007, 08:51) *
Незнаю что за модем может я и ошибаюсь но схема подключения
Код
Схема подключения:
Модем ARM
RX <--> TX
TX <--> RX
DTR <--> DTR
DCD <--> DCD
DCD <--> DSR (у модема нет выхода DSR)
RTS <--> RTS
CTS <--> CTS
RI <--> RI
неправельня должно быть

Схема подключения:
Код
Модем       ARM
RX    <--> TX
TX    <--> RX

DTR  <--> DSR

RTS  <--> CTS
CTS  <--> RTS

С остальными надо доку на модем

Ну теоретически может быть и так. Надо доку на модем читать.
Однако я не встречал модемов у которых RTS выход, а CTS вход.
Обычно пины управления последовательного интерфейса напрямую подключаются к хост машине.
И, как я понимаю, у SAM эти пины такие-же как и в компьютере.
Так?


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
_dem
сообщение Nov 1 2007, 09:30
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



1. какие-то сигналы UART меняются при переходе в дата-режим ?
2. про схему MALLOY2 правильно подметил

скорее всего, при переходе в режим данных модем как-то меняет режим работы (сам переходит в режим "полного" уарта и сбрасывает какую-то из линий)
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Nov 1 2007, 12:15
Сообщение #9


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Цитата(_dem @ Nov 1 2007, 11:30) *
1. какие-то сигналы UART меняются при переходе в дата-режим ?


Из зафиксированных изменений - переход DCD из 1 в 0. Но парадокс в том, что даже если просто посадить DCD на землю без установки коннекта, то идет нормальный обмен в обе стороны wacko.gif

Цитата(_dem @ Nov 1 2007, 11:30) *
скорее всего, при переходе в режим данных модем как-то меняет режим работы (сам переходит в режим "полного" уарта и сбрасывает какую-то из линий)


Не исключено, что при установке связи имеют место какие-то аналоговые эффекты, т.к. для платы в этот момент существенно меняется режим работы - модем жрет по полной программе. Но в таком случае все равно непонятно, почему это проявляется только в режиме full modem.
Go to the top of the page
 
+Quote Post
_dem
сообщение Nov 2 2007, 14:10
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



попробуйте после установления соединения переинициализировать USART в "полном" режиме
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Nov 5 2007, 23:34
Сообщение #11


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Цитата(_dem @ Nov 2 2007, 16:10) *
попробуйте после установления соединения переинициализировать USART в "полном" режиме

Прошу меня извинить за длительную паузу, не было возможности проверить...
К сожалению результат тот же: как только перепрограммирую US_MR, данные перестают читаься.
Мистика какая-то. В документации про режим full-modem всего пол-страницы, которые я уже до дыр зачитал...
Go to the top of the page
 
+Quote Post
_dem
сообщение Nov 6 2007, 07:26
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



ну тогда код в студию - будем смотреть
Go to the top of the page
 
+Quote Post
Master
сообщение Nov 8 2007, 12:19
Сообщение #13


Частый гость
**

Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405



Цитата(amw @ Nov 1 2007, 12:19) *
Ну теоретически может быть и так. Надо доку на модем читать.
Однако я не встречал модемов у которых RTS выход, а CTS вход.
Обычно пины управления последовательного интерфейса напрямую подключаются к хост машине.
И, как я понимаю, у SAM эти пины такие-же как и в компьютере.
Так?
Теоретически?? Почитайте про RS-232, внимательно проверьте направление на пинах модема, а потом уже пробуйте настраивать разные режимы.
И нет здесь никакой мистики biggrin.gif Вы не первый, вы не последний, кто подключает модем к последовательному порту.
А ещё почитайте соответствующий форум здесь. Там по SIMCOM полно инфы.
Удачи!
Go to the top of the page
 
+Quote Post
Aurochs
сообщение May 15 2008, 17:15
Сообщение #14


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Уважаемые!
Хочу хоть как-то вразумительно закончить эту ветку по пошествии полугода.
Для тех, кто ее еще будет смотреть, имею честь сообщить следующее.
Мистики здесь действительно никакой нет. А дело все в том, что м/к семейств AT91SAM7S и AT91SAM7X очень проблематично использовать в режимах full-modem и hardware handshake. Если же вам все-таки придется когда-либо это делать, то внимательно изучите Errata для этих семейств! Причем самой последней версии. На данный момент это можно сделать здесь http://www.atmel.com/dyn/resources/prod_do...nts/doc6120.pdf
Мне удалось добиться относительно безошибочной работы только путем понижения скорости обмена между м/к и модемом до значения скорости эфирной передачи.
Всем удачи!
Go to the top of the page
 
+Quote Post
etoja
сообщение May 16 2008, 03:46
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Переход сигнала DCD в ноль говорит о том, что модем обнаружил несущую.
При работе в эфире модем может потреблять до 8 Ватт в импульсе.
Посмотрите осциллографом на сигнал CTS (выход модема), который используется модемом для притормаживания процессора в смысле выдачи байт в RS232.
Проверьте число стоповых бит в настройках RS232. Обычно модем хочет 1 стоповый бит, а процессор может быть настроен на 2, тогда обмен будет зависать при большом потоке байт в режиме CSD, а при обмене AT-командами - нет.

PS: используйте процессоры Philips/NXP и компилятор GreenHills.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 13:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016