Elektroniknet Logo

MAC PHY und IP-Stack für neues Protokoll

Ethernet-APL zum Laufen bringen

Segger Microcontroller
Der MAC-PHY-Baustein ADIN1110 von Analog Devices und der IP Stack emNet von Segger Microcontroller bilden jetzt eine gemeinsame Kommunikationslösung für Ethernet-APL.
© Segger Microcontroller

Der Datenkommunikationsstandard Ethernet-APL ist seit Juni Realität – und schon bieten Analog Devices und Segger Microcontroller eine passende Kombination aus Ethernet-MAC-PHY-Baustein und IP Stack an. Oliver Olligs und Frank Riemenschneider von Segger Microcontroller erläutern die Hintergründe.

Markt&Technik: Für welche Anwendungen ist der emNet IP Stack ausgelegt und geeignet?

Oliver Olligs, Product Manager emNet bei Segger Microcontroller: Prinzipiell wurden der emNet IP Stack und seine Komponenten zunächst für Embedded-Anwendungen entwickelt. Er ist aber nicht auf die Embedded-Nutzung beschränkt, sondern kann auch für größere Projekte bis hin zum PC-Bereich verwendet werden. Das ist allein der entsprechenden Anwendung geschuldet. In Multiprotokoll-Module für die industrielle Kommunikation, wie sie am Markt häufig zu finden sind, lässt sich der Stack ebenfalls integrieren. Und für Automatisierungstechnik-Hersteller, die eine kompakte oder modulare Steuerung mit Connectivity ausstatten wollen, eignet er sich gleichermaßen. Es kommt dann auf die Treiber für den Stack an, sprich: auf die Anbindung an die entsprechenden Endgeräte und speziell deren Ethernet Controller. Alle Komponenten sind komplett in ANSI-C geschrieben und dadurch flexibel einsetzbar – prinzipiell kann er in allen Geräten laufen und in Projekte eingebunden werden, die ANSI-C-Code implementieren können.

Welche Aufgaben und Funktionen erfüllt der Stack generell und speziell in der Ethernet-APL-Anwendung mit dem MAC-PHY-Baustein ADIN1110 von Analog Devices?

Olligs: Generell übt der Stack alle grundlegenden Kommunikationsfunktionen aus. Er unterteilt sich in mehrere Bereiche: Der Core oder Kern des Stacks sorgt für die grundlegende Kommunikation zwischen den Modulen bzw. den Protokollen und lässt sich erweitern durch verschiedene Protokolle wie etwa TCP, IP oder UDP, also um genau das, was die entsprechende Applikation benötigt, ohne Ressourcen zu beanspruchen, die sie hinterher nicht braucht.

In der Ethernet-APL-Anwendung mit dem ADIN1110 erledigt der Stack prinzipiell dieselben Aufgaben wie in anderen Anwendungen: nämlich die Kommunikation sowohl für High-Level- als auch für Low-Level-Protokolle. Er kümmert sich also um die Protokollbehandlung, indem er Pakete zum Senden formt und die empfangenen Pakete annimmt. Die Anbindung des Stacks an Peripheriekomponenten wie etwa den ADIN1110 ist dabei flexibel und geschieht über unsere Treiber. Was Sie auf dieser Basis an Protokollen laufen lassen wollen – Standard-Ethernet-TCP/IP, UDP, TLS, bis hin zu Ihrem ganz eigenen Protokoll – ist ebenfalls flexibel, je nachdem, was Sie für Ihre Applikation benötigen.

Welche Aufgaben erfüllt in dem System der ADIN1110?

Olligs: Der ADIN1110 kümmert sich um den Transfer von der und in die Leitung; er empfängt die Pakete, die er dann dem Stack zur Verfügung stellt, und sendet die vom Stack geformten Pakete ab. Er verhält sich also mehr oder weniger wie ein regulärer PHY, mit ein bisschen mehr Intelligenz, um den Datenaustausch zwischen Stack und Leitung zu vollziehen.

Lassen sich die Treiber als integralen Bestandteil des Stacks betrachten oder laufen sie separat in dem Low-Power-Mikrocontroller mit, der im System integriert ist?

Olligs: Die Treiber laufen im Mikrocontroller mit, genau dort, wo auch der Stack läuft, und sorgen für die Anbindung via externer Peripherie, beispielsweise für den ADIN1110 über SPI. Prinzipiell ist der Treiber zunächst als Teil des Stacks zu sehen; er ist aber eine Erweiterung für den Stack, das heißt, Treiber und Stack sind nicht fest verbunden, alles ist frei kombinierbar.

Dienen die Treiber also zusammen mit SPI als die beiden entscheidenden Schnittstellen-Elemente?

