Forum: Mikrocontroller und Digitale Elektronik RFM 12 Modul und SD-Karte am Mega 16 / Mega 32 möglich?


von Zu Blöd ?? (Gast)


Lesenswert?

Ich habe da mal eine Frage:

Bei mir auf dem Tisch liegt das Pollin Funk Evaluationsboard und ist mit 
so einem RFM 12 Modul bestückt.

Im Keller liegt ein Olimex Mega 16 Experimentierboard und auch auf 
diesem ist ein RFM 12 montiert dazu noch ein SD-Card Sockel. (Ohne 
Karte)

Als Pegelwandler dient dieser SMD 74vlx... (Typ fällt mir gerade nicht 
ein und zum Lesen des Typs gehe ich nun nicht in den Keller).

Kann ich eigentlich gleichzeitig eine SD Karte und ein RFM 12 Modul an 
einen ATmega 16 / 32 hängen und abwechselnd z.B. Daten auf SD Schreiben 
und anschließend mit ChipSelect von SD auf RFM 12 schalten um die Daten 
dann via Funk zu verschicken.

Wie man die RS 232 mit Funk überträgt habe ich schon geübt. Das klappt 
und auch eine SD-Karte habe ich nach Klabunde schon erfolgreich 
beschrieben und gelesen.

Nun wollte ich Beides probieren. Weiß aber noch nicht so genau wie ...

Oder bin ich einfach: Zu Blöd ??

von Jean P. (fubu1000)


Lesenswert?

Hi,

> Kann ich eigentlich gleichzeitig eine SD Karte und ein RFM 12 Modul an
> einen ATmega 16 / 32 hängen und abwechselnd z.B. Daten auf SD Schreiben
> und anschließend mit ChipSelect von SD auf RFM 12 schalten um die Daten
> dann via Funk zu verschicken.

Ja.


> Nun wollte ich Beides probieren. Weiß aber noch nicht so genau wie ...

Blöd aber auch, jetzt musste doch noch in Keller. Nimm dein Olimex Board 
und stecke eine SD KArte herein, voila.

Gruß

von Zu Blöd ?? (Gast)


Lesenswert?

Hallo Fabian,

ich habe gestern abend und heute morgen schon ein paar Stunden mit dem 
Problem zugebracht.

Mein Lösungsansatz:

Ich habe hier im Forum aus den Artikeln zu dem RFM12 Modul die 
Senderoutine genommen. Mit einem Portpin das ChipSelect Signal auf den 
RFM12 geschaltet. Dann die Initialisierung für den RFM12 laut Artikel 
vorgenommen. (Hat ja schon einmal funktioniert.)

Dann habe ich mir aus dem Klabunde Code die Teile zusammengesucht, die 
ich zum Initialisieren einer SD-Karte brauche.

Chipselect auf SD-Karte 50 ms gewartet, Initialisierung der Karte 
gestartet.
(Hat ja auch schon einmal lose funktioniert. Ohne Funk)

Dann Datei anlegen und ab in die void main (void).

Eine Weile herumprobiert, die Daten vom USART, die reinkommen zu funken 
und nach dem Funken dann auf die Karte zu schreiben.

Nach einem Tastendruck dann die Datei auf der Karte geschlossen und auf 
meine Melde-LED gewartet, das die Datei fertiggeschrieben ist und ich 
die Schaltung zum Abziehen der Karte ausmachen kann.

Es wurden keine Daten gesendet und auch keine Daten auf die Karte 
geschrieben. Es wurde noch nicht einmal eine Datei angelegt.

Ich habe dann den bekannten, vorher funktionierenden Code für die 
SD-Karte genommen und den getestet. (Die HEX-Datei, nicht neu 
compiliert.) Sobald das RFM12 Modul steckt, wird nicht mehr auf die 
Karte geschrieben. Wenn ich die Sendesoftware (Die HEX-Datei, die vorher 
funktioniert hat.) in den Mega 16 packe und dann nur RFM12 auf dem Board 
habe, sendet das Modul. Schalte ich aus, stecke eine SD - Karte dazu und 
schalte wieder ein, dann sendet das RFM12 nicht mehr.

Die Portpin für ChipSelect sind definitiv unbenutzt es ändert auch nix, 
wenn die die CS Pin mit 10 k nach Masse oder Plus lege.

Also doch: Zu Blöd ??

von Jean P. (fubu1000)


Lesenswert?

Nana nun mal langsam und nit verzweifeln.
Also da ich das Olimex Board von dir nit kenne, wäre es schon mal gut 
einen Link hier reinzuhängen, um sich die Hardware zu betrachten.
Zudem wäre dein kompletter Code als Anhang auch nit verkehrt, dann schau 
ich mir (bzw. die anderen Forum User) sicher gern mal an.
Notfalls kann ich dir auch Routinen von mir raussuchen und abändern, das 
sie bei dir laufen.

Gruß

von Marcus (Gast)


Lesenswert?

Mal ne kurze FRage,

weil ich eben auch dieses Board nicht kenne, beides aber genauso, wie Du 
derzeit vorhabe.
Sind beide CS - Signale an einem Port oder an zwei verschiedenen?


Gruß Marcus

von Jean P. (fubu1000)


Lesenswert?

Das ist frei wählbar, solange der SS-Pin vom PORTB auf Ausgang 
geschaltet ist im Master Mode.

Gruß

von Marcus (Gast)


Lesenswert?

Hallo Fabian,

meine Frage bezog sich darauf, ob nun die SS-Signale der Devices an 
seperaten Ports liegen, siehe:
http://www.atmel.com/dyn/resources/prod_documents/doc2585.pdf

Oder wie teilweise auch im Netz geschildert, aber IMHO falsch, indem 
alle SS-Signale miteinander verbunden sind und die MOSI und MISO 
geschleift sind.
In wie weit man was machen kann, ist mir zwar noch nicht so ganz klar, 
aber o.g. Vorgehensweise funktioniert bisher immer ... .

Gruß Marucs

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.