LTC2440 über SPI mit atmega 16 aulesen

Gast #2604393
Lesenswert?

Hallo Leute!

Um eine sehr kleine und möglichst genaue Spannung zu messen, wollte ich 
einen 24Bit SigmaDelta ADC verwenden(LTC2440). Zu Testzwecken habe ich 
deswegen nen Poti an den Eingang des ADC gehängt. Ansonsten habe ich die 
Pins laut Datenblatt verbunden. Zunächst wollte ich mir einmal die 32 
Bit anschauen, die der ADC rausshiftet und auf einem LDC anzeigen 
lassen.
Mein Code dafür habe ich angehängt. Nun bekomme ich lauter Einsen und 
Nullen auf meinem Display angzeigt. Das Merkwürdige ist, dass viele 
dieser Stellen sehr wackeln und die Vollauschläge des Potis nicht als 
(111...111) und (0000.....0000) gewertet werden. Zwischendurch erwisch 
ich mit dem Poti auch einen Bereich, in dem ich erkennen kann wie 6 Bits 
binär hochzählen, während die anderen nur wie verrückt wackeln. Dies 
lässt mich hoffen, dass der ADC funktioniert und ich die SPI - 
Verbindung falsch programmiert habe.

Hat jemand eine Idee, was an meinem Code alles falsch ist? :)

Viele Grüße
Kolja
Angehängte Dateien:
Gast #2604533
Lesenswert?

LTC2440 sind die gewandelten Daten mit Most Significant Bit first

Auszug Datenblatt Seit 11
Bits ranging from 28 to 5 are the 24-bit conversion result
MSB fi rst.

Das bedeutet, dass DORD auf 1 stehen sollte. Sonst mußt Du die Bitorder 
im Code anpassen.


######################################
AtMega xxx unter Registerbeschreibung des SPI-Interfaces

• Bit 5 – DORD: Data Order
When the DORD bit is written to one, the LSB of the data word is 
transmitted first.

When the DORD bit is written to zero, the MSB of the data word is 
transmitted first.
######################################


Außerdem fragst Du ohne darauf zu warten, dass der AD-Wandler seine 
Wandlung beendet hat, das Datenregister aus.

Bei anderen AD-wandlern muß man warten, sonst gibt es nur Müll aus 
Ausgabe.

Vielleicht ist das ja schon Dein Problem.

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