<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=172.26.29.204</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=172.26.29.204"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/172.26.29.204"/>
	<updated>2026-04-10T14:41:49Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105459</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105459"/>
		<updated>2022-09-23T14:36:15Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
= Vorteile =&lt;br /&gt;
&lt;br /&gt;
Man kann Slave Bausteine &amp;quot;von der Stange&amp;quot; kaufen, ohne sich Gedanken über Protokoll und Adressierung zu machen. Denn das ist bereits schon implementiert. &lt;br /&gt;
Alternativ kann man aber auch eigene Slaves bauen und an den Bus hängen. Dafür haben viele µC schon eine Hardware I²C Schnittstelle integriert. Wobei man aber auch recht einfach eine I²C Schnittstelle in Software nachbilden kann.&lt;br /&gt;
&lt;br /&gt;
I²C Bausteine sind reine State-Machines. Somit sind viele von Hause aus recht Stromsparend. Der PCA9554 benötigt z.B. nur 250nA im &amp;quot;Standby-Mode&amp;quot; (keine Kommunikation).&lt;br /&gt;
&lt;br /&gt;
Bei I²C gibt der Master den Takt (SCL) für die Datenübertragung vor. Die Slaves benötigen im Gegensatz zu UART also keinen genauen Taktgeber (Quarz). Will man den Takt auf dem Bus verringern, so muss man das nur am Master einstellen. Die Slaves benötigen keine Änderung. So ist es auch möglich den Takt dynamisch zu variieren und z.B. wichtige Nachrichten mit geringem Takt (Störunempfindlicher) zu übertragen und andere Nachrichten mit höherem Takt.&lt;br /&gt;
&lt;br /&gt;
= Verkabelung =&lt;br /&gt;
&lt;br /&gt;
== Kabellänge ==&lt;br /&gt;
&lt;br /&gt;
I²C ist nicht als &amp;quot;long range&amp;quot; Bus entwickelt worden. Daher ist eines der Hauptprobleme bei I²C als Hausbus, dass man ohne weiteres nicht weiter als ein paar Meter kommt. &lt;br /&gt;
Das liegt daran das die I²C Leitungen eine maximale Kapazität von 400pF nicht übersteigen dürfen, da der high-Zustand auf dem Bus nur passiv über Pull-Ups erreicht wird. Je mehr Kapazität an einer I²C-Bus Leitung hängt, desto länger braucht der Bus also um den high-Zustand zu erreichen. Das kann zu timing Problemen führen.&lt;br /&gt;
&lt;br /&gt;
Es gibt zur Reichweitenerhöhung verschiedene Ansätze: &lt;br /&gt;
# Kleinerer Pull-Up&lt;br /&gt;
# Geschwindigkeitsreduktion&lt;br /&gt;
# Bustreiber&lt;br /&gt;
# Differentielle Übertragung&lt;br /&gt;
# Aktiver Pull-Up&lt;br /&gt;
&lt;br /&gt;
=== Kleinerer Pull-Up ===&lt;br /&gt;
&lt;br /&gt;
Da das Kernproblem darin liegt, dass der high-Zustand nur passiv erreicht wird, bietet es sich an den Pull-Up Widerstand zu verkleinern um dadurch die Zeit zu verkürzen die der Bus benötigt den high-Zustand zu erreichen.&lt;br /&gt;
&lt;br /&gt;
Begrenzt wird dieses Vorhaben dadurch, dass I²C Geräte nur 3mA sinken können (Die weiter unten besprochenen Bustreiber umgehen genau dieses Problem). Bei der Berechnung der Pull-Ups muss also darauf geachtet werden, dass nicht mehr als 3mA durch einen Widerstand fließen. Eine Ausnahme stellen I²C Geräte dar, die der &#039;&#039;Fm+&#039;&#039; (oder höher) Spezifikation entsprechen (Fm+ = Fast mode Plus). Diese sind in der Lage 30mA zu sinken.&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeitsreduktion ===&lt;br /&gt;
&lt;br /&gt;
Wenn die Busgeschwindigkeit angepasst wird, sind große Strecken und umfangreiche Verzweigungen möglich. Ein 30-Meter-Bus funktioniert zum Beispiel noch mit rund 20kHz fast ohne Probleme. &lt;br /&gt;
Bei Geschwindigkeiten um 1kHz, wurde im Forum schon von Buslängen von etlichen hundert Metern berichtet. &lt;br /&gt;
&lt;br /&gt;
=== Bustreiber ===&lt;br /&gt;
&lt;br /&gt;
Bustreiber haben die Aufgabe die maximale Buskapazität von 400pF zu erhöhen. Dies erreichen die Bausteine i.d.R. durch eine Steigerung des Stroms auf dem Bus. &lt;br /&gt;
Die drei bekanntesten Bustreiber für diesen Zweck sind folgende:&lt;br /&gt;
&lt;br /&gt;
* P82B715 (3000pF, max. 100kHz)&lt;br /&gt;
* P82B96 (4000pF, max. 400kHz)&lt;br /&gt;
* PCA9600 (4000pF, max. 1MHz)&lt;br /&gt;
&lt;br /&gt;
Alle drei Typen haben ihre Vor- und Nachteile. Wobei der PCA9600 als Nachfolger vom P82B96 angesehen werden kann und im Prinzip nur Vorteile gegenüber dem P82B96 hat (Abgesehen vom Preis und der Beschaffbarkeit ;) - [http://www.reichelt.de/PCF-I-C-Bus-Controller/PCA-9600-D/3/index.html?;ACTION=3;LA=446;ARTICLE=126478;GROUPID=2942;artnr=PCA+9600+D &#039;&#039;&#039;PCA9600&#039;&#039;&#039; Gibts nun bei Reichelt!])&lt;br /&gt;
&lt;br /&gt;
Der Hauptunterschied zwischen P82B96 und PCA9600 sind die Spannungspegel an der Sx/Sy Seite des ICs. Der P82B96 kann diese Pins bei einem low-Signal nicht weiter als 0,88V nach unten ziehen (I²C kompatibel, nicht TTL kompatibel). Der verbesserte PCA9600 kann bis auf 0,74V herunter ziehen (I²C und TTL kompatibel). Des weiteren hat der PCA weniger Laufzeitverzögerung und ist bis zu 1MHz Bustakt spezifiziert. &lt;br /&gt;
&lt;br /&gt;
Der P82B96 (und PCA9600) verhindert eine Rückkopplung indem er an seinen Sx/Sy Eingängen ein low bei 0,65V erkennt, ein low selber aber nur mit 0,88V ausgeben kann. Informationen die über die T/R Seite kommen, werden also von einem zweiten, parallelgeschalteten, Bustreiber des gleichen Typs nicht weitergeleitet. Im Gegensatz zum P82B715 können die ICs verschiedene Busspannungen &amp;quot;übersetzen&amp;quot;. Die gepufferte Seite kann also mit einer anderen Busspannung betrieben werden als die Sx/Sy Seite.&lt;br /&gt;
&lt;br /&gt;
P82B96 und PCA9600 können statisch 30mA treiben. In der Application Note AN10216 (Seite 46) wird von NXP geschrieben das mittels externer Transistoren der Strom noch weiter erhöht werden kann. Bei 30kHz wird eine mögliche Gesamtlänge von 1km angegeben. &lt;br /&gt;
&lt;br /&gt;
Recht einfach aufgebaut ist der P82B715. Intern arbeitet nur ein Stromsensor, der auf der gepufferten Seite mittels Transistors den Strom bei low Pegel erhöht. Er hat somit nicht die Probleme mit bestimmten Spannungspegeln wie die P82B96 und PCA9600 ICs. Dafür muss beim P82B715 auch die ungepufferte Seite zur Gesamtbuslast mit einbezogen werden. Auch ist es nicht möglich die gepufferte Seite mit anderer Spannung zu bertreiben. &lt;br /&gt;
Auf der gepufferten Seite (LDA/LCL) besitzt der P82B715 nur jeweils einen Pin für jede Busleitung. Applikationen die getrennte TX und RX Pins benötigen, sind mit dem P82B715 also nicht möglich.&lt;br /&gt;
&lt;br /&gt;
=== Differentielle Übertragung ===&lt;br /&gt;
&lt;br /&gt;
In Kombintation mit einem Bustreiber wie dem P82B96, ist es möglich die I²C Bus Signale über RS-485 oder CAN physikalisch zu &amp;quot;tunneln&amp;quot; (PHY Layer).&lt;br /&gt;
&lt;br /&gt;
Dabei werden die TX und RX Leitungen des I²C Bustreibers mit den TX und RX Leitungen des RS-485 oder CAN Treibers verbunden. Für SDA und SCL werden hierfür auf dem Übertragungskabel also insgesamt vier Leitungen benötigt.&lt;br /&gt;
&lt;br /&gt;
NXP hat mit den P82B485/P82B486 auch Treiber angekündigt, die den I²C-Bus direkt auf RS485 übersetzen.&lt;br /&gt;
&lt;br /&gt;
=== Aktiver Pull-Up ===&lt;br /&gt;
&lt;br /&gt;
Linear Technology bietet einige ICs wie den LTC1694 an, der den passiven low-high Wechsel des I²C-Bus durch eine Stromquelle beschleunigt.&lt;br /&gt;
&lt;br /&gt;
== Topologie ==&lt;br /&gt;
&lt;br /&gt;
Über die günstigste Topologie (Stern, Bus,..) ist bisher nichts bekannt.&lt;br /&gt;
&lt;br /&gt;
== Störsicherheit/EMV ==&lt;br /&gt;
Bei der Nutzung als Feldbus müssen die Busteilnehmer sowohl gegen Störungen und Überspannung geschützt werden (induktive/kapazitive Einkopplungen), als auch Maßnahmen getroffen werden gegen zu große Störabstrahlung des Busses in die Umwelt. Wesentlich ist dabei die Begrenzung des maximalen Spannungsanstieges dU/dT auf allen Busleitungen und der Schutz vor Spannungsspitzen. Dazu gibt es folgende Möglichkeiten:&lt;br /&gt;
* Verwendung abgeschirmter und/oder verdrillter Leitungen mit zentraler Erdung&lt;br /&gt;
* Überspannungsschutz bei den Busteilnehmern - durch Schottkydioden zwischen SDA/SCL gegen Masse und VCC unmittelbar an den Slaves und Serienwiderstände in den Datenleitungen in der Anbindung zum Bus (typ. 50 … 200 Ohm)&lt;br /&gt;
* Passive Pi-Filter an allen Busteilnehmern, abgestimmt auf die höchste Übertragungsrate&lt;br /&gt;
Eine effektive Variante zum Schutz vor Überspannung, Spannungsausfall beim Slave und zugleich Pegelanpassung:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pegelshifter&amp;amp;EMV.png|600px|Schaltplan]]&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklesen&lt;br /&gt;
* Daten immer mehrmals schreiben/lesen&lt;br /&gt;
* Wenn man µC als Slave programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105452</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105452"/>
		<updated>2022-09-21T08:25:25Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105450</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105450"/>
		<updated>2022-09-21T08:23:52Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105449</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105449"/>
		<updated>2022-09-21T08:22:54Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
