Embedded Systems und Firmware

Welchen Vorteil hat der Einsatz von DMA, wenn Wandlungsergebnisse eines ADC in gleichmäßigen Abständen in großer Zahl erfasst werden?

  1. ADie Auflösung des ADC steigt automatisch
  2. BDie Eingangsspannung wird automatisch größer
  3. CDie CPU muss nicht nach jeder Wandlung per Interrupt lesen, da DMA die Werte im Speicher ablegt, was die CPU entlastet
Antwort und Erläuterung anzeigen

Antwort: C. Die CPU muss nicht nach jeder Wandlung per Interrupt lesen, da DMA die Werte im Speicher ablegt, was die CPU entlastet

Liest die CPU das Ergebnis nach jeder Wandlung per Interrupt, verbraucht allein der Interrupt-Aufwand bei zehntausenden Erfassungen pro Sekunde einen großen Teil der CPU-Zeit. Mit DMA schreibt der DMA-Controller nach jeder Wandlung das Ergebnis der Reihe nach in ein Array im Speicher und informiert die CPU nur, wenn das Array voll ist. In Kombination mit einem Timer, der die Wandlung startet, lässt sich die Erfassung in exakten Abständen ohne CPU fortsetzen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Embedded Systems und Firmware

  1. Worauf ist zu achten, wenn Peripherieregister in C mit einer Struktur aus Bitfeldern dargestellt werden?
  2. Welchen Vorteil hat es bei vielen Mikrocontrollern, große unveränderliche Tabellen (z. B. Schriftdaten) mit const zu deklarieren?
  3. Was lässt sich mit Debug-Schnittstellen wie JTAG und SWD tun?
  4. Eine bestimmte Regelberechnung soll alle 1 ms ausgeführt werden. Welche Implementierung auf einem Mikrocontroller ohne Betriebssystem ist am besten geeignet?
  5. Welche Aufgabe hat die Brown-out-Erkennung (BOD, Brown-out-Reset) eines Mikrocontrollers?

Vergleiche zu diesem Thema