I2C-Schnittstelle: Beschreibung auf Russisch

Inhaltsverzeichnis:

I2C-Schnittstelle: Beschreibung auf Russisch
I2C-Schnittstelle: Beschreibung auf Russisch
Anonim

In modernen Haush altsgeräten, Industrieelektronik und diversen Telekommunikationsgeräten sind oft ähnliche Lösungen zu finden, obwohl die Produkte praktisch nicht verwandt sein können. Zum Beispiel enthält fast jedes System Folgendes:

  • eine bestimmte "intelligente" Steuereinheit, die in den allermeisten Fällen ein Ein-Chip-Mikrocomputer ist;
  • allgemeine Komponenten wie LCD-Puffer, RAM, I/O-Ports, EEPROM oder dedizierte Datenkonverter;
  • spezifische Komponenten einschließlich digitaler Tuning- und Signalverarbeitungssch altkreise für Video- und Radiosysteme.

Wie kann man ihre Bewerbung optimieren?

kurze beschreibung der uart spi i2c schnittstellen
kurze beschreibung der uart spi i2c schnittstellen

Um das Beste aus diesen gängigen Lösungen zum Nutzen von Designern und Herstellern zu machen, sowie um die Gesamtleistung verschiedener Hardware zu verbessern und die verwendeten Sch altungskomponenten zu vereinfachen, hat sich Philips vorgenommen, die einfachste bidirektionale Zweidraht-Verbindung zu entwickeln Bus, der den produktivsten Inter-Chip bietetKontrolle. Dieser Bus ermöglicht die Datenübertragung über die I2C-Schnittstelle.

Heute umfasst die Produktpalette des Herstellers mehr als 150 CMOS- sowie bipolare Bauelemente, die mit I2C kompatibel und für den Einsatz in allen aufgeführten Kategorien ausgelegt sind. Es ist zu beachten, dass die I2C-Schnittstelle zunächst in alle kompatiblen Geräte eingebaut ist, wodurch sie über einen speziellen Bus problemlos miteinander kommunizieren können. Aufgrund der Verwendung einer solchen Designlösung war es möglich, eine ziemlich große Anzahl von Problemen der Schnittstelle verschiedener Geräte zu lösen, was für die Entwicklung digitaler Systeme ziemlich typisch ist.

Hauptvorteile

i2c-Schnittstelle
i2c-Schnittstelle

Auch wenn Sie sich eine kurze Beschreibung der UART-, SPI- und I2C-Schnittstellen ansehen, können Sie die folgenden Vorteile der letzteren hervorheben:

  • Zum Arbeiten benötigen Sie nur zwei Leitungen - Synchronisation und Daten. Jedes Gerät, das an einen solchen Bus angeschlossen ist, kann dann programmgesteuert an eine vollständig eindeutige Adresse adressiert werden. Zu jedem Zeitpunkt gibt es eine einfache Beziehung, die es den Mastern ermöglicht, als Master-Sender oder Master-Empfänger zu fungieren.
  • Dieser Bus bietet die Möglichkeit, mehrere Master gleichzeitig zu haben und bietet alle notwendigen Mittel zur Bestimmung von Kollisionen sowie eine Arbitrierung, um eine Datenverfälschung zu verhindern, falls zwei oder mehr Master gleichzeitig mit der Übertragung von Informationen beginnen. Im StandardmodusEs wird nur eine serielle 8-Bit-Datenübertragung mit einer Geschwindigkeit von nicht mehr als 100 kbps bereitgestellt, und im schnellen Modus kann diese Schwelle um das Vierfache erhöht werden.
  • Die Chips verwenden einen speziellen eingebauten Filter, der Überspannungen effektiv unterdrückt und maximale Datenintegrität gewährleistet.
  • Die maximal mögliche Anzahl an Chips, die an einen Bus angeschlossen werden können, ist nur durch dessen maximal mögliche Kapazität von 400 pF begrenzt.