HEIL KUMAR!&lt;br /&gt;
&lt;br /&gt;
دا وطن افغانستان دی&lt;br /&gt;
دا عزت د هر افغان دى&lt;br /&gt;
كور د سولې، كور د تورې&lt;br /&gt;
هر بچى يې قهرمان دى&lt;br /&gt;
&lt;br /&gt;
دا وطن د ټولو كور دى&lt;br /&gt;
د بلوڅو، د ازبكو&lt;br /&gt;
پــښــتــنو او هزاراو&lt;br /&gt;
د تركمنو، د تاجكو&lt;br /&gt;
&lt;br /&gt;
ور سره عرب، ګوجر دي&lt;br /&gt;
پاميريان، نورستانيان&lt;br /&gt;
براهوي دي، قزلباش دي&lt;br /&gt;
هم ايماق، هم پشايان&lt;br /&gt;
&lt;br /&gt;
دا هيواد به تل ځلېږي&lt;br /&gt;
لكه لمر پر شنه آسمان&lt;br /&gt;
په سينې كې د آسيا به&lt;br /&gt;
لكه زړه وي جاويدان&lt;br /&gt;
&lt;br /&gt;
نوم د حق مو دى رهبر&lt;br /&gt;
وايو الله اكبر&lt;br /&gt;
وايو الله اكبر&lt;br /&gt;
وايو الله اكبر&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105447</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105447"/>
		<updated>2022-09-21T08:22:13Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105446</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105446"/>
		<updated>2022-09-21T08:22:01Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein&lt;br /&gt;
&lt;br /&gt;
Kleine Judenschweine&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105445</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105445"/>
		<updated>2022-09-21T08:21:51Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Datensicherheit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu Adi.&lt;br /&gt;
&lt;br /&gt;
Adolf Hitler (* 20. April 1889 in Braunau am Inn, Österreich;[1] † 30. April 1945 in Berlin) war ein deutscher nationalsozialistischer Politiker österreichischer Herkunft, der von 1933 bis zu seinem Tod 1945 Diktator des Deutschen Reiches war.&lt;br /&gt;
&lt;br /&gt;
Ab Juli 1921 Vorsitzender der Nationalsozialistischen Deutschen Arbeiterpartei (NSDAP), versuchte er im November 1923 mit einem Putsch von München aus die Weimarer Republik zu stürzen. Mit seiner Schrift Mein Kampf (1925/26) prägte er die antisemitische und rassistische Ideologie des Nationalsozialismus.&lt;br /&gt;
&lt;br /&gt;
Hitler wurde von Reichspräsident Paul von Hindenburg am 30. Januar 1933 zum deutschen Reichskanzler ernannt. Innerhalb weniger Monate beseitigte sein Regime mit Terror, Notverordnungen, dem Ermächtigungsgesetz, Gleichschaltungsgesetzen, Organisations- und Parteiverboten die Gewaltenteilung, die pluralistische Demokratie, den Föderalismus und den Rechtsstaat. Politische Gegner wurden in Konzentrationslagern inhaftiert, gefoltert und ermordet. 1934 ließ Hitler anlässlich des „Röhm-Putsches“ potenzielle Rivalen in den eigenen Reihen ermorden. Hindenburgs Tod am 2. August 1934 nutzte er, um das Amt des Reichspräsidenten mit dem des Reichskanzlers vereinen zu lassen, und regierte seither als „Führer und Reichskanzler“.&lt;br /&gt;
&lt;br /&gt;
Die deutschen Juden wurden ab 1933 zunehmend ausgegrenzt und entrechtet, besonders durch die Nürnberger Gesetze vom 15. September 1935, die Novemberpogrome 1938 und die Arisierung von Unternehmen jüdischer Eigentümer sowie zahlreiche weitere Gesetze und Verordnungen, die ihnen schrittweise die Teilnahme am wirtschaftlichen, kulturellen und gesellschaftlichen Leben unmöglich machten und sie ihrer Vermögen und Erwerbsmöglichkeiten beraubten. Die Folgen der Weltwirtschaftskrise und die Massenarbeitslosigkeit bekämpfte er mit staatlichen Investitionsprogrammen und Arbeitsbeschaffungsmaßnahmen wie dem Autobahnbau und der Aufrüstung der Wehrmacht sowie der Einrichtung des paramilitärisch organisierten Reichsarbeitsdienstes. Mit der Aufrüstung der Wehrmacht und der Rheinlandbesetzung brach Hitler 1936 den Versailler Vertrag. Die nationalsozialistische Propaganda stellte die Wirtschafts-, Sozial- und Außenpolitik als erfolgreich dar und steigerte so bis 1939 Hitlers Popularität.&lt;br /&gt;
&lt;br /&gt;
1938 übernahm er die unmittelbare Befehlsgewalt über die Wehrmacht und setzte den „Anschluss“ Österreichs durch. Über das Münchner Abkommen vom 30. September 1938, das ihm die Angliederung des Sudetenlandes an das Deutsche Reich gestattete, setzte er sich mit der „Zerschlagung der Rest-Tschechei“ bereits am 15. März 1939 hinweg. Mit dem durch den Abschluss des sogenannten Hitler-Stalin-Pakts vom 23./24. August 1939 mit der Sowjetunion vorbereiteten Überfall auf Polen am 1. September 1939, der vertragsgemäß die Zerschlagung des polnischen Staates und die Aufteilung seines Territoriums unter den Vertragspartnern zum Ziel hatte und auf den bald die sowjetische Besetzung Ostpolens folgte, löste er den Zweiten Weltkrieg in Europa aus. Nach dem Sieg über Frankreich im Westfeldzug vom 10. Mai bis 25. Juni 1940 und dem Beginn der später gescheiterten Luftschlacht um England am 10. Juli 1940 teilte er am 31. Juli 1940 Vertretern des Oberkommandos der Wehrmacht seinen Entschluss mit, die Sowjetunion anzugreifen und gegen sie einen Vernichtungskrieg zur Eroberung von „Lebensraum im Osten“ zu führen. Den am 22. Juni 1941 begonnenen Krieg gegen die Sowjetunion ließ er unter dem Decknamen „Unternehmen Barbarossa“ vorbereiten und führen.&lt;br /&gt;
&lt;br /&gt;
Im Zweiten Weltkrieg verübten die Nationalsozialisten und ihre Helfershelfer zahlreiche Massenverbrechen und Völkermorde. Bereits im Sommer 1939 erteilte Hitler die Weisung, die „Erwachseneneuthanasie“ vorzubereiten. Zwischen September 1939 und August 1941 wurden in der „Aktion T4“ über 70.000 psychisch kranke sowie geistig und körperlich behinderte Menschen, bis Kriegsende insgesamt durch „Euthanasie“ über 200.000 Menschen systematisch ermordet. Hitlers Antisemitismus und Rassismus gipfelte schließlich im Holocaust. Im Holocaust wurden etwa 5,6 bis 6,3 Millionen Juden, im Porajmos bis zu 500.000 Sinti und Roma ermordet. Hitler autorisierte die wichtigsten Schritte des Judenmordes und ließ sich über den Verlauf informieren. Seine verbrecherische Politik führte zu vielen Millionen Kriegstoten und zur Zerstörung weiter Teile Deutschlands und Europas.&lt;br /&gt;
&lt;br /&gt;
Kleine Judenschweine&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105443</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105443"/>
		<updated>2022-09-21T08:20:52Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Datensicherheit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklassen&lt;br /&gt;
