ZTEX

 
Produkte
FPGA-Board Serie 2
  USB-FPGA-Modul 2.18
  USB-FPGA-Modul 2.16
  USB-FPGA-Modul 2.14
  USB-FPGA-Modul 2.13
  USB-FPGA-Modul 2.04
  USB-FPGA-Modul 2.01
  FPGA-Modul 2.00
  Debug-Board
  Serie 1-Adapter
  Cluster-Board
Veraltete Produkte
  FPGA-Board Serie 1
Zum ZTEX Shop ZTEX Shop
 SDK und Beispiele 
  Übersicht
  Standard-Firmware
  Dokumentation
  Downloads
  Beispiel
  Lizenzen
  Versions-Geschichte
  ZTEX Wiki
 
 
Downloads
 
Kontakt
Impressum
AGB
RoHS
 

Twitter
    Hauptseite / Produkte         SDK    
    Zum ZTEX Shop Shop   
    Wiki         Downloads    
    deutsch     englisch    

USB-FPGA-Modul 2.14:
Artix 7 FPGA-Board mit EZ-USB FX3S USB 3.0 Controller und DDR3 SDRAM.

Zum ZTEX Shop Zum Shop

Inhaltsverzeichnis

Blockdiagramm
Eigenschaften
Varianten
Funktions-Beschreibung
    Gemeinsame Funktionen aller FPGA-Boards der Serie 2
    JP1
    LED1, LED2
    Stromversorgung, CON3
    SD-Karte
    Externer I/O-Verbinder
    Taktquellen
    Board-Management-CPLD
    Kühlkörper
    JTAG
    Batterie-Option
Bilder

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
[externer Link] Datenblätter der Xilinx Artix 7 Familie von der Xilinx Homepage
[externer Link] CYUSB3033: EZ-USB FX3S Datenblatt von der Cypress Homepage
[externer Link] "EZ-USB FX2 Technical Reference Manual" von der Cypress Homepage

Zubehör

Debug-Board
Serie-1-Adapter-Board
Cluster-Basisplatine

ZTEX USB-FPGA-Modul 2.14 mit Artix 7, EZ-USB FX3S USB 3.0 Controller und DDR3 SDRAM

Blockdiagramm

Blockdiagramm des ZTEX USB-FPGA-Moduls 2.14 mit Artix 7, EZ-USB FX3S USB 3.0 Controller und DDR3 SDRAM

Eigenschaften

  • 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)
  • Fünf Artix 7 Varianten: XC7A15T, XC7A35T, XC7A50T, XC7A75T und XC7A100T, siehe Varianten
  • 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 (6 V .. 16 V)
    • 3,3V Ausgang
    • I/O-Spannungs-Ausgang oder -Eingang, siehe Externer-I/O-Verbinder
    • Gleiche Pin-Belegung wie USB-FPGA-Modul 2.13
  • 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
    • Ermöglicht das Speichern und Laden der Firmware des USB-Controllers
    • Ermöglicht das 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:
    • Zwei rückstrom-gesicherte Stromversorgungseingänge: Externe Versorgung (6 V .. 16 V) und USB-Versorgung
    • 5.0 V: 250 mA
    • 3.3 V: 3000 mA
    • 1.8 V: 1500 mA
    • 1.5 V: 1500 mA
    • 1.2 V; 1500 mA
    • 1.0 V; 4000 mA
    • OTG-Stromversorgung schaltbar und rückstrom-gesichert
  • XC7A50T-, XC7A75T- und XC7A100T-Varianten: 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
  • Temperatur-Bereich: 0-70°C

Varianten

Fünf Varianten mit unterschiedlichen FPGA's werden angeboten:

Variante FPGA Speedgrade
(größer bedeutet schneller)
Verfügbarkeit
USB-FPGA-Modul 2.14a XC7A15T 1 Lagertyp, zum Shop
USB-FPGA-Modul 2.14b XC7A35T 1 Lagertyp, zum Shop
USB-FPGA-Modul 2.14c XC7A50T 1 Lagertyp, zum Shop
USB-FPGA-Modul 2.14d XC7A75T 2 Lagertyp, zum Shop
USB-FPGA-Modul 2.14e XC7A100T 2 Lagertyp, zum Shop

