Hallo, ich sitze gerade an einem Layout und finde keine gute möglichkeit den I²C Bus zu routen. Problematisch dabei ist, dass sich durch die Anbindung an den Bus sehr oft die Lage wechseln muss. Im näheren Umfeld des I²C befinden sich Leitungen von einem LED Treiber der mit 300-600 kHz schaltet und einen Ripple von ca. 27 mA (Spitze-Spitze) aufweist. Insgesamt 14 (gleiche) Teilnehmer müssen an den Bus angebunden werden. Habt ihr Tipps den Bus so zu routen, dass möglichst wenig Störungen eingefangen werden? Das Bild soll meine Problematik verdeutlichen
pkgo schrieb: > Das Bild soll meine Problematik verdeutlichen In diesem Bild ist kein Problem zu sehen. Abgesehen vom fehlenden Blockkondensator, den ich so dicht wie möglich zwischen Vcc und GND legen würde. Und abgesehen davon, dass noch ein Vcc Pin unbeschaltet ist...
pkgo schrieb: > Im näheren Umfeld des I²C befinden sich Leitungen von einem LED Treiber der > mit 300-600kHz schaltet und einen Ripple von ca. 27 mA (Spitze-Spitze) >aufweist. Wie schnell ist denn Dein Bus? Wenn Du relativ langsam, also so bei 2kHz, unterwegs bist solltest Du hier eigentlich keine Probleme bekommen.
Lothar M. schrieb: > pkgo schrieb: >> Das Bild soll meine Problematik verdeutlichen > In diesem Bild ist kein Problem zu sehen. Abgesehen vom fehlenden > Blockkondensator, den ich so dicht wie möglich zwischen Vcc und GND > legen würde. Und abgesehen davon, dass noch ein Vcc Pin unbeschaltet > ist... Der Kondensator wird noch hinzugefügt. Die Leitung Net D79 ist die geschaltete Leitung vom LED-Treiber. Der Bus hat eine Ausdehnung von ca 18cm. Es sind also keine Beeinträchtigungen des I²C zu erwarten?
Marc B. schrieb: > Wenn Du relativ langsam, also so bei 2kHz, unterwegs bist solltest Du > hier eigentlich keine Probleme bekommen. Störungen scheren sich nicht um Taktfrequenzen von Signalen. Was sollte also eine niedrige Taktfrequenz hier bringen? pkgo schrieb: > Es sind also keine Beeinträchtigungen des I²C zu erwarten? Solange die Leitung einfach nur kreuzt und nicht ewig lang parallel neben her fährt gibt es da keine Probleme...
:
Bearbeitet durch Moderator
pkgo schrieb: > Habt ihr Tipps den Bus so zu routen, dass möglichst wenig Störungen > eingefangen werden? Das Bild soll meine Problematik verdeutlichen Ich sehe auch keine grossen Probleme. Vielleicht die Via für SDA unterhalb, GND zwischen SDA und SCK routen. Es ist viel wichtiger dass die beiden sich nicht gegenseitig beeinflussen, als was die Leitung D79 macht.
Lothar M. schrieb: > Marc B. schrieb: >> Wenn Du relativ langsam, also so bei 2kHz, unterwegs bist solltest Du >> hier eigentlich keine Probleme bekommen. > Störungen scheren sich nicht um Taktfrequenzen von Signalen. Was > sollte also eine niedrige Taktfrequenz hier bringen? Der I²C wird mit 400 kbit/s betrieben, möglich wären aber auch 100 kbit/s. > pkgo schrieb: >> Es sind also keine Beeinträchtigungen des I²C zu erwarten? > Solange die Leitung einfach nur kreuzt und nicht ewig lang parallel > neben her fährt gibt es da keine Probleme... Der Bus wird so wie im Bild von links nach rechts über die Platine verlaufen. Die Anordnung wie sie auf dem Bild zu sehen ist wird es 7x oberhalb und 7x unterhalb des I²C geben. Die geschaltet Leitung würde also parralel dazu verlaufen
Hallo, der I²C Bus ist doch an sich schon sicher gegen Störungen wenn die Leidungen nicht zu lang sind. SDA u. SCL mit ca. 4,7 k Widerstände auf VCC machen diese doch relativ Niederohmig. Für sehr lange Leitungen bis 200 Meter, gibt es Leitungstreiber IC’s. Sind nur meine praktischen Erfahrungen als I²C Bus Fan. Gruß
Ist es besser die Leitungen wie VCC rechtwinklig an den Bus zuzuführen oder eher in einem spitzen Winkel wie SCL?
So in der Art würde ich die Teilnehmer an den Bus anbinden. Verbesserungen? Kritik?
pkgo schrieb: > Ist es besser die Leitungen wie VCC rechtwinklig an den Bus zuzuführen > oder eher in einem spitzen Winkel wie SCL? Wie beschrieben ist völlig Wurst. I²C gibt es z.b. in Fernsehgeräte. Na da ist doch was los mit „Störquellen“ und oft ist dort das Bedienteil sogar verkabelt (Strippen kreuz und quer) Also mit passende Abschlusswiderstände und den kurzen Leitungen, wirst du wohl keine Probleme bekommen. Noch was zum Takt. 100kHz ist Standart 400kHz ist schon im Grenzbereich(abhängig von Teilnehmer) Groß
Fred R. schrieb: > pkgo schrieb: >> Ist es besser die Leitungen wie VCC rechtwinklig an den Bus zuzuführen >> oder eher in einem spitzen Winkel wie SCL? > > Wie beschrieben ist völlig Wurst. I²C gibt es z.b. in Fernsehgeräte. > Na da ist doch was los mit „Störquellen“ und oft ist dort das Bedienteil > sogar verkabelt (Strippen kreuz und quer) Also mit passende > Abschlusswiderstände und den kurzen Leitungen, wirst du wohl keine > Probleme bekommen. > Noch was zum Takt. 100kHz ist Standart 400kHz ist schon im > Grenzbereich(abhängig von Teilnehmer) > > Groß Alles klar. Die Teilnehmer schaffen bis zu 400 kbit. Habe ich auch schon getestet.
Moin, So ausm Bauch raus wuerd' ich sagen, dass das Layout, also die Geometrie, Anzahl der vias im Signalweg beim I2C eher unkritisch ist. Aber ich wuerde niemals 14 Teilnehmer an einen Bus haengen. Da haett' ich Muffe. Dann bau' ich persoenlich auch gerne sehr niederohmige Serienwiderstaende vor jeden Slave, dann tut man sich leichter rauszufinden, wer den I2C Bus nicht mehr loslassen will, falls er mal haengt. Gruss WK
Dergute W. schrieb: > Moin, > > So ausm Bauch raus wuerd' ich sagen, dass das Layout, also die > Geometrie, Anzahl der vias im Signalweg beim I2C eher unkritisch ist. > Aber ich wuerde niemals 14 Teilnehmer an einen Bus haengen. Da haett' > ich Muffe. > Dann bau' ich persoenlich auch gerne sehr niederohmige > Serienwiderstaende vor jeden Slave, dann tut man sich leichter > rauszufinden, wer den I2C Bus nicht mehr loslassen will, falls er mal > haengt. > > Gruss > WK Was kann bei 14 Teilnehmern an einem Bus problematisch werden?
Wenn du Vcc nicht parallel zu SDA und SCL verlegen könntest wäre das sicher von Vorteil, aber ich glaube nicht an eine Störung durch den LED-Treiber. Mach die Vias direkt über der Leitung statt noch Stummel dran zu lassen. Zudem kann 45° Innenwinkel zu problemen bei der Fertigung führen.
Moin, pkgo schrieb: > Was kann bei 14 Teilnehmern an einem Bus problematisch werden? So ausm Bauch raus: Die Gesamtkapazitaet, die dann an den Leitungen zieht. Ist halt bei mir nur so'n Gefuehl - habs' nicht nachgerechnet. Gruss WK
Spitze Winkel finde ich unschön. Warum setzt Du die Vias nicht einfach direkt auf die Busse? Ich bevorzuge Vorzugsrichtungen, d.h. die horizontalen Busse auf das braune Layer, dann brauchst Du weniger Vias. Die I2C-Leitungen sind unkritisch, aber VCC würde ich deutlich dicker machen und GND am besten als Plane.
Dergute W. schrieb: > Aber ich wuerde niemals 14 Teilnehmer an einen Bus haengen. Wenn der Master Clock-Stretching unterstützt, ist das völlig unkritisch. Dann werden eben die Low-Zeiten durch die Schaltungskapazitäten etwas länger, sonst passiert nichts weiter. Der I2C-Bus ist quasi selbstsynchronisierend.
Für die Gesetzestreuen UM10204 - 7.5: If the length of the bus lines on a PCB or ribbon cable exceeds 10 cm and includes the VDD and VSS lines, the wiring pattern should be: SDA _____________________ VDD ______________________ VSS ______________________ SCL _____________________
Dergute W. schrieb: > Moin, > > So ausm Bauch raus wuerd' ich sagen, dass das Layout, also die > Geometrie, Anzahl der vias im Signalweg beim I2C eher unkritisch ist. > Aber ich wuerde niemals 14 Teilnehmer an einen Bus haengen. Da haett' > ich Muffe. > Dann bau' ich persoenlich auch gerne sehr niederohmige > Serienwiderstaende vor jeden Slave, dann tut man sich leichter > rauszufinden, wer den I2C Bus nicht mehr loslassen will, falls er mal > haengt. > > Gruss > WK Na ob 1 oder 255 Teilnehmer ist doch nur eine Sache für Laufzeit. Mehr nicht!!!!!! Meldet sich ein Teilnehmer nicht, macht er auch nix. Ist ja der Sinn eines Bussystem. Gruß
So würde ich es jetzt routen. Sowie es im Datenblatt steht unterstützen die Slaves das Clock-Stretching. Die 5V Leitung ist 0,25mm für maximal 500mA. Also ich habe eine Massefläche zwischen SDA und SCL. Ist es besser die VCC in die Mitte der beiden zu platzieren?
Besser aber immernoch zu viele Schnörkel. Zieh z.B. beim oberen Chip die SCL Leitung gerade nach unten, ohne Abzweigung. Beim SDA daneben kannst du die Vias in gleicher Vertikaler Ausrichtung platzieren, so dass auch diese Leitungen gerade werden. Und so dann bei allen anderen auch. Es wird auch so problemlos funktionieren, aber sobald du komplexere Leiterplatten hast, bist du froh wenn du dir das schon vorher antrainiert hast.
Ich habe auch noch etwas Senf zum dazugeben: Miß doch mal den Abstand der LB, die sich im obigen Bild zwischen IC-Padreihe und dem Thermo-Pad durchschlängelt (wenn ich das richtig sehe Netz Vcc). Mindestens 150µm sollten es sein - eher mehr. Das kann kritisch werden, wenn der LP-Fertiger seine Toleranzen beim Aufbringen des Lötstops ausreizt. Der Versatz kann immerhin bis zu 100µm (oder mehr, je nach Fertiger) betragen. Wenn nun der Abstand gering genug ist, alle Toleranzen in die falsche Richtung gehen, dann liegt hier das GND-Pad neben einem teilweise offengelegten Vcc-Leiterzug. Das ganze liegt natürlich nicht sichtbar unter dem IC-Gehäuse und du hast nach dem Bestücken u.U. einen Schluss zwischen Vcc und GND.
Uwe N. schrieb: > Ich habe auch noch etwas Senf zum dazugeben: > > Miß doch mal den Abstand der LB, die sich im obigen Bild zwischen > IC-Padreihe und dem Thermo-Pad durchschlängelt (wenn ich das richtig > sehe Netz Vcc). Mindestens 150µm sollten es sein - eher mehr. > > Das kann kritisch werden, wenn der LP-Fertiger seine Toleranzen beim > Aufbringen des Lötstops ausreizt. Der Versatz kann immerhin bis zu 100µm > (oder mehr, je nach Fertiger) betragen. > > Wenn nun der Abstand gering genug ist, alle Toleranzen in die falsche > Richtung gehen, dann liegt hier das GND-Pad neben einem teilweise > offengelegten Vcc-Leiterzug. Das ganze liegt natürlich nicht sichtbar > unter dem IC-Gehäuse und du hast nach dem Bestücken u.U. einen Schluss > zwischen Vcc und GND. Vielen Dank für den Tipp. Der Abstand beträgt aktuell 0,2mm, wobei ich die Leiterbahn auch noch dünner machen könnte. Der Pin, den ich ebenfalls an VCC anschließen möchte ist eine Art Undervoltage-Protection und soll eigentlich über einen Spannungsteiler und einem JFET an die 48V VErsorgunsspannung angeschlossen werden. Dies wollte ich mir allerdings (auch aus Platzgründen) sparen.
Moin, Fred R. schrieb: > Na ob 1 oder 255 Teilnehmer ist doch nur eine Sache für Laufzeit. Mehr > nicht!!!!!! > Meldet sich ein Teilnehmer nicht, macht er auch nix. Ist ja der Sinn > eines Bussystem. Ja, nun. Ich bin kein so grosser Experte, sondern beschreibe nur mein Bauchgefuehl...das muss man keineswegs teilen. Wir leben in einem Land, in dem unsere Vorfahren fuer die Freiheit gekaempft haben, soviele Slaves ueber so lange Leitungen wie sie wollen an einen I2C Bus haengen zu duerfen :-) Gruss WK
Ich persönlich vermeide Leiterzüge in diesen Bereichen. Einen Tip habe ich noch: es ist nicht verboten, das Thermo-Pad etwas kleiner als im DB angegeben zu machen. Die Betonung liegt auf "etwas"... :)
Uwe N. schrieb: > Ich persönlich vermeide Leiterzüge in diesen Bereichen. > > Einen Tip habe ich noch: es ist nicht verboten, das Thermo-Pad etwas > kleiner als im DB angegeben zu machen. Die Betonung liegt auf "etwas"... > :) Ja darüber habe ich auch schon nachgedacht. ;)
Warum ziehst du nicht durchgehend SDA und SCK auf der Rückseite lang und stichst jeweils mit einem Via nach oben und führst dann einen Stich zum Teilnehmer? Ich habe es mal skizziert.. Gerade machen kannst es selber ;-) Wo läuft eigentlich GND lang?
Schlumpf schrieb: > Warum ziehst du nicht durchgehend SDA und SCK auf der Rückseite > lang und > stichst jeweils mit einem Via nach oben und führst dann einen Stich zum > Teilnehmer? > Ich habe es mal skizziert.. Gerade machen kannst es selber ;-) > > Wo läuft eigentlich GND lang? Die Idee ist gut. Da ich davon ausgegangen bin, dass es unter umständen zu Störungen kommen kann, habe ich den Bus auf die Unterseite gelegt. Vom Bauchgefühl her hätte ich da gesagt, dass dies besser ist, da die Leitungen dann weiter von den schaltenden Leitungen entfernt sind.
pkgo schrieb: > Schlumpf schrieb: >> Warum ziehst du nicht durchgehend SDA und SCK auf der Rückseite >> lang und >> stichst jeweils mit einem Via nach oben und führst dann einen Stich zum >> Teilnehmer? >> Ich habe es mal skizziert.. Gerade machen kannst es selber ;-) >> >> Wo läuft eigentlich GND lang? > > Die Idee ist gut. Da ich davon ausgegangen bin, dass es unter umständen > zu Störungen kommen kann, habe ich den Bus auf die Unterseite gelegt. > Vom Bauchgefühl her hätte ich da gesagt, dass dies besser ist, da die > Leitungen dann weiter von den schaltenden Leitungen entfernt sind. GND ist als Fläche (gerade ausgeblendet) verlegt
Schlumpf schrieb: > pkgo schrieb: >> GND ist als Fläche (gerade ausgeblendet) verlegt > > Dann hast du also 4 Lagen? Nein wieso? 2
Weil du gesagt hast, dass GND ne Fläche ist.. Aber dann meintest du, dass du die freien Flächen mit GND "flutest"
Schlumpf schrieb: > Weil du gesagt hast, dass GND ne Fläche ist.. > Aber dann meintest du, dass du die freien Flächen mit GND "flutest" Ja die große Fläche, u.a. zwischen SDA und SCL werden Ground. Eine extra Lage gibt es dafür nicht
pkgo schrieb: > Also ich habe eine Massefläche zwischen SDA und SCL. Ist es besser die > VCC in die Mitte der beiden zu platzieren? Nein, schlechter.
Nun sollte es Gut sein. Als alter I²C Busfahrer habe ich sehr viele üble Strecken ohne Unfall überstanden. Ob ein „fliegender“ Aufbau in einer Trafostation oder in einem Schweißautomaten. Entscheitend für Zuverlässigkeit, ist in der Digitaltechnik, nach wie vor ein stabiles VCC und ein sauberes GND........ Ob GND sternförmig oder ringförmig aufgebaut wird, ist immer Objekt abhängig..... Wichtig ist nur GND zu GND sollte Nullkomma Null Ohm haben. Na klar ist auch der Takt auf den Leitungen zu beachten. Leitungen bilden wenn parallel eine Art Kondensator(F Kurzschluss) Nun würde ich behaupten, in diesem Fall erst ab einer Frequenz oberhalb einiger GHz. I²C Leidungen liegen auf H im „Ruhezustand“. Mehr H geht nicht. Es sei denn der Blitz schlägt ein. Schlussfolgerung: Ist GND – Master = GND- Sklave, hat man einen sauberen Bezugspunkt. Fällt aber über die GND- Leitung Spannung ab, wird es übel. GND- Leitung sollten wenn Möglich eine optimale „Breite“ haben(Widerstand). Was oft nicht beachtet wird ist halt GND, viele bauen in VCC aufwendige Filter ein, in der Annahme, „Störimpulse“ zu beseitigen. Gruß
Was sagt ihr zu der jetzigen Umsetzung? Die Leitung D79 ist mit 600 kHz getaktet von einem LED-Treiber. Da fließen 270 mA mit einem Ripple von run 10%. Eine schmale Massefläche befindet sich zwischen SDA und SCL. Habe etwas bedenken vor Übersprechen der LED-Leitung auf den Datenbus.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.