Forum: Mikrocontroller und Digitale Elektronik sdio problem mit 4bit-modus


von Grundschüler (Gast)


Lesenswert?

mit viel Mühe habe ich die sdio-schnittstelle des stm32f429-boards 
halbwegs zum laufen gebracht. Beim Initialisieren vom 4bit modus ergeben 
sich folgendes Probleme. Aus dem Programm heraus bricht die 
Initialisierung ab. Wenn ich den 4bit-init-Teil separat aufrufe, wird er 
ausgeführt:
1
    else if (SDIO_BusWide_4b == WideMode)
2
    {
3
      errorstatus = SDEnWideBus(ENABLE);
4
5
      if (SD_OK == errorstatus)
6
      {
7
        /*!< Configure the SDIO peripheral */
8
        SDIO_InitStructure.SDIO_ClockDiv = SDIO_TRANSFER_CLK_DIV; 
9
        SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising;
10
      #ifdef SDIO_DIRECT_CLOCK
11
      #warning "USE_SDIO_DIRECT_CLOCK@48MHz!"
12
        SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Enable; /* Nemui changed */
13
      #else
14
        SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable;
15
      #endif
16
        SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable;
17
        SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_4b;
18
        SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable;
19
        SDIO_Init(&SDIO_InitStructure);
20
      }
21
    }
An der auf dem Display angezeigten Schreibgeschwindigkeit ändert sich 
durch die Umstellung auf 4bit aber praktisch nichts.

Ausprobiert habe ich 3 8GB-sdKarten. Ergebnis für beide Modi:
Karte 1 ~600kbyte/sec
Karte 2 ~1200kbyte/sec
Karte 3 ~1900kbyte/sec

Meine Vermutung: Karte3 wird ohne besondere Initialisierung immer im 
4bit-Modus betrieben, bei den beiden anderen Karten funktioniert die 
Umstellung  nicht.

Frage: welche Schreibgeschwindigkeiten sind im 4-bit Modus zu erreichen?
Können die 1900kbyte/sec bereits 4bit-Modus sein?

von Grundschüler (Gast)


Lesenswert?

Die 4bit-Initialisierung läuft jetzt aus dem Programm heraus, Datenraten 
immer noch unverändert. Hat niemand Erfahrung mit SDIO-Datenraten?

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.