In Embedded-Systemen bezieht sich eine Kommunikationsschnittstelle auf einen Kommunikationsweg oder einen Bus, der verwendet wird, um verschiedene integrierte Schaltungen mit anderen Peripheriegeräten zu verbinden.
UART, I2C, RS485 usw. sind allgemein verwendet, und das Verständnis von ihnen kann mehrdeutig sein, in diesem Artikel werden sie zusammengefasst.
UART Universal Asynchron Transceiver
Das UART-Portal bezieht sich auf eine Form der physischen Schnittstelle (Hardware).

UART ist ein asynchroner, vollduplexer serieller Bus. Es ist viel komplizierter als die Synchronisierung. Es gibt zwei Leitungen, eine TXD für das Senden und eine RXD für den Empfang.
Die serielle Datenübertragung von UART erfordert keine Verwendung von Taktsignalen zur Synchronisierung der Übertragung, sondern hängt von einer vordefinierten Konfiguration zwischen dem Sende - und Empfangsgerät ab.
Für die Sende - und Empfangsgeräte sollte die serielle Kommunikationskonfiguration für beide auf die gleiche festgelegt werden.

● Start-Bit: Anzeigt den Beginn der Datenübertragung, die Logik der Stufe "0".
● Datenbits: Mögliche Werte 5, 6, 7, 8 und 9, die die Übertragung dieser Datenbits anzeigen. Im Allgemeinen wird der Wert 8 angenommen, da ein ASCII-Zeichen 8 Bit wert ist.
● Paritäts-Bit: verwendet für den Empfänger, um die empfangenen Daten zu überprüfen, die Zahl der "1" - Bits ist gerade (gerade) oder ungerade (gerade), um die Richtigkeit der Datenübertragung zu überprüfen, wenn Sie diesen Bit nicht benötigen.
· Stopp-Bit: Zeigt das Ende eines Frames an. Die Logik der Stufe ist "1".
● Baudrate: Die Geschwindigkeit der seriellen Kommunikation, die in der Anzahl der relevanten Bits (Bits) des binären Codes in einer Zeitseinheit übertragen wird, die in Bit / s (bps) angegeben wird.
Wenn Sie den UART-Bus mit einem allgemeinen IO-Anschluss simulieren, benötigen Sie einen Eingang und einen Ausgang.
I2C-Bus
Der I2C-Bus ist ein synchroner, halbduplexer, zweidirectionaler serieller Bus. Es besteht aus zwei Bussen: einer seriellen Taktleitung SCL und einer seriellen Datenleitung SDA.
SCL-Leitung - für die Erzeugung synchronisierter Taktimpulse verantwortlich.
SDA-Kabel - für die Übertragung serieller Daten zwischen Geräten.
Der Bus kann mehrere I2C-Geräte an das System anschließen. Geräte, die an den I2C-Bus angeschlossen sind, können sowohl als Master - als auch als Slave-Geräte verwendet werden.

Das Master-Gerät steuert die Kommunikation, sendet Daten und erzeugt die erforderlichen synchronisierten Taktimpulse, indem es die Datenübertragung initialisiert. Der Slave wartet auf einen Befehl vom Master und reagiert auf den Befehlempfang.
Sowohl Master als auch Slave können als Sende - oder Empfangsgerät verwendet werden. Unabhängig davon, ob das Master-Gerät als Sendegerät oder Empfangsgerät dient, kann das synchronisierte Taktsignal nur vom Master-Gerät erzeugt werden.
Wenn der I2C-Bus mit einem allgemeinen IO-Anschluss simuliert und die bidirektionelle Übertragung realisiert wird, benötigt man einen Eingangs - Ausgang (SDA) und einen Ausgang (SCL).
SPI Serial Peripherical Interface
Der SPI-Bus ist ein synchroner, vollduplexer, bidirektionierter 4 - Draht-Serialinterface - Bus. Es handelt sich um ein System, das aus „einzigem Master + mehreren Slaves" besteht.
In einem System können mehrere SPI-Masters vorhanden sein, solange nur ein Mastergerät aktiv ist. Es wird häufig verwendet, um die Kommunikation zwischen AD-Wandlern, EEPROMs, FLASHs, Echtzeit-Uhren, digitalen Signalprozessoren und digitalen Signaldecodern zu ermöglichen.

