Gast
#3565403
Guten Abend Ich befasse mich gerade mit einem einfachen SDIO Treiber aus einem der STM32 Examples (ich verwende ein ECBSTM32E Eval Board mit einem STM32F103ZE). Ich verwende aufgrund der höheren Datenraten das Send Multiple Block Kommando. Das Prinzip ist relativ simpel: Karte wird initialisiert (Block Length, ...) und dann werden die Daten via DMA auf die Karte übertragen, das Transfer Complete Flag gepollt und das Transmission Completed Kommando übertragen. Das funktioniert soweit auch ganz in Ordnung. Nach ersten Tests bei denen ich etwas hin und her geschrieben habe, stellen sich mir zwei Fragen: 1. Schreibe ich bspw. 5 Blöcke an 512Bytes an die Karte, stelle ich nach dem ersten Block eine erheblich grössere Verzögerung fest (siehe Anhang). Weiss jemand woher diese Verzögerung kommt? Evtl. durch den Sleep Mode? 2. Am Ende der Grafik sieht man zudem den Busy-State bei der die Karte am schreiben ist. Wieviele Blöcke kann ich nun schreiben bis die internen Buffer gefüllt sind? Die meisten Karten Datasheets sind ja eher für Marketingzwecke... Wo kann ich sowas rausfinden? Vielen Dank!
