(AVR) ADC Rechnung vs Lookuptable Verständnissfrage

Gast #1068099
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
Gast #1068166
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).
#1068270
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.