Forum: Mikrocontroller und Digitale Elektronik (AVR) ADC Rechnung vs Lookuptable Verständnissfrage


von Gast (Gast)


Lesenswert?

Hallo Forum,

ich habe eine Verständnisfrage zum ADC. (in meinem Fall atmega8)

Der ADC ist ein 10-bit Wandler und kann 1024 zustände (0-1023) annehmen.
Will ich nun von einem angeschlossenem Widerstand (z.B. Poti, NTC etc.) 
auf eine physikalische Grösse schließen (z.B. Temperatur etc.) muss ich 
(ständig) eine Reihe von >8 bit Berechnungen machen. (ADC Register --> 
Volt --> Physikalische Grösse)

Wäre es nicht einfacher, oder zumindest 'legitim' eine Lookuptable mit 
den 1024 möglichen Zuständen des ADC in den AVR zu speichern ?

z.B. die Ergebnissregister des ADC sind high:00000010 low:00000000 also 
512d. Bei Uref =5V wären das 2.5V. Könnte dann nicht einfach an der 
512sten Stelle der Tabelle 2500 (in mv) stehen?

Ist es richtig, dass der Speicherbedarf für diese LUT dann (mit 16bit = 
2Byte) 2Byte*1024 Werte = 2048Byte=2KB beträgt ? Ist dies der Grund, 
warum man ADC Anwendungen nicht mit LUTs löst ?

Danke für Lesen und Antworten

von Route_66 (Gast)


Lesenswert?

Genau!
Tabellen macht man nur wenn man entweder
a) zu faul oder nicht in der Lage ist, eine vorgegebene Formel in 
Software zu "giessen",
b) die Berechnung zu lange dauert und man grosse Geschwindigkeiten der 
Datenverarbeitung braucht,
c) ein so kurioser Zusammenhang zwischen Eingangs- und Ausgangsdaten 
besteht, dass keine Formel möglich ist oder aufwändiger als eine Tabelle 
wird,
d) oder eiene Kombination aus a) bis c).

von Moritz E. (devmo)


Lesenswert?

So furchtbar sind die umrechnungen ja auch nicht. ein, zwei muls und 
eine handvoll adds, das ist weitaus fixer als der ADC für ein sample 
braucht. Für solche einfachen add/mul Rechnungen lohnt sich wegen 
vorhandenem hardware multiplier eine LUT nicht. Der Zugriff auf die LUT 
wird kaum schneller sein. LUTs machen sinn für nichtlineares wie SQRT 
und vielleicht DIV

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.