stm32f2xx: USART mit DMA sinnvoll ?

Gast #2961205
Lesenswert?
• ▲
▼
Guten Abend,

bezüglich der USART Kommunikation mit DMA zwischen Mikrocontroller 
stm32f2xx und PC hätte ich eine Frage. Würde es Sinn machen, wenn für 
eine USART Kommunikation (2MBit/s Datenrate) auf dem stm32f2xx ein DMA 
benutzt wird ? Die Puffergroße des DmaRxBuffer würde 4 Byte groß sein.

Vielen Dank im Voraus!
Gast #2961381
Lesenswert?
• ▲
▼
Leo schrieb:
> Guten Abend,
>
> bezüglich der USART Kommunikation mit DMA zwischen Mikrocontroller
> stm32f2xx und PC hätte ich eine Frage. Würde es Sinn machen, wenn für
> eine USART Kommunikation (2MBit/s Datenrate) auf dem stm32f2xx ein DMA
> benutzt wird

Natürlich. Erst recht bei dieser Datenrate.
Wenn der DMA Controller programmiert ist, kann die CPU
was Sinnvolleres tun, als Daten zu bewegen.

> ? Die Puffergroße des DmaRxBuffer würde 4 Byte groß sein.

Das wiederum weniger. Du würdest für die Programmierung des 
DMA-Controllers
ein Mehrfaches dieser 4 Bytes bewegen. Also sehr nicht sehr effizient.

Sinnvolle Puffergrössen pro DMA Transfer fangen bei einem
halben KByte an, 16 oder 32k wären besser (sofern der STM32 DMA
Controller überhaupt so viele Daten in einem
Rutsch bewegen kann.


>
> Vielen Dank im Voraus!
Gast #2961387
Lesenswert?
• ▲
▼
Des Weiteren ist es sinnvoll, wenigstens dann, wenn Deine
Daten von aussen in einem stetigen Strom ankommen, mit 2 - oder
auch mehr Puffern - zu arbeiten.

In den einen schreibt der DMA Controller, den anderen barbeitet
die CPU, wenn beide Puffer erledigt sind, wechselt das Spielchen,
d.h. die CPU liest den vorher vom DMAC gefüllten Puffer aus,
während der DMAC in den anderen schreibt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.