* Immer mehrmals Abschieben&lt;br /&gt;
* Wenn man µC als Slave programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, Slaves sind NEGER zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105440</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105440"/>
		<updated>2022-09-21T08:18:43Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Datensicherheit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklassen&lt;br /&gt;
* Immer mehrmals Abschieben&lt;br /&gt;
* Wenn man µC als Slave(Dominik Feldmann, aus Essen Borbeck, aus der HI20B auf dem HNBK ist eine dicke schwuchtel welche auf 7cm kinderficker penise steht) programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, Slaves sind NEGER zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
░█░█░█░█░█▀▀░█▀█&lt;br /&gt;
░█▄█░█▀█░█▀▀░█░█&lt;br /&gt;
░▀░▀░▀░▀░▀▀▀░▀░▀&lt;br /&gt;
░▀█▀░█░█░█▀▀&lt;br /&gt;
░░█░░█▀█░█▀▀&lt;br /&gt;
░░▀░░▀░▀░▀▀▀&lt;br /&gt;
░▀█▀░█▄█░█▀█░█▀█░█▀▀░▀█▀░█▀█░█▀▄&lt;br /&gt;
░░█░░█░█░█▀▀░█░█░▀▀█░░█░░█░█░█▀▄&lt;br /&gt;
░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀░░▀░░▀▀▀░▀░▀&lt;br /&gt;
░▀█▀░█▀▀&lt;br /&gt;
░░█░░▀▀█&lt;br /&gt;
░▀▀▀░▀▀▀&lt;br /&gt;
░█▀▀░█░█░█▀▀&lt;br /&gt;
░▀▀█░█░█░▀▀█&lt;br /&gt;
░▀▀▀░▀▀▀░▀▀▀      &lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
Meine Slaves tun sich gut auf der Baumwolle Plantage. Diese arbeiten überragend!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105430</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105430"/>
		<updated>2022-09-21T08:14:01Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
NICHAEL Lassey aus Essen ist eine Schwuchtel.&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklassen&lt;br /&gt;
* Daten immer mehrmals schieben/lesen&lt;br /&gt;
* Wenn man µC als Slave(Michael) programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, Slaves sind NEGER zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105427</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105427"/>
		<updated>2022-09-21T08:13:27Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
MIGGAEL Lassey aus Essen ist eine Schwuchtel.&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklassen&lt;br /&gt;
* Daten immer mehrmals schieben/lesen&lt;br /&gt;
* Wenn man µC als Slave(Michael) programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105426</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105426"/>
		<updated>2022-09-21T08:12:42Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
LEON PRAßL aus Essen ist eine Schwuchtel.&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklassen&lt;br /&gt;
* Daten immer mehrmals schieben/lesen&lt;br /&gt;
* Wenn man µC als Slave(Michael) programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105425</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105425"/>
		<updated>2022-09-21T08:12:22Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
LEON PRAßl aus Essen ist eine Schwuchtel.&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklassen&lt;br /&gt;
* Daten immer mehrmals schieben/lesen&lt;br /&gt;
* Wenn man µC als Slave(Michael) programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105421</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105421"/>
		<updated>2022-09-21T08:10:53Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Infos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
Louis Frühling aus Essen ist eine Schwuchtel.&lt;br /&gt;
&lt;br /&gt;
Allahu Akbar meine Kinder&lt;br /&gt;
&lt;br /&gt;
Hallo ihr keks&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklesen&lt;br /&gt;
* Daten immer mehrmals schreiben/lesen&lt;br /&gt;
* Wenn man µC als Slave programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105417</id>
		<title>I2C als Hausbus</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=I2C_als_Hausbus&amp;diff=105417"/>
		<updated>2022-09-21T08:08:27Z</updated>

		<summary type="html">&lt;p&gt;172.26.29.204: /* Kleinerer Pull-Up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Infos =&lt;br /&gt;
&lt;br /&gt;
Infos allgemein zu [[Hausbus]], [[I²C]].&lt;br /&gt;
&lt;br /&gt;
Es wird oft behauptet das I²C nur für Verbindungen innerhalb einer Leiterplatte gedacht ist. Das ist sicherlich die Hauptanwendung, aber es gibt auch allseits bekannte Einsatzgebiete wo etliche Meter überbrückt werden. Bei VGA (DDC) und HDMI wird z.B. eine I²C-Bus Verbindung zur Kommunikation zwischen den Endgeräten benutzt. VGA und HDMI Kabel können (offiziell) rund 15m lang sein.&lt;br /&gt;
 &lt;br /&gt;
Allerdings werden für diesen Einsatz oftmals auch spezielle Treiber Bausteine eingesetzt, die  eine höhere Buskapazität vertragen, verbesserten ESD Schutz haben, die Pegel übersetzen (z.B. 3,3 auf 5V), Hot-Plug-fähig sind, etc. Als Beispiel sei hier der PCA9507 (NXP) aufgeführt, der einige dieser Eigenschaften besitzt.&lt;br /&gt;
&lt;br /&gt;
Michael Lassey ist SCHULD!&lt;br /&gt;
&lt;br /&gt;
= Verkabelung =&lt;br /&gt;
&lt;br /&gt;
== Kabellänge ==&lt;br /&gt;
&lt;br /&gt;
I²C ist nicht als &amp;quot;long range&amp;quot; Bus entwickelt worden. Daher ist eines der Hauptprobleme bei I²C als Hausbus, dass man ohne weiteres nicht weiter als ein paar Meter kommt. &lt;br /&gt;
Das liegt daran das die I²C Leitungen eine maximale Kapazität von 400pF nicht übersteigen dürfen, da der high-Zustand auf dem Bus nur passiv über Pull-Ups erreicht wird. Je mehr Kapazität an einer I²C-Bus Leitung hängt, desto länger braucht der Bus also um den high-Zustand zu erreichen. Das kann zu timing Problemen führen.&lt;br /&gt;
&lt;br /&gt;
Es gibt zur Reichweitenerhöhung verschiedene Ansätze: &lt;br /&gt;
# Kleinerer Pull-Up&lt;br /&gt;
# Geschwindigkeitsreduktion&lt;br /&gt;
# Bustreiber&lt;br /&gt;
# Differentielle Übertragung&lt;br /&gt;
# Aktiver Pull-Up&lt;br /&gt;
&lt;br /&gt;
=== Kleinerer Pull-Up ===&lt;br /&gt;
&lt;br /&gt;
Da das Kernproblem darin liegt, dass der high-Zustand nur passiv erreicht wird, bietet es sich an den Pull-Up Widerstand zu verkleinern um dadurch die Zeit zu verkürzen die der Bus benötigt den high-Zustand zu Erreichen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Begrenzt wird dieses Vorhaben dadurch, dass I²C Geräte nur 3mA sinken können (Die weiter unten besprochenen Bustreiber umgehen genau dieses Problem). Bei der Berechnung der Pull-Ups muss also darauf geachtet werden, dass nicht mehr als 3mA durch einen Widerstand fließen. Eine Ausnahme stellen I²C Geräte dar, die der &#039;&#039;Fm+&#039;&#039; (oder höher) Spezifikation entsprechen (Fm+ = Fast mode Plus). Diese sind in der Lage 30mA zu sinken.&lt;br /&gt;
&lt;br /&gt;
wer das liest ist doof&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeitsreduktion ===&lt;br /&gt;
&lt;br /&gt;
Wenn die Busgeschwindigkeit angepasst wird, sind große Strecken und umfangreiche Verzweigungen möglich. Ein 30-Meter-Bus funktioniert zum Beispiel noch mit rund 20kHz fast ohne Probleme. &lt;br /&gt;
Bei Geschwindigkeiten um 1kHz, wurde im Forum schon von Buslängen von etlichen hundert Metern berichtet. &lt;br /&gt;
&lt;br /&gt;
=== Bustreiber ===&lt;br /&gt;
&lt;br /&gt;
Bustreiber haben die Aufgabe die maximale Buskapazität von 400pF zu erhöhen. Dies erreichen die Bausteine i.d.R. durch eine Steigerung des Stroms auf dem Bus. &lt;br /&gt;
Die drei bekanntesten Bustreiber für diesen Zweck sind folgende:&lt;br /&gt;
&lt;br /&gt;
* P82B715 (3000pF, max. 100kHz)&lt;br /&gt;
* P82B96 (4000pF, max. 400kHz)&lt;br /&gt;
* PCA9600 (4000pF, max. 1MHz)&lt;br /&gt;
&lt;br /&gt;
Alle drei Typen haben ihre Vor- und Nachteile. Wobei der PCA9600 als Nachfolger vom P82B96 angesehen werden kann und im Prinzip nur Vorteile gegenüber dem P82B96 hat (Abgesehen vom Preis und der Beschaffbarkeit ;) - [http://www.reichelt.de/PCF-I-C-Bus-Controller/PCA-9600-D/3/index.html?;ACTION=3;LA=446;ARTICLE=126478;GROUPID=2942;artnr=PCA+9600+D &#039;&#039;&#039;PCA9600&#039;&#039;&#039; Gibts nun bei Reichelt!])&lt;br /&gt;
&lt;br /&gt;
Der Hauptunterschied zwischen P82B96 und PCA9600 sind die Spannungspegel an der Sx/Sy Seite des ICs. Der P82B96 kann diese Pins bei einem low-Signal nicht weiter als 0,88V nach unten ziehen (I²C kompatibel, nicht TTL kompatibel). Der verbesserte PCA9600 kann bis auf 0,74V herunter ziehen (I²C und TTL kompatibel). Des weiteren hat der PCA weniger Laufzeitverzögerung und ist bis zu 1MHz Bustakt spezifiziert. &lt;br /&gt;
&lt;br /&gt;
Der P82B96 (und PCA9600) verhindert eine Rückkopplung indem er an seinen Sx/Sy Eingängen ein low bei 0,65V erkennt, ein low selber aber nur mit 0,88V ausgeben kann. Informationen die über die T/R Seite kommen, werden also von einem zweiten, parallelgeschalteten, Bustreiber des gleichen Typs nicht weitergeleitet. Im Gegensatz zum P82B715 können die ICs verschiedene Busspannungen &amp;quot;übersetzen&amp;quot;. Die gepufferte Seite kann also mit einer anderen Busspannung betrieben werden als die Sx/Sy Seite.&lt;br /&gt;
&lt;br /&gt;
P82B96 und PCA9600 können statisch 30mA treiben. In der Application Note AN10216 (Seite 46) wird von NXP geschrieben das mittels externer Transistoren der Strom noch weiter erhöht werden kann. Bei 30kHz wird eine mögliche Gesamtlänge von 1km angegeben. &lt;br /&gt;
&lt;br /&gt;
Recht einfach aufgebaut ist der P82B715. Intern arbeitet nur ein Stromsensor, der auf der gepufferten Seite mittels Transistors den Strom bei low Pegel erhöht. Er hat somit nicht die Probleme mit bestimmten Spannungspegeln wie die P82B96 und PCA9600 ICs. Dafür muss beim P82B715 auch die ungepufferte Seite zur Gesamtbuslast mit einbezogen werden. Auch ist es nicht möglich die gepufferte Seite mit anderer Spannung zu bertreiben. &lt;br /&gt;
Auf der gepufferten Seite (LDA/LCL) besitzt der P82B715 nur jeweils einen Pin für jede Busleitung. Applikationen die getrennte TX und RX Pins benötigen, sind mit dem P82B715 also nicht möglich.&lt;br /&gt;
&lt;br /&gt;
=== Differentielle Übertragung ===&lt;br /&gt;
&lt;br /&gt;
In Kombintation mit einem Bustreiber wie dem P82B96, ist es möglich die I²C Bus Signale über RS-485 oder CAN physikalisch zu &amp;quot;tunneln&amp;quot; (PHY Layer).&lt;br /&gt;
&lt;br /&gt;
Dabei werden die TX und RX Leitungen des I²C Bustreibers mit den TX und RX Leitungen des RS-485 oder CAN Treibers verbunden. Für SDA und SCL werden hierfür auf dem Übertragungskabel also insgesamt vier Leitungen benötigt.&lt;br /&gt;
&lt;br /&gt;
NXP hat mit den P82B485/P82B486 auch Treiber angekündigt, die den I²C-Bus direkt auf RS485 übersetzen.&lt;br /&gt;
&lt;br /&gt;
=== Aktiver Pull-Up ===&lt;br /&gt;
&lt;br /&gt;
Linear Technology bietet einige ICs wie den LTC1694 an, der den passiven low-high Wechsel des I²C-Bus durch eine Stromquelle beschleunigt.&lt;br /&gt;
&lt;br /&gt;
== Topologie ==&lt;br /&gt;
&lt;br /&gt;
Über die günstigste Topologie (Stern, Bus,..) ist bisher nichts bekannt.&lt;br /&gt;
&lt;br /&gt;
== Störsicherheit/EMV ==&lt;br /&gt;
Bei der Nutzung als Feldbus müssen die Busteilnehmer sowohl gegen Störungen und Überspannung geschützt werden (induktive/kapazitive Einkopplungen), als auch Maßnahmen getroffen werden gegen zu große Störabstrahlung des Busses in die Umwelt. Wesentlich ist dabei die Begrenzung des maximalen Spannungsanstieges dU/dT auf allen Busleitungen und der Schutz vor Spannungsspitzen. Dazu gibt es folgende Möglichkeiten:&lt;br /&gt;
* Verwendung abgeschirmter und/oder verdrillter Leitungen mit zentraler Erdung&lt;br /&gt;
* Überspannungsschutz bei den Busteilnehmern - durch Schottkydioden zwischen SDA/SCL gegen Masse und VCC unmittelbar an den Slaves und Serienwiderstände in den Datenleitungen in der Anbindung zum Bus (typ. 50 … 200 Ohm)&lt;br /&gt;
* Passive Pi-Filter an allen Busteilnehmern, abgestimmt auf die höchste Übertragungsrate&lt;br /&gt;
Eine effektive Variante zum Schutz vor Überspannung, Spannungsausfall beim Slave und zugleich Pegelanpassung:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Pegelshifter&amp;amp;EMV.png|600px|Schaltplan]]&lt;br /&gt;
&lt;br /&gt;
= Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
Von Hause aus ist bei I²C keine Checksumme o.ä. vorgesehen. Einzelne Bytes werden nur mit einem ACK bestätigt.&lt;br /&gt;
&lt;br /&gt;
Man muss also eigene Konzepte entwickeln um sicherzugehen, dass Daten korrekt gesendet und empfangen wurden. &lt;br /&gt;
&lt;br /&gt;
Einige Möglichkeiten wären:&lt;br /&gt;
* Geschriebene Daten zurücklesen&lt;br /&gt;
* Daten immer mehrmals schreiben/lesen&lt;br /&gt;
* Wenn man µC als Slave programmiert, kann man eine Checksumme als zusätzliches Byte mitübertragen&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Problem ist, dass Slaves sowohl das SDA Datensignal, als auch das SCL Taktsignal (Clock-Stretching) dauerhaft auf &amp;quot;Low&amp;quot; ziehen können, was den Totalausfall des Busses zur Folge hat. Das kann z.B. beim Ausfall der Stromversorgung eines Slaves auftreten, es sind aber auch Schaltkreise bekannt, die diese Fehlfunktion bei längerem Betrieb zeigen (z.B. LM75). Die Auswirkungen eines lokalen Stromausfalls begrenzt ein klassischer Pegelshifter mit MOSFET, zwischen Bus und Slave geschaltet, bereits zuverlässig. Das Erlauben von Clock-Stretching ist generell ein Problem, da das Bus-Timing und somit die Reaktion des Gesamtsystems in Echtzeit nicht mehr garantiert werden können.&lt;br /&gt;
&lt;br /&gt;
= Adressierung =&lt;br /&gt;
&lt;br /&gt;
Wie viele Adressen einzelne I²C Bausteine haben, ist unterschiedlich. In der Regel sind 1-8 Adressen möglich. Es gibt aber auch (neuere) Bausteine die bis zu 64 mögliche Adressen haben. Somit kann es also sein, das man evt. Probleme bekommt wenn man mehrere Bausteine des selben Typs einsetzen will.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht ist der PCA9501 I/O Expander Baustein recht interessant. Er bietet als einer der wenigen älteren Bausteine bis zu 64 mögliche Adressen. Zudem hat er ein integriertes EEPROM (256 Byte) und ist somit für Hausbus Anwendungen gut geeignet. &lt;br /&gt;
&lt;br /&gt;
Eine andere Lösung dieses Problems ist die Verwendung von I²C Multiplexern- bzw. Switches. Wie z.B. den PCA9544. Dieser Baustein kann einzelne Busabschnitte bei Bedarf abtrennen, so das man in den einzelnen Abschnitten identische Adressen verwenden kann.&lt;br /&gt;
&lt;br /&gt;
= Eigene Erfahrungen =&lt;br /&gt;
&lt;br /&gt;
Vor einigen Jahren war ich als Servicetechniker bei einer Geräteinstallation im Einsatz, bei der die laut Datenblatt möglichen Längen bei weitem überschritten wurden. Ab 12m ging nix mehr. Der Grund war aber nicht der I²C-Bus, sondern die Spannungsversorgung der entfernten Geräte. Die Masseleitung war auch 12m lang, und der Stromverbrauch der Geräte hat den Massepegel soweit angehoben, dass der I²C-Bus nicht mehr funktioniert hat. Mit einer dickeren Masseleitung hat&#039;s sofort wieder funktioniert. &lt;br /&gt;
&lt;br /&gt;
Die Kabel sind (bezüglich der gemeinsamen Masse) eine Kette über differentiell kleiner Widerstände parallel geschaltener differentiell kleiner Kondensatoren. Durch einen Pegel-Wechsel müssen all diese kleinen Kondensatoren über die Widerstände umgeladen werden. Folge ist eine deutlich kleinere Ausbreitungs-Geschwindigkeit des Signals und ein geringerer Spannungs-Anstieg an den Anschlüssen der Geräte. Zu der Kapazität der Kabel kommt vor allem noch die Kapazität der Geräte. Im I²C-Standard von Philips ist diese Kapazität auf 400pF limitiert. Im access.bus-Standard (welcher für Computer-Komponenten und Peripherie entwickelt wurde) ist diese Kapazität auf 1000pF beschränkt. Vgl. Ausbreitungsgeschwindigkeiten, Kapazitäten bei anderen Bus-Systemen wie USB, SATA, RS485&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe ein I2C Netzwerk im Haus, sternfoermig und Reihe gemischt, &lt;br /&gt;
vielleicht 40m alles zusammen, bei 70kHz mit P82B715 an allen Knoten, &lt;br /&gt;
CAT5 Kabel, laeuft einwandfrei. Musst natuerlich Fehlererkennung (NACK) &lt;br /&gt;
etc Routinen vorhalten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Habe bei meinem I2C-Hausbus eine Kabellänge &lt;br /&gt;
von ca. 120m. Auch sternförmig und reihe gemischt. Taktfrequenz 96kHz, &lt;br /&gt;
jedes der 22 Module ist mit einem P82B715 ausgestattet. Den Pull-up &lt;br /&gt;
Widerstand von SDA und SCL habe ich auf 180 Ohm verringert. Läuft &lt;br /&gt;
fehlerfrei seit ca. 15 Jahren. Verwendetes Kabel für SCL, SDA: &lt;br /&gt;
2x0,14mm², geschirmt. Spannungsversorgung +/-15V und Interrupt: 5x1,5².&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mein I2C-Hausbus hat ca. 150m Gesamtlänge, Topologie sowohl als Stern, als auch Linien gemischt. Taktfrequenz 3 kHz und weitere Optimierungen. Einheitlicher Bus mit Masse/SDA/SCL und +12V zur Stromversorgung. Läuft seit 2004 weitgehend fehlerfrei. Dokumentation im Netz (Projekt Hauscomputer).&lt;br /&gt;
&lt;br /&gt;
= Passende Sensoren / Module =&lt;br /&gt;
* Temperatursensor mit dem [[Temperatursensor#DS1621|DS1621]]&lt;br /&gt;
* [[I2C-Schaltmodul]] mit dem [[Port-Expander_PCF8574|PCF8574]]&lt;br /&gt;
* [http://cctools.hs-control.de/ext_index.php?artikel=1824 I²C-CAN Modul]&lt;br /&gt;
* [http://www.horter.de/i2c/index.htm I²C Module]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
* [http://www.i2c-bus.org/ I²C-Bus Infoseite]&lt;br /&gt;
* [https://www.nxp.com/products/interfaces/ic-bus:MC_41735 Übersicht I²C Bausteine von NXP]&lt;br /&gt;
* [http://www.hendonsemiconductors.com/bus-buffer.asp Hendon Semiconductors (Viele Application Notes)]&lt;br /&gt;
&lt;br /&gt;
== Foren Beiträge ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71426#582586 I2C über 1,2km Kabel mit CAN-Transceiver]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/40880 I2C über 200m Kabel mit P82B96]&lt;br /&gt;
&lt;br /&gt;
== Application Notes == &lt;br /&gt;
&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN10658.pdf AN10658 (Sending I2C-bus signals via long communications)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN460.pdf AN460 (Using the P82B96 for bus interface)]&lt;br /&gt;
* [http://www.nxp.com/documents/application_note/AN255.pdf AN255 (I²C / SMBus Repeaters, Hubs and Expanders)]&lt;br /&gt;
&lt;br /&gt;
== Praktische Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
* [http://haus-computer.de Projekt Hauscomputer]&lt;br /&gt;
* [https://gkiefer.github.io/home2l Projekt &#039;&#039;The Home2Ls&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Hausbus_auf_I2C-_und_ATtiny-Basis:_Home2L_Brownies|Hausbus auf I²C- und ATtiny-Basis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:I2C]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;/div&gt;</summary>
		<author><name>172.26.29.204</name></author>
	</entry>
</feed>