mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schutz von I²C-Bus


Autor: Hendrik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte meinen Controller mit verschiedenen Bausteinen über I²C-Bus 
miteinander verbinden. Ich wollte über eine Stiftleiste den Anschluss 
über weitere I²C-Bausteine möglich machen. Um den Bus vor 
versehentlichen Hochspannungen zu schützen, wollte ich den Bus mit ner 
Zener-Diode absichern. Damit mir die Diode bei Kurzschluss nicht 
abraucht, habe ich Längswiderstände auf dem Bus angebracht.
Da der I²C-Bus Open-Drain ist, muss man ihn über PullUp-Widerstand 
anbinden.
Dummerweise gibts dann aber über das Spannungsteiler-Verhältnis vom 
Längswiderstand und PullUp einen zu hohen LOW-Pegel auf der Leitung.

Kennt jemand ne Lösung, wie ich meinen Bus schütze und trotzdem 
vernünftige Pegel auf der Leitung bekomme ?

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dioden gegen Masse und Versorgung!

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der I2C ist ein LOKALER Bus und sollte eigentlich die Platine nicht 
verlassen. Und wenn's denn unbedingt sein muss, nimm einen I2C-Expander.

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:
Wozu diese Schutzbeschaltung? Wovor soll sie schützen?

"Hochspannung" ist ein dehnbarer Begriff. Mir fällt dazu folgendes ein:

1. statische Überspannungen beim Handhaben der spannungslosen Geräte / 
Bauteile: Die üblichen Vorsichtsmaßnahmen reichen gut aus, nichts 
erforderlich.

2. transiente Überspannungen beim "Zusammenstöpseln" von 
Systemkomponenten, während das System unter Betriebsspannung steht: Ist 
das tatsächlich nötig?

3. Fehlsteckungen: gründliche Prüfung vor Einschalten des Systems bzw. 
von vorneherein verpolungssichere Steckverbindungen vorsehen.

Und jetzt zur Schutzbeschaltung: Der Pullup-Widerstand einer I2C-Leitung 
beträgt sicher mindestens 1 kOhm (I2C-Spezifikation: Treiberstrom); 
damit bleibt für die Längswiderstände 47 Ohm als realistischer Wert 
übrig. Wenn es also tatsächlich nicht ohne Schutzbeschaltung geht, dann 
sollte diese Dimensionierung gut arbeiten.

Autor: Hendrik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Bernhard, deine Tipps waren wirklich sehr hilfreich. Ich denke 
auch, dass ich beim versehentlichen Anlegen von z.B. Versorgungsspannung 
(bei mir 12V) an eine I²C-Leitung kein guter Kompromiss zwischen Schutz 
und Funktion gefunden werden kann.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bensch:

>Der I2C ist ein LOKALER Bus und sollte eigentlich die Platine nicht
>verlassen. Und wenn's denn unbedingt sein muss, nimm einen I2C-Expander.

Was spricht dagegen, den I2C-Bus auch zwischen mehreren 
Platinen/Baugruppen einzusetzen, wenn die maximal zulässige Kapazität 
nicht überschritten wird ?

Ich frage deswegen, weil ich gerade ein modulares System 
(Baugruppenträger)entwickle, wo ein I2C-Bus über die Backplane geführt 
wird, der zweite über ein 3m-Kabel zu einem Handbedienteil.
Die Backplane arbeitet mit 400kHz ohne Störungen, das Kabel mit 50KHz, 
jeweils mit CRC gesichert.
Master ist ein LPC2148, die Slaves sind AVRs.

Gruß,
Martin

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin (Gast)

>Was spricht dagegen, den I2C-Bus auch zwischen mehreren
>Platinen/Baugruppen einzusetzen, wenn die maximal zulässige Kapazität
>nicht überschritten wird ?

Störeinkollungen und ggf. Masseverschiebung durch hohe Ströme. Wenn das 
nicht gegeben ist kann man I2C durchaus verlängern.

MfG
Falk

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk:

OK, dann bin ich erst mal beruhigt.

Auf unserer Backplane liegen unbelastete Masseleitungen zwischen den 
I2C-Signalleitungen, die stromführende Masseleitung ist 6-fach 
ausgeführt.
Das Handbedienteil braucht nur 100mA.

An Potentialverschiebungen hatte ich auch gedacht, weil es eine 
Motorsteuerung werden soll mit einigen Ampere Motorstrom. Bisher 
funktioniert es so sehr gut, aber der Test mit den dicken Motoren steht 
noch aus...

Mfg
Martin

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.