All Varianten werden von den kostenlosen Vivado-Webpack-Versionen unterstützt.

Funktions-Beschreibung

Die folgende Zeichnung zeigt die Maße sowie die Lage der beschriebenen Elemente.

Zeichnung mit Maßen des ZTEX FPGA-Boards mit EZ-USB FX3 und Artix 7 XC7A15T bis XC7A100T
Klicken sie auf das Bild für eine größere Version oder laden Sie die PDF-Version herunter.

USB-FPGA-Module 2.14 haben keine Montage-Löcher da sie i.d.R. auf eine Anwendungs-Schaltung gesteckt werden. Alternativ dazu kann auch eine der Zusatzkarten als Montage-Adapter verwendet werden.

Gemeinsame Funktionen aller FPGA-Boards der Serie 2

USB-FPGA-Module 2.14 sind FPGA-Boards der 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:
     ZTEX USB-FPGA-Modul-2.14: JP1 offen 1 ZTEX USB-FPGA-Modul 2.14: JP1 offen 2           ZTEX USB-FPGA-Modul 2.14: JP1 geschlossen     
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

USB-FPGA-Module 2.14 können über USB oder extern versorgt werden. Beide Eingänge sind durch Dioden geschützt, sodass die Stromversorgung während des Betriebs geändert werden kann und beide Eingänge gleichzeitig versorgt werden können. Aus diesem Grund muss bei einer externen Stromversorgung die Spannung größer sein als am USB, d.h. typischerweise mindestens 6V.

Ob der USB genügend Strom liefern kann, hängt von der Anwendung und vom USB-Typ ab. In der Regel können Anwendungen, welche DDR3 SDRAM benutzen, nicht per USB 2.0 versorgt werden und Anwendungen, welche größere FPGA's voll ausnutzen, benötigen eine externe Versorgung.

Die externe Stromversorgung kann über CON3 oder die Pins A1 and B1 des externen I/O-Verbinders erfolgen und sollte zwischen 6 V und 16 V liegen. 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.

SD-Karte

USB-FPGA-Module 2.14 haben 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. Die Pinbelegung ist die gleiche wie für USB-FPGA-Module 2.13. Dies erlaubt eine einfache Migration zwischen diesen beiden FPGA-Boards.

Bei USB-FPGA-Modulen 2.14 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:
  1. Deaktivierung des Flash-Speichers
  2. Software-Reset des EZ-USB FX3
  3. Neustart des EZ-USB FX3 mit interner Firmware und warten auf Programmierung via USB
  4. 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.

Kühlkörper

Für einige Anwendungen könnte ein Kühlkörper benötigt werden. Die Varianten c bis e (XC7A50T, XC7A50T and XC7A100T) werden mit einem Kühlkörper-Kit geliefert welches aus folgenden Komponenten besteht:
  • 1 14×14×10mm passiver Kühlkörper
  • 2 beidseitig klebende Wärmeleitpads

Der Kühlkörper können sicher entfernt werden, indem er mit einer dünnen Messerschneide der Kühlkörper an einer Ecke angehoben wird. Ausheben mit einem Schraubenzieher o.ä. kann zu einer Beschädigung der Leiterplatte führen.

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 Bild am Ende dieser Seite zeigt ein USB-FPGA-Modul 2.14 mit installierter Batterie, R100 und R101, welches auf einem Debug-Board mit JTAG-Sockel steckt.

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-Modul 2.14 mit Artix 7, DDR3 SDRAM und FX3 USB 3.0 controller

Oberseite des ZTEX USB-FPGA-Modul 2.14 mit Artix 7, DDR3 SDRAM und EZ-USB FX3 USB 3.0-Controller

Unterseite des ZTEX USB-FPGA-Modul 2.14 mit Artix 7, DDR3 SDRAM und EZ-USB FX3S controller

Unterseite des ZTEX USB-FPGA-Modul 2.14.

ZTEX USB-FPGA-Modul 2.14 mit Kühlkörper und Batterie auf Debug-Board

ZTEX USB-FPGA-Modul 2.14 mit Kühlkörper und Batterie auf einem ZTEX Debug-Board.


[Home]  [Impressum]   
© ZTEX GmbH