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


von Maik (Gast)


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

von Maik (Gast)


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?!

von Maik (Gast)


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!

von Christian B. (tatue1071)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.