Entwicklungs- und Evaluierungsplattform Für die industrielle Kommunikation

Entwicklungs- und Evaluierungsplattform
Für die industrielle
Kommunikation

Das Caribouboard ist eine Entwicklungs- und Evaluierungsplattform für die industrielle Kommunikation. Es basiert auf dem OMAP-L138 ARM Mikroprozessor von Texas Instruments, einem Cyclon 3 Field Programmable Gate Array (FPGA) von Altera und diversen analogen Schnittstellen. Der Entwickler kann damit eine Vielzahl verschiedener Feldbusse und Schnittstellen im Bereich der industriellen Kommunikation realisieren wie beispielsweise seriell basierende Feldbusse, z.B. Profibus und IO-Link, sowie Echtzeit-Ethernet Feldbusse wie EtherCAT, Profinet, EtherNet/IP und IEEE1588. Encoder-Schnittstellen wie EnDat werden ebenfalls unterstützt. Mit den zusätzlichen analogen Komponenten (ADC, DAC, PWMs) hält es Schnittstellen zur Anbindung an Regelsysteme, Positionsgeber und Leistungsstufen bereit.

Das Caribouboard bietet dem Entwickler eine spezielle Evaluierungsplattform für industrielle Applikationen in den Bereichen speicherprogrammierbare Steuerung (SPS / PLC), Regelsysteme, Sensoren, Motoren mit integrierter Steuerung, Solar-Inverter und Test- und Mess-Equipment. Die Plattform-Evaluierung, sowie das Produkt-Prototyping stellen für Entwickler von komplexen, industriellen Anwendungen nicht selten eine Herausforderung dar: Oftmals fehlt eine geeignete Hardware-Plattform. Die von den Mikroprozessorherstellern zur Verfügung gestellten Evaluierungsboards (EVM) und Starter-Kits unterstützen meist nur Elementarfunktionen. So wird auf ihnen in der Regel ein High-Level Betriebssystem (HLOS), wie Embedded Linux oder Windows Embedded CE betrieben. Es fehlen aber Hardwarekomponenten, z.B. Bausteine mit industrieller Feldbus-Funktion und analoge/digitale Ein- und Ausgänge. Besonders im Bereich der industriellen Regelsysteme, speicherprogrammierbarer Steuerung (SPS, PLC), intelligenter Antriebstechnik (Drives), Sensortechnik und im Bereich der alternativen Energiegewinnung muss der Entwickler sein Prototypenboard selbst gestalten. Diese komplexen Systeme benötigen fast immer ein Field Programmable Gate Array (FPGA), in dem industriespezifische Funktionen integriert werden.

Vorhandene Softwarekomponenten wieder verwenden

Das hier vorgestellte Caribouboard schließt die Lücke an fehlenden EVMs für komplexe, industrielle Anwendungen. Dabei baut es auf der Software-Infrastruktur des Mikroprozessorherstellers auf, und erlaubt somit dem Entwickler, vorhandene Softwarekomponenten wieder zu verwenden. Das spart Kosten und beschleunigt die Markteinführung.

Unterschiedliche industrielle Funktionen

