Gecko3 - CCC Event Weblog
Gecko3 - CCC Event Weblog
Gecko3 - CCC Event Weblog
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6.7. Kommunikation zwischen Host und FPGA<br />
6.7. Kommunikation zwischen Host und FPGA<br />
Für die Kommunikation zwischen Host und FPGA werden, wie in Unterkaptiel 6.2 beschrieben,<br />
die Endpoints 6 und Endpoint 8 benutzt. Für höhere Datenraten ist der 8051 Mikrokontroller<br />
jedoch viel zu langsam. Cypress hat dafür ein General Propose Interface (GPIF)<br />
in den EZ-USB FX2 integriert, der die Arbeit für schnelle Verbindungen übernehmen soll.<br />
Die Abbildung 6.8 zeigt ein Blockdiagramm der Peripherie.<br />
Abbildung 6.8.: GPIF<br />
Das GPIF ist direkt mit dem USB verbunden und kann unabhängig vom Mikrokontroller<br />
Daten bidirektional zwischen USB Endpoint und externer Peripherie austauschen. Der<br />
Mikrokontroller übernimmt dabei nur die Konfiguration des GPIFs und minimale Steuerfunktionen.<br />
Das General Propose Interface ist eine Statemachine, die mit dem GPIF Designer von<br />
Cypress mit sogenannten Waveforms programmiert wird. Man kann im ganzen vier Waveforms<br />
definieren, die jeweils bis zu sieben States haben. Das GPIF kennt vier verschieden<br />
Übertragungsarten<br />
• Single-Write Transaction um Steuerbefehle an die externe Peripherie zu übermitteln<br />
• Single-Read Transaction um Steuerbefehle von der externen Peripherie zu erhalten<br />
• FIFO-Write und FIFO-Read Transaction um grosse Datenmengen mit der externen<br />
Peripherie auszutauschen<br />
Wir benötigen nur die FIFO Transactions, da mit unserem Handshaking die externe Peripherie<br />
keine Steuerbefehle benötigt. Die Waveforms müssen der Transaktionsart zugewiesen<br />
werden. In unserem Fall haben wir eine Waveform der FIFO-Read Transaction zugewiesen<br />
um Daten vom FPGA zum USB zu übermitteln. Für die andere Richtung haben wir<br />
eine Waveform als FIFO-Write Transaction definiert. Die zwei übrigen Waveforms werden<br />
nicht verwendet. Über den GPIF Designer kann man die Ein- und Ausgangessignale, die<br />
Waveforms und dessen Transaktionsarten definieren. Beim anschliessenden Export in eine<br />
C-Datei sind keine weiteren Änderungen am erzeugten Programmcode nötig. Es erstellte<br />
Datei (Gpif.c) muss lediglich in das µVision2 Projekt eingebunden und die darin enthaltene<br />
Initialisierung aufgerufen werden. Hinweise zur Verwendung des GPIF Designers sind im<br />
Anhang D zu finden.<br />
Project Report 29