Olligs: Ja. Der Treiber ist entweder für den integrierten Controller gedacht – wenn es kein separater Ultra-Low-Power-Mikrocontroller ist, dann ist alles intern – oder für einen externen Controller, dann ist der Treiber entsprechend die Schnittstelle zur externen Peripherie.

Relevante Anbieter

Olligs_Oliver
Oliver Olligs, Segger Microcontroller: »Der emNet-Stack und seine Komponenten sind primär für Embedded-Anwendungen entwickelt, können aber in allen Geräten verwendet werden, die ANSI-C-Code verwenden können.«
© Segger Microcontroller

Müssen der MAC PHY und der Ultra-Low-Power-Mikrocontroller auf der Leiterplatte nebeneinander angeordnet sein?

Olligs: Sie können nebeneinander angeordnet sein, müssen es aber nicht unbedingt. Im Falle des ADIN1110 arbeiten wir mit dem Evaluation Kit EVAL-ADIN1110EBZ. Für unsere Entwicklung schließen wir das Evaluation Board einfach via SPI an ein Board mit einem Ultra-Low-Power-Mikrocontroller via SPI an, etwa einem STM32 von STMicroelectronics.

Welche Vorteile hat SPI als Schnittstelle für das Kommunikationssystem aus ADIN1110 mit Ultra-Low-Power-Mikrocontroller plus emNet-Stack?

Olligs: Der entscheidende Vorteil ist die Flexibilität. SPI kann eine Board-to-Board-Schnittstelle sein oder eine Verbindung zwischen zwei ICs auf ein und demselben Board. In Endgeräten würde sich der ADIN1110 aber wahrscheinlich auf derselben Platine befinden wie der Ultra-Low-Power-Mikrocontroller. SPI ist dann einfach eine Verbindung beider Komponenten durch eine Leiterbahn hindurch.

Welche Peripheriekomponenten sind dann erforderlich, damit das Kommunikationssystem auf einer einzigen Leiterplatte laufen kann?

Olligs: Nötig sind dann sicherlich noch ein paar grundlegende Bauelemente um den Microcontroller und den ADIN1110 selbst drum herum, etwa Widerstände, taktgebende Quarze und andere Kleinigkeiten. Weitere komplexere Komponenten sind für das Kommunikationssystem als solches nicht erforderlich. Der prinzipielle Aufbau besteht aus dem Mikrocontroller, dem ADIN1110 und der SPI-Schnittstelle als Verbindung zwischen den beiden Bausteinen. Der ADIN1110 wiederum braucht eine Klemme für den Two-Pair-Draht, also für die eigentliche Netzwerkkommunikation. Aber die grundlegenden Komponenten auf der Platine für die Kommunikation sind der Mikrocontroller, die SPI-Schnittstelle und der ADIN1110.

Welche Alleinstellungsmerkmale hat der emNet IP Stack im Blick auf die Anwendung mit dem ADIN1110?

Olligs: Der große Vorteil des emNet Stacks ist, dass er für Embedded-Anwendungen optimiert entwickelt ist, sprich: alles ist dynamisch konfigurierbar und kompakt. Wir sorgen also dafür, dass der Code vom Umfang her klein bleibt und sein Speicherbedarf möglichst nicht wächst. Zudem legen wir Wert darauf, dass er einen kleinen Footprint für Flash und RAM hat. Der Stack ist getestet mit Konfigurationen bis hinunter auf etwa 5 kB RAM, was im Vergleich zum Wettbewerbsumfeld ebenfalls nicht selbstverständlich ist.

Ein weiteres Alleinstellungsmerkmal des emNet Stacks ist, dass wir in unseren Produkten generell die Verwendung von Heap-Datenstrukturen vermeiden, das heißt, wir vermeiden dynamische Allokation von „fremdem Systemspeicher“ und versuchen, den Speicherverbrauch planbar zu machen. Es gibt eine eigene emNet-Speicherverwaltung, die aber nur das benutzt, was vorher zur Verfügung gestellt worden ist. Das heißt, wenn eine Konfiguration dem kompletten Stack mit Treiber nur 5 kB zur Verfügung stellt, dann bleibt es, abgesehen von statischen Variablen und Strukturen, auch bei den 5 kB. Es kann natürlich sein, dass dadurch die Nutzbarkeit eingeschränkt ist, aber das kommt auf die Anwendung an. Generell bleibt der Speicherverbrauch planbar, und Anwender bekommen eine entsprechende Fehler- und Warnmeldung, wenn der Speicherverbrauch nicht mehr zur Konfiguration passt.


  1. Ethernet-APL zum Laufen bringen
  2. "... das Gesamtkonzept wird für Endkunden variabel planbar."

Verwandte Artikel

SEGGER Microcontroller GmbH & Co. KG, Analog Devices GmbH