CODEC initialisieren / DC-Offset von ADC ist falsch

OP #5807714
Ich versuche seit Wochen ein Audio Codec (Cirrus logic CS4272 
https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf) in Betrieb 
zu nehmen und drehe langsam durch. Bitte gebt mir paar Gedankenstöße.

Das Problem ist: DC-Offset nach der Initialisierung ist immer zu 
niedrig.

Was sein muss:

0VA   => 0x00000000
2,5VA => 0x80000000
5VA   => 0xFFFFFFFF

D.h. ich muss mit einer analogen Vorschaltung jeweils 2,5V (VCOM) auf 
ADC-Inputs addieren. Alle analogen Schaltungen sind nach Datenblatt 
gebaut und funktionieren korrekt. An ADC Inputs vom CODEC liegen 
tatsächlich 2,5V an. Also das blöde Ding muss mir da ungefähr 0x80000000 
(2,5V) liefern nach der Init. Doch es liefert mir Digitalwerte 
equivalent zu ~ 0,5V.

Dieses Codec hat ein Bit, womit man den Hochpassfilter irgendwann 
deaktivieren kann und den aktuellen Offset-Wert speichern kann. Lt. 
Datenblatt sollte man das nach 2s nach der Initialisierung tun.

Es ist mir nicht klar, welcher Wert gespeichert wird, wenn ich das 
dieses Bit setze. Und zweitens warum es bei aktiviertem Hochpassfilter 
nicht automatisch auf den mittleren Wert einpendelt und warum ich das 
Hochpassfilter deaktivieren soll.

Die Wandlung funktioniert. Zur Probe ein Sinus mit 0,5V Amplitude 
angelegt und es wird konvertiert. Das einzige Problem scheint also 
falsches DC-Offset zu sein.

Habt ihr mir irgendwelche Inputs, wo ich noch suchen kann? :(
Angehängte Dateien:
Gast #5807739
Solocan Z. schrieb:
> Was sein muss:
>
> 0VA   => 0x00000000
> 2,5VA => 0x80000000
> 5VA   => 0xFFFFFFFF

Kannst du mal zeigen, aus welcher Beschreibung des Datenblatts du diese 
Zuordnung ableitest?

Ich lese dort folgendes:
Der full scale input voltage range deines ADC beträgt 1,13*VA, also bei 
dir wohl 1,13*5V=5,65V. Das ist aber der Peak-Peak Wert für den 
differentiellen Eingang. Der Messbereich geht also von -2,8V bis +2,8V. 
Und das Digitalsignal ist nicht unipolar sondern ein vorzeichenbehaftet 
(im Zweierkomplement).

Solocan Z. schrieb:
> An ADC Inputs vom CODEC liegen
> tatsächlich 2,5V an.

bitte mal spezifischer: was liegt an Ain+, was an Ain- und welche 
Spannung hat Vcom?
OP #5808504
Achim S. schrieb:
> Und das Digitalsignal ist nicht unipolar sondern ein vorzeichenbehaftet
> (im Zweierkomplement).

Du hast mir echt was geholfen! Vielen vielen Dank! Ich stand ewig aufm 
Schlauch und war zu blind das zu lesen, obwohl ich dachte, da stimmt was 
mit dem Datenformat nicht.

Also es war alles richtig. Nur ich blöder hab die Digitalwerte unipolar 
interpretiert. Einfach als signed interpretieren und alles stimmt.

@Achim S., schick mir deine Adresse, ich schicke dir ein kleines 
Geschenk :)
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 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.