EasyRadio FAQ

Brown-Out:

Update Juni 2005: Die neuen Easy-Radio Module Generation -02 (Typenbezeichnung mit Suffix -02) kennen kein Brown-Out Problem.

Das BO-Problem kann nicht 100% behoben werden mit der aktuellen Hardware (Generation -01). Wenn das EEPROM während eines BO korrumpiert wird, greift eine Failsafe-Routine ein, die das EEPROM auf Werksvoreinstellung zurück setzt. Unglücklicherweise gehen dann die Anwenderseitig gemachten Änderungen verloren, auch wenn nur ein kleinerer Fehler vorliegt.
Wenn das EEPROM auf die Voreinstellungen gesetzt wird, dann wird die Meldung (ER_ERR#02) über den seriellen Port bei 19200 BAUD ausgegeben.
Das kann ein Problem sein, wenn auch die BAUD-Einstellungen verändert waren, ist aber ein gutes Hilfsmittel zum Rücksetzen der Frequenz.
Wenn das Modul auf die Voreinstellungen zurückgesetzt wurde, befolgen Sie die folgende Prozedur, um die BAUD-Rate neu einzustellen:
1) Senden Sie ER_CMD#U3 bei BAUD 19200.
2) Warten Sie auf die Antwort ER_CMD#U3 vom Modul (in 19200)
2) Senden Sie den String “ACK” an das Modul (in 19200), das Modul wird jetzt auf die neue BAUD-Rate gesetzt.
Fehler-Codes:
ER_ERR#01: Ungültiger Befehls-Parameter (d.h. korrekter Befehlsbuchstabe, aber ungültiger Zahlenwert)
ER_ERR#02: EEPROM wurde auf Werksvoreinstellungen zurück gesetzt.

Alter der Module / GPIO Thema für TS- und RS-Module

Erste Frage: Wie alt sind Ihre EasyRadio Module?
Bei den allerersten ER400RS war Handshaking dauernd aktiv. Das bedeutet, dass der RTS-Pin herunter gezogen werden muss. Verbinden Sie deswegen Pin 7 mit LOW. Ein Fehler im Pinout im Datenblatt zeigt alles ausser RX_data als GPIO. Es gibt keine GPIO-Pins bei diesem Modul und das Pinout derER400TRS Module sollte beachtet werden. Es werden alle diese Pins benötigt wegen der Programmierbarkeit des ER_CMD Befehlssatzes.

Datenbits werden nicht empfangen:

“Beim Übertragen von langen Datenframes geht immer das letzte oder die letzten Bytes verloren (bis zu 3 oder 4 Bytes)”.
Bitte stellen Sie sicher, dass beim Hochladen der Bytes zum Senden die Lücke zwischen den Bytes – d.h. die Zeit zwischen STOP-Bit und nächstem START-Bit – nicht grösser ist, als die Zeit für 1 Byte.
Das nächste Byte MUSS zum UART im Modul vollständig übertragen sein, bevor die zwei Byte lange Lücke detektiert wird.
Dies ist die einzige Möglichkeit, dass Daten nur teilweise übertragen werden, weil der Empfänger nur komplett empfangene Datenpakete liefert, die den CRC-Check bestanden haben.

Was zum ACK passiert hier eigentlich?

Ergänzung Juni 2005: Generation -02 Module kennen auch ein “Fast-ACK” zur schnelleren Kommunikation zwischen Host und Easy-Radio Funkmodul. Details finden Sie im Easy-Radio Datenblatt.

Es gibt Verwirrung betreffend die Prozedur zum Übertragen von Befehlen zur Änderung der Parameter in den Funkmodulen.
Die EasyRadio Software demonstriert das sehr gut.
D.h. zum Ändern der BAUD-Rate auf 9600:
ER_CMD#U3 (gesendet) – zum Modul senden
ER_CMD#U3 (empfangen) – Antwort vom Modul (d.h. Kommando wurde erkannt)
ACK (gesendet) – zum Modul ASCII “A” “C” “K” senden
Bitte beachten Sie, dass bei einem TS-Modul (Sender) die Antwort vom Modul tatsächlich via Funk übertragen wird, nicht via RS232. Diese Übertragungszeit muss mit einberechnet werden, bevor das “ACK” gesendet wird, wenn die Antwort vom Modul nicht zum Verifizieren empfangen wird. Diese Zeit ist ca. 20 msec.

Haben meine Module BO?

Update Juni 2005: Die neuen Easy-Radio Module Generation -02 (Typenbezeichnung mit Suffix -02) kennen kein Brown-Out Problem.

