USB-FPGA-Modul 2.18:
Artix 7 XC7A200T FPGA-Board mit EZ-USB FX3S und DDR3 SDRAM.
Zusätzliche Ressourcen
Schaltplan
Quelldateien und jed-Datei für das Konfigurations-Booster-CPLD
Pin-Belegung und Netzliste (Gnumeric-Format, mehrere Blätter)
Pin-Belegung und Netzliste (Excel-Format, mehrere Blätter)
Eagle-Bibliothek des I/O-Verbinders
I/O-Leiterbahnen-Längen
Datenblätter der Xilinx Artix 7 Familie von der Xilinx Homepage
CYUSB3033: EZ-USB FX3S Datenblatt von der Cypress Homepage
"EZ-USB FX2 Technical Reference Manual" von der Cypress Homepage
Zubehör
Debug-Board
Serie-1-Adapter-Board
Cluster-Basisplatine
Blockdiagramm
Eigenschaften
- Xilinx Artix 7 FPGA XC7A200T
- USB 3.0-Schnittstelle mit Micro-USB-Buchse
- Cypress CYUSB3033 EZ-USB FX3S Mikrocontroller:
- ARM926EJ-Kern bei 208 MHz
- 512 KByte SRAM
- 1 Speicher-Port
- 16 Bit GPIF II bei 104 MHz (Bandbreite zwischen EZ-USB FX3S and FPGA: 208 MByte/s)
- USB 2.0 OTG Host-Unterstützung (FPGA-Board agiert als Host)
- Externer-I/O-Verbinder (bestehend aus zwei 2x32-Pin-Buchsenleisten mit 2.54mm-Raster) liefert:
- 100 mit dem FPGA verbundene General-Purpose-I/O's (GPIO's)
- JTAG-Signale
- Reset-Signal
- Externer Spannungseingang (5 V .. 16 V)
- 3,3V Ausgang
- I/O-Spannungs-Ausgang oder -Eingang, siehe Externer-I/O-Verbinder
-
256 MByte DDR3 SDRAM:
- Bis zu 400 MHz Speichertakt
- 16 Bit Busbreite
- Datenrate bis zu 1600 MByte/s
- Mit dem Xilinx Memory Interface Generator (MIG) nutzbar, Beispiele befinden sich im SDK
- 128 MBit on-board Flash Speicher
- Speichern und Laden der Firmware des USB-Controllers
- Speichern und Laden des Bitstream vom FPGA
- Zugreifbar vom EZ-USB FX3S und vom FPGA, siehe CPLD-Beschreibung
- SD-Karten-Sockel:
- SD 3.0 (SDXC) -Unterstützung
- SDIO 3.0-Unterstützung
- 2 Kbit MAC-EEPROM: enthält eindeutige, nicht löschbare MAC-Adresse und wird zum Speichern von Firmware-Einstellungen genutzt
- On-Board Stromversorgung:
- Externe Versorgung (5 V .. 16 V)
- 5.0 V: 400 mA
- 3.3 V: 3000 mA
- 1.8 V: 1500 mA
- 1.5 V: 1500 mA
- 1.2 V: 1500 mA
- 1.0 V: 14000 mA
- OTG-Stromversorgung schaltbar und rückstrom-gesichert
- Kühlkörper für High-Performance- / Hochgeschwindigkeits-Anwendungen, siehe Abschnitt Kühlkörper
- Optional:
- Batterie zum Speichern eines Schlüssels für Bitstream-Verschlüsselung
- Software kostenlos: Vivado-Webpack für FPGA Entwicklung und quelloffene ZTEX SDK für Firmware und Host-Software.
- Temperatur-Bereich: Board: 0-70°C; max. FPGA-Temperatur siehe unten
Varianten
Von diesem FPGA Board wird nur eine Variante angeboten:
Variante |
FPGA |
Speedgrade (größer bedeutet schneller) |
FPGA-Temperatur |
Verfügbarkeit |
USB-FPGA-Modul 2.18b |
XC7A200T |
2C |
0-85°C |
Durch schnellere und voll kompatible Variante 2.18b2 ersetzt. Restbestände im Shop |
USB-FPGA-Modul 2.18b2 |
XC7A200T |
3E |
0-100°C |
Lagertyp, zum Shop |
Funktions-Beschreibung
Die folgende Zeichnung zeigt die Maße sowie die Lage der beschriebenen Elemente.
Klicken sie auf das Bild für eine größere Version oder laden Sie die PDF-Version herunter.
Das USB-FPGA-Modul 2.18 wird i.d.R. auf eine Anwendungs-Schaltung gesteckt und hat deshalb keine Montage-Löcher. Falls ein Montage-Adapter benötigt wird, können die Zusatzkarten als solche verwendet werden.
Gemeinsame Funktionen aller FPGA-Boards der Serie 2
Das USB-FPGA-Module 2.18 ist ein Mitglied der ZTEX FPGA-Board Serie 2. Funktionen, die alle FPGA-Boards dieser Serie besitzen, sind auf
FPGA-Board-Serie 2 beschrieben.
JP1
Jumper JP1 wird benutzt, um während des Hochfahrens das Laden der Firmware aus dem Flash-Speicher zu unterbinden, siehe
Laden der Firmware.
JP1 hat einen nicht angeschlossenen Pin, welcher zum Parken des Jumper genutzt werden kann. Die folgenden Bilder zeigen die möglichen Jumper-Positionen:
|
|
JP1 offen |
JP1 geschlossen |
Details über den Mechanismus der Deaktivierung des Flash-Speichers befinden sich im Abschnitt CPLD.
LED1, LED2
LED1 ist eine Duo-LED welche mit dem FPGA verbunden ist. LED2 ist an den EZ-USB FX3 angeschlossen. Die Funktionen werden in der folgenden Tabelle beschrieben:
LED1, kurze Wellenlänge |
Konfigurations-Zustand des FPGA: An wenn unkonfiguriert |
LED1, lange Wellenlänge |
Benutzerdefiniert: mit Pin T11 des FPGA verbunden, Ausgang invertiert |
LED2 |
Benutzerdefiniert: mit GPIO53 des EZ-USB FX3 verbunden (Firmware: ZTEX_GPIO_LED)
Standard-Firmware: An wenn USB verbunden ist
|
Stromversorgung, CON3
Das USB-FPGA-Modul 2.18 muss von einer externen Stromquelle über CON3 oder die Pins A1 and B1 des externen
I/O-Verbinders versorgt werden.
CON3 ist eine Standard-Gleichstrombuchse mit 2,1mm Innenstift (+) und 5,5mm Zylinderdurchmesser (-).
A1 und B1 des I/O-Verbinders und der Innenstift von CON3 sind direkt verbunden. Dadurch kann eine Basisplatine auch vom FPGA-Board versorgt werden.
Die gültige Versorgungsspannung beträgt 5 V bis 16 V. Ist ein Lüfter mit CON5 verbunden, sollte die Eingangsspannung ca. 12V betragen.
SD-Karte
Das USB-FPGA-Modul 2.18 hat einen Sockel für SD-Karten. Dieser ist mit dem S-Port 0 des FX3 verbunden. Das
SDK unterstützt SD-Karten als sekundären Flash-Speicher.
Die Implementation dieser Funktion sollte als Beispiel betrachtet werden.
Um vom vollen Funktionsumfang Gebrauch zu machen (SDIO, hohe Geschwindigkeiten, Dateisysteme), muss das Cypress-SDK verwendet werden.
Externer I/O-Verbinder
Der externe I/O-Verbinder ist kompatibel zu anderen FPGA-Boards der Serie 2 und deshalb auf
FPGA-Board-Serie 2 beschrieben.
Beim USB-FPGA-Modul 2.18 sind alle 100 I/O's belegt und haben eine variable I/O-Spannung. Die I/O-Spannung ist VCCO_AB für die Reihen A und B und
VCCO_CD für die Reihen C und D. Werksseitig sind VCCO_AB und VCCO_CD über die 0Ω Widerstände R8 bzw. R9 mit 3.3V verbunden. Somit sind diese Pins 3.3V Ausgänge.
(Das ist das Standard-Verhalten aller FPGA-Boards der Serie 2). Wird eine andere I/O-Spannung benötigt, können R8 und/oder R9 ausgelötet werden
und VCCO_AB bzw. VCCO_CD als Spannungs-Eingang verwendet werden.
Taktquellen
Auf dem FPGA-Board sind zwei Taktquellen mit den FPGA verbunden: ein 26 MHz Signal
und ein konfigurierbarer Interface-Takt. Mit der default Firmware beträgt dieser 104 MHz.
Zusätzliche Taktsignale können an die MRCC and SRCC-Pins des I/O-Steckverbinders angeschlossen werden.
(Diese Pins sind als differentielle Paare organisiert, z.B. L12P_T1_MRCC_35 und L12N_T1_MRCC_35.
Single-ended Takte müssen an das positive Pin angeschlossen werden z.B. L12P_T1_MRCC_35.)
In den meisten Fällen sind die Onboard-Taktquellen ausreichend. Es wird empfohlen, die internen Takte
vom immer verfügbaren 26 MHz Takt abzuleiten.
Board-Management-CPLD
Das CPLD stellt verschiedene Board-Management-Funktionen zur Verfügung:
- Reset-Controller für FX3: verzögertes Reset-Signal
- Reset-Controller für FPGA: ausgelöst durch FX3 und globales Reset-Signal ausgelöst
- SPI-Switch: siehe unten
- Deaktivieren vom Flash: durch JP1 oder den FX3, siehe unten
- Duplikation des Takt-Signals (zwecks Gewährleistung der Signalqualität)
Der SPI-Switch wird durch zwei im CPLD hochgezogene Modus-Pins kontrolliert. Diese Pins steuern auch den Mechanismus der Deaktivierung des Flash-Speichers während des Hochfahrens.
Dadurch wird das Laden der internen Firmware erzwungen. Das passiert entweder wenn JP1 geschlossen ist (z.B. um das Booten mit defekter Firmware zu verhindern) oder wenn der FX3
neu-programmiert werden soll, denn dies ist nur möglich wenn die interne Firmware läuft. Die Sequenz zur Neu-Programmierung des FX3 ist:
- Deaktivierung des Flash-Speichers
- Software-Reset des EZ-USB FX3
- Neustart des EZ-USB FX3 mit interner Firmware und warten auf Programmierung via USB
- Firmware via USB in den FX3 schreiben und starten
The Übergangstabelle des SPI-Swichtes ist:
Eingang |
Ausgang |
M0:M1 |
JP1 |
Gegenwärtiger Zustand |
Nächster Zustand |
SPI: Master → Slave |
0:0 |
* |
* |
S1 |
FX3 → FPGA |
1:0 |
* |
* |
S2 |
FPGA → Flash |
*:1 |
open |
start,S3,S4 |
S3 |
FX3 → Flash |
*:1 |
closed |
start,S3,S4 |
S4 |
deaktiviert |
*:1 |
* |
S1,S5 |
S5 |
FX3 → Flash |
*:1 |
* |
S2,S6 |
S6 |
deaktiviert |
Das CPLD wird durch die Firmware gesteuert, sodass sich der Benutzer nicht mit den o.g. Internas beschäftigen muss.
Die Quell-Dateien befinden sich im CPLD-Paket. Das CPLD ist ab Werk programmiert.
USB OTG
Der EZ-USB FX3 unterstützt USB-2.0 OTG, d.h. das FPGA Board kann als USB-2.0-Host betrieben werden. Im OTG-Modus muss die 5V USB-Stromversorgung vom FPGA-Board bereit gestellt werden.
Diese Funktion wird durch GPIO57 des FX3 gesteuert oder mittels der Funktionen
ztex_enable_otg_supply()/
ztex_disable_otg_supply() des Firmware-Kits.
Kühlkörper, CON5
Für Hochgeschwindigkeits-Anwendungen wird ein Kühlkörper benötigt. Auf dem USB-FPGA-Modul 2.18 können Standard-Kühlkörper mit
zwei Pushpins und einem Abstand von 59mm installiert werden.
CON5 ist ein Standard-Lüfteranschluss mit 3 Pins für aktive Kühler. Bei Benutzung dieses Steckverbinders sollte die Eingangsspannung
zwischen 9V und 13V liegen.
Das USB-FPGA-Module 2.18 wird mit einem Kühlerkit geliefert welches aus folgenden Teilen besteht:
- 1 Passiver Kühlkörper, Höhe: 13mm
- 1 Aktiver Kühler, Höhe mit Lüfter: 24mm
- 2 Wärmeleitpads mit niedrigem Wärmewiderstand
Um Transportschaden zu vermeiden, werden die Kühlkörper werksseitig nicht installiert. Bei der Installation
muss entweder Wärmeleitpaste oder die mitgelieferten Wärmeleitpads verwendet werden.
JTAG
Das FPGA kann entweder über USB oder über JTAG konfiguriert werden. Die JTAG-Signale stehen auf dem externen I/O-Steckverbinder zur Verfügung,
JTAG Steckverbinder auf den meisten Zusatzkarten.
Das JTAG-Interface kann auch zum Neu-Programmieren des CPLD genutzt werden.
Batterie-Option
Falls Bitstream-Verschlüsselung benötigt wird, kann eine standardisierte 3V Lithium-Batterie mit einem Rastermaß von 10×3mm installiert werden.
Desweiteren müssen zwei 0805 SMD-Widerstände eingelötet werden, R100: 5,6 MΩ und R101: 3,3 MΩ.
Unter Berücksichtigung der Selbstentladung sollte die Lebensdauer der Batterie mindestens 10 Jahre betragen.
Mit der Batterie kann das FPGA einen Schlüssel für die Bitstream-Entschlüsselung in einem speziellen Speicher halten.
Dieser Schlüssel wird mittels JTAG geladen.
Um Schaden zu vermeiden muss R100 vor dem Einlöten der Batterie installiert werden. Auch sollte darauf geachtet werden, dass die
Batterie später nicht kurzgeschlossen werden kann, da durch den Spannungsabfall der Speicherinhalt verloren ginge.
Das nebenstehende Bild zeigt ein USB-FPGA-Modul 2.18 mit installierter Batterie, R100 und R101.
FPGA-Boards mit werksseitig installierten Batterie-Komponenten sind auf Anfrage erhältlich.
Eine Anleitung zur Bitstream-Verschlüsselung befindet sich auf der Wiki.
|
|
|
Bilder
Klicken Sie auf die Bilder für eine vergrößerte Darstellung.
Oberseite des ZTEX USB-FPGA Moduls 2.18 mit Artix 7 XC7A200T FPGA, DDR3 SDRAM und EZ-USB FX3 USB 3.0-Controller.
|
Unterseite USB-FPGA-Moduls 2.18 mit EZ-USB FX3 und Artix 7 XC7A200T.
|
USB-FPGA-Modul 2.18 mit passivem (oben) und aktivem (unten) Kühler. Beide Kühlkörper gehören zum Lieferumfang des FPGA-Boards.
|