ADC Daten von 2er Komplement in Integer wandeln

OP Persönliche Seite #6311812
Lesenswert?
• ▲
▼
Hallo,

Mein Ziel ist es 16 bit ADC Daten auf dem PC darzustellen.
Die Daten kommen von einem ADS1606 ueber einen ICE40 FPGA und landen 
dann in einer C# App.
Etwas laeuft schief mit den Daten, ich glaube es liegt an meiner 
Umwandlung vom Zweierkomplement zu binaeren Darstellung.

So liefert der ADC mir die Daten:
0x7FFF[FS]
0x0001[1]
0x0000[0]
0xFFFF[-1]
0x8000[-FS]


Und so wollte ich sie haben:
0xFFFF[FS]
0x0000[-FS]

So wandele ich die Daten mit VHDL um:
1
library ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.numeric_std.all;
4
...
5
TEMP <= std_logic_vector(unsigned(not(DATA_IN)) + 1);

Im Anhang sieht man, dass die negative Halbwelle um die Haelfte nach 
unten muss und die positive Halbwelle um die Haelfte nach oben.
Dann wuerde es stimmen.
Ich gebe einen Sinus auf den ADC.
Angehängte Dateien:
#6312193
Lesenswert?
• ▲
▼
Mark W. schrieb:
> So wandele ich die Daten mit VHDL um:
> ...
> TEMP <= std_logic_vector(unsigned(not(DATA_IN)) + 1);
Damit invertierst du doch alle Zahlen, auch die die schon "positiv" 
waren.

Also entweder ein signed Integer und
Salomux schrieb:
> PLUS 0x8000
das Ergebniss kannst du dann einfach als unsigned interpretieren.

Wenn du die Daten am PC als signed integer einliest, passt es auch 
wieder. Wenn dann wirklich noch ein offset drauf soll, kannst du das 
auch schnell vor dem Plotten machen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.