Ethercat/Standard-Ethernet

Echtzeit-Protokolle flexibel umsetzen

Seite: 2/3

Anbieter zum Thema

Proprietäre Architekturen werden bereits seit vielen Jahren verwendet

PRU Cores sind proprietäre Architekturen (Reduced Instruktion Set Computer mit 32 bit), die schon seit vielen Jahren in den TI-Bausteinen verwendet werden. Mithilfe von frei verfügbaren Tools, Treibern und Beispielen [3] sind Anwender in der Lage, diese für eigene Ideen einzusetzen.

Aufgrund des begrenzten Speichers sind die PRU bisher nur in Assembler programmierbar. Die kleine Anzahl von Instruktionsmnemonics macht diese Aufgabe jedoch überschaubar. Alle Operationen arbeiten mit den 32-bit-Registern der PRU. Von den 32 Registern haben nur einige noch zusätzliche Funktionen für die direkte Anbindung von Input/Output-Elementen und Event-Behandlung. Die Daten werden über Load/Store mit dem Speicher und anderen Systemregistern ausgetauscht. Instruktions- und Datenspeicher der PRU sind voneinander getrennt, um schnelle Zugriffe zu ermöglichen. Registeroperationen werden grundsätzlich in einem einzigen Prozessorzyklus abgearbeitet. Das bewirkt einen sehr hohen Determinismus der Softwarealgorithmen mit einer Granularität von zum Beispiel 5 ns bei einer PRU, die mit 200 MHz getaktet wird.

Ein PRU-ICSS (Integrated Control and Safety System) besteht aus den AM335x-Bausteinen mit zwei identischen PRU-Cores und lokaler Peripherie und Speicher (Bild 3). Der direkte Zugriff auf spezielle GPIO (General Purpose Input/Output), UART (Universal Asynchronous Receiver/Transmitter), Timer und Capture-Einheiten vervollständigt die Realtime-Funktionalität. Für Ethernet-basierende Kommunikationsaufgaben sind zwei MII- und eine MDIO-Schnittstelle vorhanden. Jede PRU verfügt über einen 8 kByte großen Instruktions- und einen 8 kByte großen Datenspeicher. Im Subsystem befinden sich dann noch Datenspeicher mit 12 kByte zur gemeinsamen Nutzung.

Cortex-A8-Core kann die Subsystem-internen Speicher und Register bearbeiten

Über eine Adressierungsfunktion können die PRU jedoch auf den gesamten SoC-Speicherbereich und damit auf weitere Peripherie und externe Speicherbereiche zugreifen. Umgekehrt kann der Cortex-A8-Core die Subsystem-internen Speicher und Register bearbeiten. Das PRU-Subsystem wird immer vom Haupt-Core kontrolliert. Dazu gehören Reset-, Start/Stopp- und auch Instruktionsspeicher-Initialisierung. Über das Eventsystem des ICSS kann mit dem Haupt-Core kommuniziert werden.

Industrielle Kommunikation als Schwerpunkt

Die Implementierung von Realtime-basierten Kommunikationsprotokollen, zum Beispiel Ethercat, auf dem ICSS erfordert jedoch detailliertes Wissen über die untersten Schichten des Protokollstandards. Damit nicht jeder Anwender diesen Aufwand betreiben muss, entwickelt TI wichtige Grundfunktionen und liefert komplette Bibliotheken im Rahmen von Software-Development-Kits aus [4]. Diese Bibliotheken werden mit gängigen Protokoll-Stacks in Beispielapplikationen genutzt. Der Anwender kann diese Beispiele direkt als Grundlage für eigene Entwicklungen nutzen oder einfach nur zur Evaluierung der Funktionen heranziehen. Alle IA-SDK Beispiele sind für bestimmte Hardwareplattformen ausgelegt, die zu niedrigen Kosten verfügbar sind [5 und 6].

(ID:38991930)