Serielle Kommunikationsprotokolle - Einführung

Mark Harris
|  Erstellt: April 13, 2021
Serielle Kommunikationsprotokolle - Einführung

In dieser Artikelserie werden wir uns einige der verschiedenen Arten von seriellen Kommunikationsprotokollen ansehen, die zur Übertragung von Informationen zwischen Mikrocontrollern, datenproduzierenden und datenverarbeitenden Peripheriegeräten und anderen intelligenten Geräten verfügbar sind. Die auf diese Einführung in die serielle Kommunikation folgenden Artikel werden einige der beliebteren Protokolle behandeln, die häufig verwendet werden. Am Ende dieser Serie werden wir die Vor- und Nachteile jedes Protokolls zusammenfassen. Wir hoffen, dass diese Ressource wertvoll sein wird, wenn Sie das nächste Mal vor der Aufgabe stehen, einen seriellen Kommunikationsbus zu implementieren, und Ihnen hilft, die beste Option für Ihre speziellen Umstände zu wählen.

Heutzutage sind digitale Elektronikkomponenten der bedeutendste Teil der meisten elektronischen Geräte auf dem Markt. Viele verschiedene Chips sind im Einsatz, deren komplexe Operationen von Informationen abhängen, die zu und von anderen ähnlichen digitalen Komponenten gesendet werden. Um die Kommunikation zwischen diesen zu ermöglichen, wurden gemeinsame Protokollstandards geschaffen. Stellen Sie sich vor, jeder IC oder jedes Gerät würde mit seinem eigenen, einzigartigen Protokoll kommunizieren. Das wäre so, als ob jeder Mensch seine eigene Sprache sprechen würde. Es wäre ein Chaos, denn es wäre nahezu unmöglich für uns, einander zu verstehen.

Wir haben derzeit verschiedene Speicher-ICs, digitale Sensoren, Schutzgeräte, programmierbare Stromversorgungen, digitale Potentiometer, Radiofrequenz-ICs usw. Alle müssen miteinander oder mit Mikrocontrollern, Mikroprozessoren, FPGA oder ASIC kommunizieren. Der Zweck dieser Kommunikation zwischen den Geräten kann sehr unterschiedlich sein. Es kann zum Programmieren sein, um Informationen zu extrahieren, oder um ein Signal zu geben, das die Ausführung einer Aktion initiiert.

Außerdem geben uns einige Protokolle die Möglichkeit, über Mikrocontroller mit den ICs zu interagieren. Sie können ein Signal an einen Mikrocontroller senden, der so programmiert ist, dass er ein Signal über eines dieser Protokolle an ein IC sendet. Alternativ können Sie eines der verfügbaren Debugging-Tools anschließen.

Eines der Probleme bei seriellen Kommunikationen ist die Schwierigkeit, Ihren Schaltkreis zu finden und zu debuggen, wenn etwas schiefgeht. Angenommen, Daten gelangen nicht von einem Gerät zum anderen. In diesem Fall kann der Fehler an einem oder mehreren der folgenden Orte existieren: in der Logik des sendenden Geräts, in seinem Schaltungsentwurf, in der Art und Weise, wie es die seriellen Kommunikationen kodiert, im Kommunikationsbus, in der Dekodierung durch den Empfänger, im Schaltungsentwurf des Empfängers oder schließlich in der Logik des Empfängers. Das Anbringen einer Oszilloskopsonde an den seriellen Kommunikationen kann Ihnen ermöglichen zu sehen, ob es irgendeine Aktivität gibt, aber wird Ihnen wenig über deren Gültigkeit verraten. Um vollständig zu sehen, was vor sich geht, benötigen Sie entweder ein Oszilloskop mit einer Dekodierungsfunktion oder einen Logikanalysator. Dies ermöglicht es Ihnen, die Spannungsimpulse, die über den Impuls reisen, zu erkennen, um Spannungspegel zu finden, etwaige Störungsprobleme zu erkennen und nach Problemen mit den Anstiegs- und Abfallraten des Signals zu suchen.

Um jedoch die serielle Kommunikation gründlich zu debuggen, benötigen Sie ein Werkzeug, das die Daten auf dem Bus entschlüsseln kann, um zu sehen, ob sie korrekt sind oder ob sie beschädigt wurden oder von Kollisionen beeinflusst sind. Eine beträchtliche Anzahl von Debugging-Tools wurde speziell entwickelt, um die Kommunikation zwischen Geräten oder ICs zu debuggen. Einer der branchenüblichen Logikanalysatoren ist die Saleae Logic-Serie von Logikanalysatoren, wobei das Pro-Modell ausreichend Geschwindigkeit bietet, um alle gängigen Protokolle zu analysieren.

