www.wikidata.de-de.nina.az
I C fur englisch Inter Integrated Circuit im Deutschen gesprochen als I Quadrat C oder englisch I Squared C ˈaɪ skwɛerd ˈsiː oder I 2 C ˈaɪ tuː ˈsiː ist ein 1982 von Philips Semiconductors heute NXP Semiconductors entwickelter serieller Datenbus der sich zwischenzeitlich zu einem weithin akzeptierten Industriestandard entwickelt hat Er wird hauptsachlich gerateintern fur die Kommunikation zwischen verschiedenen Schaltungsteilen benutzt z B innerhalb eines Fernsehgerates oder zwischen einem Controller und Peripherie ICs Inhaltsverzeichnis 1 Geschichte 2 Bussystem 2 1 Elektrische Definition 2 2 Takt und Zustande des Busses 2 3 Adressierung 2 4 Ubertragungsprotokoll 2 5 Arbitrierung im Multi Controller Betrieb 3 Verwendung 4 Stabilitat 5 Erweiterungen 6 Siehe auch 7 Weblinks 8 Anmerkungen 9 EinzelnachweiseGeschichte BearbeitenDer Bus wurde 1982 von Philips eingefuhrt zur gerateinternen Kommunikation zwischen ICs in z B CD Spielern und Fernsehgeraten Dazu wurde die Mikrocontroller Familie MAB8400 entwickelt die einen I C Bus Controller enthielt Die erste standardisierte Spezifikation 1 0 wurde 1992 veroffentlicht Diese erganzte den ursprunglichen Standard mit 100 kbit s um einen neuen schnellen Modus Fast mode mit 400 kbit s und erweiterte den Adressraum um einen 10 Bit Modus so dass statt der ursprunglichen 112 Knoten seitdem bis zu 1136 unterstutzt werden Seit Mitte der 1990er Jahre wird I C auch von einigen Wettbewerbern zur Bezeichnung von Philips kompatiblen I C Systemen verwendet darunter Siemens AG spater Infineon Technologies AG NEC STMicroelectronics Motorola spater Freescale heute auch NXP Intersil etc Bis zum Jahr 1998 wurde I C in mehr als 1000 verschiedenen IC Typen implementiert und an 50 Firmen lizenziert 1 Atmel fuhrte aus lizenzrechtlichen Grunden die heute auch von einigen anderen Herstellern verwendete Bezeichnung TWI Two Wire Interface englisch fur Zweidraht Schnittstelle Anm 1 ein technisch sind TWI und I C praktisch Anm 2 identisch 2 Allerdings ist das ursprungliche Patent am 1 Oktober 2006 ausgelaufen so dass keine Lizenzgebuhren fur die Benutzung von I C mehr anfallen I C ist auch kein eingetragenes Markenzeichen von NXP Semiconductors Markenschutz besteht lediglich fur das Logo Mit Version 2 0 aus dem Jahr 1998 kam ein Hochgeschwindigkeitsmodus Hs mode mit max 3 4 Mbit s dazu wobei die Strom und Spannungsanforderungen in diesem Modus gesenkt wurden Version 3 0 von 2007 fuhrte einen weiteren Modus Fast mode Plus Fm mit bis zu 1 Mbit s ein der im Gegensatz zum Hs mode dasselbe Protokoll verwendet wie die 100 und 400 kbit s Modi Im Jahr 2012 wurde mit der Spezifikation Version 4 ein noch schnellerer Modus Ultra Fast mode Ufm eingefuhrt der unidirektionale Ubertragungsraten bis zu 5 Mbit s unterstutzt Einige Fehler wurden mit der Version 5 im selben Jahr bzw der Version 6 im April 2014 korrigiert 3 Im Jahr 2021 wurden in der gesamten Spezifikation die Begriffe Master und Slave englisch fur Herr und Sklave ersetzt durch Controller bzw Target englisch fur Steuereinheit bzw Ziel Damit sollen die fruheren Ausdrucke vermieden und gleichzeitig die Wortwahl an den neuen ruckwarts kompatiblen I3C Bus Improved Inter Integrated Circuit Bus der MIPI Alliance angeglichen werden 1 Bussystem BearbeitenI C ist als Master Slave Bus konzipiert Ein Datentransfer wird immer durch einen Master Controller initiiert der uber eine Adresse angesprochene Slave Target reagiert darauf Mehrere Controller sind moglich Multi Controller Betrieb Wenn im Multi Controller Betrieb ein Controller Baustein auch als Target arbeitet kann ein anderer Controller direkt mit ihm kommunizieren indem er ihn als Target anspricht Elektrische Definition Bearbeiten nbsp I C Bus mit einem Controller und drei TargetsIm Diagramm rechts sind drei Gerate eingezeichnet I C benotigt zwei Signalleitungen Takt SCL Serial Clock und Datenleitung SDA Serial Data Beide liegen mit den Pull up Widerstanden RP an der Versorgungsspannung VDD Samtliche daran angeschlossene Gerate haben Open Collector Ausgange was zusammen mit den Pull up Widerstanden eine Wired AND Schaltung ergibt Der High Pegel soll mindestens 0 7 VDD betragen und der Low Pegel soll bei hochstens 0 3 VDD liegen Die im Bild nicht eingezeichneten Serienwiderstande RS an den Eingangen der Gerate sind optional und werden als Schutzwiderstande verwendet Der I C Bus arbeitet mit positiver Logik d h ein High Pegel auf der Datenleitung entspricht einer logischen 1 der Low Pegel einer 0 Takt und Zustande des Busses Bearbeiten nbsp Zeitverhalten am I C Bus Zwischen dem Start Signal S und dem Stopp Signal P werden die Datenbits B1 bis BN ubertragen Der Bustakt wird immer vom Controller ausgegeben Das Taktsignal liegt nicht standig an sondern nur wahrend der Datenubertragung Fur die verschiedenen Modi ist jeweils ein maximal erlaubter Bustakt vorgegeben In der Regel konnen aber auch beliebig langsamere Taktraten verwendet werden falls diese vom Controller Interface unterstutzt werden Einige ICs z B Analog Digital Umsetzer benotigen jedoch eine bestimmte minimale Taktfrequenz um ordnungsgemass zu funktionieren Maximal erlaubte Taktraten Modus MaximaleUbertragungsrate RichtungStandard Mode Sm 0 1 Mbit s bidirektionalFast Mode Fm 0 4 Mbit sFast Mode Plus Fm 1 0 Mbit sHigh Speed Mode Hs mode 3 4 Mbit sUltra Fast mode UFm 5 0 Mbit s unidirektionalWenn das Target mehr Zeit benotigt als durch den Takt des Controllers vorgegeben ist kann er zwischen der Ubertragung einzelner Bytes die Taktleitung auf low halten Clock Stretching und so den Controller bremsen In der Spezifikation einiger Target Bausteine wird explizit erklart dass sie kein Clock Stretching anwenden Dementsprechend gibt es auch Bustreiber Bausteine die so ausgelegt sind dass sie das Taktsignal nur in eine Richtung ubertragen konnen 4 Daten Einzelbits sind nur gultig wenn sich ihr logischer Pegel wahrend einer Clock High Phase nicht andert Ausnahmen sind das Start Stop und Repeated Start Signal Das Start Signal ist eine fallende Flanke auf SDA wahrend SCL high ist das Stop Signal ist eine steigende Flanke auf SDA wahrend SCL high ist Repeated Start sieht genauso aus wie das Start Signal Eine Dateneinheit besteht aus 8 Datenbits 1 Oktett welche protokollbedingt entweder als Wert oder als Adresse interpretiert werden und einem ACK Bit Dieses Bestatigungsbit Acknowledge wird vom Target durch einen Low Pegel auf der Datenleitung wahrend der neunten Takt High Phase welche nach wie vor vom Controller generiert wird und als NACK fur engl not acknowledge durch einen High Pegel signalisiert Das Target muss den Low Pegel an der Datenleitung anlegen bevor SCL auf high geht andernfalls lesen weitere eventuelle Teilnehmer ein Start Signal Adressierung Bearbeiten Eine Standard I C Adresse ist das erste vom Controller gesendete Byte wobei die ersten sieben Bit die eigentliche Adresse darstellen und das achte Bit R W Bit dem Target mitteilt ob er Daten vom Controller empfangen soll Low Schreibzugriff oder Daten an den Controller zu ubertragen hat High Lesezugriff I C nutzt daher einen Adressraum von 7 Bit was bis zu 112 Knoten auf einem Bus erlaubt 16 der 128 moglichen Adressen sind fur Sonderzwecke reserviert Jedes I C fahige IC hat eine ublicherweise vom Hersteller festgelegte Adresse von der in der Regel eine modellabhangige Anzahl der untersten Bits LSB uber spezielle Eingangspins des ICs individuell konfiguriert werden konnen Hierdurch wird es moglich mehrere ICs dieses Typs am selben I C Bus zu betreiben ohne dass es zu Adresskonflikten kommt Lassen sich Adresskonflikte nicht vermeiden so mussen die entsprechenden ICs mit getrennten I C Bussen angesteuert oder temporar vom Bus getrennt werden Wegen Adressknappheit wurde spater eine 10 Bit Adressierung eingefuhrt Sie ist abwartskompatibel zum 7 Bit Standard durch Nutzung von 4 der 16 reservierten Adressen Beide Adressierungsarten sind gleichzeitig verwendbar was bis zu 1136 Knoten auf einem Bus erlaubt Ubertragungsprotokoll Bearbeiten Der Beginn einer Ubertragung wird mit dem Start Signal vom Controller angezeigt dann folgt die Adresse Diese wird durch das ACK Bit vom entsprechenden Target bestatigt Abhangig vom R W Bit werden nun Daten byteweise geschrieben Daten an Target oder gelesen Daten vom Target Das ACK beim Schreiben wird vom Target gesendet und beim Lesen vom Controller Das letzte Byte eines Lesezugriffs wird vom Controller mit einem NACK quittiert um das Ende der Ubertragung anzuzeigen Eine Ubertragung wird durch das Stop Signal beendet Alternativ kann auch ein Repeated Start am Beginn einer erneuten Ubertragung gesendet werden ohne die vorhergehende Ubertragung mit einem Stop Signal zu beenden Alle Bytes werden dabei Most Significant Bit First ubertragen Fur den High Speed Mode wird zuerst im Fast oder Standard Mode ein Master Code geschickt bevor auf die erhohte Frequenz umgeschaltet wird Dadurch wird zum einen der High Speed Mode signalisiert zum anderen haben nicht High Speed taugliche Busteilnehmer die Chance innerhalb ihrer Spezifikation zu erkennen dass sie nicht angesprochen wurden Im Multi Controller Betrieb muss jeder Buscontroller einen eigenen Master Code benutzen So ist sichergestellt dass die Busarbitrierung s u abgeschlossen ist bevor in den High Speed Mode gewechselt wird Arbitrierung im Multi Controller Betrieb Bearbeiten Die Arbitrierung Zugriffsregelung auf den Bus ist durch die Spezifikation geregelt Der Bus ist zwischen Start und Stoppsignal belegt Bus Controller mussen daher immer auf Start und Stoppsignale achten um den Uberblick uber den Busstatus zu behalten So konnen sie warten bis der Bus frei ist sollte evtl unvorhergesehen eine Ubertragung anstehen Sollten mehrere Bus Controller gleichzeitig mit einer Transaktion starten wollen so sehen sie den Bus als frei an und starten gleichzeitig mit der Ubertragung Sind die Controller unterschiedlich schnell erfolgt die Ubertragung nun zunachst so schnell wie der langsamste der beteiligten Bus Controller arbeitet da das Taktsignal eines langsameren Bus Controllers per Clock Stretching die schnelleren ausbremst Alle Bus Controller lauschen auf die von ihnen selbst gesendeten Daten In dem Augenblick wenn ein Bus Controller eine 0 und ein anderer eine 1 ubertragen will nimmt die Bus Leitung aufgrund der Wired And Schaltung aller Busteilnehmer 0 Pegel an Gemass dem I C Protokoll verlieren in diesem Augenblick die Bus Controller mit der 1 den Bus ziehen sich zuruck und warten auf das Stoppsignal um dann ihr Gluck erneut zu versuchen Die anderen Bus Controller machen weiter bis schliesslich nur noch einer ubrigbleibt Sollte ein unterlegener Bus Controller Baustein auch Target Dienste anbieten muss er allerdings gleichzeitig darauf achten ob der gewinnende Bus Controller ihn gerade ansprechen will und daher gerade dabei ist ihn zu adressieren Das Verfahren geht so weit dass gar keine Arbitrierung stattfindet wenn mehrere Bus Controller zufallig uber mehrere Bytes hinweg von Anfang bis zum Abschluss ihrer jeweiligen Transaktionen hinweg identische Daten an denselben Target Baustein senden Die betreffenden Bus Controller merken nichts voneinander eventuelles Clock Stretching durch einen langsameren Controller ist gemass Protokoll nicht von Clock Stretching durch das Target zu unterscheiden der angesprochene Target Baustein kommuniziert mit den betreffenden Bus Controllern gleichzeitig ohne dass es von den Beteiligten bemerkt wird Diese Tatsache ist zu berucksichtigen und ihr muss sofern sie sich storend auswirken konnte anderweitig Abhilfe geschaffen werden Verwendung Bearbeiten nbsp Serielles EEPROM mit I C Bus von STMicroelectronicsEine Eigenschaft von I C ist die Tatsache dass ein Mikrocontroller ein ganzes Netzwerk an integrierten Schaltungen mit nur zwei I O Pins und einfacher Software kontrollieren kann Busse dieses Typs wurden realisiert da ein nicht unerheblicher Teil der Kosten einer integrierten Schaltung und der verwendeten Leiterplatte von der Grosse des Gehauses und der Anzahl der Pins abhangt Ein grosses IC Gehause hat mehr Pins braucht mehr Platz auf der Leiterplatte und hat mehr Verbindungen die versagen konnen All das steigert die Produktions und Testkosten Obwohl langsamer als neuere Bus Systeme ist I C wegen des geringen Aufwands vorteilhaft fur Peripheriegerate die nicht schnell zu sein brauchen Haufig wird er fur die Ubertragung von Steuer und Konfigurationsdaten verwendet Beispiele sind Lautstarkeregler Analog Digital oder Digital Analog Wandler mit niedriger Abtastrate Echtzeituhren kleine nichtfluchtige Speicher oder bidirektionale Schalter und Multiplexer Auch elektronische Sensoren haben oft einen Analog Digital Wandler mit I C Schnittstelle integriert Wahrend des Betriebes konnen Chips zum Bus hinzugefugt oder entfernt werden Hot Plugging I C wird auch als Basis fur ACCESS bus und VESAs Monitordaten Interface Display Data Channel kurz DDC benutzt Der vom Prozessorhersteller Intel fur die Kommunikation von Mainboard Komponenten definierte SMBus ist dem I C Bus sehr ahnlich die meisten ICs erlauben einen Betrieb an beiden Bussen Grosse Bedeutung hatte das I C Protokoll in der Vergangenheit im Chipkartenbereich Die in Deutschland bis Ende 2014 verwendete Krankenversichertenkarte war eine I C Karte d h unter den goldenen Kontaktflachen der Chipkarte befand sich ein einfaches I C EEPROM das vom Kartenleser uber das I C Protokoll ausgelesen und beschrieben werden konnte Stabilitat BearbeitenDas Protokoll des I C Bus ist von der Definition her recht einfach aber auch recht storanfallig 5 Diese Tatsache schrankt die Verwendung auf storarme Umgebungen ein wo weder mit Ubersprechen Rauschen EMV Problemen noch mit Kontaktproblemen Stecker Buchsen zu rechnen ist Auch ist er ungeeignet zur Uberbruckung grosserer Entfernungen wie es beispielsweise fur Feldbusse typisch ist Der Bus kann jedoch mit speziellen Treibern auf einen hoheren Strom oder Spannungspegel umgesetzt werden wodurch der Storabstand und die mogliche Leitungslange steigen Ein noch grosserer Storabstand ist durch eine Umsetzung auf den physikalischen Layer des CAN Busses moglich der mit differentiellen Open Collector Signalen arbeitet Storungen sowohl des SDA als auch des SCL Signals resultieren in fehlerhaft ubertragenen Daten die vor allem bei Storungen auf SDA oft nicht erkannt werden konnen Lediglich bei geringen zeitlich begrenzten Storungen z B weit oberhalb der Signalfrequenz kann das System mittels Signalverarbeitung stabiler gemacht werden Die eigentliche I C Spezifikation beinhaltet anders als die SMBus Spezifikation keinen Timeout dadurch kann es unter bestimmten Umstanden dazu kommen dass Busteilnehmer den Bus blockieren Falls ein Target Chip gerade die Datenleitung auf 0 zieht wahrend der Controller den Transfer beispielsweise durch einen Reset abbricht bleibt die Datenleitung fur unbestimmte Zeit auf 0 Somit bleibt der gesamte I C Bus mit allen angeschlossenen Teilnehmern Chips blockiert Daher sollen im Falle eines Resets auch alle Busteilnehmer zuruckgesetzt werden ggf durch Unterbrechen der Spannungsversorgung 1 Alternativ wird ein Bus clear durchgefuhrt Der Controller generiert bis zu neun Taktimpulse spatestens dann sollte die Datenleitung freigegeben sein 1 Selbst wenn sich der Target Baustein noch mitten in einer Ubertragung befindet und die Datenleitung nur freigegeben ist weil er gerade eine 1 ausgibt wird er bzw dessen I C Komponente durch das nachste Start Signal zuruckgesetzt 1 Analog Devices empfiehlt zunachst ein Stopp Signal zu senden 6 Erweiterungen BearbeitenDie MIPI Alliance hat 2014 ein I3C genanntes zu I C abwartskompatibles Interface vorgestellt 7 Es wird als Nachfolger von I C propagiert 8 Es enthalt Erweiterungen wie eine hohere Ubertragungsgeschwindigkeit High Data Rate HDR und kann damit bei mittleren Geschwindigkeiten 8 auch das Serial Peripheral Interface SPI ersetzen Siehe auch BearbeitenSMBus Technisch sehr ahnlicher Bus die Bauteile sind oft kompatibel zum I C Bus Serial Peripheral Interface Ein weiterer serieller Bus der aber Chip Select Leitungen fur den Zugriff auf individuelle ICs benutzt Totem Pole Ausgange und getrennte Sende und Empfangsleitungen aufweist I S Inter IC Sound Eine Schnittstelle speziell zur Ubertragung von digitalen Audiodaten 1 Wire Eine serielle Schnittstelle die mit einer Datenader auskommt die sowohl als Stromversorgung als auch als Sende und Empfangsleitung genutzt wird Display Data Channel DDC Serieller Bus zur Kommunikation zwischen PC und Bildschirm basierend auf dem I C BusWeblinks BearbeitenThe I C Bus Specification and User Manual Rev 7 0 1 October 2021 archivierte Version vom nicht mehr frei verfugbaren Original The I C Bus Specification and User Manual Rev 7 0 1 October 2021 UM10204 Original Spezifikation von NXP Semiconductors PDF engl 734 KiB i2c bus org Detaillierte Information zum I2C Bus in Deutsch und Englisch I C Bus and Access Bus Darstellung der Gemeinsamkeiten und Unterschiede englisch Eine einfache verstandliche Erklarung des I C Bus Einfuhrung in I C hauptsachlich AVR Beispiele Die Nutzung des I C Interfaces am Beispiel des PIC16F876 I2C Slave Adressierung mit 7 Bit 8 Bit und 10 BitAnmerkungen Bearbeiten Gezahlt werden hier nur die Signalleitungen nicht aber die Leitung fur das Bezugspotential Masseleitung Kleine Unterschiede in der Implementierung listet beispielhaft das Datenblatt fur AT32UC3A auf Seite 220 auf Einzelnachweise Bearbeiten a b c d e UM10204 pdf The I C Bus Specification and User Manual Rev 7 0 1 October 2021 NXP 1 Oktober 2021 archiviert vom Original abgerufen am 11 Februar 2023 englisch I C bei mikrocontroller net NXP Semiconductors The I C Bus Specification and User Manual Rev 6 4 April 2014 Memento vom 26 April 2021 im Internet Archive Original Spezifikation PDF engl 1 4 MB Beispielsweise die I C Isolatoren ADuM1250 mit Clock Stretching und ADuM1251 ohne Clock Stretching Arne Pahl Stefan Dickmann Analysis of sensor disturbances caused by IEMI 2022 S 159 165 doi 10 15488 12572 uni hannover de abgerufen am 18 September 2023 Analog Devices Implementing an I C Reset Application Note 686 PDF engl R Colin Johnson MEMS Sensor Interface I3C Rocks MIPI Alliance offer improved sensor spec at MEC EE Times 12 November 2014 abgerufen am 2 August 2017 englisch a b Emmanuel T Nana Improved Inter Integrated Circuit I3C standard New serial bus for sensor interface in mobile and electronic equipment NXP FTF2016 Technology Forum 18 Mai 2016 S 12 abgerufen am 22 August 2022 Normdaten Sachbegriff GND 4373106 5 lobid OGND AKS Abgerufen von https de wikipedia org w index php title I C amp oldid 237427395