Hallo Jungs, ich bin gerade am Verzweifeln. Bekomme die Funkbrücke zwischen zwei Modulen nicht zum laufen. Ich habe beide Module auf GFSK im FIFO betrieb mit automatischem packet handling konfiguriert. Konfiguration habe ich auch schon wieder zurückgelesen und verglichen. All OK. Wenn TX FIFO Almost Full Threshold (txafthr[5:0]) überschritten wird gibt der Sender gibt mir einen ipksent Interrupt. Also gehe ich davon aus, dass er was rausgeschoben hat. Aber auf der Empfängerseite ist Stille. Der Chip ist im RX State (cps[1:0] = 01), Synthesizer Lock Detect Status = 1 und FIFO’s empty. Aber der Chip sagt kein Mux. Keine valid keine invalid Preamble, kein SynchWord nothing. Hat Jemand Erfahrungen mit diesen Modulen? Wie kann ich mich weiter vortasten? Habe ich was übersehen? Was kann ich prüfen? Danke für Eure Hinweise. Gruß Carsten
Hallo, Nach wer weiß wie vielen Stunden probieren habe ich nun die beiden Module mehr oder weniger am laufen. Probleme habe ich noch mit dem POR des Receivers. Manchmal ist der Chip im RX mode manchmal nicht. Keine Probleme dagegen auf der Senderseite. Einfach Daten in den FIFO schreiben und alles passiert automatisch. Allerdings geht ungefähr ein Packet von zehn verloren. Ich denke, dass es mit der Frequenzabstimmung zu tun hat. Leider hört meine Messtechnik bei 60 MHz auf zu funzen. Nun meine Frage: wie kann ich die Quarze und/oder die Frequenzen trotzdem anpassen. Ich habe bereits das Offset des AFC aus den Register 0x73 und 0x74 ausgelesen. Das bewegt sich immer so bei 0x0399 (is a twos complement value??) ist das nun 921 oder -409 (oder nichts von beidem). Werde da nicht ganz schlau aus dem Datenblatt (ich sollte besser Fehlerblatt sagen :-). Die Grundidee ist einen festes Offset und eine festen „Crystal Oscillator Load Capacitance“ zu programmieren und AFC auszuschalten. Vielleicht hat ja dieses mal jemand einen Hinweis. Wäre schön. Gruß Carsten
Carsten H. schrieb:
> oder sollte ich das Thema in einer anderen Gruppe posten?
Nö, du bist hier im Prinzip schon richtig, allerdings ist offenbar
der Kreis derer, die mit den neuen RFMs wirklich schon was gemacht
haben, überschaubar klein.
Danke Jörg, ok verstehe, aber die letzte Frage ist ja eher 'ne generelle: Wie kann ich Sender und Empfänger ohne Messtechnik aufeinander abstimmen?
Naja, die Messtechnik ist ja schon eingebaut und wird von der AFC genutzt. Wenn man einen Sender ins Gefriefach beförderst, kann man sehr schön sehen wie sich der vom Empfänger gemessene Offset langsam verschiebt. Bis wieviel kHz das gut funktioniert steht im Datenblatt. Dein hoher Packetloss ist IMO eher wo anders zu suchen..
Danke Funker, also ist mein Grundgedanke gar nicht so falsch. Solange abstimmen, bis das AFC offset klein ist. Bezüglich packet loss: manchmal gibts nen CRC error. Keine Ahnung was dafür die Ursache sein kann? Was meinst du mit "eher wo anders zu suchen.." was kommt da noch in Frage? Gruß
Carsten H. schrieb: > also ist mein Grundgedanke gar nicht so falsch. > Solange abstimmen, bis das AFC offset klein ist. Solange die AFC nicht in die Nähe eines "Anschlags" kommt, ist das aber egal, du wirst keine weitere Verbesserung mehr erreichen bezüglich der Qualität deines Signals.
soweit klar. es könnte höchtens ein Zeitproblem sein. Je größer das offset desto länger der Abstimmungsprozess?? und die preamble könnte zu ende sein. Leider weiß ich nicht wo der "Anschlag" liegt. Gemessen 0x0399. Das offest ist 10bit breit. ein bit Vorzeichen. Habe das Gefühl, dass das offset ziemlich groß ist. Aber was kann man tun um as besser anzupassen.
"Zeitproblem" ist ein gutes Stichwort: Gibt es einen Unterschied in der PER[%] wenn du mit 1, 10, 100 PPS sendest? Ändert sich die PER wenn du die Datenrate oder Paketlänge änderst? Noch 'ne Idee: QRM? Der RSSI sollte wenn du nicht sendest ja deutlich kleiner sein als zum Zeitpunkt iswdet = 1 (Sync Word Detected)
Danke Funker, mal langsam ich bin BWL-Student und kein Funker. ;-) Was ist PER, PPS und QRM!? RSSI ist 00 bis 03 wenn ich nicht sende. Aber auch wenn ich sende und der Empfänger was kriegt ist RSSI blos max 53. Das sind laut Datenblatt ungefähr nur -90dBm. Sender und Empfänger sind ca. 20 cm voneinander entfernt un der sender powerd mit ca. 11dBm. Ist das nicht ein bisschen wenig? Auch wenn ich nur zwei Wurfantennen verwende? Gruß Carsten
Carsten H. schrieb:
> Was ist PER, PPS und QRM!?
PER - packet error rate
PPS - pulses per second (rate ich jetzt mal)
QRM - Störungen durch andere Sender, eine der so genannten Q-Gruppen,
mit denen im klassischen (Morse-)Funk ständig wiederkehrende
Begriffe abgekürzt werden
Hallo Jörg, Hallo Funker, über QRM hatte ich was im net gefunden. Ist das vergleichbar mit Rauschen? Ich habe gesehen, dass am Empfänger immer irgendwas reinkommt. Oft invalid preamble aber manchmal auch ne valid preamble. Habe dann verschiedenen Kanäle getestet konnte aber nicht wirklich einen signifikanten Unterschied feststellen. Habe dann die preamble ein wenig verlängert (40bit) und gehofft. PPS heißt bestimmt packet per second ? Im Moment gibt es ein Packet per Mausklick (also vergesst 100 PPS:-) und die PER ist demzufolge eher 'ne Schätzung. Kann jemand bitte den oben erwähnten RSSI Wert beurteilen. PS: Ich habe versucht auf Manchester codierung umzustellen, jetzt geht im Moment gar nichts mehr! Könnte Manchester zu einer stabileren Übertragung beitragen? Gruß
Carsten H. schrieb: > über QRM hatte ich was im net gefunden. > Ist das vergleichbar mit Rauschen? QRM als solche wären wirklich Störungen durch andere Sender, aber... > Ich habe gesehen, dass am Empfänger immer irgendwas reinkommt. > Oft invalid preamble aber manchmal auch ne valid preamble. ...die wirst du mit in der Auswertung kaum von durch Rauschen verursachten ungültigen Signalen unterscheiden können. Daher benutzt man ja auch eine Präambel, auf die man den Empfänger erst einmal synchronisiert. > PPS heißt bestimmt packet per second ? Ja, da wirst du Recht haben. > Im Moment gibt es ein Packet per Mausklick (also vergesst 100 PPS:-) und > die PER ist demzufolge eher 'ne Schätzung. Dann solltest du erst einmal entsprechend viele Frames übertragen, denn derartige Störungen kann man nur statistisch erfassen. Erst, wenn du den Störgrad kennst und seine Veränderung bei Änderung von Parametern wahrnehmen kannst, merkst du, was wirklich gegen die Störung hilft. > Kann jemand bitte den oben erwähnten RSSI Wert beurteilen. Tut mir leid, ich nicht. > Könnte Manchester zu einer stabileren > Übertragung beitragen? Ja, ich denke schon.
Hi Carsten, deine RFM22_Config.c ist viel aussagekräftiger als mein hex und bin Geschreibsel. Ein Vorschlag: Du postest die RFM22_Register struct und die enums / #defines etc., und ich vergleich dann die Register und poste die Register die sich von meiner Konfig. unterscheiden.
Hallo Analoger (Gast), wie du aus meinem ersten post entnehmen kannst habe ich es auch erst mit ein paar hex Zahlen versucht. Merkte dann aber sehr schnell, dass die Sache zu komplex ist und habe angefangen Übersicht und Ordnung zu schaffen. Hat mich einige Mühe gekostet :-) Gestern, ich weiß nicht warum, bin ich auf die page von Silicon Labs gesurft und bin auf die neue Version V26 des Register Rechners gestoßen (Si4432 Register Settings_RevV-v26.xlsx). Die Ausgaben unterscheiden sich nur um zwei oder drei bits. Aber jetzt geht’s!! Das die Dokumentation schlampig ist war mir gleich aufgefallen, aber dass die ein tool veröffentlichen, das gelinde gesagt Sch… rechnet, hätte ich nicht geglaubt. Langsam überkommt mich der Verdacht, dass HopeRF diese frühe Revision nur an uns Bastler abgeben kann. Naja. Also hier die header Datei. Hatte mir schon gedacht, dass diese Frage kommt. Vielleicht kann der Eine oder Ander etwas verbesser oder ergänzen. Welchen chip hast du im Einsatz? Gruß Carsten
Servus, ich hatte eine Zeit lang mit dem Chip (V2) zu tun. Und irgendwie hat anscheinend jeder die gleichen Probleme. I) Baut 30 MHz TCXOs ein. Dadurch verringert sich die fehlerhafte Frequenzverschiebung auf ca. 1/10, da diese meist gut abgestimmt sind. Leider sind diese meist relativ teuer und nicht so einfach verfügbar. Silicon Labs hat eine entsprechende Applikation Note zur Beschaltung. Es ist keine weitere Arbeit mehr für die Frequenzverschiebung nötig. II) Carsten H. schrieb: > RSSI ist 00 bis 03 wenn ich nicht sende. Aber auch wenn ich sende und > der Empfänger was kriegt ist RSSI blos max 53. Das sind laut Datenblatt > ungefähr nur -90dBm. Sender und Empfänger sind ca. 20 cm voneinander > entfernt un der sender powerd mit ca. 11dBm. Das ist zu wenig. Überprüfe, ob du die Leitungen für RX_Ant und TX_Ant richtig beschalten hast, da diese direkt auf den Umschalter (SPDT) am Antennenausgang führen. Zudem muss man die RSSI Register öfters abfragen, da diese manchmal seltsame Werte ausgeben. Pi*Daumen sollte ein Wert über -20dbm rauskommen. III) @Carsten H. Stell die Frequenz lieber direkt in 75h 76h ein, und verwende das Receiver Workaround aus dem Erratasheet. Ob das mit den Hopping Kanälen wirklich zu funktioniert, hab ich noch nicht getestet. Zu den Berechnungssheets. In die Tonne damit. Lieber selbst die Berechnungen in nem Excelsheet durchführen. IV) Warum gehen alle so auf den Sync-Word-Detect? IMHO ist dieser für unidirektionale Kommunikation überflüssig. (Außer bei FHSS zur Kanalidentifikation) Wird der Paket-Handler aktiviert, kann Empfängerseitig einfach der Valid Packet Received Interrupt ausgewertet werden. Dann in Register 4Bh, "Received Packet Length" nachschauen und den FIFO im Burst mit der Menge auslesen. Damit vermeidet man auch nen FIFO underflow. Nach der Aktion ´nen RX/TX FIFO reset durchführen. Leider weis ich nicht, wie´s mit dem Errata Receiver Workaround aussieht, ich führs nach jedem Paket aus. Wenn man die Pakete selbst stückelt und das Versenden manuell startet, dann braucht man auch keine Tresholds bei den FIFOs. Leider habe ich keine weiteren Unterlagen mehr, da ich nur im Praxissemester den Chip behandelt habe. Evtl. werde ich mit Version B1 ein Funkmodul mit uC als Semesterarbeit erstellen. Kommt aber drauf an, obs mein Prof zulässt, bzw. was anderes im Sinn hat. mfg Amaran PS.: >500m Reichweite in urbaner Umgebung
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.