Hallo Wenn ich einen ADC implementiert habe bei dem STM32L476 Nucleo Board mit DMA. Wie kann ich ueberpruefen, ob dieser richtig funktioniert? Ich habe den ADC als differentiellen Eingang. Sprich wie sieht die Schaltung aus? Danke
> Wie kann ich ueberpruefen, ob dieser richtig funktioniert?
1. Durch Debugging
2. In dem du die Messwerte auf ein Display ausgibst
Ich habe keinen Display. Geht das irgendwie NUR mit Debugging? Ich muss doch irgend welche Werte zum Wandeln simulieren, wie mache ich das?
Welche IDE verwendest du? Debugging mit Eclipse: http://stm32discovery.nano-age.co.uk/open-source-development-with-the-stm32-discovery/getting-hardware-debuging-working-with-eclipse-and-code-sourcey Was willst du denn simulieren? Ich denke, du willst ein reales Signal messen?
:
Bearbeitet durch User
habe keil. nein ich will einfach ueberpruefen ob der adc korrekt umwandelt und der wert auch richtig im speicher uber dma landet und spaeter ausgelesen wird vom speicher.
> nein ich will einfach ueberpruefen ob der adc korrekt umwandelt und der wert
auch richtig im speicher uber dma landet
Und um das zu überprüfen, brauchst du ein abtastbares Signal am
ADC-Eingang. Wie willst du es sonst überprüfen?
ja stimmt. ich brauch ein reales signal. aber wie generiere ich ein differentielles signal, das ich messen kann?
D.I schrieb: > aber wie generiere ich ein > differentielles signal, das ich messen kann? Signalgenerator vielleicht???
D.I schrieb: > nein ich will einfach ueberpruefen ob der adc korrekt > umwandelt und der wert auch richtig im speicher uber dma landet und > spaeter ausgelesen wird vom speicher. Dann gib ein sauberes Sinussignal rein und gucke dir per FFT das Spektrum des im Speicher abgelegten Signals an.
Wolfgang schrieb: > D.I schrieb: > nein ich will einfach ueberpruefen ob der adc korrekt > umwandelt und der wert auch richtig im speicher uber dma landet und > spaeter ausgelesen wird vom speicher. > > Dann gib ein sauberes Sinussignal rein und gucke dir per FFT das > Spektrum des im Speicher abgelegten Signals an. wie meinst du das genau mit dem fft? was bringt mir das?
D.I schrieb: > wie meinst du das genau mit dem fft? was bringt mir das? Wenn du schon so fragst: dir nichts. Einem Fachmann ziemlich viel.
Ganz hab ich noch nicht verstanden was du genau testen willst. Möchtest du wissen, ob dein Programm den AD Wandler richtig bedient und die Werte dort landen wo du es erwartest oder möchtest du eine definierte, bekannte Spannung am Eingang des Wandlers anlegen und sehen, was der Wandler abliefert. Im Fall 1 hilft eine JTAGICE, eine serielle Schnittstelle, ein LCD usw. Im Fall 2 hab ich einen REF192 oder REF195 mit einer alten 9V Batterie und 0.01% Widerständen von MOUSER einen Spannungsteiler am Ausgang mit z.B. 10K, 100R, 10R (ich weiß, ein wenig übertrieben da so eine Genauigkeit eine ebenso präzise Platine benötigt, die ich aber nicht habe), ich habe damit 3 Spannungen zur Verfügung, messe mit einem FLUKE nach was da anliegt und sehe dann, was der Wandler mißt. Der Vorteil dieser Version ist u.a. die Potentialfreiheit der Referenzspannung. Mario
Ich würde auch einen Sinus o.ä. drauf geben. Wenn der DMA den Speicher voll geschaufelt hat, stoppst du den Debugger, liest den Speicher aus und siehst dir die Daten in Excel oder ich bevorzuge Octave/Matlab an. Einmal im Zeitbereich (da sieht man je nach dem auch schon ob was schief gelaufen ist). Oder auch noch im Frequenzbereich, das sind dann auch nur noch 10 Zeilen mehr im Skript.
D.I schrieb: > wie meinst du das genau mit dem fft? was bringt mir das? Die Abweichungen des im Speicher abgelegten Signals von einem idealen Sinussignal siehst du direkt im Spektrum als Oberwellen und Grundrauschen. http://www.analog.com/media/en/training-seminars/tutorials/MT-003.pdf
D.I schrieb: > ja stimmt. ich brauch ein reales signal. aber wie generiere ich ein > differentielles signal, das ich messen kann? Bau drei Widerstände als Teilerkette zwischen VCC und GND. Berechne die Widerstände so, dass am mittleren die Spannung deiner Wahl abfällt. Konktrolliere mit einem Multimeter, dass du richtig gerechnet und gelötet hast. Nutze den Spannungsabfall des mittleren Widerstands als differentielles Eingangssignal für deinen ADC. Für die simpelst-mögliche Funktionskontrolle sollte das reichen.
Hallo zusammen danke fuer die vielen Antworten danke an Achim S, Wolfgang mit dem hilfreichen Link, Frank und Mario Eduardo. ? Ich werde mal was probieren und auf euch nochmals zukommen.
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.