|
|
ZTEX USB- und USB-FPGA-ModuleDie Firma ZTEX produziert und vertreibt unter Anderem USB- und USB-FPGA-Module mit EZ-USB Mikrocontroller zum Einsatz in Prototypen, Kleinserien oder als Entwickler bzw. Experimentierboard. Alle Module haben die Eigenschaft, dass sie dem Entwickler einen schnellen Einstieg ermöglichen. Dies wird durch das auf einem Makro-Ansatz basierende Firmware-Kit ermöglicht. Dieser Artikel soll schwerpunktmäßig einen Überblick über die Vorteile und Eigenschaften des Firmware-Kits liefern. Dies ist auch für Benutzer anderer EZ-USB basierter Hardware (einschließlich FPGA-Boards) interessant, da das Firmware-Kit quelloffen und nicht an eine bestimmte Hardware gebunden ist. (Der EZ-USB Controller anderer Boards wird normalerweise ohne Anpassungen des Firmware-Kits unterstützt, für die Programmierung von FPGA's müssen normalerweise zusätzliche Routinen ergänzt werden.) Wer nach der Lektüre dieses Artikel Interesse an dem Firmware-Kit hat, kann kann beim EZ-USB Firmware Kit - Tutorial weiterlesen. Um diese Wiki nicht mit allzu vielen redundanten Informationen zu fluten, werden die ZTEX-Module, für welche das Firmware-Kit schwerpunktmäßig entwickelt wurde, am Ende dieses Artikels zusammengefasst vorgestellt.
[Bearbeiten] Firmware-KitFür den EZ-USB FX2 Mikrocontroller steht ein quelloffenes Firmware-Kit mit plattformunabhängiger Treiber API zur Verfügung. Die allgemeinen (Modul-unabhängigen) Grundfunktionen sind
Diese Funktionen werden firmwareseitig mittels Endpoint 0-Interfaces und dazugehörigen Routinen realisiert, welche automatisch in die mit dem Firmware-Kit entwickelte Firmware eingebunden werden. PC-seitig können diese Interfaces mit einem Werkzeug angesprochen oder mittels der Treiber-API in eigene Programme eingebunden werden. Um einen schnellen Einstieg in die Entwicklung zu ermöglichen, wird die Firmware mittels eine Makro-Prozessors zusammengebaut. Dieser ermöglicht es Beispielsweise, die Endpoint-Konfiguration mittels weniger Makros (ein Makro pro Endpoint) festzulegen. Alle notwendigen Device-Deskriptoren sowie die notwendigen Routinen zur Ausgabe der Deskriptoren werden vom Firmware-Kit automatisch erstellt. Im Normalfall kann sich der Entwickler also auf seine selbst benötigten Funktionen konzentrieren und sich ein exzessives Studium der Datenblätter zumindest teilweise ersparen. Der Quelltext einer typischen Firmware ist somit recht kompakt, wie im EZ-USB Firmware-Kit Tutorial demonstriert wird. Zum dem Firmware-Kit gehört ferner eine Java Treiber-API. Mit dieser können plattformunabhängige (zurzeit Linux und Windows, weitere Portierungen möglich) PC-Programme zur Kommunikation mit dem Gerät geschrieben werden. Das Interessante daran ist, dass alle benötigten Dateien (Firmware für den Microcontroller, Bitstream für das FPGA, plattformabhängige Bibliotheken, ...) in ein einzelnes .jar-Archiv verfrachtet werden können. Der (End)Benutzter benötigt / sieht somit nur eine einzige Datei, welche von von jedem Verzeichnis aus aufgerufen werden kann und sowohl unter Windows als auch unter Linux funktioniert. [Bearbeiten] FPGA-ProgrammierungDie Programmierung des FPGA's (genauer gesagt die Konfiguration des FPGA's) bei den ZTEX USB-FPGA-Modulen erfolgt über den EZ-USB Mikrocontroller und erfordert kein zusätzliches JTAG-Kabel. Zu diesem Zweck steht ein Endpoint 0-Interface zur Verfügung, welches automatisch in die EZ-USB Firmware für diese Module eingebunden wird. Dieses Interface wird mittels eines zum Firmware-Kit gehörenden Werkzeuges oder mit selbst enwickelter Software mit der JAVA-API angesprochen. [Bearbeiten] TutorialInteresse? Hier gehts weiter zum EZ-USB Firmware-Kit Tutorial. [Bearbeiten] ZTEX-ModuleDie ZTEX-Module sind hauptsächlich zum Einsatz bei Prototypen und Kleinserien gedacht und verfügen deshalb nur über notwendige oder wichtige Funktionen, d.h. keine Taster, Blinklichter, ... . Mittels Erweiterungen können diese Boards aber auch zu vollwertigen Experimentierboards ausgebaut werden. [Bearbeiten] USB-FPGA-Modul 1.2[Bearbeiten] Eigenschaften
[Bearbeiten] Experimentierboard
[Bearbeiten] Verweise
[Bearbeiten] USB-Modul[Bearbeiten] Eigenschaften
[Bearbeiten] Verweise[Bearbeiten] Bilder |