PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anschluss von RFM12 an AVR



Jacob2
12.11.2008, 18:05
Hi,
ich hab vor den RFM12 an einen ATmega8 zu hängen. Die unterschiedlichen Bezeichnungen der Anschlüsse bei Funkmodul und AVR verwirren aber so, dass ich nicht weiß, wie ich das Funkmodul anschließen soll!
Die SPI Schnittstelle führt beim ATmega8 soweit ich weiß über MOSI, MISO, SS und SCK. Doch welchen Anschlüssen entsprechen sie am RFM12?

SCK -> SCK //Das ist klar
SDI -> ??
nINT/VDI -> ??
nSEL -> ??
SDO -> ??
nIRQ -> ??
FSK/DATA/nFFS -> ?? //Sehr rätselhaft^^
DCLK/CFIL/FFIT -> ?? //Auch keine Ahnung
CLK -> ?? //Wahrscheinlich der Takt, aber woher?
nRES -> ??

Irgendwo muss eingestellt werden, was Master/Slave ist! Der ATmega8 sollte in dem Fall Master sein oder?
Welche Anschlüsse brauche ich minimal um das RFM12 zu betreiben?

Hoffentlich nimmt sich jemand meiner an!^^

McJenso
12.11.2008, 19:01
Hallo,

im Datenblatt von Pollin auf Seite 2 stehen ja die Bedeutungen der Abkürzungen. :twisted:
Wenn du jetzt das hier noch weißt
MOSI - Master out, slave in
MISO - Master in, slave out
SS - Slave select (Oft findet man auch CS - Chip select)
SCK - Serial Clock

kannst du die Zuordnung der Signale herleiten.
Sonst frag halt noch einmal konkret nach. :wink:

Gruß

Jens

Edit: Habe gerade einen anderen Beitrag gefunden, der dich interressieren dürfte https://www.roboternetz.de/phpBB2/viewtopic.php?t=43974&start=0

Hubert.G
12.11.2008, 21:55
Das hier ist auch nicht schlecht: www.mikrocontroller.net/articles/RFM12

Jacob2
13.11.2008, 18:21
Vielen Dank für die Antworten!
Also, der AVR sollte dann Master sein oder?
Ist das dann so richtig:

SCK -> SCK
MOSI -> SDI
MISO -> SDO

Ist nSEL das SS(Chipselect) ?
Wenn nSEL also low ist, ist es Slave?
Ich könnte es also einfach an GND tun.
Muss ich am AVR dann noch einstellen dass er Master ist?
Wären das dann alle die man braucht so ganz ohne Specials("Basicanschluss")?

BurningWave
13.11.2008, 18:45
Also, der AVR sollte dann Master sein oder?
Ist das dann so richtig:

SCK -> SCK
MOSI -> SDI
MISO -> SDO

Ist nSEL das SS(Chipselect) ?
Wenn nSEL also low ist, ist es Slave?


ja.

mfg

Jacob2
13.11.2008, 18:58
ok vielen dank!

McJenso
13.11.2008, 19:07
Hallo,

habe gerade noch einmal 'gegooglet'. FSK/DATA/nFFS muss wohl noch über einen Pullup auf Versorgung gelegt werden. Wie der AtMega als SPI-Master funktioniert, kannst du dem Datenblatt entnehmen. Besondere Obacht ist dabei auf den SPI-Modus zu legen. Wenn man das verstanden hat, ist SPI recht einfach.

Gruß

Jens

BurningWave
13.11.2008, 19:35
Stimmt: FSK mit Widerstand von 10kOhm nach +

Jacob2
14.11.2008, 16:10
ok, um beim ATmega den Master-Modus zu aktivieren, muss ich im SPI Control Register MSTR setzen. Ist das mit SPI-Modus gemeint? Ich konnte nichts anderes finden!
Ich weis zwar nicht warum, aber das mit dem Pullup mach ich mal!

McJenso
14.11.2008, 16:32
Hallo,
das Register SPCR ist schon richtig. MSTR ist für den Mastermode. Für den SPI Mode sind die beiden Bits CPOL und CPHA zuständig. Siehe auch die Erklärung auf Seite 132. Dann musst du SPI grundsätzlich noch freigeben und dich um die richtige Frequenz des Clockpins kümmern. Das war es dann auch schon für die Initialisierung.
Ach ja MOSI und SCK müssen als Ausgang definiert werden. Aber das steht ja auch im Codebeispiel des Datenblattes (Seite 134).



Ich weis zwar nicht warum, aber das mit dem Pullup mach ich mal!

Ich auch nicht. Hatte mich seinerzeit zwar über die RFM informiert, bin dann aber bei einem anderen Funkmodul hängen geblieben.


Gruß

Jens