Forum: Mikrocontroller und Digitale Elektronik STM32F4 ADC und DAC synchron starten


von Matthias (Gast)


Lesenswert?

Hallo,
ich bin Neuumsteiger von AVR auf ARM. Es gibt im Netz einige Beispiele 
die zeigen, wie man den ADC oder DAC mit DMA und ohne DMA benutzt. Eine 
Sache ist mir aber nicht ganz klar: Ich würde gerne mit dem DAC ein 
Signal generieren, durch eine Schaltung schicken, und das Resultat mit 
dem ADC (schnell) messen (1-2 MSpS). Der ADC und DAC sollten dabei 
möglichst synchron laufen, also ohne oder zumindest mit bekannter 
Phasenverschiebung sampeln.
Ist es in so einem Fall besser über den DMA zu gehen, oder direkt zu 
lesen und zu schreiben? Wie gut ist es möglich ADC und DAC gleichzeitig 
zu starten?
Ich danke euch schon ein mal für eure Hilfe!

von Marius W. (mw1987)


Lesenswert?

Warum denn den Umweg über den DAC? Du könntest doch das Signal parallel 
auf den ADC und deine Schaltung legen...

Gruß
Marius

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Marius W. schrieb:
> Warum denn den Umweg über den DAC? Du könntest doch das Signal parallel
> auf den ADC und deine Schaltung legen...

Ich denke, das es um sowas wie ein Testgerät für z.B. Audio Schaltungen 
gehen soll. Der DAC erzeugt ein Signal per DDS und der ADC soll dann das 
Ergebnis aus der zu testenden Schaltung bekommen.

Bis auf wenige Taktzyklen Unterschied sollten sich zwei DMA ziemlich 
gleichzeitig anschubsen lassen. Ein etwaiger Offset kann aber sowieso 
einfach korrigiert werden, da die Startbedingungen ja bekannt sind.
Man muss aber betonen, das zumindest die ADC der F40x nicht besonders 
sind, es lohnt sich also, über einen externen nachzudenken.

von Ingo (Gast)


Lesenswert?

Man kann auch den ADC per Timer triggern. Das sollte mit dem DAC auch 
gehen. Also mal gucken ob du
Beide mit dem selben Timer triggern kannst oder ggf. Zwei Timer 
Synchronisieren.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Matthias schrieb:
> Ich würde gerne mit dem DAC ein
> Signal generieren, durch eine Schaltung schicken, und das Resultat mit
> dem ADC (schnell) messen (1-2 MSpS).

Ingo schrieb:
> Man kann auch den ADC per Timer triggern.

Das wird den MC aber bei 1Msps ganz schön auf Trab halten, denn irgend 
jemand muss dann die Daten abholen und auch noch was mit anfangen. Der 
DMA ist da schon das richtige, allerdings ist diese Samplerate 
vermutlich eher nicht drin.
Beim DAC sehe ich da keine Probleme, das wäre 'ne 'Fire-and-Forget' 
Routine, die praktisch komplett im Hintergrund läuft.

von Matthias (Gast)


Lesenswert?

Danke, dann werd ich ein mal die Methode mit DMA probieren sehen was 
dabei raus/rein kommt ;-)

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.