So nutzen Sie Ethernet-fähige Mikrocontroller für Ihre nächste Anwendung

Von Warren Miller

Zur Verfügung gestellt von Electronic Products


Mikrocontroller (MCUs) eröffnen eine Vielzahl von Möglichkeiten bei der Wahl der jeweiligen Ethernet-Konnektivität. Da die meisten Anwendungen inzwischen eine Verbindung zum Internet benötigen, braucht Ihre nächste MCU-basierte Entwicklung höchstwahrscheinlich irgendeine Art von Netzwerkverbindung. Vielleicht bauen Sie einen Sensor, der Daten über eine Ethernet-Verbindung sammeln und weitergeben soll, oder eine mit einem Netzwerk verbundene Überwachungskamera, deren Code mithilfe einer Netzwerkverbindung regelmäßig aktualisiert werden muss. Vielleicht arbeiten Sie auch an einem Regler für industrielle Anwendungen, der auf eine robuste Industrial Ethernet-Verbindung angewiesen ist. In jedem Fall kommt der Wahl des Ethernet-fähigen Mikrocontrollers eine zentrale Bedeutung zu, entscheidet dies doch darüber, ob die erforderlichen Funktionen für die jeweilige Konstruktion erfolgreich realisiert werden können.

Allgegenwärtige Konnektivität

Ethernet ist der vielleicht erfolgreichste und allgegenwärtigste Datenübertragungsstandard seit der Erfindung des Telegrafen. Von den ursprünglichen 10 Mbit/s hat sich der Ethernet-Standard dank zahlreicher Weiterentwicklungen und Änderungen über die Jahre hinweg zu einer Spezifikation mit 100 Gbit/s und mehr entwickelt. Mittlerweile gibt es auch Varianten mit noch höherer Zuverlässigkeit, wie das Industrial Ethernet, sowie Versionen mit besseren Synchronfähigkeiten für die Übertragung von Echtzeit-Daten wie Audio- und Videoaufnahmen. Da eingebettete Systeme zunehmend ins Visier von Hackern und Viren geraten, wird die Ethernet-Variante mit erhöhter Sicherheit immer wichtiger. Nachfolgend werden beispielhaft einige Ethernet-fähige Mikrocontroller und die entsprechenden Zielanwendungen vorgestellt, um die Möglichkeiten zu beleuchten, die Sie bei der Wahl eines Mikrocontrollers für Ihre eingebettete Anwendung haben.

Ethernet kostengünstig implementieren

Falls Sie glauben, dass die Aufnahme von Ethernet in ein eingebettetes System immer noch eine kostspielige Angelegenheit ist: Inzwischen verfügen auch preiswerte Mikrocontroller über Ethernet-Konnektivität. Wenn Sie zum Beispiel den ehrwürdigen Mikrocontroller PIC32MX795 von Microchip zusammen mit dem Ethernet-PHY DP83848 von Texas Instruments verwenden, sind Ihre Kosten für die Hauptkomponente sehr niedrig (mit den Links gelangen Sie zu den aktuellen Einzelpreisen von DigiKey). Auch der PIC32MX795 weist eine Reihe von Merkmalen auf, dank derer er problemlos in viele typische Funktionen mit Ethernet-Bezug implementiert werden kann. Besonders interessant sind hierbei der DMA-Controller, das Interrupt-System und Stromsparmodi. Werden diese Elemente miteinander kombiniert, kann das System bei Empfang eines Pakets aus einem stromsparenden Zustand „geweckt“ werden (eventuell mithilfe eines „Magic Packet“). Anschließend kommt der DMA-Controller bei der Datenübertragung zum Einsatz und die CPU verarbeitet die Daten, wodurch die erforderliche „On-Time“ der CPU verringert wird. Damit gestaltet sich die Implementierung von netzwerkfähigen Sensoren und ähnlichen eingebetteten Systemen erstaunlich stromsparend.

Das vielleicht nützlichste Element der Ethernet-Lösung aus der Reihe PIC32 von Microchip ist der unter freier Lizenz angebotene Protokollstapel für eingebettete Systeme. Der Protokollstapel, der rechts von Abbildung 1 mit dem Ethernet-Starterkit-Board von Microchip abgebildet ist, ist in verschiedene Schichten unterteilt, wobei jede Schicht auf die Dienste einer oder mehrerer Schichten zugreift, die jeweils direkt unter ihr liegen.

Bild des Ethernet-Starterkit-Board PIC32 von Microchip

Abbildung 1: Ethernet-Starterkit-Board PIC32 und TCP/IP-Stapel mit freier Lizenz (mit Genehmigung von Microchip)

Viele der TCP/IP-Schichten sind „live“ in dem Sinne, dass sie nicht nur aktiv sind, wenn ein Service angefordert wird, sondern auch dann, wenn Ereignisse wie ein Timeout oder die Ankunft eines neuen Pakets stattfinden. Damit können einfache eingebettete Anwendungen, die nicht unbedingt ein Betriebssystem oder Echtzeitbetriebssystem benötigen, einfacher unterstützt werden. Nachfolgend die wichtigsten Merkmale des TCP/IP-Stapels von Microchip:
  • Unterstützte Protokolle: ARP, IP, ICMP, UDP, TCP, DHCP, SNMP, HTTP, FTP, TFTP
  • Unterstützung von Sockets für TCP und UDP
  • Secure Sockets Layer (SSL)
  • NetBIOS Name Service
  • DNS – Domain Name System
  • Ethernet Device Discovery
Microchip bietet verschiedene Tutorials (darunter ein Produktschulungsmodul zu seiner PIC32-Reihe), Konstruktionsbeispiele und sogar komplette Referenzdesigns an, um die Entwicklung von TCP/IP-fähigen eingebetteten Systemen zu erleichtern. So ist beispielsweise ein Tutorial von Microchip verfügbar, der das Design eines netzwerkfähigen Verkaufsautomaten zeigt.¹

Implementierung von Industrial Ethernet

Wenn Sie eine robustere und stabilere Ethernet-Implementierung benötigen, kommt vielleicht ein Mikrocontroller in Frage, der Industrial Ethernet unterstützt. Einige Mikrocontroller bieten nicht nur für die Ethernet-Schnittstelle, sondern auch für Verwaltung und Steuerung eine spezielle Hardware, sodass die CPU für andere Aufgaben zur Verfügung steht. Die Produktreihe Sitara von Texas Instruments mit zum Beispiel dem AM3352BZCZ60 umfasst ein vollständiges sogenanntes Programmable Real-Time Unit Subsystem and Industrial Communication Subsystem (PRU-ICSS). Dieses spezielle Hardware-Element besteht aus Dual-32-Bit-RISC-Cores (programmierbare Echtzeit-Einheiten, PRU), einem gemeinsamen Speicher, einem Datenspeicher und einem Speicher mit Anweisungen, internen Peripheriemodulen und einem Interrupt-Controller (INTC). Dank der Programmierbarkeit der PRU (Abbildung 2) sowie deren Zugriff auf Pins, Ereignisse und alle auf dem Chip vorhandenen Ressourcen ist Flexibilität gegeben: bei der Implementierung schneller Reaktionen in Echtzeit, speziellen Datenverarbeitungsoperationen, maßgeschneiderten Peripherieschnittstellen sowie bei der Übernahme von Aufgaben durch andere, nicht auf dem Chip befindliche Elemente.

Schaltbild Mikrocontroller Sitara von Texas Instruments

Abbildung 2: Der Mikrocontroller Sitara von Texas Instruments verfügt über ein Programmable Real-Time Unit Subsystem and Industrial Communication Subsystem (PRU-ICSS). [mit Genehmigung von Texas Instruments]

Die PRUs haben über den Schnittstellen-/OCP-Master-Port Zugriff auf alle auf dem Chip befindlichen Ressourcen. Die externen Host-Prozessoren wiederum können über den Schnittstellen-/OCP Slave-Port auf die RU-ICSS-Ressourcen zugreifen. Der 32-Bit-Interconnect-Bus verbindet die verschiedenen internen und externen Master mit den Ressourcen innerhalb der PRU-ICSS. Der INTC kümmert sich um Systemeingangsereignisse und sendet Ereignisse an die Host-CPU auf Geräteebene zurück.

Die PRU-Cores sind mit einem kleinen, deterministischen Anweisungsset programmiert. Die PRUs können sowohl eigenständig als auch aufeinander abgestimmt agieren und darüber hinaus in Abstimmung mit der Host-CPU auf Geräteebene arbeiten. Die Interaktion der Prozessoren wird von der Art der Firmware bestimmt, die in den Anweisungsspeicher der PRU geladen wurde. Mithilfe der sogenannten Industrial Ethernet Peripheral (IPE) werden die Funktionen des Industrial Ethernet verwaltet und generiert. Zu diesen Funktionen gehören:
  • Ein Industrial Ethernet-Timer mit zehn Capture- und acht Compare-Ereignissen.
  • Zwei Industrial Ethernet-Sync-Signale
  • Zwei 16-Bit-Watchdog-Timer für Industrial Ethernet
  • Digitale E/As für Industrial Ethernet
