Hallo,
leider komme ich bei meiner kleinen Funklstrecke nicht weiter, obwohl
ich inzwischen den Registersatz des RFM12 auswendig kenne. Die
Beispielcodes habe ich auch, jedoch haben die teilweise auch Fehler
drin.
Was geht jetzt?
Ein Testsender "sendet", wobei ich den Sender noch nicht in der EMV
Messkammer hatte, ich vermute es einfach, weil er jedes Byte was ich
hineinschiebe bestätigt, die Sendezeit verlängert sich bei kleinen
Baudraten und verkleinert sich bei hohen. Ausserdem sind die Status
Flags plausibel.
Knackpunkt Nr.1:
Wenn ich vor dem Senden des Pakets und Einschalten des Synthesizers
nicht den Status abfrage bestätigt der Sender die Bytes nicht, die nIRQ
leitung und die SDO Leitung weisen keine Peaks auf. Es steht nirgendwo
beschrieben, dass man vorher die 16Bit Status abfragen muss, nur geht es
eben nicht, wenn man es nicht tut.
Knackpunkt 2:
Die beiden Module verstehen sich nicht. Sie sind auf identische
Parameter eingestellt. Am Empfänger FSK Pin (mit 10k nach Plus) und am
Clock habe ich immer digitales Rauschen, egal was ich einstelle. Sobald
die Receiver Chain eingeschaltet ist floaten diese beiden Pins wie
verrückt (aber es sind digitale Signale) und es wird ein Clocksignal
erzeugt. Hat das Modul denn keinen Filter? Ausserdem habe ich doch den
Fifo eingeschaltet, wieso zappen diese beiden Pins dann auch noch?
Knackpunkt 3:
Beim Empfänger habe ich die Empfindlichkeit auf -103db eingestellt.
Liest man fortlaufend den Status aus sieht man, dass der Empfänger immer
ein "Valid Signal" sieht, auch wenn der Sender aus ist. Erst wenn ich
die Empfindlichkeit 1-2 Punkte herunternehme verschwindet das gesetzte
Bit und wird zu 0.
Knackpunkt 4:
Wenn man die AFC nicht begrenzt, also keinen Wertebereich vorgibt, die
eine maximale Abweichung korrigiert wird passt es nach einer Weile, dass
sich der Empfänger aufhängt, die Offsetbits im Status werden maximal und
dann geht gar nichts mehr, er hängt fest.
Ich habe den Empfänger so eingestellt, dass er die Deviation bei jedem
Datenpaket neu vermisst und automatisch korrigiert.
Knackpunkt 5:
Es gibt keinerlei Hinweise darauf, dass der Empfänger die Anwesenheit
des Senders überhaupt zur Kenntnis nimmt.
Weiss da jemand Rat?
Gruss,
Christian
Niemand?
Läuft es bei allen?
Gestern nacht um 1 fand ich heraus, dass das wilde floaten der Status
Bits aufhört, wenn ich den LNA Gain um einen Punkt absenke und den RSSI
Theashold auch. Derzeit frage ich in scneller Folge das DQD Bit ab und
lasse eine LED blinken, wenn es gesetzt ist. Die LED blinkt jetzt im
Takt des Senders aber an Daten kommt nur Müll rein, bis wird der Fifo
nicht getriggert durch das Sync Byte.
Habe fast den Verdacht, dass ich eine Revision erwischt habe, die buggy
ist. Alle sdrei Chips verhalten sich gleich.
Gruss,
Christian
Deine Module verhalten sich normal. Man muß mit den Gain- und AFC-Bits
eine ganze Weile spielen, bis die Module korrekt laufen (kommt auf die
Anwendung an). Fakt ist: der Empfänger empfängt ständig Datenmüll als
Rauschen. Wenn der FIFO durch die Präambel getriggert wird, sind die
Daten im FIFO ziemlich korrekt, wenn alles "gut" eingestellt ist. Der
FIFO sollte per Interrupt dann auch sofort abgeholt werden, da sonst das
nächste Byte das alte direkt überschreibt. Jeder zusammenhängende
Datensatz (mehrere Bytes an einem Stück) muß von einer Präambel
eingeleitet werden. Nach dem kompletten Einlesen eines Datensatzes muß
der FIFO abgeschaltet, wieder eingeschaltet und für den Empfang der
nächsten Präambel neu scharf gemacht werden.
Hallo,
die Daten sprudeln seit gestern durch mein Arbeitszimmer, habe die LNA
Gain und den RSSI Threshold so angepasst, dass der Müll sich in Grenzen
hält. Trotzdem bin ich der Ansicht, dass die Module noch Fehler haben,
beim Status kriege ich fast nur Müll heraus, einige Bits sitmmen, andere
floaten, zB auch FFIT und POR. Habe mal eine Mail an die Chinesen
geschickt, vielleicht gibts ja ein Errata Sheet, es wurde ja auch der
RFM12B aufgelegt, vielleicht ist der ja anders. Aber für 5€ sollte ich
auch nicht das erwarten, was mein GSM Modem bringt, was 20 Mal so teuer
war und weltweit Daten versenden kann :-)
Gruss,
Christian
Keine Ahnung, hatte keine Lust die fast identischen Datenblätter zu
durchsuchen.
Frage mich noch, ob sich die Hersteller bei der FSK Bandbreite einig
sind. Laut "Optimalen Einstellungen" ist das 30 khz unter 9600 Baud, in
den Beispielen ist es aber 90 khz. Und daraus haben auch alle
abgeschrieben, die Code erzeugt haben. Teste das grad mal aus, wo der
Unterschied liegt...
Gruss,
Christian