Forum: Mikrocontroller und Digitale Elektronik RFM12 CLK Out bleibt bei 1MHz


von Sebastian W. (dl3yc)


Lesenswert?

Hallo,

ich betreibe ein RFM12-Modul an einem AtTiny2313 mit dem Code aus dem 
Beitrag Beitrag "Beispielprogramm für RFM12 433MHz Funk-Module". Einzig die Pins habe 
ich angepasst(an die Pins für HW-SPI + PB4 als nSel und CLK an XTAL2) 
und die Wartezeit vor 0xC0E0 vergrößert(wie im RFM12-Artikel empfohlen).
Mit meiner 433MHz Handfunke habe ich als erstes überprüft ob er sendet - 
Fehlanzeige.
Mit der Forensuche kam ich zu folgende Indikatoren für eine fehlerfreie 
Kommunikation zwischen AVR und RFM:
 - nach der Initialisierung liegen am CLK Out 10MHz an
 - nach dem Power On ist im Statusbyte das Bit für den POR gesetzt

Wie im Betreff erwähnt bleibt der CLK Out bei 1MHz. Mit meinem Buspirate 
als SPI-Sniffer kann ich sehen, dass der RFM beim ersten Byte 0x40 auf 
SDO ausgibt. Somit scheint die Verbindung zumindest in eine Richtung zu 
gehen.

1.Frage: Ist es normal, dass das Statusbyte(mit dem POR...) immer direkt 
nach dem Power On ausgegeben wird? Im Datenblatt liest es sich so, dass 
erst wenn ich 0x0000 sende das Statusbyte ausgegeben wird.

2.Frage: Genügt es ohne weitere Initialisierung 0xC0E0 zu senden um die 
Taktfrequenz zu ändern?

Wenn ich den Tiny aus dem Sockel nehme und direkt mit dem Buspirate das 
Funkmodul versuche anzusteuern, funktioniert es auch nicht:
1. VCC einschalten
2. 0x0000 senden und 0x4000 empfangen <-- richtig
3. Frequenz messen: 1MHz <-- richtig
4. 0xC0E0 senden
5. Frequenz messen: 1MHz <-- falsch!

Die Verkabelung habe ich schon mehrfach gecheckt.

Wie es scheint, mache ich einen systematischen Fehler - bei genügend 
Forenmitgliedern funktioniert es ja.

Hat jemand eine Idee woran es liegen kann?

Vielen Dank im Vorraus,
Sebastian DL3YC

von Sebastian W. (dl3yc)


Lesenswert?

push

von Sebastian W. (dl3yc)


Lesenswert?

Problem gelöst: die Leiterbahn direkt am Modul war abgerissen -> sah man 
nur unter dem Mikroskop..

Antworten auf meine Fragen:

1: Nach dem Poweron wird nur das Statusbyte mit dem POR-Bit ausgegeben, 
wenn man 0x00 sendet. Ergo: Wird immer mit dem Statusbyte unabhängig von 
den gesendeten Daten vom RFM12 geantwortet, dann ist der 
Kommunikationsweg vom µC zum RFM gestört.

2: Ja, so muss es aussehen:
1. VCC einschalten
2. 0x0000 senden und 0x4000 empfangen
3. Frequenz messen: 1MHz
4. 0xC0E0 senden
5. Frequenz messen: 10MHz

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.
Lade...