Forum: Mikrocontroller und Digitale Elektronik DMA : grundlagenfrage


von Le_Roi (Gast)


Lesenswert?

Hallo,

Also habe dereits gegooglet und überall ist zu lesen:
DMA : entlastet die CPU!
meine Frage ist:
1. wann genau lohnt es sich ein DMA zu emplementieren?
2. kann man Überhaupt die CPU über seine Grenze ziehen?

weil irgenwo in einem Forum war dies zu lesen:

"Je nach Projektumfang können relativ einfache
USB-Devicecontroller verwendet werden, welche lediglich eine SIE und 
eine Schnittstelle zur Kommunikation mit dem Gerät bieten. Alternativ 
kann ein komplexeres Modell benutzt werden, welches mit einem 
Mikrocontroller gekoppelt in einem Gehäuse angeboten wird. Diese 
Variante ist insbesondere dann zu favorisieren, wenn die Schaltung keine 
weitere CPU zur Datenflusssteuerung besitzt.
Für die Nutzung von DMA führt jedoch kein Weg an den komplexeren
USB-Devicecontrollern mit integriertem Mikrocontroller vorbei, da 
dieser, wenn er als DMA-Master arbeiten soll, die Adressierung der 
Datentransfers vornimmt. Da der F2812 im Vergleich zu den Modellen der 
6000er DSP-Serie (DSP von TI) nicht sehr leistungsfähig ist, und mit 
einer Taktung von 150 MHz eine High-Speed USB-Datenverbindung nicht voll 
ausnutzen kann, kann aus Gründen der begrenzten Bearbeitungszeit bewusst 
auf die Implementierung eines USB-DMAMasters verzichtet."


MfG

von Falk B. (falk)


Lesenswert?

@ Le_Roi (Gast)

>Also habe dereits gegooglet und überall ist zu lesen:
>DMA : entlastet die CPU!

Stimmt.

>1. wann genau lohnt es sich ein DMA zu emplementieren?

Wenn die CPU andere wichtige Sachen machen will/muss.

>2. kann man Überhaupt die CPU über seine Grenze ziehen?

Überlasten? Nein, mehr als mit Volldampf arbeiten kann sie nicht.

>weil irgenwo in einem Forum war dies zu lesen:

>Datentransfers vornimmt. Da der F2812 im Vergleich zu den Modellen der
>6000er DSP-Serie (DSP von TI) nicht sehr leistungsfähig ist, und mit
>einer Taktung von 150 MHz eine High-Speed USB-Datenverbindung nicht voll
>ausnutzen kann, kann aus Gründen der begrenzten Bearbeitungszeit bewusst
>auf die Implementierung eines USB-DMAMasters verzichtet."

Naja, es lohnt sich für diese DSP scheinbar nicht, DMA zu nutzen, weil 
die Daten zwar schnell kopiert werden können (von der DMA) aber danach 
der DSP zu langsam ist, sie zu verarbeiten. Also kann der DSP gleich 
selber die Daten kopieren und verarbeiten.

MFG
Falk

von Le_Roi (Gast)


Lesenswert?

Hallo Falk

du schreibst : "Naja, es lohnt sich für diese DSP scheinbar nicht, DMA 
zu nutzen, weil
die Daten zwar schnell kopiert werden können (von der DMA) aber danach
der DSP zu langsam ist, sie zu verarbeiten."

genau Hier würde es sich doch lohnen ein DMA zu benutzen oder?

von Falk B. (falk)


Lesenswert?

@ Le_Roi (Gast)

>genau Hier würde es sich doch lohnen ein DMA zu benutzen oder?

Kann man so allgemein nicht sagen. Dazu müsste man schon genauer wissen, 
worum es geht und welche Eigenschafen der DSP hat und welche Aufgabe 
gelöst werden soll.

MFG
Falk

von Benedikt K. (benedikt)


Lesenswert?

DMA ist dann sinnvoll, wenn Daten wirklich nur kopiert werden sollen, 
ohne verarbeitet werden zu müssen.
Beim PC sind das z.B. Grafikdaten von einem Hardware Videodekoder in den 
Grafikspeicher, oder bei einem USB Slave die Daten von USB an eine 
serielle Schnittstelle o.ä. Der µC in den USB Slaves dient nur zur 
Konfigurierung welche Wege die Daten nehmen.

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.