Vorteile für Konstrukteure

i2c-schnittstelle lcd1602
i2c-schnittstelle lcd1602

Die I2C-Schnittstelle sowie alle kompatiblen Chips können den Entwicklungsprozess vom Funktionsdiagramm bis zum endgültigen Prototyp erheblich beschleunigen. Gleichzeitig ist anzumerken, dass aufgrund der Möglichkeit, solche Mikrosch altungen direkt an den Bus anzuschließen, ohne alle Arten zusätzlicher Sch altungen zu verwenden, Platz für eine weitere Modernisierung und Modifikation des Prototypsystems geschaffen wird, indem verschiedene Geräte vom Bus getrennt und verbunden werden bus.

Es gibt viele Vorteile, die die I2C-Schnittstelle auszeichnen. Insbesondere die Beschreibung lässt folgende Vorteile für Konstrukteure erkennen:

  • Die Blöcke auf dem Funktionsdiagramm entsprechen vollständig den Mikrosch altungen, und gleichzeitig wird ein ziemlich schneller Übergang von funktional zu grundlegend bereitgestellt.
  • Busschnittstellen müssen nicht entwickelt werden, da der Bus bereits nativ in dedizierte Chips integriert ist.
  • Integrierte Kommunikationsprotokolle undDurch die Geräteadressierung kann das System vollständig softwaredefiniert sein.
  • Die gleichen Arten von Mikrosch altungen können, falls erforderlich, in völlig unterschiedlichen Anwendungen verwendet werden.
  • Die Gesamtentwicklungszeit wird erheblich verkürzt, da sich Designer schnell mit den am häufigsten verwendeten Funktionsblöcken sowie verschiedenen Mikrosch altungen vertraut machen können.
  • Falls gewünscht, können Sie Chips zum System hinzufügen oder daraus entfernen und gleichzeitig keine großen Auswirkungen auf andere Geräte haben, die an denselben Bus angeschlossen sind.
  • Die gesamte Softwareentwicklungszeit kann erheblich reduziert werden, indem eine Bibliothek wiederverwendbarer Softwaremodule zugelassen wird.

Hervorzuheben ist unter anderem die äußerst einfache Vorgehensweise zur Diagnose aufgetretener Fehler und weiterer Fehlersuche, die die I2C-Schnittstelle auszeichnet. Die Beschreibung legt nahe, dass bei Bedarf selbst geringfügige Abweichungen im Betrieb solcher Geräte ohne Schwierigkeiten sofort überwacht und entsprechende Maßnahmen ergriffen werden können. Es ist auch erwähnenswert, dass Designer spezielle Lösungen erh alten, die insbesondere für verschiedene tragbare Geräte und Systeme, die Batteriestrom über die I2C-Schnittstelle bereitstellen, sehr attraktiv sind. Die Beschreibung auf Russisch weist auch darauf hin, dass Sie durch ihre Verwendung die folgenden wichtigen Vorteile erzielen können:

  • Ausreichend hohe Widerstandsfähigkeit gegen auftretende Störungen.
  • Letztendlichgeringer Stromverbrauch.
  • Breitester Versorgungsspannungsbereich.
  • Großer Temperaturbereich.

Vorteile für Technologen

Es ist erwähnenswert, dass nicht nur Designer, sondern auch Technologen in letzter Zeit ziemlich oft damit begonnen haben, eine spezialisierte I2C-Schnittstelle zu verwenden. Die Beschreibung auf Russisch weist auf eine ziemlich breite Palette von Vorteilen hin, die diese Kategorie von Spezialisten bietet:

  • Ein standardmäßiger serieller Zweidrahtbus mit dieser Schnittstelle minimiert Verbindungen zwischen ICs, was bedeutet, dass weniger Pins und weniger Leiterbahnen erforderlich sind, wodurch PCBs weniger teuer und viel kleiner werden.
  • Eine vollständig integrierte I2C-Schnittstelle LCD1602 oder eine andere Option macht Adressdecoder und andere externe kleine Logik vollständig überflüssig.
  • An einem solchen Bus können mehrere Master gleichzeitig betrieben werden, was das Testen und spätere Einrichten der Geräte erheblich beschleunigt, da der Bus an einen Fließbandrechner angeschlossen werden kann.
  • Die Verfügbarkeit von mit dieser Schnittstelle kompatiblen ICs in VSO-, SO- und benutzerdefinierten DIL-Gehäusen kann die Anforderungen an die Gerätegröße erheblich reduzieren.