Thema: Brown-Out, ist ein Zustand,bei dem der Mikroprozessor einen RESET bekommt, ohne die benötigte Zeit, seine Interna zu initialisieren, bevor die Programmausführung startet. Dies tritt möglicherweise bei batteriebetriebenen Applikationen auf, wo die Betriebsspannung unkontrolliert ein und ausgeschaltet wird.
Lösung: Die Module verfügen über eine RESET Prozedur und können feststellen, wenn das interne EEPROM korrumpiert ist; dies führt aber zu einer neuen Art von Problemen. (siehe weiter oben)
Deswegen wird in Kürze eine neue Firmware-Version für alle programmierbaren ER Produkte eingesetzt werden, die nur die betroffenen Teile zurücksetzt. Wenn also nur die HF-Parameter betroffen sind, wird die BAUD-Rate nicht gleichzeitig zurückgesetzt.

Warten oder nicht warten…?

Das Verständnis für das Timing ist kritisch für die erfolgreiche Übertragung der ganzen Botschaft oder “ur Tlen dvon”.
Start-up Zeit vor Datenübertragung an das Modul: ~8mS *
Paket-Bildung (ohne Anwenderdaten): 12.3mS
Sendezeit / Byte (Funk): 0.750mS
* Die Umweltbedingungen (Temperatur & Feuchtigkeit) können eine Variation der Start-Up Zeit verursachen.
Die Berechnung der Zeit zum Übertragen von 50 Bytes wäre deswegen wie folgt:
12.3mS + (50 BYTES x 0.75mS) or 12.3mS + 37.5mS = 49.8mS
Anmerkungen:
i. Wenn Sie Handshaking benutzen, brauchen Sie die Timings nicht zu berechnen.
ii. Der BUSY Ausgang ist aktiv, ob Handshake benutzt wird, oder nicht.
iii. Wenn die Lücke zwischen einem STOP-Bit und dem darauffolgenden STOP-Bit des folgenden Bytes grösser ist, als die Zeit für zwei Bytes (diese variiert je nach der gewählten BAUD-Rate), werden alle Bytes, die sich schon im Buffer befinden gesendet und wenn das CTS Signal ignoriert wird, gehen die nachfolgend gesendeten Bytes verloren, bis der Sender das Paket über Funk abgesendet hat.

Was ist mit diesen Frequenzüberlagerungen?

Ergänzung Juni 2005: Die Easy-Radio Generation -02 können via DCS (Digitale Kanalselektion) Nachbarkanalsignale erkennen. Nicht auf dem eigenen Funk-Kanal empfangene Daten werden als ungültig verworfen.

Wenn ein Kanal im Nachbarkanal gehört wird, liegt das an der Nachbarkanalselektion. Wegen der Bandbreite des Empfängers im 433 MHz Band kann bei geringer Distanz Kanal 0 empfangen werden von einem Empfänger, der auf Kanal 1 oder Kanal 2 eingestellt ist.
Je grösser die Distanz, desto kleiner ist die Wahrscheinlichkeit für solche Störungen.
Es ist keine gute Praxis, die Funkkanäle als “Abkürzung” für eine Adressierung oder Paarung der Module zu verwenden; besser wird die Adresse im Funktelegramm mit übertragen.

“ERR”-en ist menschlich.

Undokumentierte Fehlercodes wurden in alle TRS/RS EasyRadio Module integriert. Sorry!
Es sind dies die folgenden:
ER_ERR#01 Ungültiger Befehls-Parameter.
Eg ER_CMD#CA (“A” ist unkorrect, sollte 0-9 sein)
ER_ERR#02 RESET des Moduls auf Werksvoreinstellung hat stattgefunden.
Neuer Fehlercode in zukünftigen Firmware-Revisionen:
ER_ERR#03 RESET verursacht durch interne Fehlererkennung (z.B. nach einer Brown-Out Situation)

GPI…? Oh!

In früheren Ausgaben der Datenblätter der RS Module sind GPIO-Pins bezeichnet. Dies ist ein Fehler!
Ihr Pin-Out ist identisch mit dem der TRS-Module, da SDI erforderlich ist für die Programmierung der RS-Module mit dem ER_CMD-Set.
Der BSY-Pin wird auch benutzt, wenn Handshaking eingeschaltet ist. Falls unbenutzt, sollte SDI über einen passenden Pull-Up Widerstand an VCC gezogen werden. Wenn Handshaking nicht benutzt wird, dann sollte der RDY-Pin dirket mit GND verbunden werden.
Eine weitere Anmerkung zum Handshaking: ER_CMDs werden IMMER ausgegeben, auch wenn RDY auf HIGH gehalten wird. Dadurch können Befehle immer noch gesendet werden, auch wenn Handshaking inkorrekt programmiert wurde und keine Pins angeschlossen sind.

Eine Frage zum MAX232 Board:

Für die Kondensatoren auf dem MAX232 Chip empfehlen wir Keramik-Kondensatoren mit 100nF.
Belassen Sie die Elkos um die Spannungsversorgung.

Bad Behavior has blocked 436 access attempts in the last 7 days.