Für die Kommunikation verfügt SPI über insgesamt 4 Signalleitungen:
Master-Out - Slave-In (MOSI): Die Signalleitung, die Daten vom Master an das Slave-Gerät überträgt, wird auch als Slave-Eingang / Slave-Daten - In (SI / SDI) bezeichnet.
Master-In - Slave-Out (MISO): Die Signalleitung, die Daten vom Slave-Gerät zum Master-Gerät überträgt, wird auch als Slave-Output / Slave Data Out (SO / SDO) bezeichnet.
Serial Clock (SCLK): Signalleitung, die das Taktsignal überträgt.
● Slave Select (SS): verwendet, um die Signalleitung von Slave-Geräten auszuwählen, niedrig wirksam.
Der Arbeitszeitmodus von SPI wird durch die Phasenbeziehung zwischen Clock Polarity (CPOL) und Clock Phase (CPHA) bestimmt.
CPOL zeigt den Zustand des anfänglichen Levels des Taktsignals an, wobei CPOL 0 den anfänglichen Zustand des Taktsignals niedrig und 1 den anfänglichen Level des Taktsignals hoch bezeichnet.
CPHA gibt an, an welcher Uhr die Daten abgetragen werden, wobei CPHA 0 die Daten abgetragen werden an der ersten Uhränderung, und CPHA 1 die Daten abgetragen werden an der zweiten Uhränderung.
Je nach Kombination von CPOL und CPHA gibt es insgesamt vier Arbeitszeitmodelle:
● CPOL=0, CPHA=0
● CPOL=0, CPHA=1
● CPOL=1, CPHA=0
● CPOL=1, CPHA=1
UART, SPI, I2C Vergleich

● I2C Kabel weniger, leistungsfähiger als UART, SPI, aber auch technisch problematischer, weil I2C bi-Wege - IO-Unterstützung benötigt, und die Verwendung von Pull-up - Widerstand, Anti-Interferenz - Fähigkeit ist schwach, allgemein verwendet für die Kommunikation zwischen den Chips auf der gleichen Karte, weniger für die Fernkommunikation.
● SPI-Implementierung ist etwas einfacher, UART benötigt eine feste Baudrate, das heißt, dass die zwei Bit-Daten sind gleich, während SPI spielt keine Rolle, da es sich um ein Protokoll mit einer Uhr handelt.
● I2C ist etwas langsamer als SPI, das Protokoll ist etwas komplexer als SPI, aber auch weniger Kabel als Standard-SPI.
● Ein UART-Frame kann 5 / 6 / 7 / 8 Bit übertragen, I2C muss 8 Bit sein. Sowohl I2C als auch SPI beginnen auf der höchsten Ebene.
● SPI wählt Slave mit Chip-Selektionssignal, I2C wählt Slave mit Adresse.

RS232 Serielle Kommunikation
Übertragungskabel hat zwei, ein Erdkabel. Die Pegel sind negative Logik:
-3V ~ -15V Logik "1", +3V ~ +15V Logik "0".
Die RS - 232 - Kommunikationsübertragung beträgt ca. 15 Meter. Es kann eine bidirektionelle Übertragung, Vollduplex-Kommunikation und eine niedrige Übertragungsrate von 20 kbps erreichen.
Die folgende Abbildung ist die Definition von DB9 männlichen und weiblichen, die am häufigsten verwendet werden RXD, TXD, GND drei Signale.

TTL und RS - 232 Wechselwirkung
Single-Chip - Schnittstelle ist in der Regel TTL-Ebene, wenn die Peripherie auf 232 - Ebene, müssen Sie hinzufügen TTL in RS232 - Modul. Wie unten abgebildet, kann die Umwandlung mit dem MAX232 - Chip durchgeführt werden.

RS422 Serielle Kommunikation
RS - 422 verfügt über vier Signalleitungen: zwei Senden, zwei Empfang und ein Erdkabel, die Vollduplex-Kommunikation.
Es hat ein Master-Gerät, der Rest ist Slave-Gerät, die zwischen Slave-Geräten nicht kommunizieren können, so dass RS - 422 unterstützt die bidirektionelle Punkt-zu - mehr-Kommunikation.