Durch die speziellen PRU-Cores und die IPE wird die Entwicklung einer Industrial Ethernet-fähigen eingebetteten Anwendung erheblich vereinfacht. Texas Instruments bietet darüber hinaus auch Softwarepakete an, die beliebte Betriebssysteme wie Linux und Android für eingebettete Anwendungen unterstützen, deren Funktion über die eines einfachen Sensors oder Zählers hinausgeht. Die Betriebssystemfunktionalität kann eine zentrale Voraussetzung für komplexere Anwendungen in der Industrie sein, bei denen eine sichere Kommunikation, Dateisysteme, Bildverarbeitung und robuste Benutzerschnittstellen von zentraler Bedeutung sind.

Energieeffiziente Ethernet-Designs

Einige Mikrocontroller bieten eine Kombination aus niedrigem Stromverbrauch und Leistungseffizienz und stellen so die größtmögliche Daten- und Verarbeitungsbandbreite bei geringstmöglichem Stromverbrauch bereit. Zum Kinetis MK60DN512 von Freescale gehört eine Hardware, die eigens dafür entwickelt wurde, um ein System über Ethernet aus dem Stromsparmodus zu holen. Der Ethernet-Port kann dabei eine asynchrone Wake-Up-Quelle für den Stromsparzustand bereitstellen, sobald ein „Magic Packet“ empfangen wird. Wie in Abbildung 3 zu sehen ist, ist diese Quelle nur eine von mehreren, mit denen die Entwicklung energieeffizient ausgelegt werden kann, wenn eine Vielzahl von Kommunikationsperipheriegeräten, GPIO-Pins und internen Timern verwendet werden soll.

Bild der Wake-Up-Quellen von Freescale für den Kinetis MK60

Abbildung 3: Asynchrone Wake-Up-Quellen für die Mikrocontroller aus der Reihe Kinetis MK60 zum Aufwecken aus dem Stromsparmodus. (mit Genehmigung von Freescale)

Der in den Chip integrierte Ethernet-MAC-Block umfasst verschiedene Schlüsselfunktionen, die die Übertragungseffizienz erheblich steigern. Ein speziell eingebetteter FIFO auf dem Empfangspfad ermöglicht eine verlustfreie Datenflusssteuerung (zum Beispiel die automatische Erzeugung und Beendung eines Pause-Frame von 802.3x31A) und verbessert so die Effizienz bei der Datenübertragung. Der auf dem Chip befindliche IEEE 1588-Timer kann für zeitkritische Ethernet-Implementierungen wie dem Industrial Ethernet verwendet werden. Mit der bereitgestellten Hardwarebeschleunigung soll die Leistung der Netzwerk-Controller optimiert werden, die für die Protokolldienste IP und TCP, UDP und ICMP verantwortlich sind. Der Beschleunigungsblock führt wichtige Funktionen in der Hardware aus, deren Implementierung ansonsten typischerweise mit einem erheblichen Verarbeitungsaufwand auf CPU-Seite verbunden ist. Zu den Merkmalen, die der Leistungsoptimierung des IP-Protokolls dienen, gehören:
  • Operation auf Basis der Protokolldaten TCP/IP, UDP/IP und ICMP/IP oder nur auf Basis des IP-Header
  • Wirespeed-Verarbeitung möglich
  • Unterstützung von IPv4 und IPv6
  • Transparente Übergabe von Frames anderer Arten und Protokollen
  • Unterstützung von getaggten Frames für VLAN gemäß IEEE 802.1q mit transparenter Weiterleitung von VLAN-Tag und Kontrollfeld
  • Automatische Berechnung und Überprüfung der Prüfsumme für IP-Header und Payload (protokollspezifisch) bei Empfang
  • Automatische Erzeugung der Prüfsumme für IP-Header und Payload (protokollspezifisch) und automatisches Einfügen bei der Übertragung (konfigurierbar pro Frame)
  • Unterstützung aller IEEE 1588-Frames
Die auf Hardware-Ebene angesiedelten Funktionen zur Beschleunigung komplexerer Protokolle steigern nicht nur die Effizienz bei der Datenübertragung per Ethernet, sondern sorgen auch für eine deutliche Verbesserung der CPU-Effizienz. Da die CPU viele der üblichen Servicefunktionen im Zusammenhang mit der Implementierung von komplexeren Protokollen nicht übernehmen muss, kann sie entweder in einen stromsparenderen Modus versetzt werden oder andere Verarbeitungsaufgaben übernehmen.

Systemsicherheit mit Ethernet

Bei eingebetteten Ethernet-Anwendungen spielt die Frage der Sicherheit bei Datenübertragungen und den innerhalb des eingebetteten Systems gespeicherten Daten eine immer wichtigere Rolle. Berichte des US-amerikanischen Department of Homeland Security (Heimatschutzministerium) über mögliche Angriffe auf vernetzte eingebettete Systeme innerhalb des Stromnetzes – die Angriffe des „Energetic Bear“² seien hier beispielhaft genannt – zeigen, wie angreifbar eingebettete Systeme inzwischen sind. Angreifer können ein eingebettetes System sogar „übernehmen“, indem sie auf der untersten Ebene des Betriebssystems einen Code installieren, der den Rechner bootet. Sobald der Boot-Code manipuliert ist, können Hacker beliebig viele Modifikationen vornehmen, um an geheime Informationen zu gelangen, oder gar komplett die Kontrolle über das System übernehmen und teure Ausrüstung beschädigen. Im schlimmsten Fall können sie auch den gesamten Bearbeitungsprozess beschädigen.

Inzwischen umfassen einige Mikrocontroller und Memory Management Units (MPUs) spezielle Hardware, um so eine sichere Datenübertragung und ein sicheres Booten zu gewährleisten. Der SAMA5D33 von Atmel zum Beispiel verfügt über einen Mechanismus für sicheres Booten, hardwarebeschleunigte Engines für die Verschlüsselung (AES, TDES) und eine Hashfunktion (SHA). Damit verhindert er, dass der Mikrocontroller kopiert oder durch einfaches Auslesen der Daten auf dem Chip per Reverse Engineering nachgebaut wird, und sorgt darüber hinaus für einen Schutz des Codes sowie für sichere externe Datenübertragungen. Zudem verfügt der SAMA5D3 über zwei separate Ethernet-Ports (einen für Verbindungen mit 10/100/1000 Mbps und einen für Verbindungen mit 10/100 Mbps) zur Implementierung von eingebetteten Systemen, die Bridging, Routing und Aggregation unterstützen. Brücken und Router sind die Hauptziele bei einem Angriff auf ein Netzwerk, bieten sie doch Zugang zu einem großen Teil des Netzwerks. Sensoren und Zähler hingegen befinden sich meist an den Endknoten des Systems und haben nur begrenzten Zugang zu dem Rest des Systems. Vor diesem Hintergrund ist ein sicheres Booten von zentraler Bedeutung für Brücken und Router. Die Reihe SAMA5D3 verfügt über diese Funktion und bietet damit einen großen Vorteil.

Fazit

Bei vielen Anwendungen ist Ethernet-Konnektivität inzwischen eine zentrale Bedingung. Die Anbieter von Mikrocontrollern haben darauf reagiert und bieten nun eine Vielzahl von Ethernet-fähigen Mikrocontrollern an. Die Wahl des Mikrocontrollers sollte sich dabei nach der Art der Ethernet-Konnektivität richten, die für die jeweilige Anwendung erforderlich ist – Industrial Ethernet, Ethernet mit zusätzlicher Sicherheit, stromsparende oder kostengünstige Lösung. Bei sorgfältiger Recherche sollten Sie den passenden Mikrocontroller für Ihre Anwendung finden.

Weitere Informationen zu den in diesem Artikel beschriebenen Produkten finden Sie über die bereitgestellten Links zu den Produktinformationsseiten auf der DigiKey-Website.

Referenzen
  1. Beispielhaftes Ethernet-fähiges Design von Microchip (Teil 1 von 3).
  2. Artikel von Reuters: „U.S. government asks firms to check networks after 'Energetic Bear' attacks“ (US-Regierung fordert nach den Angriffen des „Energetic Bear“ Unternehmen zur Überprüfung ihrer Netzwerke auf).

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Warren Miller

Über den Verlag

Electronic Products

Das Magazin "Electronic Products" und "ElectronicProducts.com" dienen Ingenieuren und technischen Führungskräften, die für die Entwicklung elektronischer Geräte und Systeme verantwortlich sind.