25.12.2013 Aufrufe

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6. Firmware<br />

• Ezusb.lib enthält eine Sammlung von Funktionen wie das Lesen und Schreiben des I 2 C<br />

Buses etc.<br />

• USBJmpTb.obj beinhaltet die Interrupt Vector Tables für das USB (INT2) und das<br />

GPIF (INT4).<br />

• Dscr.a51 definiert die gesamten USB Descriptor Tables.<br />

6.2. USB organisation<br />

Der gesamte Datenaustausch läuft bei USB über sogenannte Endpoints (EP). Diese Endpoints<br />

sind mit einer Ausnahme alle unidirektional und ermöglichen einen voneinander unabhängigen<br />

Datenfluss. Der Endpoint 0 ist für Steuerfunktionen, sogenannte Vendor Requests,<br />

reserviert und bidirektional. Die folgende Aufliestung gibt einen Überblick über die<br />

von uns verwendeten Endpoints. Um mehr Informationen zum Thema USB zu erhalten,<br />

verweisen wir auf die einschlägige Literatur [Hyd99], [Cyp06].<br />

• EP0 wird als IN/OUT Endpoint benutzt und ist für Vendor Requests reserviert.<br />

• EP2 ist als OUT Endpoint konfiguriert und wird für alle Datentransfers ausser der<br />

Kommunikation mit dem FPGA verwendet<br />

• EP4 hat die selbe Aufgabe wie EP2 nur als IN Endpoint in die entgegengesetzte Richtung.<br />

• EP6 ist der OUT Endpoint der FPGA Kommunikation und direkt mit dem GPIF<br />

verbunden.<br />

• EP8 hat die selbe Aufgabe wie EP6 nur als IN Endpoint in die entgegengesetzte Richtung.<br />

EP2 und EP4 sind dabei als Interface 0 und EP6 und EP8 als Interface 1 definiert. Im<br />

Kapitel 7 wird das Thema Interfaces ausführlich erklärt. Die Endpoints werden im Bulk-<br />

Transfer Modus betrieben. Bulk-Transfers sind für grosse Datenmengen gedacht, die jedoch<br />

nicht zeitkritisch sind. Diese Eigenschaften sind am besten für unsere Verwendung geeignet<br />

und schliessen die anderen Transferarten aus. Jeder Endpoint ist dabei so konfiguriert, dass<br />

er einen zweimal 512 Byte grossen Buffer besitzt. In diesem Abschnitt ist mit Endpoints<br />

jeweils EP2, EP4, EP6 und EP8 gemeint. Im Technical Reference Manual von Cypress<br />

[Cyp06] können die Konfigurationsmöglichkeiten der Endpoints nachgeschlagen werden. Die<br />

Abbildung 6.1 gibt noch einmal einen gesamt Überblick über die Endpoints und deren Konfigurationen.<br />

18 Matthias Zurbrügg

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!