AD7705 initialisierungs schwierigkeiten

Gast #2988206
Lesenswert?
• ▲
▼
Hi, ich habe eine paar Schwierigkeiten den AD7705 richtig zum Laufen zu 
bringen. Ich möchte ihn mit einem externem Quarz (2.4576MHz), 250Hz 
Datenrate, AIN1+ AIN1- Bipolar und einer Verstärkung von 128 nutzen.
Meine initialiseirung sieht folgendermaßen aus :
// write com register > AN1+, AN1- write clock register
SPI_send_byte(0x20);
// external clock, 2.4576MHz, CLKDIS=0, CLKDIV=0, CLK=1, FS1=1, FS0=0
SPI_send_byte(0x06);
// write com register > AN1+, AN1- write setup register
SPI_send_byte(0x10);
// selfcalibration, gain = 128, bipolar, no internal buffer, FSYNC = run
SPI_send_byte(0x78);
//warten bis DRDY->Low (signalisiert calibration ende)
while(PIND & (1<<PD2));
//dummy read to clear DRDY
SPI_send_byte(0x38);
SPI_send_byte(0);
SPI_send_byte(0);

so wartet sich mein µc beim warten auf DRDY zu tode,
wenn ich dem clock register anstatt 0x06 0x16 sende läufts, aber ich 
erhalte beim Auslesen der Daten :
SPI_send_byte(0x38);
SPI_send_byte(0);
SPI_send_byte(0);
werte um die 32768 was bei bipolar ja ok ist = 0V, aber in periodischen 
Abständen peaks(einzelner Wert) um die ~64xxx (selbst wenn AIN1+ und 
AIN1- auf GND liegen!)

Viel mehr als die peaks wundert mich aber das ich die Masterclock 
ausschalten muss (CLKDIS=1 bei 0x16 im clock reg) damit der ADC 
überhaupt läuft! Da kann doch was nicht stimmen.

Je nach dem ob ich dem ADC vor der initialisierung ein paar 0xFFs 
schicke (mindestens 4 um ihn zu resetten) ändert sich komischerweise 
auch die Dataoutputrate ( wird > 250Hz fast um die 333Hz ), was auch 
eigentlich niemals vorkommen sollte.
Was zum Henker mache ich da falsch???

Am Quarz habe ich 2 33pF Kondensatoren gegen GND,
mein µc läuft mit 16 MHz, SPI habe ich mit
// SPI = Master, SCKrate = Clock / 64
SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR1);
initialisiert.

MfG
Grobi

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]
  • [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.