Forum: Mikrocontroller und Digitale Elektronik i2c Pinbelegung Norm


von Matthias K. (oskito)


Lesenswert?

Hallo,

Ein Kollege hat mir gesagt, daß es für die Belegung der Pins b.z.w. der 
Reihenfolge beim i2c-Bus eine Norm gäbe.

Diese werde z.B. beim grove-System angewandt.


Gibt es so eine Norm oder eine Quasi-Norm wirklich?


Ich muß für einen i2c-Bus einen anderen Steckverbinder als bisher 
verwenden.
Bei dem Steckverbinder des bisherigen hat es im Datenblatt keine 
Vorgaben zur Zählweise gegeben.

Wie ist damit umzugehen, wenn sich bei einem Stecker, dessen Zählweise 
laut Datenblatt vorgegeben ist (1=markiert oder Kontakte sogar 
beziffert), eine andere Zählweise aus Schaltplan und LP-Layout ergibt? 
(in der Ansicht der Anleitung ist eine Reihenfolge vorgegeben, die von 
der kaum sichtbaern des DAtenblattes abweicht)

Führt die Abweichung zu allgemeiner Verwirrung - oder verläßt man sich 
üblicherweise auf die technische Zeichung / Bedienungsanleitung des 
Herstellers?

von Dr. Sommer (Gast)


Lesenswert?

Da I2C sowieso nur für auf 1 Platine gedacht ist gibt es da auch keine 
Stecker für...

von Martin W. (martin_s86)


Lesenswert?

Matthias K. schrieb:
> Ein Kollege hat mir gesagt, daß es für die Belegung der Pins b.z.w. der
> Reihenfolge beim i2c-Bus eine Norm gäbe.

Für ein Produkt oder den von dir hier nicht genannten Kontext kann es 
schon eine Art Standardisierung geben. Das kann dir hier aber keiner 
beantworten.

Der I2C-Standard (nicht Norm) definiert keinen Steckverbinder.

Wenn du einen Nutzen willst, musst du dir das selbst überlegen.

von Matthias K. (oskito)


Lesenswert?

Nun ja, diese Grove-System gibt es wirklich

http://wiki.seeedstudio.com/Grove_System/

Es kann ein eigenes System dieses Herstellers sein.

Es könnte aber auch tatsächlich einer Norm oder Quasi-Norm folgen.

von Martin W. (martin_s86)


Lesenswert?

Matthias K. schrieb:
> Es könnte aber auch tatsächlich einer Norm oder Quasi-Norm folgen.

Es ist aber nunmal nicht so wie Anfangs von dir vermutet, dass der I2C 
eine Belegung vorgibt die vom Grovewasweisich verwendet wird.

Wenn Grove der Meinung ist für sich die I2C-Pins festzulegen, muss du 
Grove fragen. I2C kann da nichts für.

von Matthias K. (oskito)


Lesenswert?

"Grove" hat der Kollege nur als Beispiel angeführt, das seine Aussage 
bestätigen soll.

Es handelt sich um eine Leiterplatte, auf der u.a. die Leitungen für 
Gnd; Vcc; SCL und SDA für die Verbindung zu Kunden-Geräten auf einen 
Stecker geführt werden.

Mein Problem ist, daß ich mit meiner Belegung bei dem firmeneigenen 
Projekt gerne einem Standard oder Quasi-Standard folgen würde, um 
Irritationen bei Kunden zu vermeiden.
(Ich möchte es möglichen Kunden einfach machen, unser Produkt zu 
nutzen.)


Wenn sich alle Welt auf eine bestimmte Pinbelegung verläßt, möchte ich 
mit meiner Belegung nicht neben der Spur fahren.


Wenn ich weiß, daß es keinerlei Standard oder Norm zur Reihenfolge der 
Pin-Belegung (z.B. Gnd; Vcc; SCL; SDA) gibt, dann kann ich mich getrost 
von den Gegebenheiten auf der Leiterplatte leiten lassen.



Daraus ergibt sich der zweite Teil der Frage, die sich an die 
professionellen Praktiker richtet:

