AVR mit SD-Karte und RFM12

Jul 03, 2008 9 Replies

Hallo Gruppe,



ich plane gerade ein kleines Projekt von mir und dabei stellt sich für mich die Frage, wie ich am günstigsten eine SD-Karte und einen RFM12 gleichzeitig an einen AVR anschließe - der hat ja nur eine SPI-Schnittstelle... wie kriege ich das also am einfachsten hin, dass sich die beiden Geräte nicht in die Quere kommen? Ich muss auf beide Zugreifen, da ich einen Block Daten lesen will und den dann per Funk an einen PC übertragen - muss sich also abwechseln.



Wenns natürlich einen AVR mit mehr als einer SPI gibt, den ich übersehen habe, würde ich freilich den nehmen, das wär am einfachsten.



Viele Grüße, Johannes


"Wer etwas kritisiert muss es noch lange nicht selber besser können. Es reicht zu wissen, daß andere es besser können und andere es auch besser machen um einen Vergleich zu bringen." - Wolfgang Gerber in de.sci.electronics

Hallo nochmal,

sorry für das Posting, das geht ja OFFENSICHTLICH über den CS bzw. SS. Ist mir gerade eben aufgefallen... :-/

Viele Grüße, Johannes

-- "Wer etwas kritisiert muss es noch lange nicht selber besser können. Es reicht zu wissen, daß andere es besser können und andere es auch besser machen um einen Vergleich zu bringen." - Wolfgang Gerber in de.sci.electronics

Hängt aber davon ab, ob die Bauteile ihre Ausgänge dann auch auf Tristate setzen, dann kannst du die einfach parallel verdrahten. Ist aber normalerweise so, wegen der parallelen Verdrahtungsmöglichkeit.

Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de

Oh - gibts da aber dann auch Ausnahmen? Das müsste ich natürlich sonst abklären vorher...

Viele Grüße, Johannes

"Wer etwas kritisiert muss es noch lange nicht selber besser können. Es reicht zu wissen, daß andere es besser können und andere es auch besser machen um einen Vergleich zu bringen." - Wolfgang Gerber in de.sci.electronics

Ich denke, dass Du mit Deiner Anfrage hier

formatting link
besser aufgehoben bist.

Die AtMega haben i.d.R. eine USART die auch den SPI-Mode beherrscht. Solltest Du trotzdem die serielle Schittstelle benötigen, schau dir den Mega644P an, der hat 2x USART und 1x SPI

Neben der Lösung mit der CS/SS Leitung kannst du, gerade wenn der Atmel der SPI Master ist, auch SPI sehr gut per Software implementieren, dann brauchst du bloss 4 beliebige IOs.

Jan

Solltest du vorher im Datenblatt der Teile nachschauen. Nehmen wir mal ein Flash:

formatting link

Da steht auf Seite 7, daß DO hochohmig ist, wenn CS high ist, würde also funktionieren.

Beim Datenblatt für den RFM12 bin ich mir nicht sicher:

formatting link

Steht nur was von Bus-Hold. Ist damit dasselbe gemeint? Falls es nicht geht, könntest du das aber auch extern relativ leicht mit einem 2-fach Multiplexer entkoppeln, falls du wirklich die hohe Geschwindigkeit brauchst, aufgebaut z.B. mit 3 NANDs eines 4-fach NANDs: NAND(NAND(in1, select1), NAND(in2, select2)).

Sonst geht auch einfach das SPI-Protokoll in Software zu schreiben für das Device, was weniger schnell sein muß. Wenn du das geschickt programmierst, dann kannst du damit sogar beide parallel ansteuern, also zumindest Clock auf beide gleichzeitig geben, Dout parallel updaten und Din parallel einlesen.

Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de

formatting link

Bus-Hold ist eigentlich eine hochohmige Rückkopplung intern, so daß der letzte Zustand am Bus 'hängenbleibt'.

- Henry

www.ehydra.dyndns.info

Moin!

ATMega48/88/168. Kompatibel zum Mega8, kann aber deutlich mehr.

Gruß, Michael.

SPI laesst sich auch ketten.

Gruss, Igor.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required