RFM22B auf Funktion überprüfen

Gast #2584561
Lesenswert?

Hallo zusammen!

Ich habe mir vor einiger Zeit ein paar RFM22B Funkmodule gekauft welche 
ich auch schon mit Beispielcodes von Ulrich Radig am laufen hatte...
Zum Test hatte ich einfach das RFM22B Modul mit einem Atmega88 auf einer 
Steckplatine.

Doch nun nachdem ich viele andere Testprogramme über mein unverändertes 
steckbrett drüberliefen, funktionieren die Module nicht mehr?

Die Anschlüsse habe ich schon mehrmals überprüft, der Atmega scheint 
auch zu funktionieren (Leds, Uart funktioniert) und das Programm 
auszuführen nur der RFM22B macht nichts..

Wie kann ich das am besten ohne Oszilloskop prüfen?
Moderator Persönliche Seite #2586427
Lesenswert?

Können die Registerwerte des Transceivers auf dem Modul noch ausgelesen 
werden? Wenn ja, dann wird der Fehler wahrscheinlich auf der "Funkseite" 
sein. Viel reparieren kann man da wahrscheinlich nicht, lohnt sich auch 
kaum.

Falls die Registerwerte nicht mehr ausgelesen werden können, die 
Verkabelung (VCC, GND, MOSI, MISO, SCK, CS) nochmals prüfen. SPI-Takt so 
langsam wie möglich. Vielleicht nur ein unzuverlässiger Kontakt am 
Steckbrett (hatte ich hier vor kurzem auch - elende Sucherei, zu 
billiges Teil). Übliche Verdächtige wie fehlenden Pull-Up bei CS und 
fehlenden Kondensator nahe am RFM22 sind ja bereits ausgeschlossen.

Ich habe hier die RF-Seite eines RFM22 durch zu hohe Betriebsspannung 
zerstört (nicht auf Spannung an den Programmierleitungen bei ISP 
geachtet, die ja per SPI auch am Funkmodul anliegen), Registerwerte 
konnte man bei dem defekten Teil dann aber dennoch auslesen/schreiben.
#2586483
Lesenswert?

horst schrieb:
> Kann man das Modul durch falsche Signale tot programmieren?
tot programmieren nicht, aber Möglichkeiten gibts einige
* AVR an NIRQ auf Ausgang gestellt
* NSEL angesteuert und gleichzeitig MISO am AVR auf Ausgang gehabt

Oder eben zu viel Spannung - notfalls auch über die Programmierleitung 
wie von Martin beschrieben

Sascha
#2587369
Lesenswert?

horst schrieb:
> Martin Thomas schrieb:
>> Können die Registerwerte des Transceivers auf dem Modul noch ausgelesen
>> werden? Wenn ja, dann wird der Fehler wahrscheinlich auf der "Funkseite"
>> sein. Viel reparieren kann man da wahrscheinlich nicht, lohnt sich auch
>> kaum.
>
> Wie mach ich das am besten?

lies mit der entsprechenden Funktion 'rf22_read()' ein paar Register 
aus, und lass den Wert auf ein Display oder über UART ausgeben. Nach 
einem Reset habe viele Register ja einen Default-Wert (siehe Datenblatt) 
den du dann auslesen müsstest.

Sascha
Gast #2587628
Lesenswert?

Wenn ich das auslese bekomm ich bei jedem auslesen andere Werte:

zB:
3000000
3000000
0000000
0000000
0000000
0127000
0000600
0000000
0000000
0000000
0000000
3000000
0101270
0000000


usart_tx_i ist meine Funktion für die ausgabe von Zahlen

usart_tx_i(rf22_read(0x06));
usart_tx_i(rf22_read(0x07));
usart_tx_i(rf22_read(0x08));
usart_tx_i(rf22_read(0x09));
usart_tx_i(rf22_read(0x0a));
usart_tx_i(rf22_read(0x0b));
usart_tx_i(rf22_read(0x0c));

Ich kenn mich nicht mehr aus.
Jedenfalls sind meine neuen Module unterwegs, dann sehen wir weiter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren