ADC 12Bit - Byte-Interpretation

Gast #4613009
Lesenswert?
• ▲
▼
Moin,
ich habe einen AD-Wandler mit 12 Bit Auflösung. Der digitalisierte Wert 
meiner analogen Eingangsspannung wird als "2 byte" ausgegeben, 
beispielsweise 0x8e18. Hierbei handelt es sich um 16 Bit=2 Byte. Mein 
ADC unterstützt jedoch 12 Bit, wie bekomme ich demnach das korrekte 
Ergebnis bei einer VDD von 3,3V?
Gast #4613047
Lesenswert?
• ▲
▼
Es handelt sich hierbei um einen AD799x. Soweit ich recherchiert habe, 
wird unter Linux mit dem i2c-tool das LSB zuerst angegeben. Würde ich 
demnach 0x8e01 erhalten, ist mein Ergebnis 01 8e. Anschließend erfolgt 
die Umwandlung in das Binärsystem und "abschneiden" der letzten 4 Bits? 
Habe ich das richtig interpretiert?

Diese sind laut Datenblatt im Control Register unbelegt, nur was 
passiert, wenn diese im Ergebnis doch gesetzt sind?
Gast #4613112
Lesenswert?
• ▲
▼
Felix C. schrieb:
> weder vorne noch hinten würde es Sinn machen 4 Nullen "abzuschneiden".

0x8e18 sagt eigentlich nur aus, dass es ein Zweierkomplement ist, d.h. 
der Wert muss entsprechend intepretiert werden. Da "schneidet" man keine 
Nullen ab. Genaueres erläutert dir  - wie oben schon gesagt - das 
jeweilige Datenblatt bzw. das weltumspannende Netz.
Gast #4613168
Lesenswert?
• ▲
▼
Kleiner Hinweis am Rande. Mein Ergebnis vom Config-Register ist 0x0800, 
demnach 0000 0000 1000 (Default, laut Datenblatt). Wenn ich dieses 
Überschreiben möchte mit i2cset -y 1 0x21(ChipAdresse) 0x02 (Config 
Register) 0x06  erhalte ich dennoch die Default-Einstellung
#4613213
Lesenswert?
• ▲
▼
Ludmilla schrieb:
> 0x8e18 sagt eigentlich nur aus, dass es ein Zweierkomplement ist, d.h.
> der Wert muss entsprechend intepretiert werden. Da "schneidet" man keine
> Nullen ab. Genaueres erläutert dir  - wie oben schon gesagt - das
> jeweilige Datenblatt bzw. das weltumspannende Netz.

Ludmilla schrieb:
> Ups...
>
> Datenblatt angeschaut, nix mit Zweierkomplement.

Zum Zeitpunkt meines Beitrages hat der TO noch gar nicht geschrieben um 
welchen Sensor es sich handelt. Kein Grund gleich so patzig zu werden.

Ausserdem...

Selbst wenn es ein signed 12-bit Wert gewesen wäre, wäre sicher Bit 11 
und nicht Bit 15 ausschlaggebend für das 2's Complement. Oft genug sind 
die 4 "überflüssigen" Bits ausserdem undefined.

Edit: Wären Bit 15:12 oder 3:0 Nullen gewesen wären dies immerhin ein 
Indiz auf die Ablage des 12 Bit-Wertes innerhalb der zwei Byte 
gewesen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren