STM32F103 DMA Geschwindigkeit

#5813645
Lesenswert?

Hallo zusammen,

hab gerade einen Test mit der DMA vom STM32F103C8T6 gemacht.
Zwei Arrays mit 1024 Words (32Bit) angelegt und eines mit Zahlenmuster 
gefüllt.
Dann DMA angeschmissen und kopieren gesagt.
Im Debugger geschaut, wie lange es dauert, bis die DMA den ganzen 
Krempel kopiert hat.
Ergebnis: Vom STR Befehl zum Enablen des DMA Channels bis zum nächsten 
Befehl (STR dauert 2 Takte, FCPU = 72MHz) waren alle Daten kopiert.
Das entspricht einer Datenrate von 1024 * 4 Bytes / 27,78ns = 147,456 
GB/s.

Das kommt mir spanisch vor.
Datenübertragung natürlich MEM2MEM.
Habe ich was falsch gemacht bei der Messung oder läuft die DMA trotz 
Breakpoint weiter?
Wo steht, wie schnell die DMA maximal ist?

Grüße
Gast #5813667
Lesenswert?

Wenn ich wissen will wie lange "etwas" dauert dann setze ich
zu Beginn des fraglichen Vorgangs einen Portpin und setze ihn
an Ende wieder zurück. Die Zeit zwischen den Flanken messe
ich dann mit dem Oszilloskop aus.

Wenn ich kein Oszilloskop habe dann kann ich den DWT Cycle
Counter verwenden um die Anzahl der Taktzyklen zwischen
Beginn und Ende "auszuzählen".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren