FPGAs in CPCI-Boards Softcore-Prozessor für universelle CPCI-Anwendungen

Redakteur: Holger Heller

Als „Early-Adopter“ der Altera-FPGA-Technologie erkannte MEN die Vorteile für den Embedded-Markt, die mit flexiblen, FPGA-basierten Plattformen, die IP und Softcore-Prozessoren enthalten,

Firma zum Thema

( Archiv: Vogel Business Media )

Programmierbare Logik ist mittlerweile in Kapazitäten verfügbar, die einen Einsatz von der traditionellen Glue Logic bis hin zum strukturierten ASIC und darüber hinaus ermöglicht. Um alle Vorzüge dieser Technologie – Reprogrammierbarkeit, Wiederverwendbarkeit und Aktualisierbarkeit – nutzen zu können, muss man allerdings FPGA-Experte sein.

Als „Early-Adopter“ der Altera-FPGA-Technologie erkannte MEN die Vorteile für den Embedded-Markt, die mit flexiblen, FPGA-basierten Plattformen, die IP und Softcore-Prozessoren enthalten, zusammenhängen. Aus diesem Grund wurde ein von MEN entwickeltes Standard-Board für CompactPCI-Systeme im 3U-Europakartenformat mit einem Nios-II-Softcore-Prozessor von Altera ausgestattet. Die 3U-CompactPCI-Karte F206N mit Cyclone-II-FPGA und integriertem Mikrocontroller-Softcore wurde für den Einsatz in Serie entwickelt, dient aber gleichzeitig auch als die Standard-FPGA-Entwicklungsplattform für die jeweilige Applikation. Als universelle FPGA-Plattform besitzt die Baugruppe eine Vielzahl von direkt zugänglichen I/O-Pins.

Bildergalerie

CPU-Board als intelligenten Slave am CompactPCI-Bus betreiben

Die Nios-II-CPU im Cyclone-FPGA bietet eine Leistung, die der eines gängigen ARM-Prozessors entspricht und erlaubt es, das CPU-Board z.B. als intelligenten Slave am CompactPCI-Bus zu betreiben. Das FPGA und der integrierte Prozessor-Core unterstützen einen 32-Bit-Bus mit 33 MHz, steuern 32 MByte SDRAM sowie das Schreiben und Lesen von und zum 2-MByte-Flash-Speicher. Die spezielle Flash-Struktur ermöglicht die Erstprogrammierung über das Boundary-Scan-Interface. Einmal konfiguriert, kann das FPGA jederzeit während des Betriebs mit Daten über den CompactPCI-Bus neu konfiguriert werden. Das FPGA steuert auch die vier Zustands-LEDs und bis zu 83 anwenderdefinierbare I/O-Pins.

Die endgültige Funktion der Baugruppe ist vollständig von der Applikation abhängig und kann von einem einfachen UART bis hin zu einem komplexen analogen Frontend mit DSP-ähnlicher Datenvorverarbeitung reichen. Damit deckt diese Karte einen nahezu unbegrenzten Bereich an Applikationen ab.

Um die Funktion zu konfigurieren kann der Entwickler IP-Cores einsetzen, diese beinhalten eine hohe Vielfalt, die von differenziellen seriellen Schnittstellen wie RS232 über intelligente HDLC-Protokolle bis hinzu Fast-Ethernet reichen. Weitere Funktionen sind Grafik, Feldbusverbindungen oder digitales I/O. Andererseits erlaubt die enthaltene Entwicklungsumgebung dem Anwender eigene Cores zu erstellen oder Cores von opencores.org oder Altera zu integrieren. Entwicklungskonzept „Offene Plattform“

Offene Plattform lässt sich hardwareseitig erweitern

Die Entwicklungsumgebung für Nios-II-CompactPCI ist als offene FPGA-Plattform entwickelt und beinhaltet ein Beispieldesign mit einer PCI-Systemeinheit, in der der standardisierte Wishbone-Bus sowie die Avalon-Switch-Fabric integriert sind. Die PCI-Systemeinheit bildet die Schnittstelle zum PCI-Bus, wodurch das CPU-Board als PCI-Slave adressiert werden kann. Es ist mit dem Wishbone-Bus verbunden, wobei SRAM und ein Flash-Controller bereits implementiert sind. Der Anwender kann damit jede beliebige Art und Anzahl von IP-Cores an den Wishbone-Bus hinzufügen.

Um dies einfach zu bewerkstelligen, wurde das „Wishbone Bus Maker Tool“ entwickelt, das den Wishbone-Bus entsprechend der Applikation anpasst. Das Tool ist Teil des Entwicklungspakets. Mit dem Wishbone-Bus lassen sich Multi-Master- und Multi-Slave-Systeme generieren. Eine Wishbone-zu-Avalon-Bridge und umgekehrt eine Avalon-zu-Wishbone-Bridge (Bild 1) ermöglichen die Integration von auf Avalon basierendem IP und insbesondere des Nios-II-Softprozessor-Cores. Dieser ist mit der Avalon-Switch-Fabric verbunden, in die ebenfalls ein GPIO-Modul für die Steuerung der LEDs implementiert ist. Der Anwender kann damit jede beliebige Art und Anzahl von IP-Cores, unter Einsatz des SOPC-Builder-Tools von Altera, das zur Entwicklungsumgebung Quartus II gehört, zur Avalon-Switch-Fabric hinzufügen (Bild 2).

Das offene Plattformkonzept für die Nios-basierte Entwicklung und Integration von IP-Cores für Wishbone und die Avalon-Switch-Fabric kann hardware-seitig erweitert werden. Kürzlich wurde eine neue Generation von ANSI-Standard-PMCs und M-Modulen entwickelt, die die Cyclone-II-Familie verwenden. Die gesamte Logik der Baugruppen einschließlich der individuell konfigurierbaren FPGAs ist auf einem Basis-PMC oder einem Basis-M-Modul integriert. Die physikalischen Schnittstellen sind auf der Adapterkarte untergebracht, die entweder in das PMC oder das M-Modul eingesteckt werden kann. Da sowohl PMC als auch M-Module sich über dedizierte Trägerkarten für alle Arten von Systemplattformen eignen, kann sich der Anwender nun komplett auf seine FPGA-Applikation konzentrieren. Dies wurde bereits an einem intelligenten HDLC-Controller bewiesen. Das FPGA beherbergt das PMC oder M-Modul-System, das mit dem Wishbone-Bus verbunden ist und die HDLC-Funktion sowie die Flash- und SRAM-Controller bildet. Die „Intelligenz“ kommt vom Nios II, der mit der Avalon-Switch-Fabric verbunden ist und über eine Bridge auch an den Wishbone-Bus angebunden ist.

Flexibilität – Basis für vielfältige Applikationen

Der Nios-II-Core wird auch in unterschiedlichen System-on-Modules (ESM – Embedded System Module) verwendet, wo er den NAND-Flash-Speicher auf der Baugruppe steuert. Eine weitere Anwendung benutzt den Nios II, um damit einen IP-Core mit einem intelligenten CAN-Bus-Interface aufzubauen, wobei der Softcore-Prozessor hier einen MC68332-Mikrocontroller ersetzt. Ein Hersteller von medizintechnischen Geräten verwendet Steuereinheiten basierend auf einem Embedded-System-Modul mit dem PowerPC MPC5200 für die unterschiedlichen Klassen der Geräte. Die unterschiedlichen Geräte besitzen alle die gleiche Hardware – die unterschiedlichen Funktionen werden über den Inhalt des FPGAs realisiert. Nios II steuert das NAND-Flash, weitere IP-Blöcke sind verantwortlich zur Steuerung des QSPI oder des Quadratur-Codierers.

Eine andere Applikation findet man in einer Anwendung für fahrerlose U-Bahnen. Ein führender Hersteller setzt dazu redundant aufgebauten 3U-CompactPCI-Systeme ein. Diese beinhalten eine Pentium-III-CPU, analoge und digitale I/Os, Sensoren für die Positions-Codierer und einen optionalen MVB-Link. Ein Rückmeldekanal ermöglicht die permanente Datenübertragung aus dem Fahrzeug in die zentrale Kontrollstation. FPGAs werden hier auf drei unterschiedlichen Baugruppen eingesetzt. Das FPGA auf dem CPU-Board enthält einen Watchdog und verschiedene UARTs, das NAND-Flash wird vom Nios-II-Mikrocontroller gesteuert. Eine zweite Baugruppe enthält acht vollständig in das FPGA integrierte UARTs, die für einen asynchronen RS422-Betrieb und optional für synchronen HDLC ausgelegt sind (ohne Einsatz von Nios II). Die dritte Baugruppe enthält digitale I/Os, analoge Ausgänge, Zählpulse, Radarsensor und Interrupt-Eingänge – alles integriert in das FPGA. Dieses Standard-CompactPCI-System kann für die jeweiligen Betriebsbedingungen der U-Bahnzüge in unterschiedlichen Städten und Ländern konfiguriert werden, indem einfach nur der Inhalt des FPGAs getauscht wird – die Hardware bleibt stets dieselbe.

Moderne FPGAs besitzen mittlerweile eine ausreichende Kapazität (bis zu 70.000 Logikelemente beim Cyclone II von Altera) zu akzeptablen Preisen (kleine Bausteine zu einigen wenigen Euro). Dies zur Kostenersparnis und schnellen Markteinführung bei, insbesondere wenn individuelle Konfigurationen von Standardprodukten erstellt werden. Ein zeitaufwändiges und teures Redesign einer Baugruppe kann mit der applikationsspezifischen Integration von IP-Cores in das FPGA ebenfalls häufig vermieden werden – eine zukunftsträchtige Alternative, besonders bei hoch spezialisierten Anwendungen mit nur kleinen oder mittleren Stückzahlen. Außerdem ist die FPGA-Technologie unverzichtbar, wenn es um die Langzeitverfügbarkeit oder raue Umgebungsbedingungen geht. IP-Cores sind per se nicht von Abkündigung betroffen, selbst wenn ein FPGA z.B. nach zehn Jahren durch einen neueren ersetzt wird. Zusätzlich ist zumindest die Cyclone-II-Familie von Anfang an für eine Betriebstemperatur von –40 bis 85 °C qualifiziert.

Demgemäß wurde auch das F206N für den Einsatz unter harten Umgebungsbedingungen entwickelt. Es ist ausschließlich mit Komponenten für den genannten Betriebstemperaturbereich bestückt und wegen der hohen Anforderungen bezüglich Schock- und Vibrationsfestigkeit sind auch keine Komponenten in Sockeln gesteckt. Noch dazu ist die Baugruppe für das Lackieren vorbereitet – und kann dann in feuchten und staubigen Umgebungen eingesetzt werden.

Altera, Tel. +49(0)89 3218250

MEN Mikro Elektronik, Tel. +49(0)911 993350

Barbara Schmitz ist Marketing Director bei MEN Mikro Elektronik in Nürnberg; Pat Mead ist Marketing Manager bei Altera Europe in High Wycombe, England.

(ID:180520)