25.12.2013 Aufrufe

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!