Forum: Mikrocontroller und Digitale Elektronik ADC und Zeitstempel


von Christoph T. (tentone)


Lesenswert?

Hallo Ihr lieben,

ich habe mal wieder ein kleines UTS (user to stupid) problem.
Und zwar habe ich einen STM32 und habe mir meine ADC Schnittstelle über 
DMA programmiert. Funktioniert auch super.
Bei der Datenauswertung bin ich jetzt auf folgendes Problem gestoßen, da 
mein ADC natürlich recht schnell arbeitet und meine USART-Schnittstelle 
wesentlich langsamer fange ich im Prinzip mit den ADC Werten nichts an.
Jetzt ist mir die Idee gekommen, dass ich ja jedem ADC Wert einen 
Zeitstempel geben kann.
Nur wie kann ich den mit einem uC realisieren?
ODer gibt es da eine andere Möglichkeit?


Gruß und Danke für Eure Hilfe.

Tentone

von Edimahler (Gast)


Lesenswert?

Wofür denn die Zeitstempel? Schreibe doch einfach Deine ADC-Werte in ein 
Array und lies dieses dann Wert für Wert bei der UART-Kommunikation 
wieder aus. Oder habe ich das Problem ev. falsch verstanden? Brauchst Du 
jeden Wert?

Falls Du gar nicht soviele Werte vom ADC brauchst wie Du kriegst gibts 
noch zwei weitere Möglichkeiten:

a) Löse nur dann eine AD-Wandlung aus, wenn Du auch wirklich einen Wert 
brauchst. Du kannst die AD-Wandlung somit auch langsamer = rauschfreier 
= stromsparender laufen lassen.

b) Schreibe die Werte in ein Array und mittle jeweils über mehrere 
Werte, so kriegst Du ein geringeres Rauschen. Theoretisch kannst Du so 
sogar noch zusätzliche Bits an Auflösung gewinnen, wenn Du z.B. 4 Werte 
addierst und dann nur durch 2 rechnest kriegst Du ein Bit mehr. Dieses 
Verfahren nennt sich Oversampling-Verfahren.

Gruss Simon

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.