Serielle Kommunikation in der Embedded-Entwicklung

Serielle Kommunikation

Serielle Kommunikation ist nach wie vor ein wichtiges Kommunikationsmittel in vielen Computer- und Netzwerkanwendungen. Es wird häufig in eingebetteten Systemen verwendet, da die meisten Computer serielle Verbindungen entweder nativ oder mithilfe von Emulatoren oder Konvertern verarbeiten können.

Embedded-Systementwicklung Für eingebettete Systeme, die mit Mehrzweckcomputern interagieren, ist es häufig einfacher, serielle Schnittstellen als Alternativen wie einen PCI-Erweiterungsbus zu verwenden.

Inhalt

  1. Was ist Embedded-Entwicklung?
  2. Serielle Kommunikation bei Embedded-Programmierung wichtig?
  3. Unverzichtbare eingebettete Softwareentwicklungstools, Emulatoren und Debugger
  4. Hardware oder Software für die Entwicklung serieller Embedded-Systeme?

Was ist Embedded-Entwicklung?


Embedded-Entwicklung wird im Allgemeinen auch als Embedded Programming, Embedded Systems Programming oder Embedded Software Development bezeichnet. Es ist ein spezialisierter Zweig der Computerprogrammierung, der sich auf die Programmierung eingebetteter Systeme konzentriert. Die Geräte, die über die eingebettete Entwicklung gesteuert werden, werden normalerweise nicht als eigenständige Computer betrachtet. Die eingebettete Programmierung dient zur Steuerung des Verhaltens elektronischer Geräte wie Telefone, Modems, Roboter oder elektronischer Komponenten von Kraftfahrzeugen und Flugzeugen.

Embedded Software vs. Anwendungssoftware


Anwendungssoftware wird von Entwicklern zum Erstellen von Programmen und Tools verwendet, die auf einem Allzweckcomputer wie Ihrem Mac oder Windows-Computer ausgeführt werden. Die Textverarbeitungsprogramme, die Sie täglich verwenden, sowie alle Ihre Social-Media-Tools sind Beispiele für die Ergebnisse der Anwendungssoftwareentwicklung.

Bei der Entwicklung von Anwendungssoftware kann der Entwickler die Funktionen des Betriebssystems nutzen, auf dem das Programm ausgeführt wird. In der Regel werden keine direkten Schnittstellen mit peripheren Hardwarekomponenten hergestellt. Ein wesentlicher Bestandteil vieler Anwendungsprogrammierungsanstrengungen ist eine Benutzeroberfläche, die eine menschliche Interaktion mit der Anwendungslogik ermöglicht.

Eingebettete Software soll in einem bestimmten Gerät eigenständig sein. Einige Universalcomputersprachen können auch als eingebettete Softwaresprachen dienen. Beispiele sind C / C ++, Python und JavaScript. Diese Sprachen sind sehr beliebte Werkzeuge für die eingebettete Entwicklung und werden auch häufig im Bereich der Anwendung und allgemeinen Programmierung verwendet. Programmierer mit Kenntnissen in der C-Anwendungsprogrammierung können diese Kenntnisse problemlos auf ein Embedded-C-Programmierprojekt übertragen.

Eigenschaften eingebetteter Systeme


Eingebettete Systeme haben bestimmte Eigenschaften, die sie von Universalcomputern oder einfachen elektronischen Geräten unterscheiden, die nicht programmiert werden können. Hier sind einige der Merkmale, die eingebettete Systeme auszeichnen:

