Forum: Mikrocontroller und Digitale Elektronik STM32f407 Werte für DMA zur Laufzeit ändern


von Markus E. (markuskc)


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

von m.n. (Gast)


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.

von Markus E. (markuskc)


Lesenswert?

Danke :-)
dann war mein Gedanke richtig.

Gruß
Markus

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.