Daneben beinhaltet das Caribouboard ein Cyclon-3 FPGA von Altera. In den 25k logischen Elementen des FPGAs lassen sich unterschiedliche industrielle Funktionen einbringen. Die FPGA Programmierschnittstelle (USB-Blaster) ist auf dem Caribouboard bereits integriert, und kann über das mitgelieferte USB-Kabel mit dem PC verbunden werden. Als FPGA Programmiersoftware dient Quartus II – die Web-Edition bietet Altera zum kostenlosen Download an. Des Weiteren bietet das Caribouboard unterschiedliche digitale Schnittstellen, z.B. Isolierter RS 485 Transceiver für Profibus, zwei RS-485 Transceiver für EnDat Encoder Schnittstellen, einen CAN Transceiver, einen 8-fachen I2C IO Expander mit 24V Ausgangstreiber, einen isolierten Treiber für eine SPI Mikroprozessor-Schnittstelle mit direkter Anbindung an das SN65HVS882 EVM (serieller 8-fach Eingang mit bis zu 34V Unterstützung), zwei industrielle 10/100Mbps Ethernet PHYs sowie mehrere Erweiterungsstecker. Ne­ben den digitalen Schnittstellen stellt das Caribouboard auch verschiedene analoge Wandler bereit. Darunter drei isolierte Sigma-Delta Modulatoren mit 16-Bit Auflösung, drei Miniatur SAR Analog/Digital Wandler mit 12-Bit Auflösung, ein 12-Bit Analog/Digital Wandler mit 2MSPS, sowie ein 16-Bit Digital/Analog Wandler. An Pfostensteckern stehen PWM Signale zum Ansteuern von Treiberstufen für Schritt-, Synchron- und Asynchron-Motoren bereit, diese können mit dem OMAP-L138 oder dem FPGA erzeugt werden. Alle Steckerleisten sind in der 2,54mm Raster-Ausführung aufgebaut, um dem Entwickler den Zugriff auf extern zugängliche digitale und analoge Signale zu erleichtern. Das Caribouboard benötigt eine 12V Spannungsversorgung, die mit effektiven DC/DC Konvertern und Low-Dropout Regulatoren (LDO) das komplette Board versorgen. Lediglich die isolierte, externe Spannungsversorgungen für die Sigma-Delta Analog/Digital Wandler und der isolierten Treiber der SPI Schnittstelle müssen extern versorgt werden. Eine Power-over-Ethernet (PoE) Spannungsversorgung ist nicht auf dem Caribouboard vorgesehen, aber eine externe Lösung wurde dafür bereits entwickelt und kann über TI bezogen werden.

Die Programmierbare Echtzeit-Einheit (PRU) im OMAP-L138

Der OMAP-L138 basiert auf einem ARM926EJ-S RISK Kern mit einer Frequenz von bis zu 456MHz und verschiedener On-Chip Peripherie. Eines der wichtigsten Unterscheidungsmerkmale in der Peripherie ist die programmierbare Echtzeit-Einheit (PRU). Die für den Entwickler frei programmierbare PRU ist ideal für Echtzeit-Anwendungen, für Layer 2 Protokolle und für die Manipulation und Filterung von Datenstrukturen in der Paketverarbeitung (z.B. Ethernet). Gerade im Bereich der industriellen Applikationen, die sich durch die große Anzahl an unterschiedlichen Schnittstellen-Protokollen hervorheben, kann eine Echtzeit-Schnittstelle in der PRU programmiert und dadurch externe Hardwarekomponenten eingespart werden. Das PRU Subsystem (PRUSS) besteht aus zwei PRUs die mit der halben ARM Frequenz getaktet werden. Jede von ihnen ist ein 32-Bit RISC Prozessor mit eigenem Daten- und Programmspeicher. Beide können unabhängig vom ARM9 Kern auf alle System-Ressourcen im OMAP-L138 zugreifen. Durch die Zero-Stage Pipeline werden alle PRU Assembler-Befehle innerhalb von nur einem Zyklus abgearbeitet – das sind nur 4.4ns bei einer PRU Frequenz von 228MHz, abgeleitet von der halbem ARM Frequenz. Mit der bekannten Anzahl der Assembler-Befehle lassen sich deterministische Algorithmen in der PRU implementieren, welche u.a. auf Echtzeit-Ereignisse reagieren können. Jede PRU besitzt 30 bzw. 32 direkt im Register abgebildete Ein- und Ausgänge. Innerhalb von nur einem Zyklus können damit externe Signale über Register eingelesen bzw. ausgegeben werden. Somit ist es für die PRU möglich, innerhalb von wenigen Nano-Sekunden auf externe Events zu reagieren und Ausgänge zu schalten. Weiterhin werden Bit-Befehle unterstützt, mit denen in nur einem Zyklus ein Bit im Register gesetzt oder gelöscht werden kann. Mit ihnen werden Programmsprünge auf Bit-Test Basis durchgeführt, was besonders mit den durch Register abgebildeten Ein- und Ausgängen benutzt wird. Die PRU kann bis zu acht System-Events generieren die vom ARM9 Kern als Interrupt empfangen werden. Im Zusammenspiel mit dem internen Datenspeicher kann hier eine effektive Interprozessorkommunikation (IPC) realisiert werden.

Schnittstelle zwischen OMAP-L138 und FPGA

Die Anbindung des FPGAs an den OMAP-L138 wurde über das PRUSS realisiert. Damit können komplexe Anwendungen in Zusammenarbeit zwischen den PRUs und dem FPGA auf dem Caribouboard realisiert werden. Hier wurden die direkt im Register abgebildeten Ein- und Ausgänge als Schnittstelle zum FPGA verwendet. Beide PRUs sind in der Lage die FPGA-Schnittstelle unabhängig voneinander in nur einem Zyklus anzusprechen. Mit Hilfe der Bit-Befehle kann jede von ihnen in Echtzeit auf Events vom FPGA reagieren und damit 8-Bit oder 16-Bit breite Daten lesen oder schreiben. Durch das Pin-Multiplexing im OMAP-L138 stehen nicht alle 124 PRU Ein- und Ausgänge zur Verfügung. Einige sind doppelt belegt und können somit entweder als Ein- oder als Ausgang fungieren. Andere fallen durch Systemanforderungen der industriellen Applikation weg: Beispiel kann hier die On-Chip Ethernet MII Schnittstelle des OMAP-L138 sein, die sich mit der PRU Pins teilt. Generell ist es möglich pro PRU einen 8-Bit und einen 16-Bit breiten bidirektionalen Datenbus mit vier Steuersignalen zwischen FPGA und PRUSS über das Pinmuxing zu konfigurieren. Das PRUSS entkoppelt die Echtzeitfähigkeit zwischen dem HLOS auf dem ARM und der komplexen Anwendung in den PRUs und dem FPGA. Treiber für das HLOS lassen sich einfach mit dem PRUSS-Events und dem internen Datenspeicher realisieren – Startpunkt kann hier ein bereits vorhandener Treiber sein. Die Systemkombination aus PRUSS und dem FPGA bietet dem Entwickler die größtmögliche Freiheit, um komplexe Echtzeit-Protokolle zu implementieren, z.B. industrielle Ethernet Ports, EnDat 2.2 Encoder Schnittstelle, CAN Schnittstelle, Analog/Digital Wandler Vorverarbeitung mit SINC Filter, PWM Generierung, oder proprietäre UART Protokolle.

Kein externes Profibus ASIC

Der AM1810 und der OMAP-L138 Mikroprozessor von TI integrieren die Profibus DP Funktion in das PRUSS. Die integrierte Lösung benötigt kein externes Profibus ASIC, sondern kann direkt an den isolierten RS-485 Transceiver angeschlossen werden. Das spart Kosten und Platz auf der Platine. Weiterhin profitiert die integrierte Profibus Lösung von den stromsparenden Eigenschaften der SitaraM Familie von TI. Das Caribouboard mit dem OMAP-L138 Mikroprozessor und dem isolierten RS-485 Transceiver ISO1176T unterstützt die maximale Profibus Datenrate von 12MBaud. Die durch die Profibus Nutzer Organisation (PNO/PI) zertifizierte Slave DP Applikation kann auf dem Caribouboard evaluiert werden.

UARTs und CAN Schnittstellen