Dies ist nur eine kurze Liste von Vorteilen, die die I2C-Schnittstelle des LCD1602 und andere auszeichnen. Darüber hinaus können kompatible Chips die Flexibilität des eingesetzten Systems deutlich erhöhen und bietenextrem einfaches Design verschiedener Ausstattungsoptionen sowie relativ einfache Upgrades, um die Entwicklung auf dem aktuellen Niveau weiter zu unterstützen. So ist es möglich, ausgehend von einem bestimmten Grundmodell eine ganze Familie unterschiedlicher Geräte zu entwickeln.

Eine weitere Modernisierung der Ausrüstung und Erweiterung ihrer Funktionen kann über eine Standardverbindung zum Bus der entsprechenden Mikrosch altung unter Verwendung der Arduino 2C-Schnittstelle oder einer anderen aus der verfügbaren Liste durchgeführt werden. Wenn ein größeres ROM erforderlich ist, reicht es nur aus, einen anderen Mikrocontroller mit einem größeren ROM auszuwählen. Da aktualisierte Chips die alten bei Bedarf vollständig ersetzen können, können Sie den Geräten ganz einfach neue Funktionen hinzufügen oder die Gesamtleistung steigern, indem Sie ver altete Chips einfach trennen und sie dann durch neuere Geräte ersetzen.

ACCESS.bus

Aufgrund der Tatsache, dass der Bus zweiadrig ist, sowie der Möglichkeit der Programmadressierung, ist eine der idealsten Plattformen für ACCESS.bus die I2C-Schnittstelle. Die Spezifikation (Beschreibung in russischer Sprache ist im Artikel enth alten) dieses Geräts macht es zu einer viel billigeren Alternative zur zuvor aktiv verwendeten RS-232C-Schnittstelle zum Anschließen verschiedener Peripheriegeräte an Computer über einen standardmäßigen vierpoligen Stecker.

Spezifikationseinführung

Beschreibung der i2c-Schnittstelle auf Russisch
Beschreibung der i2c-Schnittstelle auf Russisch

Für moderne Anwendungen8-Bit-Steuerung, die Mikrocontroller verwendet, können einige Designkriterien festgelegt werden:

  • komplettes System enthält meistens einen Mikrocontroller und andere Peripheriegeräte, einschließlich Speicher und verschiedene I/O-Ports;
  • Gesamtkosten für die Kombination verschiedener Geräte innerhalb eines Systems sollten so weit wie möglich minimiert werden;
  • das System, das die Funktionen steuert, sieht keine Hochgeschwindigkeits-Informationsübertragung vor;
  • Gesamteffizienz hängt direkt von der gewählten Ausstattung sowie der Art des verbindenden Busses ab.

Um ein System zu entwerfen, das die aufgeführten Kriterien vollständig erfüllt, müssen Sie einen Bus verwenden, der die serielle I2C-Schnittstelle verwendet. Obwohl der serielle Bus nicht die Bandbreite des parallelen Busses hat, benötigt er weniger Verbindungen und weniger Chippins. Vergessen Sie dabei nicht, dass der Bus nicht nur Verbindungsleitungen umfasst, sondern auch verschiedene Verfahren und Formate, die zur Gewährleistung der Kommunikation innerhalb des Systems erforderlich sind.

