mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik A/D-Wandler ADS1255 antwortet nicht


Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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?

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/Anniv...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.