Forum: Mikrocontroller und Digitale Elektronik RFM01 reagiert nicht auf SYNC-Sequenz


von Philipp (Gast)


Lesenswert?

Ich versuche nun schon seit Samstag mein RFM01-Modul dazu zu bewegen, 
was zu empfangen, aber nun geb ich doch auf und bitte hier um Hilfe.
Das Ansprechen und Einstellen des Moduls scheint soweit auch zu 
funktionieren. Output-Takt lässt sich ändern und wenn ich die 
Startkondition des FIFOs auf VDI oder Always stelle empfange ich 
haufenweise wirre Zahlen..
Nur das Empfangen von meinen Daten klappt nicht. Als Sender dient mir 
ein RFM12, welcher auch funktioniert (Funkverbindung zwischen zwei 
RFM12s klappt problemlos). Der Empfänger ist an einem ATmega48 mit 8Mhz 
Takt angeschlossen und wir mit 5V versorgt.

Könnte sich vielleicht irgendwer die Zeit nehmen und sich mein Programm 
einmal ansehen (is nix großes, gibt nur empfange Zeichen per RS232 aus) 
oder hätte eine definitiv funktionierende Routine, welche in mir ansehen 
könnte?


PS.: Dieses Eingabefeld verleitet zu massenhaft Rechtschreibfehlern! 
Bitte verzeiht mir, wenn ich nicht alle im obigen Text gefunden habe.

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

AHRG, Anhang vergessen. Schon zu spät Nachts, sorry. :-S

von Philipp (Gast)


Lesenswert?

Hat das Ding denn noch niemand zum laufen bekommen?

von User (Gast)


Lesenswert?

> Datum: 24.11.2009 00:31
[ erste Anfrage ]

> Datum: 24.11.2009 12:33
> Hat das Ding denn noch niemand zum laufen bekommen?

Wow, was zahlst Du denn, wenn Du einen so flinken Support erwartest? ;-)

Nix für ungut, aber ein bisschen mehr Geduld wär schon nett, auf der 
anderen Seite des Netzes sitzen auch nur Menschen.

Ich hab erst mal nur kurz drübergesehen und was mir auffällt: Dir fehlt 
ein Päuschen nach dem Starten. _delay_ms(200) (eine funktionsfählige 
libc vorausgesetzt) sollte langen, damit das Modul erst mal Zeit 
bekommt, sich selbst in einen definierten Anfangszustand zu versetzen. 
Erst dann darfst mit der Initialisierung loslegen.

HTH

von Sauger (Gast)


Lesenswert?

Hallo,

und nicht vergessen vor und nach der Initialisierung ein "Status Read"
> rfphy_spi(0x0000);
einzufügen. Die Teile sind sonst ziemlich borstig.

MfG

von Sauger (Gast)


Lesenswert?

Nachtrag,

Du benutzt das RFM FIFO zu lesen, die SPI Frequenz ist beim auslesen 
dadurch auf <2,5 Mhz begrenzt!

MfG

von Philipp (Gast)


Lesenswert?

>Wow, was zahlst Du denn, wenn Du einen so flinken Support erwartest? ;-)
>
>Nix für ungut, aber ein bisschen mehr Geduld wär schon nett, auf der
>anderen Seite des Netzes sitzen auch nur Menschen.

Sorry, ich hatte einfach Sorge, dass mein Post in den morgendlichen 
Problemen untergeht und in Vergessenheit gerät.


Ein 200ms-Delay hab ich jetzt am anfang eingefügt, ebenso wie ein 
auslesen des Statusregister vor und nach der Initialisation, die 
Geschwindigkeit des SPI hab ich durch ein 1µs-Delay auf unter 1MHZ 
begrenzt.
Empfangen tue ich dennoch leider nichts... :(

von Peter R. (gelb)


Lesenswert?

Wenn ich mich recht entsinne, gibt es bei der Konfiguration der 
Modulations-Polarität einen Unterschied zwischen RFM12 und RFM01/02

Muss bei der 'TX Configuration Control' das mp-Bit sein. Dreh das mal 
versuchsweise um.

Edit: nur beim Sender.

Grüße, Peter

von Philipp (Gast)


Lesenswert?

Hat noch irgendwer Vorschläge?

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

Jetzt funktioniert es :)
Keine Ahnung, wo dran es lag.
Ich hab im Anhang den bei mir funktionierenden Code angehängt, für den 
Fall, dass noch jemand solche Probleme hat.

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.