Geräte, die über eine Software-Emulation der I2C-Schnittstelle oder des entsprechenden Busses kommunizieren, müssen über ein spezielles Protokoll verfügen, mit dem Sie verschiedene Möglichkeiten von Kollisionen, Verlust oder Blockierung von Informationen verhindern können. Schnelle Geräte sollten in der Lage sein, mit langsamen zu kommunizieren, und das System sollte nicht darauf angewiesen seinvon den daran angeschlossenen Geräten, da sonst alle Verbesserungen und Modifikationen nicht genutzt werden können. Außerdem muss ein Verfahren entwickelt werden, mit dessen Hilfe realistisch festgestellt werden kann, welches bestimmte Gerät zu welchem Zeitpunkt gerade die Bussteuerung durchführt. Wenn außerdem verschiedene Geräte mit unterschiedlichen Taktfrequenzen an denselben Bus angeschlossen sind, müssen Sie sich für die Quelle seiner Synchronisation entscheiden. Alle diese Kriterien werden von der I2C-Schnittstelle für den AVR und allen anderen aus dieser Liste erfüllt.

Hauptkonzept

Beschreibung der i2c-Schnittstellenspezifikation auf Russisch
Beschreibung der i2c-Schnittstellenspezifikation auf Russisch

Der I2C-Bus kann jede verwendete Chiptechnologie unterstützen. Die I2C LabVIEW-Schnittstelle und andere ähnliche Schnittstellen sehen die Verwendung von zwei Leitungen zum Übertragen von Informationen vor - Daten und Synchronisation. Jedes so angeschlossene Gerät wird an seiner eindeutigen Adresse erkannt, egal ob LCD-Puffer, Mikrocontroller, Speicher oder Tastaturinterface, und kann je nach Verwendungszweck als Empfänger oder Sender fungieren.

In den allermeisten Fällen ist der LCD-Puffer ein Standardempfänger, und der Speicher kann verschiedene Daten nicht nur empfangen, sondern auch senden. Geräte können unter anderem nach dem Verfahren zum Verschieben von Informationen als Slave und Master klassifiziert werden.

In diesem Fall ist der Master das Gerät, das die Datenübertragung initiiert und auch generiertSynchronisationssignale. In diesem Fall werden alle adressierbaren Geräte in Bezug darauf als Slaves betrachtet.

Die I2C-Kommunikationsschnittstelle ermöglicht das gleichzeitige Vorhandensein mehrerer Master, dh mehr als ein Gerät, das den Bus steuern kann, kann sich mit ihm verbinden. Die Möglichkeit, mehr als einen Mikrocontroller auf demselben Bus zu verwenden, bedeutet, dass mehr als ein Master gleichzeitig weitergeleitet werden kann. Um das potenzielle Chaos zu beseitigen, das in einer solchen Situation auftreten könnte, wurde ein spezialisiertes Schlichtungsverfahren entwickelt, das die I2C-Schnittstelle verwendet. Expander und andere Geräte ermöglichen den Anschluss von Geräten an den Bus gemäß der sogenannten Verdrahtungsregel.

Die Erzeugung des Taktsignals liegt in der Verantwortung des Masters, und jeder Master erzeugt während der Datenübertragung sein eigenes Signal, das sich später nur ändern kann, wenn es von einem langsamen Slave oder einem anderen Master "gezogen" wird, wenn eine Kollision auftritt.

Allgemeine Parameter

Sowohl SCL als auch SDA sind bidirektionale Leitungen, die mit einem Pull-up-Widerstand an eine positive Stromversorgung angeschlossen werden. Wenn der Reifen absolut frei ist, befindet sich jede Linie in einer hohen Position. Die Endstufen der an den Bus angeschlossenen Geräte müssen Open-Drain oder Open-Collector sein, damit die verdrahtete UND-Funktion bereitgestellt werden kann. Informationen über die I2C-Schnittstelle können mit einer Geschwindigkeit von nicht mehr als 400 kbps übertragen werdenschnellen Modus, während die Standardgeschwindigkeit 100 kbps nicht überschreitet. Die Gesamtzahl der Geräte, die gleichzeitig an den Bus angeschlossen werden können, hängt nur von einem Parameter ab. Dies ist die Leitungskapazität, die nicht mehr als 400 pf beträgt.

