Forum: Mikrocontroller und Digitale Elektronik RFM12BSP - Kein nIRQ beim Empfang


von Josef K. (zumlin)


Angehängte Dateien:

Lesenswert?

Hallo

ich versuche seit kurzem zwei RFM12BSP Module mittels des rfm12 
"Treibers" von das-labor.org zu betreiben. Das Senden an sich sollte 
schon klappen, da die Interrupts, die ich durch das RFM12-Modul bekomme, 
zu passen scheinen. Leider habe ich auf der Empfängerseite keinerlei 
Interrupts. Nun ist die Frage, warum?

Auf der Suche nach dem Fehler habe ich mir mal das PWR Register 
angeschaut. Beim Empfangen, also so gut wie immer, steht es auf 0x87. 
Beim Senden auf 0x27. Das deckt sich nicht ganz mit anderen Beispielen, 
die ich gelesen habe, aber da der Treiber von das-labor.org auch bei 
anderen in Betrieb ist und meiner Meinung nach die entscheidenden Bits 
gesetzt sind, scheint das schon zu passen.

Nun habe ich mal versucht das Statusregister mitzulesen bei einem 
möglichen Empfang (siehe Bild im Anhang). Der Sender Sendet seine 16 
Byte Daten + Sync und Preamble und am Empfänger ändert sich das 
Statusregister zu 0x3E0. Damit sollte ich doch erkennen, das irgendwas 
angekommen ist, oder?

Bin mittlerweile ziemlich ratlos. Aber hier noch ein paar Fragen, die 
das Problem vielleicht verursachen.

1.) Ich habe ein RFM12BSP Modul mit einer Markierung auf der Platine bei 
433MHZ. Kann ich dieses Modul nur mit 433MHz betreiben oder kann ich es 
auch ohne zusätzliche Hardwareänderungen auf 868MHz umstellen?

2.) Kann ich zu Testzwecken mit einer Antenne für 868MHz auf mal 433MHz 
testen?

3.) Kann mir jemand den Kommentar bei "Interrupt nIRQ klappt nicht bei 
868MHz" bei http://www.mikrocontroller.net/articles/RFM12 erklären? 
Welche Änderungen sind das und warum soll mein FIFO IT Level auf 16 
hoch?


Schon mal Danke für's viele Lesen :)

von Josef K. (zumlin)


Lesenswert?

Und es funktioniert immer noch nicht. Ich gehe jetzt einfach mal davon 
aus, dass mein RFM12 Modul auch nur 433MHz kann. Deshalb habe ich alles 
auf 433MHz konfiguriert und eine neue Antenne angelötet, aber NICHTS!

Ich verstehe das einfach nicht. Warum klappt das bei allen außer bei 
mir? Jetzt habe ich sogar die Register mal an einen anderen Treiber 
angeglichen, aber wieder das gleiche Verhalten. Warum nur empfängt mein 
Empfänger nichts?

Die letzten Register, die am Empfänger geschrieben werden, sollten 
diesen jedoch aktivieren?!
1
  rf12_trans(0x82C8);      // RX on
2
3
  rf12_trans(0xCA81);      // set FIFO mode
4
5
  rf12_trans(0xCA83);      // enable FIFO

An was könnte das noch liegen? Lötstellen sind alle überprüft, 
Kabelverbindungen ebenso und die Empfängerhardware löst, falls man Sie 
als Sender konfiguriert, beim Senden ebenfalls ihre Interrupts sauber 
aus. Bei der Konfiguration als Empfänger kann ich "per Hand" auch einen 
Interrupt auslösen. Bin ratlos.

von Josef K. (zumlin)


Angehängte Dateien:

Lesenswert?

Hab hier nochmal den etwas veränderten Treiber von das-labor.org 
angehängt. Evtl. findet jemand von euch ja raus woran's liegt. Ich hab 
das schon so oft durchgeschaut, ich finde nix mehr :)

von tweaker (Gast)


Lesenswert?

hab auch mal die lib verwendet....
bin aber wegen solchen problemen auf die von jürgen eckert 
umgestiegen...

http://www.mikrocontroller.net/articles/AVR_RFM12

irq-> ext. int
fsk -> pullup
noch den spi-bus dran...
und die header-datei konfigurieren....

und es läuft...

von Josef K. (zumlin)


Lesenswert?

Hi,

ich hab irgendwie das Gefühl, dass ich das auch machen werde. :)

von Josef K. (zumlin)


Lesenswert?

Bin gestern nun auch auf die lib von jürgen eckert umgestiegen und es 
funktioniert alles einwandfrei. Ich habe sie nur durch meine SPI lib 
erweitert.
Ich habe aber keine Ahnung woran es nun letztendlich gelegen hat. Es 
kann nur eine Kleinigkeit gewesen sein.

von Alex E. (alex_e)


Lesenswert?

Das hatte ich auch, es war nur eine kleinigkeit, aber die war nicht aus 
dem Weg zu räumen weil die daslabor-lib extrem overloaded ist...
Für so einen Treiber kann man das wesentlich kompakter und 
übersichtlicher Schreiben...siehe lib von eckert...

Hab schon mal mit dasLabor gemailt, habe aber keine lösung bekommen...

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.