Forum: Mikrocontroller und Digitale Elektronik DigitalPoti I2C - 5V - Absturz


von Michael W. (Gast)


Lesenswert?

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?

von Goa (Gast)


Lesenswert?

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!

von Mike C. (whitecrane22)


Lesenswert?

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.

: Bearbeitet durch User
von KUCKANEH (Gast)


Lesenswert?

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!

von Harald W. (wilhelms)


Lesenswert?

Michael C. schrieb:

> Zumindest für den ADC, der ja funktioniert benötige ich unbedingt 5 V,
> da meine Eingang Spannung 4 V hoch ist.

Dann setz doch einen Spannungsteiler davor.

von Mike C. (whitecrane22)


Lesenswert?

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?

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

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?

von Frank K. (fchk)


Lesenswert?

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

von Mike C. (whitecrane22)


Lesenswert?

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.

von TtemporaryTestUSer (Gast)


Lesenswert?

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?

von Achim S. (Gast)


Lesenswert?

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).

von Mike C. (whitecrane22)


Lesenswert?

Dennoch wundert es mich, dass der ADC mit 5V läuft.

von Achim S. (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.