Prozessorkarten

Modulsysteme erweitern mit FeaturePak

10. Oktober 2012, 10:52 Uhr | Von Christoph Naedler
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

User-I/O mittels FPGA und Mikrocontroller

. Nutzer- und Host-Interface eines FeaturePak-Moduls
Bild 2. Nutzer- und Host-Interface eines FeaturePak-Moduls.
© datakamp

Um die Möglichkeiten der Anbindung an das Host-System so flexibel wie möglich zu halten und gleichzeitig einen hohen Datendurchsatz zu erreichen, eignet sich im Allgemeinen die PCI-Express- oder USB-Schnittstelle des FeaturePak-Steckverbinders (Bild 2). Damit auch die User-I/O-Schnittstellen effizient und applikationsspezifisch genutzt werden können, ist der Einsatz eines FPGA hier am geeignetsten.

Die Funktionsmöglichkeiten lassen sich am einfachsten am Beispiel eines fertigen FeaturePak-Moduls erläutern: Das FeaturePak-Modul Menelaos-K10 der Firma datakamp (Bild 3) beherbergt ein Xilinx-Spartan-6LXT-FPGA, das durch seinen integrierten PCI-Express-Endpoint eine Schnittstelle zum Host-System zur Verfügung stellt und gleichzeitig frei vom Nutzer konfiguriert werden kann.

passend zum Thema

FeaturePak-Modul Menelaos-K10
Bild 3. FeaturePak-Modul Menelaos-K10 der Firma datakamp
© datakamp

Am FPGA angeschlossen ist ein Cortex-M4-Mikrocontroller von Free-scale, der einen Anschluss analoger wie auch digitaler User-I/O- Sig-nale an der primären User-I/O-Signalgruppe ermöglicht. Für die Kommunikation von dem Menelaos-K10 FeaturePak-Modul zum Host-System ist ein Speicher im FPGA eingerichtet, in dem das Prozessabbild der kompletten Moduleinheit hinterlegt ist. Damit bleiben dem Nutzer alle Möglichkeiten zur freien Wahl der gewünschten Funktionen offen.

Eine Beispielanwendung könnte dann eine Motorsteuerung durch den Mikrocontroller beinhalten und noch zusätzlich eine Anbindung an den CAN-Bus durch das FPGA oder die Anbindung von Baugruppen mit spezifischem Interface. Der Spartan-6 bietet in der kleinsten LXT-Ausführung 25 k Logikzellen, wodurch dem Nutzer eine weitreichende Bandbreite an möglichen Einsatzgebieten und Applikationen zur Verfügung steht.

Es ist ebenso möglich, bei Bedarf das Menelaos-K10 mit der größtmöglichen Logikanzahl aus-zurüsten, damit die Möglichkeiten nicht aufgrund mangelnder Logikgatter beschränkt sind. Durch die Kombination von Mikrocontroller und FPGA ist hier ein intelligentes I/O-System entstanden, das bereits eine Vorverarbeitung von Daten vornehmen kann, bevor diese dann vom Host-System weiter verarbeitet werden. Damit reduziert sich sowohl die notwendige Bandbreite als auch die Auslastung des Host-Systems.

Die software-seitige Anbindung des Menelaos-K10 erfolgt über Treiber und API-Funktionen sowohl für Windows- als auch Linux-Systeme. Es ist ebenso dem Nutzer frei überlassen, ob er für seine Applikation eigene Software schreibt oder auf bereits Vorhandenes zurückgreift. Die Schnittstellen werden soweit für den Nutzer offen gelegt, dass ein offener Zugriff möglich ist. Die Grundapplikation der internen Abbildung des Prozessabbildes bleibt für jeden Nutzer erhalten und kann ohne Probleme durch weitere Funktionen ergänzt werden, da die Zugriffsschnittstellen ausreichend dokumentiert sind.

Blockschaltung der Demoapplikation für das Menelaos-K10-Modul
Bild 4. Blockschaltung der Demoapplikation für das Menelaos-K10-Modul.
© datakamp