Wie wird mit der Zählweise bei Steckern (in diesem Falle für i2c) 
umgegangen, wenn für ein Gerät der Anschluß z.B. eines Sensors geplant 
wird.

Richten sich die Entwickler in erster Linie nach dem Datenblatt des 
Steckverbinders?
Oder ist das Datenblatt des Steckers unwichtig und die Entwickler 
richten sich einzig nach der Zählweise des Baugruppen-Herstellers auf 
dessen TechDraw?

von Wolfgang (Gast)


Lesenswert?


von Norman (Gast)


Lesenswert?

Mach den Stecker vor allem so, dass man durch Verdrehen nicht VCC auf 
GND legt oder so...

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Die SMBus Header auf den ATX Mainboards sind doch recht einheitlich?

von Stefan F. (Gast)


Lesenswert?

Natürlich zählt man die Pins so, wie es der Hersteller des Steckers in 
seinem Datenblatt tut.

von Matthias K. (oskito)


Lesenswert?

Stefanus F. schrieb:
> Natürlich zählt man die Pins so, wie es der Hersteller des
> Steckers in
> seinem Datenblatt tut.

Dann habe ich ein Problem.

In der bisherige TechDraw mußte keine Rücksicht auf Vorgaben genommen 
werden. Für den Stecker gibt es keine Festlegung. Es wurde einfach von 
links nach rechts gezählt. (z.B. 1=GND 2=SDA 3=SCL 4=+3,3V)


Doch nun muß ich einen Stecker verwenden, in dessen Datenblatt Pin 1 
definiert ist.

Die mechanischen Gegebenheiten lassen aber nur zu, daß sich eine Zählung 
von rechts nach links ergeben würde, wenn man dem Datenblatt des 
Steckerherstellers folgt. (Dann läge außerdem GND auf 4; SDA auf 3; SCL 
auf 2 und 3,3V auf 1.)

Ein Verpolungsschutz ist bei beiden Steckervarianten vorhanden.

hm

Hat jemand eine Idee zu einer Lösung, die von gestrengen Kunden wohl 
akzeptiert wird?

von Florian (Gast)


Lesenswert?

Matthias K. schrieb:
> Hat jemand eine Idee zu einer Lösung, die von gestrengen Kunden wohl
> akzeptiert wird?

Dein Kunde hat keine Ahnung! Er macht eine Vorgabe weil er denkt die ist 
nützlich. So als würde er die Farbe einer Datenbank vorgeben!

von Purzel H. (hacky)


Lesenswert?

Nur schon die Idee, mit I2C von der Platine runter auf ein Kabel zu 
gehen ist schlecht. EMV : Abstrahlung und Einstrahlung.

von HildeK (Gast)


Lesenswert?

Wenn du einen einreihigen Steckverbinder nehmen willst, dann würde ich 
einen fünfpoligen vorschlagen.
Pin 1 und 5 auf GND, Pin 3 auf VCC. SDA und SCL auf die beiden anderen.
Vorteile:
- auch wenn versehentlich verpolt wird, kann nichts passieren, außer 
dass es keine Kommunikation gibt
- die Chance ist groß, dass als erstes eine GND-Verbindung zu Stande 
kommt

von Dieter W. (Gast)


Lesenswert?

Matthias K. schrieb:
> Es handelt sich um eine Leiterplatte, auf der u.a. die Leitungen für
> Gnd; Vcc; SCL und SDA für die Verbindung zu Kunden-Geräten auf einen
> Stecker geführt werden.

Auch wenn es im Laufe der Zeit Entwicklungen für längere Leitungen 
gegeben hat, für Verbindungen zu anderen Geräten ist I²C nicht gedacht.
Da ist die serielle Verbindung über RS232 oder RS485 besser geeignet.

von S. R. (svenska)


Lesenswert?

Matthias K. schrieb:
> Hat jemand eine Idee zu einer Lösung, die von gestrengen Kunden wohl
> akzeptiert wird?

Einfach drei Pins nebeneinander setzen und auf die Platine "GND", "SCK" 
und "SDA" drucken? Dann kann sich der Kunde seinen eigenen Stecker 
konfektionieren, oder er nutzt euer mitgeliefertes Kabel.

von Patrick C. (pcrom)


