Wir haben in Kapitel Ⅰ die beiden Arten von universellen Peripherieschnittstellen in eingebetteten Systemen UART und I2S besprochen . Lassen Sie uns nun in Kapitel Ⅱ etwas über I2C, ADC und CAN-Bus lernen .
I2C (Inter-Integrated Circuit) ist ein von Philips entwickelter serieller Zweidraht-Halbduplex-Bus, der hauptsächlich für die Kommunikation zwischen Chips im Nahbereich und bei niedriger Geschwindigkeit verwendet wird. Es handelt sich um einen weit verbreiteten Busstandard im Bereich der mikroelektronischen Kommunikationssteuerung. Es handelt sich um eine spezielle Form der synchronen Kommunikation mit Vorteilen wie weniger Schnittstellenleitungen, einfachen Steuerungsmethoden und kleiner Geräteverpackung.
I2C kann Informationen zwischen Multi-Master- und Multi-Salve-Knoten über nur zwei Drähte übertragen: SDA (serielle Daten) und SCL (serielle Uhr). Die serielle bidirektionale 8-Bit-Datenübertragungsrate kann 100 Kbit/s im Standard, 400 Kbit/s im Schnellmodus und 3,4 Mbit/s im Hochgeschwindigkeitsmodus erreichen. Der Geräteanschluss ist in Abbildung 1 dargestellt.
Abbildung 1 I2C-Bus-Master-zu-Slave-Verbindungen
Die Daten auf der SDA-Leitung müssen während der Hochphase der SCL-Leitung stabil sein. Der HIGH- oder LOW-Zustand der SDA-Leitung kann sich nur ändern, wenn das Taktsignal auf der SCL-Leitung niedrig ist.
Abbildung 2 Das synchrone Datensignal
Startbedingung : Wenn SCL HIGH ist und SDA von HIGH auf LOW springt, beginnt die Datenübertragung.
Stoppbedingung : Wenn SCL HIGH ist und SDA von LOW auf HIGH springt, stoppt die Datenübertragung.
Sowohl die Startbedingung als auch die Stoppbedingung werden von den Master-Geräten ausgegeben. Nachdem die Startbedingung erzeugt wurde, befindet sich der Bus in einem belegten Zustand. Und nachdem die Stoppbedingung erzeugt wurde, wird der Bus freigegeben und befindet sich in einem Ruhezustand.
Im Ruhezustand sind sowohl SCL als auch SDA auf hohem Niveau. Der Vorgang ist in Abbildung 3 unten dargestellt.
Abbildung 3 Startbedingung und Stoppbedingung
Bestätigungssignal: Nach Abschluss der 1-Byte-Übertragung, also innerhalb des 9. SCL-Taktzyklus, muss der Master den SDA-Bus freigeben und die Bussteuerung an den Slave übergeben. Aufgrund der Rolle des Pull-up-Widerstands befindet sich der Bus zu diesem Zeitpunkt auf einem hohen Pegel. Wenn der Slave die vom Master gesendeten Daten korrekt empfängt, zieht er den SDA herunter, was ein Bestätigungssignal anzeigt.
Kein Bestätigungssignal : Wenn der 9. SCL-Taktzyklus erreicht ist, bleibt der SDA hoch, was auf ein Nichtbestätigungssignal hinweist.
Jedes Byte muss garantiert 8 Bit lang sein. Bei der Datenübertragung wird zuerst das höchste Bit (MSB) übertragen und auf jedes übertragene Byte muss ein Bestätigungsbit folgen (dh ein Frame hat insgesamt 9 Bits). Wenn innerhalb einer bestimmten Zeit kein Bestätigungssignal vom Slave eingeht, wird automatisch davon ausgegangen, dass der Slave die Daten korrekt empfangen hat, und der Master sendet eine Stoppbedingung, um die Kommunikation zu beenden. Das Datenübertragungsformat ist in Abbildung 4 dargestellt.
Abbildung 4 Datenübertragungsformat
I2C wird normalerweise für die Kommunikation zwischen MCU-Peripheriegeräten oder mehreren MCUs verwendet. Die I2C-Schnittstelle zeichnet sich durch einfache Hardware und einfache Softwareprogrammierung aus.
In Instrumentensystemen ist es häufig erforderlich, die erfassten, sich ständig ändernden analogen Signale wie Temperatur, Druck, Durchflussrate, Geschwindigkeit und Lichtintensität in diskrete digitale Signale umzuwandeln, bevor sie zur Verarbeitung in einen Computer eingegeben werden können. Diese analogen Signale werden durch Sensoren in elektrische Signale (normalerweise Spannungssignale) umgewandelt und müssen nach der Verstärkung durch Verstärker eine bestimmte Verarbeitung durchführen, um in digitale Signale umzuwandeln. Das Gerät, das analoge in digitale Signale umwandelt, wird allgemein als Analog-Digital-Wandler (ADC) bezeichnet, abgekürzt als A/D.
Der Prozess der A/D-Wandlung ist ein Prozess des Abtastens, Haltens, Quantifizierens und Kodierens. Die Grundidee des ADC besteht darin, die analoge Eingangsspannung mit der Referenzspannung (direkt oder indirekt) zu vergleichen und in einen digitalen Ausgang umzuwandeln. Es gibt drei Arten von ADCs: Parallelvergleichstyp, sukzessive Approximationstyp und Doppelintegrationstyp.
Bei der Verwendung von ADC sind die Konvertierungsgenauigkeit und die Konvertierungszeit die wichtigsten Aspekte. Die Konvertierungsgenauigkeit wird hauptsächlich von externen Faktoren wie der Stabilität der Versorgungsspannung und der Referenzspannung, der Stabilität des Operationsverstärkers und der Umgebungstemperatur beeinflusst. Zu den vom Chip selbst beeinflussten Faktoren gehören Auflösung, Quantisierungsfehler, relativer Fehler, linearer Fehler usw.
Der vollständige Name des CAN-Busses lautet Controller Area Network. Es handelt sich um einen seriellen, synchronen und Halbduplex-Bus. Diese von der Firma BOSCH in Deutschland entwickelte Peripherieschnittstelle ist einer der international am häufigsten verwendeten Feldbusse.
Die Eigenschaften des CAN-Busses sind wie folgt:
Das CAN-Kommunikationsprotokoll lautet wie folgt:
CAN spezifiziert insgesamt 5 Arten von Frames, auch Pakete genannt. Datenrahmen sind die wichtigsten und komplexesten in der CAN-Kommunikation. Der Datenrahmen beginnt mit einem expliziten Bit (logisch 0) und endet mit sieben aufeinanderfolgenden impliziten Bits (logisch 1).
Carrier-Sense Multiple Access (CSMA): Jeder Knoten muss den Bus abhören, bevor er versucht, eine Nachricht zu senden. Nur wenn der Bus frei ist, kann gesendet werden.
Kollisionserkennung + Schlichtung der Nachrichtenpriorität (CD+AMP): Löst Kollisionen durch vorprogrammierte Nachrichtenpriorität durch Bit-Schiedsgerichtsbarkeit, wobei sich die Nachrichtenpriorität in der Identifikationsdomäne jeder Nachricht befindet. Nachrichten mit höherprioren Identifikatoren können immer Buszugriff erhalten, was bedeutet, dass die letzte Nachricht im logisch hoch priorisierten Identifikator weiterhin übertragen wird, da sie eine höhere Priorität hat.
Abbildung 5 CAN-Bus-Datenrahmen
Standard-CAN : Zur Bestimmung der Priorität einer Nachricht wird nur ein 11-Bit-Identifier verwendet. Je kleiner der Wert in diesem Feld ist, desto höher ist die Priorität. Wie in Abbildung 6 dargestellt.
Abbildung 6 Standard-CAN-11-Bit-Identifikator
Erweiterter CAN : Ein 29-Bit-Identifier. Wie in Abbildung 7 dargestellt.
Abbildung 7 Erweiterter CAN-29-Bit-Identifier
Der CAN-Bus verwendet hauptsächlich Low-Speed-CAN (d. h. ISO11898-3-Standard) im industriellen Steuerungsbereich und 125-Kbit/s-High-Speed-CAN im Automobilbereich. Das CAN-Protokoll wird häufig in allen Arten von Anwendungen in der Automobilindustrie eingesetzt, einschließlich Personenkraftwagen, Schwerlastkraftwagen und Mehrzweckfahrzeugen sowie landwirtschaftlichen Fahrzeugen.
Die meisten RF-Star-Module sind mit UART-, ADC-, I2C- und I2S-Peripheriegeräten in die Hardware eingebettet. Aufgrund der Marktanforderungen ist UART einer unserer wichtigsten Kommunikationsmodi in der Software. Fast alle BLE-Module und Wi-Fi-Module von RF-star, die auf TI, Silicon Labs, Nordic, Realtek und unseren selbst entwickelten ICs basieren, sind mit dem seriellen UART-Port-Protokoll für transparente Übertragung ausgestattet, um die Integrationsentwicklung am Ende zu erleichtern Produkte, verkürzen den Entwicklungszyklus, sparen Zeit und Kosten für die Zertifikatsqualifizierung mit zertifizierten Modulen und mehr Flexibilität mit mehr Modul-RF-Designs. Sehr willkommen sind zum Beispiel diese Funkmodule:
RF-BM-2642B1 , RF-BM-BG22A1 , RF-BM-ND04 , RSBRS02ABR , RF-WM-20CMB1
Shenzhen RF-star Technology Co., Ltd. (RF-star) ist ein High-Tech-Unternehmen mit Schwerpunkt auf Hochfrequenzgeräten und seit mehr als einem Jahrzehnt der offizielle Drittanbieter-IDH von Texas Instruments. RF-star bietet drahtlose IoT-Module und ein komplettes Lösungspaket, einschließlich BLE, Wi-Fi, ZigBee, Thread, Matter, Wi-SUN, Sub-1G usw. Weitere Informationen finden Sie auf der offiziellen Website https: // www.rfstariot.com/ oder kontaktieren Sie uns unter info@szrfstar.com.