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.
3. Entwicklungsumgebung<br />
3.1. Entwicklungshardware<br />
Die Hardware Entwicklung des <strong>Gecko3</strong> ist noch nicht abgeschlossen und es wurde auch noch<br />
kein Prototyp realisiert. Somit stand auch für unsere Diplomarbeit kein richtiges Zielsystem<br />
zum Programmieren zur Verfügung. Dazu kommt, dass die EZ-USB FX2 Chip Variante auf<br />
dem <strong>Gecko3</strong> so weit in der Funktionalität eingeschränkt ist, dass keine Möglichkeit mehr<br />
besteht die Software in einem Debugger laufen zu lassen.<br />
Unsere erste Aufgabe bestand also darin, eine Entwicklungshardware zusammen zu stellen<br />
die möglichst äquivalent zum geplanten <strong>Gecko3</strong> ist. Zur Verfügung standen uns zwei Spartan<br />
3 Starter Kits von Xilinx, die jeweils mit einem 200 kGatter FPGA bestückt sind, und ein<br />
EZ-USB FX2LP Development Kit von Cypress. Das EZ-USB FX2 Board und ein Xilinx<br />
Board bildeten die Basis für unsere Zielhardware.<br />
Diesen beiden Boards fehlen aber wesentliche Komponenten des <strong>Gecko3</strong>, welche über zwei<br />
zusätzliche Leiterplatten hinzugefügt werden. Die erste beherbergt das SPI Flash von ST und<br />
den I 2 C I/O-Chip von NXP. Diese wird an das EZ-USB Development Board angeschlossen.<br />
Die zweite Leiterplatte beherbergt zwei Intel NOR Flash Chips und wird an zwei Erweiterungsstecker<br />
des Spartan 3 Starter Kits angeschlossen (Schema im Anhang F.2), über den<br />
dritten Erweiterungsstecker wird der Spartan 3 FPGA mit dem EZ-USB verbunden.<br />
Die Verkabelung der zwei Board untereinander ist in der Tabelle B.1 aufgelistet. Ursprünglich<br />
war vorgesehen, dass in beiden Modi, Konfiguration wie Kommunikation, die Datenleitungen<br />
die selbe Nummer tragen um einheitlich zu bleiben. Wie den Xilinx Dokumenten<br />
([NP02] und [Tse04]) zu entnehmen ist, muss bei der Konfiguration jedes Byte im Bitstrom<br />
in seiner Reihenfolge umgedreht werden (Das MSB muss an den FPGA Anschluss D0 und<br />
das LSB an D7). Da diese Operation mit Software sehr ineffizient zu lösen ist und die FPGA<br />
Datenleitungen nach der Konfiguration frei belegbar sind, haben wir uns entschieden, einfach<br />
die Verbindungen umzudrehen, D0 vom EZ-USB ist so mit D7 des FPGAs verbunden. Der<br />
Anwender merkt im Kommunikationsmodus nichts davon solange er sich an die Pinbelegung<br />
in der Tabelle hält. Um uns etwas Verdrahtungsarbeit zu ersparen und der ganze Aufbau etwas<br />
übersichtlicher zu machen, haben wir uns entschieden den Kommunikationsmodus auch<br />
nur auf dieser 8 Bit Busbreite zu betreiben (6.7.3).<br />
Das EZ-USB Development Kit wird normalerweise über die USB Schnittstelle versorgt.<br />
Damit ein stand-alone Betrieb realisiert werden konnte, musste die Stromversorgung der<br />
beiden Boards verbunden werden. Das Netzteil des Spartan 3 Starter Kits versorgt nun die<br />
ganze Entwicklungshardware. Um Störungen zu reduzieren wurden zwei Drosselspulen in die<br />
Versorgungsleitungen zum EZ-USB Board eingebaut.<br />
Zur Überprüfung und Fehlersuche stand uns ein Logic Analyser HP 16500B (80 Kanäle,<br />
100 MHz) und ein Speicheroszilloskop Tektronix TDS 754C (4 Kanal, 2 GSamples /s) zur Verfügung.<br />
Unsere Entwicklungshardware deckt nicht den vollständigen Funktionsumfang des <strong>Gecko3</strong><br />
Boards ab. In der Graphik 3.1 sind die Funktionsblöcke dunkel hervorgehoben welche unsere<br />
6 Christoph Zimmermann