Lesenswert?

Ich benutze fuer alle meiner i2c Platinen und tools Micromatch-6 
connectoren. Das habe ich damals von diese website uebernommen :
https://www.i2cchip.com/i2c_connector.html
Die verkaufen auch sachen wie bus switches.

Bin nicht sicher ob die site noch aktiv ist, aber die infos fuer 
connector-anschluesze sind noch immer da...

von Günter N. (turtle64)


Lesenswert?

Matthias K. schrieb:
> Die mechanischen Gegebenheiten lassen aber nur zu, daß sich eine Zählung
> von rechts nach links ergeben würde, wenn man dem Datenblatt des
> Steckerherstellers folgt. (Dann läge außerdem GND auf 4; SDA auf 3; SCL
> auf 2 und 3,3V auf 1.)

Es ist günstiger, wenn SCL und SDA nicht nebeneinander liegen, das 
reduziert das Übersprechen, vor allem, wenn die Leitungen lang sind.
Wir machen immer 1 = Plus, 2 = SCL, 3 = GND, 4 = SDA.

von Jack (Gast)


Lesenswert?

Warum mit dem Kunden diskutieren? Wenn der Kunde unbedingt diese 
Grove-Belegung haben will, dann gib ihm diese Belegung und 
Steckverbinder. Ich glaube es sind 4-Pin JST-PH-2.0.

Beitrag #5644582 wurde von einem Moderator gelöscht.
von svensson (Gast)


Lesenswert?

Das Groove-System ist aber mehr als I2C, da gibt es auch digitale und 
analoge Komponenten (z.B. Relais mit Schalttransistor). Die sind 
natürlich nicht auf einer Leitung kompatibel, sondern haben lediglich 
den gleichen Stecker.

Es ist in erster Linie gedacht, um Rapid-Prototyping im µC-Umfeld zu 
ermöglichen durch Kabelverbindungen für Leute, die nicht löten können 
oder möchten. Die Verbindungen sind auch betriebssicherer als die 
Steckbords (jedenfalls die, die ich bisher erlebt habe).

Der µC erhält dabei eine "Shield"-Platine, die Stiftleisten 
bereitstellt, die Anbindung der weiteren Bauteile erfolgt dann einfach 
über die Kabel des Groovesystems.
Leider verwendet Groove das RM 2,00 mm, so daß es nicht mit den gängigen 
Lötrasterplatinen kompatibel ist. Natürlich kann man auch das 
Groovesystem ohne die Shields verwenden, wenn die Kabel direkt am µC 
angeschlossen werden.

Aktuell habe ich gerade ein LCD-Display über 4pol. Steckverbindung Molex 
KK (RM 2,54) mit dem I2C-Bus angebunden. Funktioniert wunderbar. Dabei 
habe ich auch die Pinbelegung GND, 5V, SCL, SDA genutzt. Genormt ist die 
aber nicht.

von Matthias K. (oskito)


Lesenswert?

Danke für alle Tips :-)

Besonders hat mir der Hinweis zur verpolungssicheren 5-poligen Belegung 
gefallen. Auch das Reduzieren des Übersprechens erscheint mir wichtig.

vorgegeben war:
i2c-Bus
4-poliger Steckverbinder
SMD
Zuleitung ca 20cm bis 30cm lang
Raster 1,25mm - 2mm

Da ich es möglichen Kunden einfach machen will, unsere Baugruppe zu 
verwenden, habe ich nach einem Quasi-Standard gesucht.
Das Groove-System erschien mir durchaus sinnvoll, da vielleicht manch 
ein „Maker“ das ihm vertraute System auch nach dem Studium 
weiterverwendet.
Es hätte natürlich auch sein können, daß sich dieses System auf ein 
verbreitetes Anschluß-Schema stützt.

Für ein System wie bei Groove spräche, daß ich die Anzahl der 
Steckertypen, die wir inzwischen verwenden, gering halten will und die 
Belegung von GND und V+ auch für analog-Anwendungen nutzen könnte.

Inzwischen wurde als Reihenfolge GND-SDA-SCL-V+ festgelegt.
Aber vielleicht sind doch noch Änderungen möglich.

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.