Forum: Mikrocontroller und Digitale Elektronik Zweierkomplment AD- Wandler umrechnen


von F. (Gast)


Lesenswert?

Hallo,

ich setze den 12 Bit AD- Wandler TPS1014 von TI ein. Der gibt mir sein 
Ergebnis in ein Zweierkomplment aus:

MAX     7FF0h
MAX/2   0010h
0       0000h
Min/2   FFF0h
Min:    8000h


Jetzt möchte ich die Werte in meinem MC umrechnen :

Max => 0FFF;

0   => 7FF;

Min => 000;

Wir kann man die Werte umrechnen? Jemand eine Idee?

von Stephan (Gast)


Lesenswert?

wo ist das Problem ?
IF  Testen ob das oberste Bit 1 ist.
   Then  alles negieren und 1 addieren.
Else  Alles nach dez überführen.

von Stephan (Gast)


Lesenswert?

ps:
was im Else steht, hängt davon ab was Du mit den Werten machen willst.
Das sind ja erstaml nur Zählerstände so zu sagen.

von Karl H. (kbuchegg)


Lesenswert?

auf signed int umcasten, durch 16 dividieren (um die 12 Bits 
zurechtzuschieben) und 2048 addieren.

genauso wie du auch einen Bereich -5 .. +5  in den Bereich 0 .. 10 
überführst: du addierst 5 :-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> MAX     7FF0h
> MAX/2   0010h    !!!! extrem nichtlinear
> 0       0000h
> Min/2   FFF0h    !!!! extrem nichtlinear
> Min:    8000h

Das glaube ich nicht.
Ich würde behaupten, es ist so:

MAX     7FF0h
MAX/2   3FF0h
+1      0010h
0       0000h
-1      FFF0h
Min/2   CFF0h
Min:    8000h

Und damit ist es einfach: nur (unsigned) 0x8000 addieren.
Und anschliessend um 4 nach rechts schieben, um auf die 12 Bit zu 
kommen.
Oder so, wie  Karl heinz Buchegger es schon geschrieben hat.

> TPS1014 von TI
Gibts nicht...

von F. (Gast)


Lesenswert?

Vielen Dank.


ich meinte des ADS1014....

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.