www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR/ARM mit 3,3V an 5V I2C anschließen


Autor: David Epping (it-web)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie der Betreff schon sagt ist meine Frage ob ich einen Prozessor (in
meinem Fall ATmega8 und AT91RM9200) der auf 3,3V läuft direkt an einen
I2C Bus anschließen kann, dessen PullUps auf 5V liegen.
geht leider in meinem Fall nicht anders wegen einiger Chips, die 5V
brauchen, und dummerweise ihre Untergrenze für HIGH bei 3V haben.

reichen da die internen Dioden die der Prozessor gegen Vcc hat (hab ich
im ATmega8 datenblatt gesehn, hat der ARM die auch? ) oder brauch ich
externe?

Vielen Dank

Autor: Edd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Du könntest den Bus in einen 5V und einen 3V-Teil aufteilen, siehe
folgende App-Note von Philips (Seite 10):
http://wwwasic.kip.uni-heidelberg.de/lhcb/Publicat...
Vielleicht hilft Dir das.

-Edd

Autor: hmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, wenn die Ports an den 3.3V Bausteinen das abkönnen, würde ich da
garnix ändern.
Da du den Bus eh nur auf Masse ziehst, und nicht aktiv auf +5V legen
musst, macht das mischen dann auch kein Problem.
Ist halt nicht die sauberste Art, aber die 3.3V Bausteine sollten das
verkraften.
Was meinst du mit den Dioden?
Ich würde externe Widerstände, so ca. 3k3 (macht dann 5V/3k3 =1,5mA die
deine IC abkriegen), oder ähnlich nehmen.

Autor: David Epping (it-web)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich meine man kann (bzw. der avr hat das intern) eine diode zwischen die
signalleitung und die 3,3V versorgung hängen (polung so, dass höhere
spannungen auf der siganlleitung nach Vcc=3,3V abgeleitet werden)
so stelle ich sicher, dass maximal 3,3V an der signalleitung liegen.
der pullup widerstand würde den strom begrenzen.
merke aber grade, dass das in diesem fall ja nicht sinn der sache ist,
weil dann die 5V bauteile zwar die 3,3V ICs nicht zerstören können,
aber am eingang haben die ja dann auch nur 3,3V oder weniger, je nach
leitungslänge.

werd mir mal die application note anschaun, danke.

hab noch ne andere idee, aber evtl. ist das ja genau die :)

Autor: David Epping (it-web)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja die philips methode ist zwar relativ aufwendig, wenn man wenig platz
hat, aber ne überlegung wert.
ich denke sogar die signalleitung kann garnicht wie gewünscht auf 5V
gehen, selbst wennd ie 3,3V teiel das aushalten, eben wegen dieser
schutzdioden, die höhere spannungen unterbinden. da müsste ich dann
noch einen widerstand in serie schalten, was mir alle pegel auf
unschöne werte bringt.

Autor: smartie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die Atmel Eingänge sind 5V tolerant, die Ausgänge können als open Drain
geschaltet werden, da sollte 5V Peripherie kein Problem sein.

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo david,
wie du schon richtig festgestellt hast, hat der avr interne
ableitdioden gegen vcc. du solltest auf jeden fall die outputs als open
drain einstellen (geht das überhaupt beim avr?). in diesem fall stellt
sich am ausgang dann eine spannung von "vcc + diodenflußspannung"
(ca.3,7V) ein. ob das als high-pegel für die i2c bausteine reicht mußt
du mittels datenblatt klären.

wie die sache mit den ableitioden  beim arm aussieht weiss ich selbst
noch nicht, würde aber vermuten das es hier ähnlich wie beim avr sein
wird. beim arm kannst du die ausgänge als open drain einstellen, der
interne pull-up sollte auf jeden fall deaktiviert werden.

gruss
gerhard

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.