Erste Versuche mit dem Evalpack

Als Einstieg in diese Thematik kann ein Evalpack erworben werden, welches aus einem Qseven-Basebord, einem Qseven-Modul und dem FeaturePak-Modul Menelaos-K10 besteht. Für eine erste Inbetriebnahme ist eine Demoapplikation vorhanden, die das Einlesen einer analogen Spannung mittels des Mikrocontrollers und ein einfaches digitales I/O-Modul im FPGA enthält (Bild 4). Ebenso werden Treiber und eine dazugehörige Demo-Software für Windows XP und Linux mitgeliefert.

Für eine weitere Entwicklung und auch Programmierung des FPGA sowie des Mikrocontrollers sind die Entwicklungs- werkzeuge für FPGA und Mikrocontroller notwendig. Programmiert werden beide über die gemeinsame JTAG-Schnittstelle des FeaturePak-Steckverbinders. Das FPGA hat zusätzlich einen SPI-Flash angeschlossen, wodurch die Programmierung des FPGA im Flash abgespeichert werden kann und das FPGA bei jedem Start sein Programm eigenständig lädt.

Damit auch eine fortlaufende Entwicklung für das FPGA vereinfacht wird, steht die Basisapplikation, bestehend aus dem Prozessabbildspeicher, der Anbindung zum Host-System über PCI-Express und die Anbindung zum Mikrocontroller, als IP-Core zur Einbindung in die eigene Applikation zur Verfügung. Von Vorteil ist es hierbei, über grundlegende Kenntnisse der VHDL-Programmierung zu verfügen. Anderweitig bietet datakamp auch Serviceleistungen im Bereich FPGA- Programmierung und der zusätzlich noch notwendigen Treiberentwicklung mit an.

Ein weiterer großer Vorteil, der sich durch den Einsatz eines FeaturePak-Moduls ergibt, ist die Möglichkeit, bis zu sechs FeaturePaks auf einem Baseboard unterzubringen. Das bringt eine schier unbeschreibliche Vielfalt an Erweiterungsmöglichkeiten, die dazu noch alle mit Plug and Play anschließbar sind aufgrund der USB- oder PCI-Express-Anbindung zum Host-System. Damit können einfache I/O-Anwendungen, egal ob es sich um digitale oder analoge I/Os handelt, bis hin zu komplexen intelligenten Add-On-Systemen einfach und effizient in ein Host-System inte-griert werden. Darüber hinaus besteht auch die Möglichkeit, aufgrund des Formates den FeaturePak-Standard als Plattform für Referenzdesigns vom IC-Hersteller zu verwenden.

Aufgrund der Möglichkeit, Add-On-Karten einfach in ein Host-System zu integrieren und bei Bedarf gegen andere Peripheriemodule auszutauschen, ist zu erwarten, dass sich der FeaturePak-Standard schnell im Embedded-Markt etablieren wird. Jeder, der schon einmal eine Design-Änderung begleiten oder verantworten musste, wird die mit dem FeaturePak-Standard neu hinzugewonnene Flexibilität schnell zu schätzen wissen.

Das, was mittels des FeaturePak-Moduls Menelaos-K10 hier angerissen werden konnte, umfasst nur einen Bereich der Möglichkeiten, die mit einem FeaturePak umgesetzt werden können. Dem Entwickler bleiben durch das standardisierte Interface alle nur denkbaren Möglichkeiten offen, weitere Peripherie an sein Host-System anzubinden, ohne das vorhandene Baseboard im Design ändern zu müssen.

Der Autor


Christoph Naedler (M. Eng.)
schloss das Bachelor- und Masterstudium der Elektrotechnik 2010 erfolgreich ab. Erste berufliche Erfahrungen sammelt er bei der Firma datakamp System GmbH & Co. KG, wo er als Hardware-Entwickler tätig ist.

Christoph.Naedler@datakamp.de



  1. Modulsysteme erweitern mit FeaturePak
  2. User-I/O mittels FPGA und Mikrocontroller

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu SBCs / CPU-Boards / CoM / SoM