A/D-Wandler ADS1255 antwortet nicht

Gast #1924018
Hat jemand einen funktionstüchtigen Programmschnipsel für den ADS1255?
Der ADS1255 auf meiner Leiterplatte antwortet nicht. Bevor ich den 
ADS1255 austausche, wollte ich ausschließen, dass ich einen (oder 
mehrere) Fehler im Programm habe.
Das Programm muss nicht ausgefeilt sein, Hauptsache es läuft und liefert 
Messwerte ab.
MfG
Gast
Zwischenzeitlich läuft bei mir das Auslesen eines Messwertes.
Hauptursache war die falsche Polarität für SPI. Der ADS 1255 erwartet
für den SCLK Takt im inaktiven Zustand L.

Noch nicht gelingt mir das Beschreiben eines Registers.
Um z. B.  die Verstärkung zu ändern, habe ich formuliert:

void einstellungen_ADS1255(void)
{
TXBUF0 = 0x52; //1. Kommando, 0101 schreiben zum Register;
               // 0010 = Reg 2=ADCON
TXBUF0 = 0x00; //2. Kommando, Anzahl der Bytes, die geschrieben werden
               //sollen -1;--> 1 Byte
TXBUF0 = 0x01; //Verstärkung = 2
}

Bei mir ändert sich der ausgelesene Wert nicht. Es bleibt bei dem Wert, 
der auch mit der Verstärkung = 1 gemessen wird.
Was könnte ich falsch machen?
MfG
Gast
>Was könnte ich falsch machen?

Du weisst nicht welchen uC du benutzt.
Ausserdem schreibst du in TXBUF0 ohne zu checken
ob die letzte Übertragung fertig ist. Hat dein uC da einen
FIFO?
Gast
>Ausserdem schreibst du in TXBUF0 ohne zu checken
>ob die letzte Übertragung fertig ist.
Danke für Deine Ferndiagnose. Hier war der Fehler.

Die Einstellung der Verstärkung funktioniert schon, an den anderen 
Parametern wird noch gearbeitet.

was wäre besonders wichtig, um rauscharme Messwerte zu erhalten? (nach 
Möglichkeit sollen alle 23 BIT verwendbar sein)
z. Zt. gehen die letzten 4-5 Bit bei kurzgeschlossenen Eingängen im 
Rauschen unter.
MfG
Wolfgang-G schrieb:
>>Ausserdem schreibst du in TXBUF0 ohne zu checken
>>ob die letzte Übertragung fertig ist.
> Danke für Deine Ferndiagnose. Hier war der Fehler.
>
> Die Einstellung der Verstärkung funktioniert schon, an den anderen
> Parametern wird noch gearbeitet.
>
> was wäre besonders wichtig, um rauscharme Messwerte zu erhalten? (nach
> Möglichkeit sollen alle 23 BIT verwendbar sein)
> z. Zt. gehen die letzten 4-5 Bit bei kurzgeschlossenen Eingängen im
> Rauschen unter.
> MfG

Gutes Layout, vernünftige Masseführung/trennung, 
Eingangs/Antialiasfilter, Referenzspannung filtern, Spannungsversorgung 
des ADCs u. der Referenz "rauschfrei", Over/undershoot an den digitalen 
Eingängen des ADCs verhindern (Serienwiderstand) falls während der 
Wandlung was über SPI übertragen werden muss (besser separaten SPI-Bus 
für den Wandler der dann während der Wandlung still ist) etc.pp.
Gast
Für diejenigen, die es interessiert: Nachdem das Beschreiben der 
Register jetzt funktioniert, konnte vor allem durch die Einstellung der 
Umsetzgeschwindigkeit auf 2,5 Umsetzungen/s das "Rauschen" auf 1-2 
Einheiten gedrückt werden. Bei 2,5V REF sind das nach meiner Rechnung 
ca. 1µV.   Damit kann man zufrieden sein.
Noch eine Frage: Was versteht man unter
>Over/undershoot an den digitalen Eingängen des ADCs verhindern 
>(Serienwiderstand)
MfG
Wolfgang-G schrieb:
> Für diejenigen, die es interessiert: Nachdem das Beschreiben der
> Register jetzt funktioniert, konnte vor allem durch die Einstellung der
> Umsetzgeschwindigkeit auf 2,5 Umsetzungen/s das "Rauschen" auf 1-2
> Einheiten gedrückt werden. Bei 2,5V REF sind das nach meiner Rechnung
> ca. 1µV.   Damit kann man zufrieden sein.
> Noch eine Frage: Was versteht man unter
>>Over/undershoot an den digitalen Eingängen des ADCs verhindern
>>(Serienwiderstand)
> MfG

Das Überschwingen bzw. Unterschwingen das bspw. bei einem Flankenwechsel 
auftritt (gefolgt vom Klingeln und Einschwingen)...
http://en.wikipedia.org/wiki/Overshoot_(signal)
http://www.analog.com/library/analogDialogue/Anniversary/20.html

Antwort schreiben

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