Einer bestimmten Funktion gewidmet - Ein eingebettetes System ist eine Kombination aus Software-, Middleware- und Hardwarekomponenten, die zusammenarbeiten, um eine bestimmte Funktion auszuführen. Sie sind über diese eingeschränkte Funktionalität hinaus nicht programmierbar.

  • Reaktionsfähigkeit in Echtzeit - Eingebettete Systeme werden häufig in Geräten verwendet, die automatisierte Überwachungs- und Steuerfunktionen ausführen. Das System muss in der Lage sein, genau und schnell auf sich ändernde physische Bedingungen zu reagieren.
  • Begrenzte Ressourcen - Einschränkungen der für eingebettete Systeme verfügbaren physischen Ressourcen müssen bei ihrer Konzeption und Entwicklung berücksichtigt werden. In eingebetteten Systemen ist der Platz oft knapp, was bedeutet, dass weniger Speicherplatz zur Verfügung steht.
  • Zuverlässigkeit - In vielen Fällen werden eingebettete Systeme in Geräten oder Komponenten verwendet, die wichtige Aufgaben ausführen. Aus diesem Grund müssen sie zuverlässig konstruiert und hergestellt werden, um den physikalischen Bedingungen zu widerstehen, unter denen sie betrieben werden. Der Ausfall eines eingebetteten Systems kann katastrophale Folgen haben.
  • Effizienter Stromverbrauch - Effizienter StromverbrauchSelbstversorgte Geräte müssen in Verbindung mit den Platzbeschränkungen, denen viele eingebettete Systeme ausgesetzt sind, kleine Batterien effizient nutzen.
  • Einfache oder keine Benutzeroberfläche - Wenn in einem eingebetteten System eine Benutzeroberfläche vorhanden ist, ist diese normalerweise sehr einfach. Viele eingebettete Systeme müssen nicht mit Menschen interagieren und haben keine Benutzeroberfläche.

Die serielle Kommunikation ist wichtig für die Embedded-Programmierung


Die serielle Kommunikation ist eines der wichtigsten Mittel zur Datenübertragung in vielen industriellen und automatisierten Systemen. Während der typische Laptop für den Heimgebrauch möglicherweise nicht einmal eine einzige serielle Schnittstelle enthält, gilt dies nicht für viele kommerzielle und industrielle Anwendungen von vernetzten elektronischen Geräten. Überwachungs-, Erfassungs- und Steuergeräte können alle serielle Schnittstellen verwenden, um miteinander und mit ihren übergeordneten Steuercomputern zu kommunizieren.

Es gibt eine Reihe von Möglichkeiten, wie ein eingebettetes System eine serielle Schnittstelle verwenden kann. Einige von ihnen sind:

  • Datenkommunikation zwischen verschiedenen Teilen des Systems
  • Kommunikation mit externen Geräten
  • Herunterladen von Firmware, um die eingebetteten Systeme auf dem neuesten Stand zu halten
  • Bereitstellung einer Debugging- oder Konsolenschnittstelle

Um diese Funktionen in einem eingebetteten System ausführen zu können, müssen Sie die Kommunikation über die serielle Schnittstelle und die zugrunde liegenden Protokolle verstehen, die diese Datenübertragungsmethode steuern. Es gibt verschiedene serielle Kommunikationsprotokolle in eingebetteten Systemen eingesetzt.

Serielle Kommunikationsprotokolle in eingebetteten Systemen


RS232 - Das RS232-Protokoll ist ein vollständiger Standard, der elektrische Eigenschaften sowie Spezifikationen für die Verbindungshardware und enthält Pin-Outs. Die Übertragungsgeschwindigkeiten variieren zwischen 20 Kbit / s und 115,2 Kbit / s. Um eine maximale Effizienz zu erzielen, sind die meisten Kabel, die mit dem RS232-Protokoll übertragen werden, auf eine Länge von höchstens 30 Fuß begrenzt.

RS422 und RS485 - Beide Protokolle sind symmetrische Twisted-Pair-Schnittstellen, die Übertragungsgeschwindigkeiten von bis zu 10 Mbit / s über Entfernungen von bis zu 4000 Fuß ermöglichen. Die Verwendung eines symmetrischen Busses über den asymmetrischen Bus, der im RS232-Protokoll verwendet wird, minimiert Rauschstörungen und ermöglicht eine größere Übertragungsentfernung. RS422 wird für die Kommunikation zwischen zwei Knoten verwendet, während das RS485-Protokoll die Kommunikation zwischen mehreren Transceivern ermöglicht.

Andere Protokolle - Es gibt andere Protokolle, die von Halbleiterherstellern entwickelt wurden. Wenn Sie an der seriellen Kommunikation mit eingebetteten Geräten beteiligt sind, wird höchstwahrscheinlich die RS232 / RS422 / RS485-Protokollfamilie verwendet.

Arten von eingebetteten Systemen


Eigenständige eingebettete Systeme - Diese Systeme benötigen keinen Host-Computer und reagieren direkt auf Daten, die über ihre Eingabeports empfangen werden. Beispiele sind Mikrowellenöfen und Druckmesssysteme.

Echtzeit-Embedded-Systeme - Systeme, die in einem bestimmten Zeitrahmen eine erforderliche Ausgabe erzeugen, werden als eingebettete Echtzeitsysteme bezeichnet.

Vernetzte eingebettete Systeme - Vernetzte eingebettete Systeme sind die am schnellsten wachsende Anwendung eingebetteter Systeme. Die Möglichkeit, die eingebetteten Systeme über einen Webbrowser zu überwachen, wird in industriellen und medizinischen Überwachungsanwendungen häufig genutzt.

Mobile eingebettete Systeme - Handys, Digitalkameras und MP3-Player sind nur einige Beispiele für mobile eingebettete Systeme.

Softwareentwicklungstools, Emulatoren und Debugger, die Sie brauchen


Entwickler eingebetteter Systeme müssen in der Lage sein, das Verhalten ihrer Systeme zu überwachen. Ein wichtiger Aspekt dieser Überwachung ist Debuggen der seriellen Schnittstelle. Eine serielle Schnittstelle ist möglicherweise die einzige Möglichkeit, mit dem eingebetteten System zu kommunizieren. Die Eltima-Software bietet ein umfassendes Softwarepaket für die serielle Schnittstelle, das die Arbeit mit Ihren seriellen Embedded-Systemen erheblich vereinfacht und effizienter macht.

Werfen wir einen Blick auf einige der besten Entwicklungswerkzeuge für eingebettete Software und Hardware für Ingenieure, die mit seriellen Schnittstellen und eingebetteten Systemen arbeiten.

Virtual Serial Port Driver und Virtual Serial Port Driver PRO


Virtual Serial Port Driver (VSPD) ist so konzipiert, dass der Benutzer seine physischen und virtuellen seriellen Anschlüsse einfach verwalten kann. Es gibt eine Standardversion mit eingeschränkter Funktionalität (erstellen Sie unbegrenzt viele COM-Port-Paare) und eine PRO-Version mit erweiterten Funktionen.

Virtual Serial Port Driver

