Forum: Mikrocontroller und Digitale Elektronik DMA / ungenau


von abc (Gast)


Lesenswert?

Schönen Sonntag ...
ich habe in einem STM32 den DMA am Laufen, doch die DMA Ergebnisse sind 
um ca. 500! Schritte zu hoch. Bei einer Auflösung von 4096, messe ich 
bspw. anstatt den Wert 1700 in etwa 2200. Woran könnte diese 
Ungenauigkeit liegen..?

von Moabit (Gast)


Lesenswert?

Fehler..?

von R42 (Gast)


Lesenswert?

Na da ist bestimmt mal wieder R42 zu klein.

von Wolfgang (Gast)


Lesenswert?

abc schrieb:
> die DMA Ergebnisse

Du weisst schon, was DMA ist?
https://de.wikipedia.org/wiki/Speicherdirektzugriff

von abc (Gast)


Lesenswert?

Ja doch ... also rechnerisch (und wenn ich mit einem Multimeter direkt 
am Pin messe) müsste ich eben am ADC einen Wert von 1727 haben, bekomme 
aber einen Wert von 2351 ausgegeben. Nun die Frage, kann der DMA wenn 
dieser zu schnell? läuft da ein Problem machen ... DMA läuft mit 110Hz.

von Moabit (Gast)


Lesenswert?

Doch ... Fehler oder ...Problem?

von Wolfgang (Gast)


Lesenswert?

abc schrieb:
> Nun die Frage, kann der DMA wenn dieser zu schnell?
1
Kann oder kann er nicht?
Das ist hier die Frage.

von abc (Gast)


Lesenswert?

Mein Deutsch ist noch bisschen schwammig heute morgen, Restalkohol :-D
Ich meinte, ob der DMA so schnell mit dem Wandeln hinterherkommen kann. 
Gibt es da eine Frequenz, die für einen DMA sowas wie Standard ist?

von Christopher C. (trihexagon)


Lesenswert?

Du weißt schon, dass der DMA wesentlich schneller ist als der ADC? Also 
ein klares Nein! Warum probierst du es nicht einfach mal ohne DMA aus?

abc schrieb:
> DMA läuft mit 110Hz.

Der DMA läuft mit CPU Frequenz, wie kommst du auf 110Hz? So schnell 
läuft wahrscheinlich der ADC, oder?

von Dennis (Gast)


Lesenswert?

abc schrieb:
> Mein Deutsch ist noch bisschen schwammig heute morgen, Restalkohol :-D

Und du durchläufst nicht gerade etwa dein Ballmer-Peak?

http://xkcd.com/323/

abc schrieb:
> Ich meinte, ob der DMA so schnell mit dem Wandeln hinterherkommen kann.

Ja, genau das ist das Problem.Siehe:

Wolfgang schrieb:
> Du weisst schon, was DMA ist?
> https://de.wikipedia.org/wiki/Speicherdirektzugriff

abc schrieb:
> Gibt es da eine Frequenz, die für einen DMA sowas wie Standard ist?

Nochmal:

https://de.wikipedia.org/wiki/Speicherdirektzugriff

von Purzel H. (hacky)


Lesenswert?

Wie immer bei dieser mageren Information .. der Fehler liegt auf Zeile 
42.

von #BIO (Gast)


Lesenswert?

Ahja jetzt, der DMA läuft natürlich mit der Taktfrquenz des STM32.
Meine DMA Interrupt Routine, in der dann die Wandlung stattfindet rufe 
ich über einen Timer mit 110Hz auf. Könnte es da Probleme geben? Zu 
schnell für den ADC?

von Falk B. (falk)


Lesenswert?

@#BIO (Gast)

>Ahja jetzt, der DMA läuft natürlich mit der Taktfrquenz des STM32.
>Meine DMA Interrupt Routine, in der dann die Wandlung stattfindet rufe
>ich über einen Timer mit 110Hz auf. Könnte es da Probleme geben? Zu
>schnell für den ADC?

Der herr belieben zu Scherzen? Schon man überschlagen, wieviel 
Berechnungen deine CPU bei ~9ms Periodendauer so machen kann?

von Christopher C. (trihexagon)


Lesenswert?

Also nochmal, tritt das Problem auch ohne DMA auf? Wahrscheinlich schon.

von W.S. (Gast)


Lesenswert?

abc schrieb:
> Ich meinte, ob der DMA so schnell mit dem Wandeln hinterherkommen kann

Dunkel war's - der Mond schien helle...

So, dein DMA wandelt und der ADC transportiert. Fein. Monty Python 
Sketch: Der Tourist im Zigarettenladen.

Leute, heut ist (glaub ich zumindest) NICHT Freitag.

W.S.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich werde diese Schallplatte nicht kaufen. Sie ist voller Aale.

von Peter D. (peda)


Lesenswert?

abc schrieb:
> ich habe in einem STM32 den DMA am Laufen, doch die DMA Ergebnisse sind
> um ca. 500! Schritte zu hoch.

Das ist Quatsch, ein DMA rechnet keine Ergebnisse aus, sondern 
transportiert nur Daten zwischen Interface und RAM.
Prüfe ganz einfach erstmal den ADC ohne DMA.

von W.A. (Gast)


Lesenswert?

abc schrieb:
> ich habe in einem STM32 den DMA am Laufen, doch die DMA Ergebnisse sind
> um ca. 500! Schritte zu hoch.

Bist du sicher, dass es nicht 512 Schritte sind?

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.