Ein IO-Link Master kann durch eine Punkt-zu-Punkt UART Verbindung mit jeweils einem IO-Link Slave kommunizieren. Typische IO-Link Master Systeme haben daher meist 4 oder 8 UARTs und können damit die entsprechende Anzahl von Slaves verwalten. Der OMAP-L138 hat bereits drei UARTs als On-Chip Peripherie zur Verfügung. Zusätzliche UARTs (Soft-UART) können mit dem PRUSS und der Multi-Channel Audio Serial Port (McASP) Peripherie hinzugefügt werden. Mistral (www.mistralsolutions.com) bietet den SoftUART Treiber und Dokumentation zum Download auf ihrer Webseite an. Der Treiber läuft unter Linux und kann pro PRU bis zu vier zusätzlichen SoftUARTs betreiben. Mistral hat einen CAN-Bus Treiber auf PRUSS Basis entwickelt. Der Treiber läuft unter Linux und emuliert eine CAN-Schnittstelle (SoftCAN) mit den schnellen Ein- und Ausgängen der PRU. Die Schnittstelle eignet sich gut für kundeninterne Bussysteme mit reduzierter CAN Übertragungsgeschwindigkeit. Mistral stellt den Treiber mit Dokumentation der Unternehmenswebseite zum Download bereit.Komplexe Feldbusse wie z.B. Echtzeit-Ethernet benötigen in den Slave-Einheiten zwei Ethernet-Schnittstellen (z.B. Profinet RT, PowerLink, Ethernet/IP, u.a.). Diese zwei Ethernet-Schnittstellen können auf dem Caribouboard mit dem PRUSS, dem FPGA und den zwei industriellen 10/100Mb Ethernet PHYs realisiert werden. Die beiden Ethernet PHYs sind über die MII-Schnittstelle mit dem FPGA verbunden. Link-Erkennung sowie Statusinformationen der Ethernet-PHYs erfolgt über das MDIO- Protokoll mit dem OMAP-L138. Im FPGA befinden sich Funktionen für die 4- nach 8-Bit Wandlung der MII-Schnittstelle, FIFO zum Speichern von Datenbytes, CRC32 Berechnung, und die Schnittstelle zum PRUSS – jeweils für Empfangs- und Senderichtung. In dem PRUSS ist die FPGA-Schnittstelle zum Empfangen und Senden von Daten, Paketfilter, sowie die Kommunikation zum ARM9 Kern integriert. Der Ethernet MAC Treiber des Betriebssystems auf dem ARM9 kann dann über das PRUSS Ethernet Paket empfangen und senden.Das Caribouboard richtet sich an Entwickler industrieller Anwendungen mit Feldbus-Schnittstellen, die ein System aus Mikroprozessor, Digitalen Signalprozessor, analogen und digitale Schnittstellen sowie FGPA aufbauen wollen. Es beinhaltet Komponenten. die in industriellen Plattformen eingesetzt werden. Der Entwickler hat die Möglichkeit, den Einsatz von analogen und digitalen Schnittstellen zu evaluieren, komplexe Lösungsansätze einer industriellen Applikation zu validieren, und es als vorläufige Entwicklungsplattform einzusetzen. Dabei kann er auf existierende Software-Infrastruktur des TI Referenz-EVMs aufsetzen und ein High-Level Betriebssystem, z.B. Embedded Linux oder Windows Embedded CE mit Applikationssoftware auf dem Caribouboard benutzen.

Kasten: System-On-Module

Das Caribouboard verwendet ein System-On-Module (SOM) mit dem OMAP L138 ARM-Mikroprozessor von Texas Instruments (TI). Das gleiche SOM wird auch auf dem TI Referenz-EVM eingesetzt. Der Entwickler hat damit die Möglichkeit, auf eine bestehende Software-Infrastruktur aufzubauen. Beispiel hierfür ist die Entwicklungs-Toolchain, das Board Support Package (BPS) mit Systemtreiber für das HLOS, Webserver, Datenbanken und andere Applikationen. Mehr Details enthält der Entwickler auf der Twiki Seite http://processors.wiki.ti.com. Auf dem SOM sind bereits wichtige Systemkomponenten vorhanden: Ein ARM9 Mikroprozessor und ein C674x Digitaler Signal Prozessor (DSP) mit reichhaltiger On-Chip Peripherie, DDR2 RAM (64MByte), NOR Flash (8MByte), TPS65070 Power Management IC und Ethernet PHY. Das SOM wird auf das Caribouboard aufgesteckt.

Autor: Thomas Mauer, Applications Engineer, Texas Instruments

Texas Instruments Deutschland GmbH
www.ti.com

Das könnte Sie auch Interessieren