Viele kostengünstigere Logikanalysatoren sind zu langsam, um höhergeschwindigkeitsprotokolle wie SPI zu bewältigen. Der LA2016 Logic Analyser bietet Abtastraten zwischen dem Saleae Logic 8 und Logic 8 Pro zu sehr niedrigen Kosten; ich besitze einen und habe ihn sehr erfolgreich zur Analyse von Protokollen verwendet.

Auch die Berücksichtigung von Kommunikationsprotokollen ist sowohl für das Firmware- als auch für das Hardware-Design entscheidend. Von der Hardware-Seite aus sollten Sie immer sorgfältig das Datenblatt Ihres gewählten Mikrocontrollers durchgehen. MCUs können nur mit vordefinierten Protokollen über dedizierte Pins kommunizieren. Der Designer muss im Voraus entscheiden, welche ICs verwendet werden und welche Protokolle sie benötigen, bevor er seinen MCU auswählt.

Zum Beispiel enthält das STMicroelectronics STM32F103C8T6 Gerät, das auf dem beliebten STM32 Blue Pill Entwicklungsboard verbaut ist, 2 x I2C, 3 x USART, 2 x SPI und 1 x CAN Kommunikationsschnittstellen. Einige der Pins für diese Kommunikationsprotokolle sind jedoch gemeinsam genutzt. Wenn wir uns zum Beispiel Pin 14 des Geräts anschauen, der als PA4 gekennzeichnet ist. Dieser Pin hat sowohl USART- als auch SPI-Funktionen. Das bedeutet, dass Sie nicht alle aufgelisteten SPI- und USART-Schnittstellen gleichzeitig für Ihr Design verwenden können. Sie müssen wählen, welche Sie wann benötigen und entsprechend planen oder nach einem anderen Mikrocontroller suchen, der mehr Kommunikationsschnittstellen unterstützt. Natürlich kann der PA4-Pin durch Ändern seiner Konfiguration im Betrieb für beide Kommunikationsprotokolle verwendet werden. Dennoch müssen Sie sorgfältig überlegen, zu welchen Zeiten er funktionieren soll, da sie nicht gleichzeitig verwendet werden können. Dies wird sowohl die Hardware- als auch die Firmware-Designkomplexität erhöhen.

Serial Communication

Serielle Kommunikationspins in Mikrocontrollern können sich überschneiden, also lesen Sie Datenblätter sorgfältig. Sie müssen das entsprechende IC-Kommunikationsbibliotheksmodul herunterladen und verwenden, basierend darauf, welche Protokolle das Gerät von der Firmware-Seite aus für Kommunikationen verwenden wird.

Obwohl es viele Kommunikationsprotokolle gibt, sind die beliebtesten SPI und I2C. Jedes der Protokolle hat seine Anwendungen, Kommunikationsgeschwindigkeiten, Designüberlegungen, Vorteile und Nachteile. Wir werden in dieser Artikelserie nacheinander auf jedes von ihnen eingehen.

Zusammenfassung

Im nächsten Artikel dieser Serie werden wir uns das beliebte UART-Gerät ansehen und einige seiner Vorteile und Implementierungsdetails besprechen. Wir werden die Serie abschließen, indem wir die verschiedenen Protokolle vergleichen und ihre Schlüsselvorteile sowie Nachteile hervorheben.

Haben Sie weitere Fragen? Rufen Sie einen Experten bei Altium an und entdecken Sie, wie wir Ihnen bei Ihrem nächsten PCB-Design helfen können.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Mark Harris ist Ingenieur mit mehr als 12 Jahren vielfältiger Erfahrung in der Elektronikindustrie, die von Aufträgen für die Luft- und Raumfahrt und Verteidigung bis hin zu kleinen Produktanläufen, Hobbys und allem dazwischen reicht. Bevor er nach Großbritannien zog, war Mark Harris bei einer der größten Forschungsorganisationen Kanadas angestellt; jeder Tag brachte ein anderes Projekt oder eine andere Herausforderung mit sich, bei der es um Elektronik, Mechanik und Software ging. Er veröffentlicht außerdem die umfangreichste Open-Source-Datenbank-Bibliothek von Komponenten für Altium Designer, die so genannte Celestial Database Library. Mark hat eine Affinität zu Open-Source-Hardware und -Software und den innovativen Problemlösungen, die für die täglichen Herausforderungen dieser Projekte, erforderlich sind. Elektronik ist Leidenschaft; zu beobachten, wie ein Produkt von einer Idee zur Realität wird und mit der Welt interagiert, ist eine nie endende Quelle der Freude.

Sie können Mark direkt kontaktieren unter: mark@originalcircuit.com

Ähnliche Resourcen

Zur Startseite
Thank you, you are now subscribed to updates.