RS485 Serial-Port - Kommunikation
Der RS - 485 verwendet ausgewogene Senden und differenzierten Empfang, wodurch die Fähigkeit zur Unterdrückung von Common-Mode - Interferenzen besteht.
Die Verwendung von zwei-Line - Halbduplex - Übertragung, maximale Geschwindigkeit 10Mb / s, Level-Logik ist die Differenz zwischen den beiden Linien zu bestimmen, verbessern die Anti-Interferenz - Fähigkeit, die Übertragungsdistanz ist lang (mehrere Dutzende von Metern bis Tausende von Metern).
+2V ~ +6V Logik "1", -2 ~ -6V Logik "0".
TTL-Transformationen in RS - 485 sind üblich, wie z.B. MAX485, mit Referenzschaltungen wie folgt

RE-Pin: Empfänger-Ausgang aktiviert (niedrig gültig).
DE-Pin: Transmitter-Ausgang aktiviert (High-Level - Aktiviert). Die Steuerung kann direkt über den IO-Port der MCU durchgeführt werden.
TTL
Innerhalb des eingebetteten Serienanschlusses wird in der Regel auf den UART-Anschluss bezogen. 4 Pins (Vcc, GND, RX, TX), mit TTL-Level.
Der COM-Anschluss im PC ist der serielle Kommunikationsanschluss, kurz als serieller Anschluss bezeichnet. 9 Pins mit RS232 - Niveau.

Serial Port, COM Port bezieht sich auf die Form der physischen Schnittstelle (Hardware). TTL, RS - 232, RS - 485 beziehen sich auf die Standards (elektrische Signale).

Die Kommunikation zwischen dem PC und dem PC ist wie folgt:

Der Bus kann
CAN ist die Abkürzung für Controller Local Area Network und ist ein serielles Kommunikationsnetzwerk, das eine verteilte Echtzeitsteuerung ermöglicht. Die Funktionen des CAN-Bus sind komplex und intelligent. Es wird hauptsächlich für die Fahrzeugkommunikation verwendet.
Das CAN-Bus - Netzwerk hängt hauptsächlich an CAN _ H und CAN _ L, und die einzelnen Knoten realisieren die serielle Differenzübertragung des Signals über diese beiden Linien, um die Reflexion und Störungen des Signals zu vermeiden, müssen Sie auch einen 120 Ohm-Terminalwiderstand zwischen CAN _ H und CAN _ L anschließen.

Jedes Gerät kann sowohl Master als auch Slave sein. Der CAN-Bus bietet eine Kommunikationsdistanz von bis zu 10 Kilometern (Rate unter 5 Kbps) und eine Geschwindigkeit von bis zu 1 Mbps (Kommunikationsdistanz unter 40 M).

Logik kann
Der CAN-Bus verwendet die "Line and" - Regel für die Bus-Arbitration: 1 & 0 ist 0, daher wird 0 als explizit bezeichnet, 1 ist implizit.
Aus der Sicht des Potenzials, weil das hohe Potenzial als 0, niedriges Potenzial als 1 festgelegt ist, während das Signal tatsächlich als hohes Potenzial präsentiert wird, aus dem Phänomen sieht es aus, als ob 0 1 bedeckt, so dass 0 als dominant bezeichnet wird, 1 als implizit.

USB-Serial - Bus für Kommunikation
Die USB-Schnittstelle hat mindestens vier Kabel, von denen zwei Datenkabel sind, und alle USB-Datenübertragung erfolgt über diese beiden Kabel. Seine Kommunikation ist viel komplexer als die serielle Anschluss.
Zwei Datenleitungen verwenden die differenzielle Übertragung, d. h. zwei Datenleitungen müssen zusammenarbeiten, um ein Bit zu übertragen, so dass die Halbduplex-Kommunikation, die zur gleichen Zeit nur senden oder empfangen kann.
USB legt fest, dass wenn der Spannungslevel unverändert ist, die Logik 1 darstellt, wenn der Spannungslevel ändert sich, die Logik 0 darstellt.

