PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RFM12 auf EEPROM Socket des M32 Control (SPI zu schnell?)



florian0
30.12.2011, 23:06
Hiho,

ich hab nun schon seit mehreren Jahren einen RP6 hier umstehen aber nie wirklich viel mit angestellt. In der Anfangszeit schon aber dann hat mich irgentwie mein eigenes Leben "überrollt" (Schule, Ausbildung, etc.) und ich hatte keine Zeit mehr. Jetzt ist wieder Platz und ich bin motiviert :)

Ich hab mir irgentwann mal 2x RFM12 von Pollin gekauft aber es nie (wirklich nie) geschafft irgentwas mit den Dingern anzustellen. Das will ich ändern.
Man muss dazu sagen, ich hab auch Jahre später immernoch wenig Plan wie die Teile arbeiten. Mit SPI hatte ich noch nichts am Hut.

Eines ist auf dem Funk-AVR-Board von Pollin montiert. Das andere habe ich auf den freien EEPROM Socket des M32 "gefummelt".

Belegung (M32):

Modul -> Sockel
nSEL -> MEM_CS2 (PB1)
SDO -> SO / MISO
SDI -> SI / MOSI
SCK -> SCK
VCC -> VCC
2x GND -> GND
FSK/DATA/nFFS -> 10k gegen VCC
Müsste soweit stimmen.

Verwendet wird der Code von Benedikt (aus MK.net (http://www.mikrocontroller.net/topic/67273)). Auf dem Pollin-Board scheint er zu funktionieren. Immerhin wird laut LogicAnalyzer auf dem SPI meine zusendende Nachricht übertragen. (Ob das Modul auch sendet weis ich nicht. Woher auch, ich kanns ja nicht Empfangen).
http://img515.imageshack.us/img515/2102/logicpollin.th.png (http://img515.imageshack.us/img515/2102/logicpollin.png)

Auf dem M32 zickt das RFM etwas rum.
(Vorsicht jetzt kommt mein gefährliches Halbwissen ^^). Da das Modul auf dem SPI-Bus arbeitet, kann ich die SPI-Methoden der RP6-Lib verwenden.
Die Methode rf12_trans überträgt ja Daten (jeweils 2 Byte) vom oder zum Modul. Also erst writeWordSPI und dann readWordSPI.
Das SPI vom M32 läuft mit 8 Mhz. Ist das evtl zu schnell für das RFM-Modul?

Der Code läuft bis rf12_ready(). Da bleibt er in der while-Schleife bis die Akkus leer sind.

Änderungen am Code: rf12_init auf M32Control angepasst, rf12_trans verwendet Lib-Methoden. rf12_ready angepasst (möglichweise falsch?)

Wenn jemand mal Feedback geben könnte, wäre ich sehr dankbar :)

Gruß
florian0