Bestätigung

Beschreibung der i2c-Schnittstelle
Beschreibung der i2c-Schnittstelle

Bestätigung ist ein obligatorisches Verfahren im Datenübertragungsprozess. Der Master erzeugt den entsprechenden Synchronimpuls, während der Sender während dieses Synchronimpulses als Quittung die SDA-Leitung freigibt. Danach muss der Empfänger dafür sorgen, dass die SDA-Leitung während des Takt-High-Zustands stabil in einem stabilen Low-Zustand geh alten wird. Beachten Sie in diesem Fall unbedingt die Aufbau- und H altezeiten.

In den allermeisten Fällen ist es zwingend erforderlich, dass der adressierte Empfänger nach jedem empfangenen Byte eine Bestätigung generiert, mit der einzigen Ausnahme, wenn der Beginn der Übertragung eine CBUS-Adresse enthält.

Wenn der Empfänger-Slave keine Möglichkeit hat, eine Bestätigung seiner eigenen Adresse zu senden, sollte die Datenleitung hoch bleiben, und dann kann der Master ein "Stop"-Signal ausgeben, das das Senden unterbricht alle Informationen. Wenn die Adresse bestätigt wurde, der Slave aber längere Zeit keine Daten mehr empfangen kann, muss auch der Master das Senden unterbrechen. Dazu quittiert der Slave das nächste empfangene Byte nicht und verlässt einfach die Liniehoch, wodurch der Master ein Stoppsignal erzeugt.

Sieht die Übertragungsprozedur die Anwesenheit eines Master-Empfängers vor, so muss dieser in diesem Fall den Slave über das Ende der Übertragung informieren, und zwar dadurch, dass er das letzte empfangene Byte nicht quittiert. In diesem Fall gibt der Slave-Sender sofort die Datenleitung frei, damit der Master ein "Stop"-Signal geben oder das "Start"-Signal noch einmal wiederholen kann.

Um zu überprüfen, ob das Gerät funktioniert, können Sie versuchen, Standardbeispiele für Skizzen für die I2C-Schnittstelle in Arduino einzugeben, wie auf dem Foto oben.

Schlichtung

2c Arduino-Schnittstelle
2c Arduino-Schnittstelle

Master können erst mit dem Senden von Informationen beginnen, wenn der Bus vollständig frei ist, aber zwei oder mehr Master können bei der Mindesth altezeit ein Startsignal erzeugen. Dies führt schließlich zu einem bestimmten „Start“-Signal auf dem Bus.

Arbitrierung funktioniert auf dem SDA-Bus, während der SCL-Bus hoch ist. Wenn einer der Master beginnt, auf der Datenleitung einen Low-Pegel zu senden, der andere aber gleichzeitig High ist, dann wird dieser vollständig davon getrennt, weil der SDL-Zustand nicht dem High-Zustand seiner internen Leitung entspricht.

Arbitrage kann sich über mehrere Bits erstrecken. Aufgrund der Tatsache, dass zuerst die Adresse und dann die Daten übertragen werden, kann die Arbitrierung bis zum Ende der Adresse andauern, wenn die Master adressierendas gleiche Gerät, dann werden auch unterschiedliche Daten an der Schlichtung teilnehmen. Aufgrund dieses Arbitrierungsschemas gehen keine Daten verloren, wenn eine Kollision auftritt.

Verliert der Master die Arbitrierung, dann kann er in SCL bis zum Ende des Bytes, in dem der Zugriff verloren ging, Taktimpulse ausgeben.

Empfohlen: