ATNEL tech-forum
https://forum.atnel.pl/

Modem m590 i komunikacja z uC
https://forum.atnel.pl/topic21109.html
Strona 1 z 1

Autor:  chi.cygni [ 9 sie 2018, o 09:19 ]
Tytuł:  Modem m590 i komunikacja z uC

Kłaniam się Kolegom,
Bawię się modemem m590, tak rozrywkowo, nic poważnego, bazując na interesująco napisanym artykule naszego Kolegi:
https://www.sunduino.pl/gsm-m590e-tanio-i-prosto/.
Gdy ten modem jest podpięty poprzez ATB-USB-RS232, komunikacja poprzez terminal (Putty) w obie strony jest bez zarzutu.

No to następnym krokiem było podpięcie pod mikrokontroler (Atmega128 z zestawu ATB Shield128), przy wykorzystaniu programowego UART,
bez zmian parametrów (ten sam baudrate, itd).

Napisałem sobie coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A mój problem polega na tym, że w odpowiedzi (na wyświetlaczu) nie dostaję tego co odpowiada modem, tylko to, co ja wysyłam komendami AT+.
Na pierwszy rzut oka to wygląda, że to Tx i Rx są na odwrót. Ale nie. Jest Tx z Rx i Rx z Tx.
I tego właśnie zachowanie nie rozumiem i proszę o wskazówki.
Czy te moje komendy idą do jakiegoś jednego bufora (poleceniem suart_puts()), który ja później odczytuję (poleceniem suart_gets())?
Czy to kompilator sobie to zachowuje w pamięci na stałe?
No nie wiem.

Autor:  mczarny [ 9 sie 2018, o 09:54 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

cześć
Czy masz możliwość podpięcia się ATB-RS232 do płytki?
Ja zawsze wyprowadzam sobie piny od uart-a i podpinam się z przejściówką oczywiście tylko pin Rx i masę.
Jak podepniesz się do Tx procka to w terminalu zobaczysz to co on wysyła, jak podepniesz się do Rx procka to zobaczysz co odpowiada moduł....
pozdrawiam

Autor:  micky [ 9 sie 2018, o 10:37 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Dokładnie - to najszybszy sposób jeśli nie ma się pod ręką analizatora logicznego typu Saleae.

Autor:  chi.cygni [ 9 sie 2018, o 13:44 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

mczarny napisał(a):
Jak podepniesz się do Tx procka to w terminalu zobaczysz to co on wysyła, jak podepniesz się do Rx procka to zobaczysz co odpowiada moduł....

Takie proste, a takie skuteczne. Dziękuję obu Kolegom.

Eksperyment:
Pin Tx mikrokontrolera do pinu Rx modemu M590.
Pin Tx modemu do pinu Rx ATB-USB-RS232.

Wynik jak poniżej w terminalu:
Obrazek

Były dwa błędy.
Pierwszy to ten, że powinno być tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

lub, w jednej linijce:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

ale NIE TAK:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Drugi błąd to ten związany z poleceniem:
at+CSCS="GSM"
Tu pewnie trzeba znaki cudzysłowia "wewnętrznego" zastąpić jakimś znacznikiem.

Zobaczę, jak teraz pójdzie, bo tak od razu, na gorąco nie chce.

Autor:  mczarny [ 9 sie 2018, o 14:11 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Ja to robiłem tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  chi.cygni [ 9 sie 2018, o 15:26 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Oczywiście, jeśli ten GSM weźmie się między znacznik: \"GSM\" to wtedy ten drugi, wspomniany wyżej błąd, także znika.

Ale to nie rozwiązało problemu zasygnalizowanego na początku.
Bo nadal na wyświetlaczu LCD pokazuje mi moje wysyłane komendy. I tylko to.

Autor:  mczarny [ 9 sie 2018, o 17:26 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

a gdybyś przed funkcją
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

dodał coś takiego?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  chi.cygni [ 9 sie 2018, o 17:59 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Niestety, nie pomogło.

Autor:  mczarny [ 9 sie 2018, o 18:12 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Masz jakoś ten bufor z funkcji odbiorczej zdefiniowany?
Z tego co widzę w funkcji "suartgets" powinna zwracać to co w buforze.

Autor:  chi.cygni [ 9 sie 2018, o 19:30 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Mój cały plik main.c wygląda tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Reszta to biblioteka LCD oraz SoftUart kol. Mirka.

Autor:  mczarny [ 10 sie 2018, o 08:05 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

cześć
próbowałeś odpalić odbiór w pętli głównej?
np:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

wiem, że to jest blokujące, ale nad tym można popracować - zrobić coś na wzór zdarzenia żeby nie blokować pętli

Autor:  chi.cygni [ 10 sie 2018, o 19:08 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Też nie zadziałało.
Widać problem jest o wiele bardziej złożony i wymaga głębszej wiedzy i dokładniejszej analizy noty katalogowej, a może i czegoś jeszcze.
Tym bardziej, że dodanie zwykłego _delay_ms() między wysłaniem komendy AT, a próbą odczytania odpowiedzi powoduje odmienne działanie programu.
Trzeba walkę na tym etapie zakończyć.

Kolega Mirek ładnie opisuje takie przypadki w YB (dla modemu Fibocom), ale to dla mnie jeszcze za wysokie progi.

Dziękuję za dotychczasową pomoc.

Autor:  mczarny [ 11 sie 2018, o 08:53 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

cześć
Ja bym się nie poddawał :)
Ponieważ wiesz jak przesłać do procesora cokolwiek za pomocą Putty odpal w pętli głównej takie coś -
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

oczywiście wcześniej inicjalizacja Softuart i deklaracja bufora
i prześlij z terminala cokolwiek
Zobaczymy czy to co wyślesz wyświetli się na LCD.
Będziemy wiedzieli, że funkcja odbiorcza u Ciebie działa

Autor:  chi.cygni [ 16 sie 2018, o 11:07 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

Ja się nie poddaję, tylko odkładam na chwilowy bok rzeczy, które na siłę wierzgają.
Komunikacja z uC działa w obie strony z terminala, jak wspomniałem na początku.
Wysyłam string z terminala do uC, z niego na LCD i z powrotem na terminal.
Myślę, że sprawa może mieć coś wspólnego z poziomem napięć.
Neoway m590(e) wymaga zasilania 3.9V ale USART jest na 3.3V.
Na chińskiej płytce, podpiętej pod napięcia TTL (zasilanie i USART) to "działa",
bo jest tam dioda IN4001 i obniża to napięcie.
Tu bym upatrywał przyczyn problemów.
Było, nie było, nawet w tej "ekstremalnej" wersji wysyła i odbiera SMS (polecenia z terminala i uC).
Bawię się dalej.
Spróbuję zastosować "Boże" napięcia. Jak coś odkryję dam znać, aby i przyszłe pokolenia mogły skorzystać.

Autor:  mczarny [ 16 sie 2018, o 13:24 ]
Tytuł:  Re: Modem m590 i komunikacja z uC

No tak jeżeli nie masz prawidłowej translacji napięć.....
Zobacz jak ja to zrobiłem
Obrazek
zauważ, że napięcie po stronie M590 na liniech Rx i Tx jest równe VCCIO czyli ok.2,85V tak jak zaleca dokumentacja.
Oczywiście przejściówka ATB-USB-RS232 załatwia sprawę, ale 3,3V to max. napięcie jakie toleruje M590 na liniach IO

pozdrawiam

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/