Einige der Highlights dieser seriellen Kommunikationssoftware sind:

  • Erstellung von virtuellen seriellen Schnittstellen - Es können beliebig viele virtuelle serielle Ports angelegt werden. Diese Ports können verwendet werden, um einen einzigen physischen seriellen Port für viele Anwendungen gemeinsam zu nutzen und alle Parameter der realen Schnittstelle vollständig zu emulieren.
  • Aufteilung der seriellen Schnittstelle - Mit VSPD PRO können Sie einen physischen seriellen Port in mehrere virtuelle Ports aufteilen, die alle gleichzeitig auf ein an den Port angeschlossenes Gerät zugreifen können. Auf diese Weise können Sie problemlos mehrere Anwendungen mit einem einzigen seriell angeschlossenen Gerät verwenden.
  • Verbinden von COM-Ports - Wenn Sie mehrere virtuelle serielle Ports mit einem physischen verbinden, können Sie von mehreren seriellen Geräten empfangene Daten an eine einzige Anwendung umleiten.
  • Ports automatisch wechseln - Virtual COMPort Driver PRO bietet die Möglichkeit, einen Switcher zu erstellen, der mit Ihrer Anwendung zusammenarbeitet, um sicherzustellen, dass immer eine nicht belegte serielle Schnittstelle zur Verfügung steht.
  • Zusammenführen von COM-Ports - Eine weitere erweiterte Funktion von VSPD PRO ist das Zusammenführen von seriellen Schnittstellen. Mit dieser Funktion können Sie über mehrere Geräte oder Anwendungen verfügen, die mit jeder zusammengeführten Anwendung oder jedem zusammengeführten Gerät gleichzeitig Daten austauschen können.

  • Serial Port Monitor - Protokollieren und Analysieren der seriellen Kommunikation


    Ein weiteres hervorragendes Tool von Eltima Software, das für das Debuggen serieller Kommunikation entwickelt wurde, ist Serial Port Monitor (SPM).

    Serial Port Monitor

    Mit dieser leistungsstarken seriellen Kommunikationssoftware können Sie:

    • Analysieren Sie die Aktivität der seriellen Schnittstelle - Mit SPM können Sie jeden seriellen Anschluss sofort abhören und überwachen, auch wenn er bereits von einer anderen Anwendung geöffnet wurde. Mit der Echtzeit-Datenerfassung können Sie Probleme schnell aufspüren und Ihre seriellen Datenübertragungen debuggen. Überwachungssitzungen können zur späteren Anzeige oder Analyse in eine Datei geleitet werden.
    • Überwachen Sie mehrere Ports in einer Sitzung - Mehrere Ports können gleichzeitig mit First-In-First-Out-Daten überwacht werden, um die Analyse des Datenflusses in einer komplexen Umgebung zu vereinfachen.
    • Mehrere Datenanzeigeformate - Wählen Sie beim Anzeigen Ihrer gesammelten Daten zwischen Tabellen-, Linien-, Speicherauszugs- oder Terminalmodus. Filter können angewendet werden, um die angezeigten Daten auf die Daten zu beschränken, die Sie überwachen möchten.
    • Emulation der Datenübertragung - Sie können Daten in verschiedenen Formaten an serielle Geräte senden, um das Verhalten des Geräts zu testen. Diese Funktion kann bei der Suche nach Problemen während der Entwicklung eingebetteter Systeme hilfreich sein.
    • Sitzungsvergleich - Vergleichen Sie zwei Sitzungen und lassen Sie sich die Unterschiede automatisch anzeigen.

    Hardware-Splitter für serielle Schnittstelle


    Hardware-Splitter für serielle Schnittstelle

    Für Entwickler eingebetteter Systeme stehen physische Geräte zur Verfügung, die einige der oben beschriebenen Funktionen der Softwaretools ausführen können. Sie können Kabel erwerben, mit denen Sie das Signal von einem einzigen seriellen Anschluss mit zwei oder mehr Geräten oder Anwendungen gemeinsam nutzen können.

    Nachteile: Sie bieten weniger Flexibilität als die Softwarealternative, da nur eine begrenzte Anzahl von Verbindungen verfügbar ist. Eine weitere Einschränkung ist die Länge des Kabels, das verwendet werden kann, und die allgemeine Aufgabe des Kabelmanagements, die unhandlich werden kann, wenn die Notwendigkeit zum Teilen von Signalen wächst.

    RS232 serielles Spion-Monitorkabel

    RS232 serielles Spion-Monitorkabel

    Es können serielle Überwachungs- oder Schnüffelkabel erworben werden, die entweder im Halb- oder Vollduplexmodus arbeiten. Sie funktionieren, indem sie einen weiteren Anschluss für ein RS232-Kabel bereitstellen. Ein an diesen dritten Anschluss angeschlossenes Gerät kann die Kommunikation zwischen den beiden Enden des RS232-Kabels überwachen. Abhängig vom Typ des angeschlossenen Geräts oder der angeschlossenen Anwendung können Sie die Daten möglicherweise für eine spätere Verwendung protokollieren.

    DCAClab ist ein Online-Stromkreissimulator für die MINT- und Technologieerziehung. Er hilft Mechatroniklehrern, Stromkreise für ihre Schüler auf einfache Weise zu erklären. Simuliert und behebt Unterbrechungen in einer umfangreichen Simulationsumgebung, die mit realistischen Komponenten, einem realistischen Oszilloskop und einem Multimeter mit verschiedenen Funktionen ausgestattet ist.

    Hardware oder Software für die Entwicklung serieller Embedded-Systeme?


    Bei der Auswahl der Tools für die Entwicklung serieller Embedded-Systeme müssen Sie auf Benutzerfreundlichkeit und Flexibilität achten. Zweifellos sind die speziell für die Arbeit mit seriellen Geräten entwickelten Softwareanwendungen leistungsfähiger und bieten Ihnen Optionen, wenn sich Ihre Testumgebung ändert.

    Zu den weiteren Vorteilen einer Softwarelösung gehört, dass keine teuren Kabel gekauft werden müssen und die serielle Aktivität nicht mehr remote überwacht werden kann. Wenn Sie die Entwicklung eingebetteter Systeme ernst nehmen, sollten Sie sich diese Softwaretools genauer ansehen. Sie werden Ihr Entwicklungsleben viel angenehmer machen und Ihnen einen Wettbewerbsvorteil verschaffen.

    Serial Port Monitor

    Anforderungen: Windows (32-bit und 64-bit): XP/2003/2008/Vista/7/8/10, Windows Server 2012, Windows Server 2016 , 9.16MB size
    Version 7.0.342 (der 13. Jan, 2018) Versionshinweise
    Categorie: Communication Application