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..?
abc schrieb: > die DMA Ergebnisse Du weisst schon, was DMA ist? https://de.wikipedia.org/wiki/Speicherdirektzugriff
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.
abc schrieb: > Nun die Frage, kann der DMA wenn dieser zu schnell?
1 | Kann oder kann er nicht? |
Das ist hier die Frage.
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?
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?
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
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?
@#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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.