DigitalPoti I2C - 5V - Absturz

Gast #4665439
Hallo,
ich betreibe mehrere ADCs und Dacs, die VDD von 2,7V bis 5,5V vertragen. 
Alle laufen über Raspberry Pi2 über den 5V Pin. Lediglich ein 
DigitalPoti ad5274 macht ärger. Dieser lässt sich über 3,3 V betreiben. 
Sobald ich aber 5V anlege und i2cdetect über eine Shell aufrufe, stürzt 
Raspberry ab. Es liegt aber nicht am Raspberry selbst. Hatte die 5V auch 
extern von anderen Geräten verwendet. Dennoch ist das Device nicht 
auffindbar. Es verträgt aber laut Datenblatt 5,5V maximal. Hat jemand 
eine Idee?
Gast
Michael W. schrieb:
> Sobald ich aber 5V anlege und i2cdetect über eine Shell aufrufe, stürzt
> Raspberry ab. Es liegt aber nicht am Raspberry selbst.

Doch - der Raspberry Pi verträgt keine 5V. GPIO, I2C, SPI, ... alles 
3,3V! Die sind explizit nicht 5V tolerant!
Ich habe es parallel mit einem BeagleBone Black getestet, selbe Spiel. 
Merkwürdigerweise funktioniert alle anderen ADCs und Dacs problemlos mit 
5V von BeagleBone und über die I2C Schnittstelle, nur der AD5274 nicht. 
Genau das ist mir ein Rätsel.

Zumindest für den ADC, der ja funktioniert benötige ich unbedingt 5 V, 
da meine Eingang Spannung 4 V hoch ist.
Gast
Michael C. schrieb:
> und über die I2C Schnittstelle, nur der AD5274 nicht.

genau das ist das Problem: Dert besagte Chip revoltiert immer ab etwa 
4,2 Volt! Weils ein NMOS-Chip ist! Der verträgt keine 5 V oder mehr! 
Applikation zu AD5274-Unterlagen genauer studieren, da gibts nämlich nen 
entsprechenden Hinweis dazu! Aber wer noch nicht lesen kann, solls sein 
lassen. Ist mein Tip!
Ich weiss nur, dass laut Datenblatt und Beschreibung VDD bis 5,5V 
beträgt.

Meine zweite Frage zum Hinweis von zweiten Beitrag : Wie kann der ADC 
mit 5V betrieben werden, wenn I2C nur bis 3,3V toleriert?

Spannungsteiler bringt mir nichts, der ADC muss 5V VDD haben und Vref 
wird dann ebenfalls auf VDD gesetzt, da ich Spannungen bis maximal 4V 
lesen möchte. Habe ich nur 3,3 V. Werden Spannungen grosser 3,3 nicht 
gelesen. Deshalb meine Frage, wo ich i2c Bus von BeagleBone tolerant 
mache? Level shifter? Was genau macht der? Wird der ADC mit 5 V 
betrieben während ein Level shifter zwischen Device und i2c Bus von 5 
auf 3,3 drosselt?
Gast
Michael C. schrieb:
> da ich Spannungen bis maximal 4V
> lesen möchte. Habe ich nur 3,3 V. Werden Spannungen grosser 3,3 nicht
> gelesen.

Na ja, wenn du den Spannungsteiler in die Messspannung einbaust, dann 
werden aus den 4V ja 3,3V - also von daher kein Problem.

Michael C. schrieb:
> Deshalb meine Frage, wo ich i2c Bus von BeagleBone tolerant
> mache?

da gibts schon Möglichkeiten. Aber ob du sie wirklich brauchst? Den 
AD5274 kannst du z.B. gerne mit 5V versorgen und seinen I2C-Anschluss 
trotzdem nur auf 3,3V betreiben (also Pullup auf 3,3V). Denn 2V reichen 
dem schon als Highpegel. Vielleicht geht das ja mit deinem ADC auch. Um 
welchen Chip handelt es sich denn?
Michael C. schrieb:
> Ich weiss nur, dass laut Datenblatt und Beschreibung VDD bis 5,5V
> beträgt.

Ja. Das ist der eine Teil der Wahrheit. Der nächste ist, dass kein 
Eingang eine höhere Spannung als VDD verträgt. Wenn Dein ADC mit 3.3V 
betrieben wird, dürfen an den ganzen Eingängen auch nur 3.3V anliegen, 
es sei denn, es ist ausdrücklich anders beschrieben.


> Meine zweite Frage zum Hinweis von zweiten Beitrag : Wie kann der ADC
> mit 5V betrieben werden, wenn I2C nur bis 3,3V toleriert?
>
> Spannungsteiler bringt mir nichts, der ADC muss 5V VDD haben und Vref
> wird dann ebenfalls auf VDD gesetzt, da ich Spannungen bis maximal 4V
> lesen möchte. Habe ich nur 3,3 V. Werden Spannungen grosser 3,3 nicht
> gelesen. Deshalb meine Frage, wo ich i2c Bus von BeagleBone tolerant
> mache? Level shifter? Was genau macht der? Wird der ADC mit 5 V
> betrieben während ein Level shifter zwischen Device und i2c Bus von 5
> auf 3,3 drosselt?

genau.

PCA9306 ist das, was Du suchst.

fchk
Im Prinzip hast du recht. Wenn ein Ausgang die maximale Spannung 5 V 
liefert und ich meinen Ad7997 mit 3,3 V betreiben kann ich die Spannung 
aufteilen, wobei 3,3 dann meinen eigentlichen 5 V entsprechen. Das waere 
am einfachsten oder eben einen Pegel Wandler. Was aber eher Sinn macht, 
wenn ich den ADC direkt an 5V betreibe. Ein Spannungsteiler ist das die 
einfachste Variante, zumal es nicht mal sehr präzise sein muss.
Gast
Achim S. schrieb:
> da gibts schon Möglichkeiten. Aber ob du sie wirklich brauchst? Den
> AD5274 kannst du z.B. gerne mit 5V versorgen und seinen I2C-Anschluss
> trotzdem nur auf 3,3V betreiben (also Pullup auf 3,3V). Denn 2V reichen
> dem schon als Highpegel. Vielleicht geht das ja mit deinem ADC auch. Um
> welchen Chip handelt es sich denn?
Gast
Michael C. schrieb:
> Ein Spannungsteiler ist das die
> einfachste Variante, zumal es nicht mal sehr präzise sein muss.

Dann ist das tatsächlich die einfachste Lösung.

Obwohl es auch beim AD7997 möglich wäre, den Chip mit 5V zu versorgen 
und den I2C-Anschluss trotzdem nur mit 3,3V laufen zu lassen. (Wenn auch 
vielleicht nicht mit der höchsten Geschwindigkeit).
Gast
Michael C. schrieb:
> Dennoch wundert es mich, dass der ADC mit 5V läuft.

Was meinst du mit diesem Satz? Dass der ADC generell mit 5V läuft 
wundert dich hoffentlich nicht, das ist eine typische Versorgung für 
ihn.

Oder wunderst du dich, dass du ihn mit 5V versorgen kannst und er 
trotzdem mit 3,3V am I2C klarkommen soll? Bei 5V Versorgung werden die 
digitalen Eingänge ab 2,4V als High-Pegel erkannt. 2,4V erreichst du 
auch mit einem 3,3V Bus. Alle Eingänge funktionieren also, und die 
Ausgänge sind open drain und denen ist egal, ob ihr Pullup gegen 5V oder 
gegen 3,3V geht.

Antwort schreiben

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