USB zu TTL
Die USB-Serial - Anschlüsse verwenden einen CH340G-Chip.

Die Kommunikation mit dem seriellen Anschluss ist einfacher als mit USB, da es kein Protokoll für die serielle Kommunikation gibt.
SD-Karte
Eine SD-Karte ist eine Speicherkarte, die als Speicherkarte für ein Mobiltelefon verwendet werden kann.
Im Embedded gibt es zwei Modi für die Kommunikation zwischen MCU und SD-Karte:
● SPI-Bus - Kommunikationsmodus
● SD-Bus - Kommunikationsmodus

Bemerkenswert ist, dass es 4 Datenleitungen im SD-Bus - Modus gibt; im SPI-Bus - Modus gibt es nur eine Datenleitung.(MOSI und MISO können nicht gleichzeitig Daten lesen und nicht gleichzeitig Daten schreiben);
Auf diese Weise ist der SD-Bus - Modus bei der Kommunikation mit der SD-Karte mehrere Mal schneller als der SPI-Bus - Modus.

1 - Wire-Bus
1 - Wire wurde von der US-amerikanischen Firma Dallas (Dallas) eingeführt und ist eine asynchrone Halbduplex-Serialübertragung. Die Verwendung eines einzigen Signalleiters, sowohl die Uhr als auch die Daten übertragen, und die Datenübertragung ist bidirektioniert.

Die Datenübertragungsrate eines einzelnen Buses beträgt im Allgemeinen 16,3 Kbit / s, maximal 142 Kbit / s, in der Regel verwenden Sie eine Datenübertragungsrate von unter 100 Kbit / s.
1 - Draht-Line - Anschluss ist der Anschluss der Drain-Off - Schaltung oder Dreizustand-Gate, so dass Sie im Allgemeinen einen Zug-Widerstand Rp hinzufügen müssen, normalerweise wählen Sie 5K ~ 10KΩ
vor allem in: Druckkartusche oder medizinische Verbrauchsmaterialien Identifizierung; Identifizierung und Zertifizierung von Leiterplatten, Zubehör und Peripheriegeräten.
DMA Direct Memory Access
DMA ist ein Hardware-Modul innerhalb von STM32, es ist unabhängig von der CPU, Datenübertragung zwischen Peripheriegeräten und Speicher, die CPU befreit, kann die Effizienz der CPU erheblich verbessern.

Es kann auf Peripheriegeräte und Speicher mit hoher Geschwindigkeit zugreifen, die Übertragung ist nicht von der CPU gesteuert und ist bidirektionell. Daher kann die Verwendung von DMA die Datenübertragungsgeschwindigkeit erheblich erhöhen, was auch ein Highlight der ARM-Architektur ist - DMA-Bus - Steuerung.
DMA entspricht dem Eigentum einer Autobahn, spezielle, Hochgeschwindigkeit. Wenn Sie DMA nicht verwenden, können Sie das Ziel auch erreichen, nur die Zeit, um das Ziel zu erreichen, ist länger.
Ethernet Ethernet
Ethernet ist die am häufigsten verwendete LAN-Technologie. Wir wissen, dass die Ethernet-Schnittstelle in eine Protokollschicht und eine physische Schicht unterteilt werden kann.
Die Protokollschicht wird durch ein einziges Modul implementiert, das als MAC (Media Access Layer Controller) bezeichnet wird.
Die physische Schicht besteht aus zwei Teilen, dem PHY (Physical Layer) und dem Transmitter.
Derzeit enthält viele Motherboard-Southbrücken - Chips bereits Ethernet-MAC - Steuerungsfunktionen, bieten nur keine physikalische Schnittstelle. Daher muss ein externer PHY-Chip angeschlossen werden, um den Zugang zu Ethernet zu ermöglichen.

Netzwerk-Transformator Rolle ist:
● Kopplung von Differenzsignale, Störungsresistenz stärker
● Transformator isoliert Netzwerk-End verschiedene Geräte auf verschiedenen Ebenen, isoliert Gleichstromsignal
Ethernet-Schnittstelle Referenzschaltung, wie in der folgenden Abbildung gezeigt.

Antwort veröffentlichen