mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Siemens MC55i, GPRS und Datenübertragung (Delay) (AT)


Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,
ich habe ein Problem mit einer GPRS Datenverbindung via Siemens MC55i 
Modem.

Folgende Kommunikation findet mit dem Modem statt und funktioniert auch 
soweit (in eckigen Klammern steht die Antwort vom Modem):

#### Internetverbindung herstellen ####
AT^SICS=0,conType,GPRS0 [OK]
AT^SICS=0,user,t-d1 [OK]
AT^SICS=0,passwd,t-d1 [OK]
AT^SICS=0,apn,internet.t-d1.de [OK]

#### Socket einrichten ####
AT^SISS=1,srvtype,socket [OK]
AT^SISS=1,conID,0 [OK]
AT^SISS=1,address,"sockudp://aaa.bbb.ccc.ddd:eeee;port=eeee" [OK]

#### Socket öffnen ####
AT^SISO=1 [OK]

#### Daten senden ####
AT^SISW 1,16                  // Ich: Ich will 16 Byte senden
[^SISW: 1, 16, 0]             // Modem: Dann gib mir erstmal 16 Byte
01234567890123456             // Ich: Da hast Du deine Daten
[OK]                          // Modem: Danke!
[^SISW: 0, 1]                 // Modem: Sendebuffer ist wieder leer



#### Daten empfangen ####
[^SISR: 1, 1]                 // Modem: Ich habe was für Dich bekommen!
AT^SISR=1,64                  // Ich: Na dann gib mal her(max. 62 Byte)
[^SISR: 1, 16]                // Modem: Hier kommen nun 16 Byte
[0123456789123456]            // Modem: Nutzdaten
[OK]                          // Modem: Das war's!


Wie bereits gesagt funktionert es soweit so gut. Ich übertrage so 
zyklisch alle 2 Sekunden Daten vom Slave zum Master und wieder zurück. 
Zwischen den Befehlen gibt es keine Verzögerungen.
Nach einer Unbestimmten Zeit (ca. 1 Minute) passiert aber folgendes, 
sowohl beim Senden als auch Empfangen:

#### Daten senden ####
AT^SISW 1,16                  // Ich: Ich will 16 Byte senden
...............               // Verzögerung von ca. 600ms
[^SISW: 1, 16, 0]             // Modem: Dann gib mir erstmal 16 Byte
01234567890123456             // Ich: Da hast Du deine Daten
[OK]                          // Modem: Danke!
[^SISW: 0, 1]                 // Modem: Sendebuffer ist wieder leer



#### Daten empfangen ####
[^SISR: 1, 1]                 // Modem: Ich habe was für Dich bekommen!
AT^SISR=1,64                  // Ich: Na dann gib mal her(max. 62 Byte)
...............               // Verzögerung von ca. 600ms
[^SISR: 1, 16]                // Modem: Hier kommen nun 16 Byte
[0123456789123456]            // Modem: Nutzdaten
[OK]                          // Modem: Das war's!


Nachdem ich das AT Kommando also gesendet habe, passiert erstmal 600ms 
nichts. Erst dann fragt mich das Modem nach den Nutzdaten bzw. sendet 
mir diese.
Das kann doch so nicht richtig sein?! - Nehmen wir mal an ich würde mehr 
Daten verschicken wollen, so müsste ich diese ja auf einzelne Pakete 
aufteilen die maximal 1500 Byte gross sein können.
Würde ich jetzt nach jedem Paket 600ms warten müssen.... Aber warum?!


Hat jemand schonmal gleiches erlebt bzw. eine Lösung parat?!

Vielen Dank im Vorraus!

Maik

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch herausgefunden, dass es wohl mit dem Einschalten des 
Modems zusammenhängt.

Schalte ich das Modem ein und starte die Datenübertragung, dann tritt 
das Phänomen ca. nach 2 Minuten auf und beruhigt sich dann wieder nach 
einer Minute. Danach tritt es (soweit ich testen konnte) erstmal nicht 
mehr auf.

Meine Vermutung ist nun, dass das Modem irgendwas macht, was es 
auslastet. Aber was?! Und wie kann ich es verhindern?!

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für alle, die das selbe Problem haben, hier die Lösung:

Das Modem macht (ca. 2 Minuten nach dem Einschalten) einen Selbsttest, 
dieser sorgt für die Verzögerungen. Nach 5 Minuten ist der ganze Spuck 
dann vorbei!

Autor: Christian B. (tatue1071)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Maik,

ich bin grad an einer ähnlichen Sache. Könntest du mir mal irgendeine 
Kontaktmöglichkeit zu Dir geben?
Wäre sehr hilfreich für mich.

Gruß
Christian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.