STM32f407 Werte für DMA zur Laufzeit ändern

OP #5371300
Lesenswert?

Hallo zusammen,

was ich vorhabe:
ich will eine Pulsfolge als Array anlegen und diese Sampels dann an den 
DMA übergeben, damit ich den DMA mit Software antriggern kann und so die 
Frequenz der Pulsfolge bestimme und über dem DAC ausgebe.
So weit so gut....

Meine Frage ist, kann ich wärend der DMA-Controller arbeitet, die Werte 
des Arrays ändern?

Im Referenz Manual steht, dass der Prozessor und der DMA-Controller sich 
den Instruktion Bus teilen und der Speicher so lange gesperrt wird.

Wie lang wird der gesperrt?
Kann ich zwischen 2 Triggern den Speicher verändern?
Ich möchte damit in der Laufzeit die Amplitude verändern.

Danke schon mal für die Antworten.

Markus
Gast #5371343
Lesenswert?

Markus E. schrieb:
> Meine Frage ist, kann ich wärend der DMA-Controller arbeitet, die Werte
> des Arrays ändern?

Ja, jederzeit.

> Im Referenz Manual steht, dass der Prozessor und der DMA-Controller sich
> den Instruktion Bus teilen und der Speicher so lange gesperrt wird.
> Wie lang wird der gesperrt?

Normalerweise für einen Speicherzugriff. Das sind dann so 6 ns. Zu 
lange? ;-)
Es gibt auch andere Betriebsmodi, da der DAC-Zugriff aber langsamer als 
der Speicherzugriff selbst ist, ist immer wieder Platz für freie 
Zugriffe aufs RAM.

> Kann ich zwischen 2 Triggern den Speicher verändern?

Ja, jederzeit.

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