STM32 - SDIO und Micro-SD/MMC-Card

OP (Firma: EleLa - www.elela.de) #2422751
Hallo,

Ich möchte an den STM32F207Vx eine MMC Karte an die SDIO Ports an 
schließen.

Allerdings brauche ich auch möglichst viele UARTS (5 Stück) und kann 
somit die Pins SDIO_D2/3 nicht nutzen, da für UART4 verwendet.

Der STM32 SDIO kann mit einer Datenleitung genutzt werden, soweit die 
Doku.

Weiß jemand wie ich die Karte richtig beschalte/anschließe so dass es 
geht?
Die restlichen Pins, bekommen die einen PullUp/Down Widerstand?

Ich wollte jetzt kein SPI verwenden, wenn der STM32 bereits ein SDIO IF 
drin hat.

Danke für Tipps, Links und Demos im Voraus.

Grüße Markus.
Gast #2422815
>Allerdings brauche ich auch möglichst viele UARTS (5 Stück) und kann
>somit die Pins SDIO_D2/3 nicht nutzen, da für UART4 verwendet.

>Der STM32 SDIO kann mit einer Datenleitung genutzt werden, soweit die
>Doku.

Lass das bitte sein. Kastriere das SDIO nicht;)
Das ist ja Verschwendung pur.
Bau dir doch einen Software UART.
OP (Firma: EleLa - www.elela.de) #2422850
SW-UART geht nicht, der STM32 wird sehr viel zu Arbeiten haben, denn die 
anderen Schnittstellen müssen auch berechnet/bedient werden.
Ethernet als Web-Server ist da auch noch mit geplant.

Da ich in dem Board so viele Funktionen habe brauche ich das nun mal. 
Für einen extra UART Chip ist kein Platz mehr.

Ich weiß, dass damit SDIO "Kastriert" und ausgebremst wird, aber das 
nehme ich in Kauf, da ich nicht die Geschwindigkeit der Karte brauche.

Am liebsten hätte ich sogar gerne einen 6ten UART für eine 
Debug-Ausgabe, aber geht nicht da SDIO_CLK/CMD der gleiche Pin wie 
UART5_TX/RX ist (PD2/PC12).
Dann muss ich diese Ausgaben umbiegen auf einen anderen UART und den 
mehrfach benutzen.
Gast #2422856
>Ich weiß, dass damit SDIO "Kastriert" und ausgebremst wird, aber das
>nehme ich in Kauf, da ich nicht die Geschwindigkeit der Karte brauche.

Irgendwann wirst du das bereuen.

>Am liebsten hätte ich sogar gerne einen 6. UART für eine Debug-Ausgabe,
>aber geht nicht da SDIO_CLK/CMD der gleiche Pin wie UART5_TX/RX ist
>(PD2/PC12).

Hast du das Remapping schon voll ausgeschöpft?
OP (Firma: EleLa - www.elela.de) #2422879
Die SDIO Schnittstelle unterstützt lt. Doku bereits die ganzen CMD 
Befehle und mir scheint dass die Ansteuerung einfacher wird, da vieles 
SDIO ab nimmt. Ich habe jetzt zwar noch nicht so im Detail darüber 
gelesen (SW-Funktionen), da ich jetzt erst mal die HW plane, aber es 
muss doch mit SDIO möglich sein. Ich habe von ST kein Beispiel gefunden 
wie ich die Karte anschließen sollte.

Daher die Frage wie beschalte ich die SD-Karte richtig mit SDIO?
OP (Firma: EleLa - www.elela.de) #2422894
> Hast du das Remapping schon voll ausgeschöpft?

Ja.
PA1 brauche ich für RMII_REF_CLK, somit kann ich PA1 nicht für UART4 
nutzen.

SDIO_Dx Pins werden nur an einem Port-Pin für Remap angeboten.

UART5 und SDIO sind auch nicht kombinierbar.
Gast #2422904
Also wenn du bloß so eine olle MMC und keine SD anschließen willst, dann 
mach das Ganze doch schlicht per Software und laß die SDIO-Schnittstelle 
bleiben. Ich hatte sowas Ähnliches schon mal notgedrungen an einem LPC 
von NXP zelebriert, weil ich den Slave-Select für die SPI Schnittstelle 
woanders gebraucht hatte und das ganze SPI ohne dieses Signal nicht 
ging. Siehe angehängtes Archiv

W.S.
Angehängte Dateien:
Gast #2423354
Servus Markus,

fange gerade auch mit dem SDIO an. Hast Du dir schonmal den Beispiel 
Code der ST Eval Boards angesehen? Ich meine den vom ST3210E Eval Board. 
Da ist eine Implementierung für die SDIO Schnittstelle enthalten. Die 
Schnittstelle startet erst mit einer Leitung und schaltet dann auf vier 
Datenleitungen um. Ich glaube es gibt bei der Firmware auch die 
Möglichkeit auf zwei Datenleitungen zu schalten.

Gruß,
Ralf
OP (Firma: EleLa - www.elela.de) #2423478
Hallo Ralf,

Nein, lt. STM Doku nur 1Bit, 4 und 8.

So viel ich weiß sind die STM Sourcen nur das "Grundgerüst" ohne 
Dateisystem.

Es gibt im Netz ein paar SPI Varianten, die bereits FAT Dateisystem 
können:
http://elm-chan.org/
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/#chanfat_stm32

(zweiter Link hatte ich mal vor einigen Jahren auf einem ARM7/LPC mal 
getestet und hat auf Anhieb geklappt)

Daher denke ich, dass es wohl das einfachste sein wird SPI zu verwenden.
Vom ersten Link sollte es ein Port geben, wo jemand das auf SDIO 
umgeschrieben hat, ich kann das nicht finden.

Ich muss mir das erst mal noch genau durch den Kopf gehen lassen. Ich 
bin in jedem Fall noch dran und am suchen und auch noch nicht 100% 
sicher was ich mache.
Da die Platine erst gemalt wird bin ich noch frei.

Was würdest Du machen?
Gast #2423819
Hi Markus,

das elm chan FAT system habe ich bei mir quick and dirty mit SDIO 4Bit 
am laufen. Ging eigentlich relativ problemlos. Getestet habe ich 
allerdings noch nicht richtig da ich die Details noch nicht richtig 
verstanden habe. Wollte nur schnell mal was am laufen haben :-).
Die Quellen kann ich Dir geben.

Gruß,
Ralf
#2468075
Hallo Ralf,

könnest Du mir den Code bitte auch mailen?

Ich versuche schon seid einiger Zeit ein Beispiel zum Laufen zu 
bekommen, aber es klappt irgendwie nicht.

Das wäre wirklich klasse!

Mail Adresse: rasenderralph at gmx.de
#2468931
Ralph H. schrieb:
> Hallo Ralf,
>
> könnest Du mir den Code bitte auch mailen?
>
> Ich versuche schon seid einiger Zeit ein Beispiel zum Laufen zu
> bekommen, aber es klappt irgendwie nicht.
>
> Das wäre wirklich klasse!
>
> Mail Adresse: rasenderralph at gmx.de

Sorry, ich habe einen Typo in meine Email Adresse eingebaut. Korrekt 
ist:

rasender_ralph at gmx.de
Gast #2514305
Achso, falls das ganze noch aktuell sein sollte, wollte ich noch kurz 
wissen, wie das ganze dann genau aussehen soll.
Ich habe ein Display über eBay gekauft und dieses hat einen 
SD-Kartenslot schon eingebaut. Dieser wird nun über eine Stiftleiste 
herausgeführt.
Jetzt schließe ich eigentlich nur CLK, CMD, D0 und einen CS an.
Ist das soweit richtig?
Gibt es den CS schon im SDIO Interface? Hab jedenfalls keinen gefunden.

Wäre dankbar für Hilfe.

Dennis
Gast #2514327
Arne schrieb:
>> Stichwort: Debug-Printf
>>
>> Debugausgaben im Printf-Stil per Debugger empfangen.
> Über JTAG? Ist im Fall von STM32 & IAR & J-Link tödlich!


echt?
also aufm LPC mit Xpressodebugger geht sowas
mit dem STlink auch soweit ich das testen konnte

für mich ist IAR gestorben ..
das ding hat mir mal so derbe ne woche versaut ...
egal wie gut der sein soll ... 2500€  fürn popo

jede GCC variante is mir 1000x lieber als diese verkappte IDE
Gast #2514601
fdssd schrieb:
> für mich ist IAR gestorben ..
> das ding hat mir mal so derbe ne woche versaut ...
> egal wie gut der sein soll ... 2500€  fürn popo

Es wäre schön, wenn Du das Problem genauer beschreiben könntest. Wie oft 
liest man, dass ein Prozessor spinnt, obwohl das eigene Programm 100% in 
Ordnung ist.
Zu oft sitzt das Problem vor dem Rechner.
Gast #2514671
kann jemand mir kurz bei meiner Belegung des Controllers helfen?
hab ich das aus dem Datenblatt soweit verstanden? bzw gibt es einen 
bestimmten pin für den CS?
#2518903
Ralf schrieb:
> Hi Markus,
>
> das elm chan FAT system habe ich bei mir quick and dirty mit SDIO 4Bit
> am laufen. Ging eigentlich relativ problemlos. Getestet habe ich
> allerdings noch nicht richtig da ich die Details noch nicht richtig
> verstanden habe. Wollte nur schnell mal was am laufen haben :-).
> Die Quellen kann ich Dir geben.
>
> Gruß,
> Ralf

Hallo,

kannst Du mir bitte die Quellen per PN schicken?
Danke.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.