Home

TE USB FX2 Technology Stack Overview

image

Contents

1. Copyright 2013 Trenz Electronic GmbH Page 9 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 2 4 Technology Stack Overview Regular Mode host computer C DLL C DLL Win 32 Win64 Trenz Electronic USB FX2 firmware Trenz Electronic USB FX2 hardware Trenz Electronic USB FX2 FPGA module Technology stack block diagram regular mode Copyright 2013 Trenz Electronic GmbH Page 10 of 38 http www trenz electronic de n e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 3 Hardware Layer Generation 2 Generation 3 All TE USB FX2 modules feature the same Cypress EZ USB FX2LP USB 2 0 microcontroller and high speed USB peripheral controller Generation 2 and generation 3 technology stacks share the same hardware 3 1 TE0300 Series FPGA e Xilinx Spartan 3E 1200 1600 Baseboards e TE0303 Prototyping Baseboard for Trenz Electronic TE0300 and TE0630 Micromodules e TE0304 Application Baseboard for Trenz Electronic TE0300 and TE0630 Micromodules Documentation e http www trenz electronic de te0300 e http www trenz electronic de download dO Trenz Electronic d1 TEO0300 series html Reference designs using Xilinx ISE 13 3 and Xilinx EDK 13 3 e https github com Trenz Electronic TE03XX Reference Designs http www trenz electronic de download dO Trenz Electronic d1 TEO300 series d2
2. Using Cypress firmware update tools with generation 2 modules does require a recovery boot in order to force enumeration as Cypress generic USB device driver On the other side using Cypress firmware update tools with generation 3 modules does not require a recovery boot This is possible because the original Cypress generic USB device driver in case of a recovery boot and the Trenz Electronic USB FX2 device driver in case of a regular boot are both Cypress driver Trenz Electronic USB FX2 driver derives from the original Cypress generic USB device driver EEPROM switch shall always be on during EEPROM programming The firmware update procedure is similar for both generations The following table summarizes the main differences generation 2 recovery boot 3 recovery boot 3 regular boot boot mode EEPROM switch recovery off then on recovery off then on regular always on VID 04B4 04B4 OBDO PID 8613 8613 0300 device Cypress generic USB Cypress generic USB TE USB FX2 required driver recovery driver recovery driver regular driver update applications Cypress USB Console Cypress USB Control Center Firmware update comparison table Further information is shown in the following video play lists Copyright 2013 Trenz Electronic GmbH Page 18 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 Generation 2 Migration from the second generation aka
3. 8 Application Layer 32 8 1 Generation 2 32 8 2 Generation 3 32 8 2 4 TE USB FX2 CyAPldlil C 32 8 2 2 TE USB FX2 CyUSB all C 33 8 2 3 Open FUT generation 3 33 9 Quick Migration Guide 35 Copyright 2013 Trenz Electronic GmbH Page 2 of 38 http www trenz electronic de n trenz e electronic Cort 9 1 Documentation TE USB FX2 Technology Stack Overview 9 2 Description 10 References Copyright 2013 Trenz Electronic GmbH Page 3 of 38 http www trenz electronic de Revision 1 1 35 36 38 es e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 This guide provides an outline of the Trenz Electronic USB FX2 Technology Stack and a quick guide to its resources A PDF export of this document is available in the Trenz Electronic download area Copyright 2013 Trenz Electronic GmbH Page 4 of 38 http www trenz electronic de n e trenz e electronic Cort TE USB FX2 Technology Stack Overview 1 Document Change History date revision authors 2013 04 17 1 1 Fabio De Riccardis 2013 04 08 1 0 Sergio Pavesi Fabio De Riccardis All Sergio Pavesi Fabio De Riccardis Copyright 2013 Trenz Electronic GmbH Page 5 of 38 Revision 1 1 Added pictures and captions http www trenz electronic de e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 2 Technology Stack Outline Trenz Electronic USB FX2 FPGA modul
4. DEWESoft to the third generation aka TE to generation USB FX2 of Trenz Electronic USB FX2 technology stack firmware and driver 3 migration firmware driver D video play list TE0300 migration from 2nd to 3rd generation firmware driver This video shows how to upgrade a Trenz Electronic TE0300 device form the second to the third generation firmware and driver The video has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0300 01 FPGA module connected to a USB port but the procedure is almost the same for any Trenz Electronic USB FX2 device In this video power on reset is used Please note that TE0300 has master reset thus a powered reset S2 switch is possible TE0320 migration from 2nd to 3rd generation firmware driver This video shows how to upgrade a Trenz Electronic TE0320 device form the second to the third generation firmware and driver The video has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0320 FPGA module connected to a USB port but the procedure is almost the same for any Trenz Electronic USB FX2 device In this video power on reset is used Please note that TE0320 has master reset thus a powerered reset S1D switch to ON is possible TE0630 migration from 2nd to 3rd generation firmware driver This video shows how to upgrade a Trenz Electronic TE0630 device form the second to the third generation firmware and driver The vi
5. FX2 Technology Stack Overview Revision 1 1 It is a high speed DMA direct memory access engine which connects to the MPMC Multi Port Memory Controller VFBC Video Frame Buffer Controller port It enables high speed data streaming to from external memory DDR SDRAM and multiple sources It can be controlled by a processor using 6 x 32 bit memory mapped registers attached to the PLB peripheral local bus For more information about registers see X inx LogiCORE IP Multi Port Memory Controller MPMC data sheets Xilinx DS643 Video Frame Buffer Controller P M section When data is sent from the USB host to a USB FX2 module high speed endpoint high speed communication channel it is automatically stored into the RAM by the custom built DMA engine XPS_NPI_DMA at a specified buffer location The reference design software running on the MicroBlaze verifies the transferred data at the end of transmission and sends to the USB host a notification about the data test passed failed 4 3 XPS_FX2 custom IP block It is a logic block for high speed bidirectional communication between the FPGA and a host PC It contains 2 kbyte FIFOs for data buffering More information about the 5 x 32 bit memory mapped registers is contained in the Zoroyect root pcores Xpos Ix2 v 00 a Qoc tolder of the reference design project folder When data is sent form a USB FX2 module high speed endpoint to the USB host it is automatically fetched from the RAM via the c
6. folder according to the following table host operating system Microsoft device driver folder automatic online Windows installation update 2000 MS Windows 2000 recommended not available XP MS Windows XP recommended _ not available Vista MS Windows Vista 7 not available 7 MS Windows Vista 7 available 8 MS Windows Vista 7 available Reccommended device driver folder depending on operating system Trenz Electronic device drivers are derived from the original Cypress generic USB device drivers distributed with the Cypress SuiteUSB 3 4 or later Driver installation on Microsoft Window 7 and Microsoft Window 8 can be performed automatically on line It can happen that the first online driver installation attempt fails in this case the user shall just force a retry the second attempt normally works See section 2 7 2 3 2 Force the online search of USB Drivers Installation User Manual 6 3 Coexistence Installation of both device drivers on the same host computer is normally possible Installation of both device drivers on the same host is not recommended under Microsoft Widows XP Please read VSB Drivers Installation User Manual UM drivers TE _USB_FX2 pdf for further details Copyright O 2013 Trenz Electronic GmbH Page 26 of 38 http www trenz electronic de es e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 7 API Layer APIs require a device driver of the same generation Beyond the
7. APIs used for the communication between the host computer and the USB FX2 microcontroller another set of API exists they are called API commands The application sends API commands to the Xilinx MicroBlaze embedded processor by means of the following API functions e generation 2 TE0300_ SendCommanoa command J e generation 3 TE_USB_FX2 _ SendCommanoa command The Xilinx MicroBlaze soft embedded processor executes then the command Skilled users can extend the API command set themselves 7 1 Generation 2 DLL files DEWESoft API Documentation e UM TE USB API pdf This API uses aC interface and therefore can be easily bound to Python uses handles cannot set any ze outfor SetData function In fact it is internally set to 1000 ms cannot set the driver buffer dimension is closed source and therefore cannot be extended or enhanced A binding from Python to DEWESoft TE USB API is possible through the ctypes function library 7 2 Generation 3 Trenz Electronic USB FX2 APIs 1 TE USB FX2 OyAPI API for C C 2 TE USB FX2 CyUSB API for NET Framework are based on the Cypress CyUSB sys device driver renamed as TE USB FX2 xx sys and respectively on 1 Cypress CyAPI APIs for C C 2 Cypress CyUSB API for NET Framework distributed with the Cypress SuiteUSB 3 4 or later Trenz Electronic USB FX2 APIs do not use handles Copyright 2013 Trenz Electronic GmbH Page 27 of 38 http w
8. E0630 has no master reset switch thus a power on reset is required Copyright 2013 Trenz Electronic GmbH Page 21 of 38 http www trenz electronic de DIN i e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 6 Device Driver Layer 6 1 Generation 2 6 1 1 Device driver files e TE03xx USB_32 64 zip Generation 2 device drivers are provided by DEWESoft and can also be downloaded from here or here 6 2 Generation 3 6 2 1 Device driver files e TE_USB_FX2 drivers zip 6 2 2 Documentation USB Drivers Installation User Manual UM drivers TE USB FX2 pdf e video play list Microsoft Windows XP 32 bit and 64 bit video play list Microsoft Windows Vista 32 bit video play list Microsoft Windows 7 64 bit video play list Microsoft Windows 8 64 bit generation 3 Installation and removal of a Trenz Electronic USB FX third generation device driver TE USB FX2 ona Microsoft Windows XP 32 bit operating system connected to Trenz Electronic USB Win XP 32 FX2 device with third generation v 3 x firmware Please note how Windows XP 32 bit is less demanding than Windows XP 64 bit with regard to device driver signatures video play list TE USB FX2 device driver Windows XP 32 first installation operating system Microsoft Windows XP 32 bit e VID PID OxOBDO 0x0300 driver TE USB FX2 Trenz Electronic USB FX2 device driver note first time installation on a fresh ope
9. E_USB_FX2 Trenz Electronic USB FX2 device driver note removal from a fresh operating system Installation and removal of a Trenz Electronic USB FX2 third generation device driver on a Microsoft Windows 7 64 bit operating system connected to Trenz Electronic USB FX2 device with third generation v 3 x firmware D video play list TE USB FX2 device driver Windows 7 64 installation settings operating system Microsoft Windows 7 64 bit e VID PID 0x0BDO 0x0300 driver TE_USB_FX2 Trenz Electronic USB FX device driver note recommended driver installation settings TE USB FX2 device driver Windows 7 64 first automatic installation operating system Microsoft Windows 7 64 bit e VID PID OxOBDO 0x0300 driver TE USB FX Trenz Electronic USB FX device driver Copyright 2013 Trenz Electronic GmbH Page 24 of 38 http www trenz electronic de es e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 note first time automatic installation on a fresh operating system TE USB FX2 device driver Windows 7 64 following automatic installations operating system Microsoft Windows 7 64 bit VID PID OxOBDO 0x0300 driver TE_USB_FX2 Trenz Electronic USB FX device driver note following automatic installations on a fresh operating system TE USB FX device driver Windows 7 64 removal operating system Microsoft Windows 7 64 bit VID
10. Forms or Microsoft WCF Windows Communication Foundation instead of Tkinter Tkinter is not well supported by NET using IronPython or Python for NET package instead of Python ctype with CPython Copyright 2013 Trenz Electronic GmbH Page 33 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 Open_FUT CPython Open_FUT code Open_FUT block diagram generation 3 Copyright 2013 Trenz Electronic GmbH Page 34 of 38 http www trenz electronic de n e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 9 Quick Migration Guide 9 1 Documentation e Migration from the 2 to the 3 generation firmware and device driver UM TE USB FX2 gen2_to_ gen3 pdf video play list generation 2 to generation 3 migration firmware driver Generation 2 to generation 3 migration firmware driver D video play list Migration from the second generation aka DEWESoft to the third generation aka TE USB FX2 of Trenz Electronic USB FX2 technology stack firmware and driver TE0300 migration from 2nd to 3rd generation firmware driver This video shows how to upgrade a Trenz Electronic TE0300 device form the second to the third generation firmware and driver The video has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0300 01 FPGA module connected to a USB port but the proce
11. PID OxOBDO 0x0300 driver TE USB FX Trenz Electronic USB FX device driver note removal from a fresh operating system generation 3 Installation and removal of a Trenz Electronic USB FX2 third generation device driver on TE USB FX2 a Microsoft Windows 8 64 bit operating system connected to a Trenz Electronic USB Win 8 64 FX2 device with third generation v 3 x firmware D video play list TE USB FX2 device driver Windows 8 64 automatic installation operating system Microsoft Windows 8 64 bit e VID PID 0x0BDO 0x0300 driver TE_USB_FX2 Trenz Electronic USB FX2 device driver note automatic installation on a fresh operating system TE USB FX2 device driver Windows 8 64 manual installation operating system Microsoft Windows 8 64 bit e VID PID 0x0BDO 0x0300 e driver TE USB FX Trenz Electronic USB FX2 device driver note manual installation on a fresh operating system TE USB FX device driver Windows 8 64 removal operating system Microsoft Windows 8 64 bit e VID PID OxOBDO 0x0300 e driver TE USB FX Trenz Electronic USB FX2 device driver note removal from a fresh operating system Copyright 2013 Trenz Electronic GmbH Page 25 of 38 http www trenz electronic de ets e trenz e electronic eu TE USB FX2 Technology Stack Overview Revision 1 1 6 2 3 Description The driver package contains many folders During installation the user shall specify the
12. TEO300 d3 refere nce designs html 3 2 TE0320 Series FPGA Xilinx Spartan 3A DSP 1800 3400 Baseboards e TE0323 Prototyping Baseboard for Trenz Electronic TE0320 Micromodules Documentation e http www trenz electronic de te0320 e http www trenz electronic de download dO Trenz Electronic d1 TE0320 series html Reference design using Xilinx ISE 13 3and Xilinx EDK 13 3 e htips github com Trenz Electronic TE03XX Reference Designs Copyright 2013 Trenz Electronic GmbH Page 11 of 38 http www trenz electronic de n e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 e http www trenz electronic de download dO Trenz Electronic d1 TEO320 series d2 TE0320 d3 refere nce designs html 3 3 TE0630 Series FPGA e Xilinx Spartan 6 LX 45 75 100 150 Documentation e http www trenz electronic de te0630 e http www trenz electronic de download dO Trenz Electronic d1 TEO0630 series html Baseboards e TE0303 Prototyping Baseboard for Trenz Electronic TE0300 and TE0630 Micromodules e TE0304 Application Baseboard for Trenz Electronic TE0300 and TE0630 Micromodules Documentation http www trenz electronic de download dO Trenz Electronic d1 TEO0630 series html Reference designs using Xilinx ISE 13 2 and Xilinx EDK 13 2 e https github com Trenz Electronic TE063X Reference Designs e http www trenz electronic de download dO Trenz Electronic d1 TEO630 series d2 TE0630 d3 refe
13. USB FX2 microcontroller but not the FPGA configuration file bitstream 5 1 Generation 2 VID PID e 0x0547 0x1002 Firmware files e TE USB FX2 current DW iic https github com Trenz Electronic TE USB Suite tree master TE_USB FX2 firmware ready for download Firmware update tools e DEWESoft Firmware Upgrade Tool It requires DEWESoft device driver and DEWESoft API It work only if the reference derived architecture is running in the module DEWESoft FUT is able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file fpga bin bitstream e Open FUT for generation 2 It requires DEWESoft device driver Python and DEWESoft API It works only if the reference derived architecture is running in the module Open FUT is able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file bitstream fpga bin Copyright O 2013 Trenz Electronic GmbH Page 16 of 38 http www trenz electronic de es e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 e CyConsole Cypress USB Console lt requires Cypress generic USB device driver and CyAPI lib static library It works also if the reference derived architecture is not running in the module lt is used as recovery USB firmware tool recovery boot It requires to boot with EEPROM switched off DEWESoft device is registered as Cypress device then back on EEPROM can be written Some documentation in UM USB Firmware pdf S
14. and functions support of multi thread and multi process programming Disadvantage A binding from Python to TE USB FX2 CyAPI APIs is possible by resorting to a wrapper e g through SWIG rather than just the c ypes function library This wrapper is not provided by Trenz Electronic A pure extern C code library version of TE USB FX2 OCyAPI APIs codename s mo ified TE USB FX2 CyAP APIs is available for developers Advantage Copyright 2013 Trenz Electronic GmbH Page 28 of 38 http www trenz electronic de es e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 binding to Python requires just the c y0es function library rather than by resorting to a wrapper Disadvantages impossible to directly access CyAPI lib classes and functions to extend Trenz Electronic TE USB FX2 OCyAPl dll libraries with other classes and functions no support of multi thread programming but still support of multi process programming 7 2 2 TE USB FX2 CyUSB API NET API files TE USB FX2 CyUSB TE USB FX2 CyUSB dll is open source but CyUSB dll is not Nevertheless its source code can be requested from Cypress under non disclosure agreement Documentation e UM TE USB API cs pdf e UM TE USB APl cs PortingGuide pdf Cypress CyUSB CyUSB dll API for NET Framework is a dynamic library not embedded in TE USB FX2 CyAPI dll and therefore required by the user along with TE USB FX2 CyAPI dll cla
15. deo has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0630 00 FPGA module connected to a USB port but the procedure is almost the same for any Trenz Electronic USB FX2 device Please note that unlike TE0300 and TE0320 TE0630 00 has no master reset thus a power on reset is required Copyright 2013 Trenz Electronic GmbH Page 19 of 38 http www trenz electronic de es e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 Cypress USB Console used for 2nd to 3rd generation update This video explains how to use Cypress USB Console instead of Cypress Control Center This video assumes that you have followed the first 6 minutes of generation 2 to generation 3 videos for anyone of the Trenz Electronic USB FX2 modules This video is an extension to 6 00 to 6 40 of generation 2 to generation 3 videos Generation 3 Update of TE USB FX2 s firmware generation 3 from an old one to a new one TE USB FX2 firmware update D video play list Update USB FX2 microcontroller firmware generation 3 using Cypress USB Console This video shows how to update a Trenz Electronic device form generation 3 old firmware to generation 3 new firmware using Cypress USB Console The video has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0630 00 FPGA module connected to a USB port but the procedure is almost the same for any Trenz Electron
16. dure is almost the same for any Trenz Electronic USB FX2 device In this video power on reset is used Please note that TE0300 has master reset thus a powered reset S2 switch is possible TE0320 migration from 2nd to 3rd generation firmware driver This video shows how to upgrade a Trenz Electronic TE0320 device form the second to the third generation firmware and driver The video has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0320 FPGA module connected to a USB port but the procedure is almost the same for any Trenz Electronic USB FX2 device In this video power on reset is used Please note that TE0320 has master reset thus a powerered reset S1D switch to ON is possible TE0630 migration from 2nd to 3rd generation firmware driver This video shows how to upgrade a Trenz Electronic TE0630 device form the second to the third generation firmware and driver The video has been recorded on a Microsoft Copyright 2013 Trenz Electronic GmbH Page 35 of 38 http www trenz electronic de es e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 Windows 7 64 bit operating system with a TE0630 00 FPGA module connected to a USB port but the procedure is almost the same for any Trenz Electronic USB FX2 device Please note that unlike TE0300 and TE0320 TE0630 00 has no master reset thus a power on reset is required Cypress USB Console used for 2nd to 3
17. e TE USB FX2 CyAPI C APIs TE USB FX2 CyUSB NET API TE USB FX2 SetData InstanceDriverBuffer not available TE USB FX2 SetData TE USB FX2 SetData TE USB FX2 GetData InstanceDriverBuffer not available TE USB FX2 GetData TE USB FX2 GetData SetData GetData naming exception 7 2 4 Possible Future Work A pure extern C code library version of TE USB FX2 OyAPI C APIs and TE USB FX2 CyUSB NET API would Copyright 2013 Trenz Electronic GmbH Page 30 of 38 http www trenz electronic de es e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 ease binding from Python or another programming language but also make impossible to directly access CyAPI lib classes and functions to extend Trenz Electronic TE_USB_FX2_CyAPI dll libraries or CyUSB lib classes and methods to extend Trenz Electronic TE USB FX2 CyUSB all library Copyright 2013 Trenz Electronic GmbH Page 31 of 38 http www trenz electronic de n e trenz e electronic eu TE USB FX2 Technology Stack Overview Revision 1 1 8 Application Layer Generation 2 and generation 3 technology stacks are very similar at the application layer Porting an application from generation 2 to generation 3 technology stack in quite easy and well documented in user friendly porting guides 8 1 Generation 2 Users can write their application code in C C using the DEWESoft TE USB API The application code shall use handles Sam
18. e e Cypress SuiteUSB 3 4 USB Development tools http www cypress com rID234870 Oypress CyAPI Programmer s Reference http www cypress com doclD 41365 e Cypress CyUSB NET DLL Programmer s Reference http www cypress com doclD 41366 e Cypress USBSuite Application Development http www cypress com index cfm docID 39566 e ronPython the Python programming language for the NET Framework http ironpython net Python for NET http pythonnet sourceforge net SWIG Simplified Wrapper and Interface Generator http Awww swig org e Qt Visual Studio Add in http qt project org search tag qt visual studio add in Copyright 2013 Trenz Electronic GmbH Page 38 of 38 http www trenz electronic de
19. e d gt trenz 9 electronic Oo TE USB FX2 Technology Stack Overview Authors eg SEH o Pavesi Fabio De Riccardis Revision Date 05 Sei l 2013 16 52 wy e trenz electronic eu TE USB FX2 Technology Stack Overview Revision 1 1 Table of Contents 1 Document Change History 5 2 Technology Stack Outline 6 2 1 Generations 6 2 2 Capabilities 8 2 3 Technology Stack Overview Recovery Mode 9 2 4 Technology Stack Overview Regular Mode 10 3 Hardware Layer Generation 2 Generation 3 11 3 1 TEOSO00 Series 11 3 2 TE0320 Series 11 3 3 TE0630 Series 12 3 4 Difference Between TE0300 and TE0320 TE0630 12 4 Reference Architecture Layer Generation 2 Generation 3 13 4 1 XPS_12C SLAVE custom IP block 14 4 2 XPS NPI DMA custom IP block 14 4 3 XPS_FX2 custom IP block 15 5 Firmware Layer Generation 2 Generation 3 16 5 1 Generation 2 16 5 2 Generation 3 Ei 5 3 Recovery Boot 18 6 Device Driver Layer 22 6 1 Generation 2 22 6 1 1 Device driver files 22 6 2 Generation 3 22 6 2 1 Device driver files 22 6 2 2 Documentation 22 6 2 3 Description 26 6 3 Coexistence 26 7 API Layer 27 7 1 Generation 2 27 7 2 Generation 3 27 7 2 4 TE USB FX2 OyAPI APIs C 28 7 2 2 TE USB FX2 CyUSB API NET 29 7 2 3 Differences Between TE USB FX2 OCyAPI C APIs and TE USB FX2 CyUSB NET API 30 7 2 4 Possible Future Work 30
20. e is not running in the module Boot with EEPROM switched off is not required Some documentation in UM USB Firmware pdf Some examples here firmware restore and here firmware update e OyControl Cypress USB Control Center requires NET Framework lt requires Cypress generic USB device driver Microsoft NET Framework version 4 0 30319 and CyUSB dll dynamic library It works also if the reference derived architecture is not running in the module Boot with EEPROM switched off is not required Some examples here firmware restore and here firmware update Documentation e CyConsole Cypress USB Console http www trenz electronic de download dO Trenz Electronic d1 TE USB Suite d2 generation 2 d3 documents html Copyright 2013 Trenz Electronic GmbH Page 17 of 38 http www trenz electronic de es e trenz e electronic eu TE USB FX2 Technology Stack Overview Revision 1 1 5 3 Recovery Boot A recovery bootis a multi step boot operation module is off and connected EEPROM switch is set off module is powered on module enumerates in recovery mode VID 0x04B4 PID 0x8613 the module is served by the Cypress generic USB device driver the Cypress generic USB device driver allows Cypress firmware update tools Cypress Console Cypress Control Center to work with the Cypress EZ USB FX2 microcontroller on the module 5 EEPROM switch is set back on Cypress firmware update tools can read and write the EEPROM AOO N
21. es are devices that support USB 2 0 Hi Speed communication with a host computer host computer USB 2 0 Hi Speed bus Trenz Electronic USB FX2 FPGA module TE USB FX2 system overview This document gives an overview of the USB FX2 technology stack supported by Trenz Electronic FPGA modules equipped with Cypress EZ USB FX2 microcontroller currently TE0300 TE0320 and TE0630 2 1 Generations There are two generations of Trenz Electronic USB FX2 FPGA modules The following table summarizes the main differences generation 2 3 hardware same same reference architecture same same firmware same same VID 0x0547 OxOBDO PID 0x1002 0x0300 device driver family DEWE Soft Cypress EZ USB API s family DEWE Soft C Cypress C NET reference application DEWE Soft C Trenz Electronic C NET recovery USB firmware tools Cypress USB Console Cypress USB Console Cypress USB Control Center Cypress USB Control Center regular USB firmware tools DEWESoft FUT Cypress USB Console Open_FUT generation 2 Cypress USB Control Center Open_FUT generation 3 recovery FPGA bitstream tool Xilinx IMPACT Xilinx IMPACT Copyright 2013 Trenz Electronic GmbH Page 6 of 38 http www trenz electronic de ets e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 generation 2 3 regular FPGA bitstream tool Xilinx IMPACT Xilinx IMPACT DEWESoft FUT Open_FUT generation 3 Open_FUT generation 2 Technolog
22. ic USB FX2 device Please note that unlike TE0300 and TE0320 TE0630 00 has no master reset thus a power on reset is required Update USB FX2 microcontroller firmware generation 3 using Cypress USB Control Center This video shows how to update a Trenz Electronic device form generation 3 old firmware to generation 3 new firmware using Cypress USB Control Center The video has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0630 00 FPGA module connected to a USB port but the procedure is almost the same for any Trenz Electronic USB FX2 device Please note that unlike TE0300 and TE0320 TE0630 00 has no master reset thus a power on reset is required Copyright 2013 Trenz Electronic GmbH Page 20 of 38 http www trenz electronic de ets e trenz electronic eu TE USB FX2 Technology Stack Overview Revision 1 1 Powered Reset procedure for TE0300 and TE0320 based on Update USB FX2 microcontroller firmware videos This video assumes that you have followed the Update USB FX2 microcontroller firmware generation 3 using Cypress USB Control Center video and implements the powered reset as reset 1 31 to 2 14 of the previous video This video shows how to realize a powered reset for a TE0320 or a TE0300 device The video has been recorded on a Microsoft Windows 7 64 bit operating system with a TE0300 01 FPGA module connected to a USB port Please note that unlike TE0300 and TE0320 T
23. nds coming from the USB bus towards the MicroBlaze 2 XPS_NPI_DMA custom DMA between DDR SDRAM and other multiple sources 3 XPS_FX2 used for high speed bidirectional communication between the FPGA and a host PC Copyright 2013 Trenz Electronic GmbH Page 13 of 38 http www trenz electronic de DIN v e trenz electronic or TE USB FX2 Technology Stack Overview Revision 1 1 z PE a 3 1 Y D 2H DDR SDRAM DDR memory SDRAM PLE DPLB pss controller TX XPS_UARTUTE 2 bit NPI BUS _ XPS_NPIDMA Li mm XPS_INTC FPGA FABRIC custom core C Reference architecture block diagram 4 1 XPS I2C SLAVE custom IP block It is a logic block for low speed bidirectional communication between the FPGA and a host PC It is usually used for command settings and status communication It contains 6 x 32 bit memory mapped registers 3 for Aost gt FPGA communication FX22MB registers e 3 for FPGA gt host communication MB2FX registers When the host sends commands to the MicroBlaze MB soft embedded processor an interrupt is triggered When the MB writes data to MB2FX2_reg0 the interrupt INTO is sent to the Cypress EZ USB FX2LP USB microcontroller When the FX2 microcontroller receives an interrupt it reads all MB2FX2 registers 4 2 XPS NPI DMA custom IP block Copyright 2013 Trenz Electronic GmbH Page 14 of 38 http www trenz electronic de es e trenz electronic Cort TE USB
24. ome examples here firmware restore only e CyControl Cypress USB Control Center requires NET Framework It requires Cypress generic USB device driver Microsoft NET Framework version 4 0 30319 and CyUSB dll dynamic library It works also if the reference derived architecture is not running in the module It is used as recovery USB firmware tool recovery boot It requires to boot with EEPROM switched off DEWESoft device is registered as Cypress device then back on EEPROM can be written Some examples here firmware restore only Documentation e CyConsole Cypress USB Console http www trenz electronic de download d0 Trenz_Electronic d1 TE USB Suite d2 generation 2 d3 documents html 5 2 Generation 3 VID PID e 0x0BD0 0x0300 Firmware files e TE USB FX2 current TE iic https github com Trenz Electronic TE USB Suite tree master TE USB FX2 firmware ready for download Firmware update tools e Open FUT for generation 3 It requires TE USB FX2 device driver Python and a pure extern C code library version of TE USB FX2 CyAPI APIs codename simplified TE_USB_FX2_CyAPI APIs It works only if the reference derived architecture is running in the module Open FUT is able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file bitstream fpga bin e CyConsole Cypress USB Console lt requires Cypress generic USB device driver and CyAPI lib static library It works also if the reference derived architectur
25. osoft Windows XP 64 bit e VID PID OxOBDO 0x0300 driver TE USB FX Trenz Electronic USB FX2 device driver note following installations on a fresh operating system TE USB FX device driver Windows XP 64 removal operating system Microsoft Windows XP 64 bit e VID PID 0x0BDO 0x0300 e driver TE USB FX Trenz Electronic USB FX2 device driver note removal from a fresh operating system Copyright O 2013 Trenz Electronic GmbH Page 23 of 38 http www trenz electronic de n e trenz electronic Cort generation 3 TE USB FX2 Win Vista 32 D deo play list generation 3 TE USB FX2 Win 7 64 TE USB FX2 Technology Stack Overview Revision 1 1 Installation and removal of a Trenz Electronic USB FX2 third generation device driver on a Microsoft Windows Vista 32 bit operating system connected to a Trenz Electronic USB FX2 device with third generation v 3 x firmware The device driver on a Microsoft Windows Vista 64 bit behaves like on a Microsoft Windows Vista 32 bit TE USB FX2 device driver Windows Vista 32 manual installation operating system Microsoft Windows Vista 32 bit e VID PID 0x0BDO 0x0300 e driver TE_USB_FX2 Trenz Electronic USB FX2 device driver note manual installation on a fresh operating system TE USB FX2 device driver Windows Vista 32 removal operating system Microsoft Windows Vista 32 bit e VID PID 0x0BDO 0x0300 driver T
26. ple application projects https github com Trenz Electronic TE USB Suite tree master TE USB FX2 gen 2 8 2 Generation 3 Users can write their application code in C C using the TE USB FX2 CyAPI APIs or in a language of the NET Framework Visual Basic Managed C C using the TE USB FX2 CyUSB API The application code does not use handles If the user wants to develop and launch an application or system service e g a Plug and Play application or system service he she can call any useful functions or methods from CyAPI in C only TE USB FX2 OyAPI in C only CyUSB in any NET programming language or TE USB FX2 CyUSB in any NET programming language 8 2 1 TE USB FX2 CyAPI dll C Documentation e C TE USB FX2 API reference manual UM TE USB API cpp pdf e DEWESoft C DLL to Trenz Electronic C DLL Porting Guide UM TE USB APl cpp PortingGuide pdf Users can write their own C applications by including the FilesTolmportForApplicationCpp zip package C application code can access CyAPI lib classes and functions directly to extend TE USB FX2 CyAPI APIs C software projects templates and reference applications are available here There is no difference between compiling C applications for 32 bit Windows operating systems with Microsoft Visual Studio Exoress and Microsoft Visual Studio Professional There is some difference between compiling C applications for 64 bit Windows operating systems wi
27. rating system Copyright O 2013 Trenz Electronic GmbH Page 22 of 38 http www trenz electronic de es e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 TE USB FX2 device driver Windows XP 32 following installations operating system Microsoft Windows XP 32 bit e VID PID OxOBDO 0x0300 driver TE USB FX Trenz Electronic USB FX device driver note following installations on a fresh operating system TE USB FX2 device driver Windows XP 32 removal operating system Microsoft Windows XP 32 bit e VID PID OxOBDO 0x0300 driver TE USB FX Trenz Electronic USB FX device driver note removal from a fresh operating system generation 3 Installation and removal of a Trenz Electronic USB FX2 third generation device driver TE USB FX2 ona Microsoft Windows XP 64 bit operating system connected to a Trenz Electronic Win XP 64 USB FX2 device with third generation v 3 x firmware Please note how Windows XP 64 bit is more demanding than Windows XP 32 bit with regard to device driver signatures video play list TE USB FX device driver Windows XP 64 first installation operating system Microsoft Windows XP 64 bit e VID PID OxOBDO 0x0300 e driver TE USB FX Trenz Electronic USB FX2 device driver note first time installation on a fresh operating system TE USB FX2 device driver Windows XP 64 following installations operating system Micr
28. rd generation update This video explains how to use Cypress USB Console instead of Cypress Control Center This video assumes that you have followed the first 6 minutes of generation 2 to generation 3 videos for anyone of the Trenz Electronic USB FX2 modules This video is an extension to 6 00 to 6 40 of generation 2 to generation 3 videos 9 2 Description When migrating from the second generation of the software stack for Trenz Electronic FPGA modules with USB interface aka DEWESoft firmware and DEWESoft driver derivative to the third generation aka Trenz Electronic firmware and Cypress driver derivative we recommend the following e A flash latest firmware into the module https github com Trenz Electronic TE USB Suite tree master TE_USB_FX2 firmware ready_for_download currently TE USB FX2 v03 02 TE iic B fully uninstall i e with delete files option activated on Windows Vista or later versions in Windows XP the deletion must be done manually see section 4 old driver and install new driver http www trenz electronic de download d0 Trenz_Electronic d1 TE USB Suite d2 generation_3 d3 drivers h tml and of course read carefully the manual UM drivers TE_USB_FX2 pdf Driver installation on Microsoft Window 7 and Microsoft Window 8 can be performed automatically on line It is possible that the first online driver installation fails in this case the developer shall force a retry the second attempt no
29. re nce designs html 3 4 Difference Between TE0300 and TE0320 TE0630 The amount of data that the user can transfer in each packet PacketSize depends on the Trenz Electronic USB FX2 module used e TE0300 PacketSize 51 200 bytes e TE0320 TE0630 PacketSize 102 400 bytes If the user wishes to transfer data or files larger than the above sizes he she must decompose them into smaller packets before transfer and recompose them after transfer Copyright O 2013 Trenz Electronic GmbH Page 12 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 4 Reference Architecture Layer Generation 2 Generation 3 The Xilinx FPGA itself on the Trenz Electronic USB FX2 modules is blank when powered off To define an FPGA functionality a logic architecture should be defined and loaded into the device at power on The reference design architecture was built using Xilinx Embedded Development Kit EDK Basically it is an embedded system on a chip with a Xilinx MicroBlaze 32 bit soft microprocessor The MicroBlaze i MB nitializes and sets up the system Standard EDK cores are used to implement a serial interface XPS_UARTLITE an SPI FLASH interface XPS_SPI a timer counter block XPS_TIMER and an interrupt controller XPS_INTC Besides standard IP cores the reference architecture contains three custom IP cores 1 XPS_l2C_SLAVE forwards comma
30. rmally works See UM Drivers TE_USB_FX2 manual at section 2 7 2 3 2 Force the online search Please compare your Device Managerwindow with the pictures shown in the manual cited above In particular check that the picture shown in section 2 7 3 Common to Windows XP 7 8 Final Part matches both device class name and driver class name in your Device Manager If not this is probably because the operating system links loads the old driver class and driver file s In this case it might be useful to go to CAWINDOWS system32 drivers or the like and delete TE03xx files The intended driver file names are TE_USB_FX2_xx instead e TE USB FX2 cat e TE USB FX2 inf e TE USB FX2 32 sys Copyright 2013 Trenz Electronic GmbH Page 36 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 e TE USB FX2 64 sys Warning Generation 3 device drivers with version date prior to 06 September 2012 must 7o be used C download latest C C API https github com Trenz Electronic TE USB Suite On the GitHub repository the developer can find the current C C API The code is associated with Microsoft Visual Studio Express 2010 project This project can also be opened in Visual Studio Professional 2010 The C DLL and sample code is preset for Microsoft Windows 32 bit operating systems If you desire to compile the solution for 64 bit operating systems the procedure in Microsoft Vis
31. sses and functions can be directly accessed from the application to extend Trenz Electronic TE USB FX2 CyUSB dll libraries with other classes and functions has only one version for both Microsoft Windows 32 and 64 bit is not a COM Component Object Model object so it cannot be called by C or Python code isamanaged Microsoft NET class library that can be used with any programming language of the NET Framework Visual Basic Managed C C Trenz Electronic TE USB FX2 CyUSB dll for NET Framework is a dynamic library has only one version for both Microsoft Windows 32 and 64 bit is not a COM Component Object Model object so it cannot be called by C or Python code isamanaged Microsoft NET class library that can be used with any programming language of the NET Framework Visual Basic Managed C C is open source can be modified and extended TE USB FX2 OCyUSB dll has no binding to Python because it is pure NET CLR code that cannot be compiled as a COM object It is a managed Microsoft NET class library that can be used with all languages of the NET Framework Visual Basic Managed C C or other NET infrastructures such as IronPython If the user application is mainly made of C code it is convenient to use IronPython If the user application is mainly made of Python it is convenient to use Python for NET package Copyright 2013 Trenz Electronic GmbH Page 29 of 38 http www
32. th Microsoft Visual Studio Exoress and Microsoft Visual Studio Professional Such differences are explained in the C TE_USB_FX2 API reference manual UM TE_USB_API cpp pdf Copyright 2013 Trenz Electronic GmbH Page 32 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 C applications using Qt can be easily compiled with Microsoft Visual Studio 2010 Professional and the Qt Visual Studio Add in on QtProject org 8 2 2 TE USB FX2 CyUSB dll C Documentation e C TE USB FX2 API reference manual UM TE USB API cs pdf e DEWESoft C DLL to Trenz Electronic C DLL Porting Guide UM TE USB APl cs PortingGuide p df Users can write their own NET applications by including the FilesTolmportForApplicationCsharp zip package NET application code can access CyUSB dll classes and methods directly to extend TE USB FX2 CyUSB API NET software projects templates and reference applications are available here 8 2 3 Open FUT generation 3 Open FUT generation 3 has been developed in CPython by using a pure extern C code library version of TE USB FX2 OyAPI APIs codename simplified TE_USB_FX2_CyAPI AP s Open FUT could be ported to NET by using TE USB FX2 CyUSB librariesinstead of the s z 0 iedg 7E USB FX2 CyAP libraries using NET Trenz Electronic USB FX2 APlinstead of the s p fied C C Trenz Electronic USB FX2 APIs using Microsoft WF Windows
33. trenz electronic de es e trenz e electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 7 2 3 Differences Between TE USB FX2 CyAPI C APIs and TE_USB_FX2_CyUSB NET API TE_USB_FX2_CyAPI C APIs and TE_USB_FX2_CyUSB NET API do not have the same signature although they are very similar The signature of the pure extern C code library version of TE_USB_FX2_CyAPI APIs available for developers codename s mplitied TE_USB_FX2_CyAPI APIs is slightly different from the two signatures above TE USB FX2 CyUSB NET API is intrinsically cleaner than TE USB FX2 CyAPI C APIs because CyUSB dll is intrinsically cleaner than CyAPI lib Please note that CCyUSBDevice Cypress class in the Cypress CyAPI C API is actually the list of all USB devices currently served by a Cypress USB driver derivative e g Cypress generic USB device or Trenz Electronic USB FX2 device For ease of understanding and convenience Trenz Electronic named the corresponding variable as USBdevList API Cypress class name TE USB FX variable name C API CCyUSBDevice USBdevList NET API USBDeviceList USBdevList Device list naming comparison API Cypress class name TE USB FX variable name C API not available not available NET API CyUSBDevice TE USB FX2 USBDevice Single device of the above device lists Most functions parameters and variables have maintained name and meaning across APIs A notable exceptions is recalled in the following tabl
34. ual Studio Express and Microsoft Visual Studio Professional has some differences and is specified in Agoenaix A Coen the Visual Studio 2070 project ot C TE_USB_FX2 API reference manual published here http www trenz electroni c de download dO Trenz Electronic d1 TE USB Suite d2 generation S d3 APIs html The differences are the following e Express requires the installation of Microsoft Windows SDK 7 7 and it must be selected under Platform Toolset as Wraows7 1SDK Professional uses the same v100 10 0 runtime components as in Platform Toolset The developer does not need to install Microsoft Windows SDK 7 1 It is possible to download some Microsoft Visual Studio 2010 Express projects already correctly configured for Microsoft Visual Studio 2010 Express 32 64 bit and Microsoft Visual Studio 2010 Professional 64 bit from here e http www trenz electronic de download dO Trenz Electronic d1 TE USB Suite d2 generation 3 d3 re ference designs html Copyright 2013 Trenz Electronic GmbH Page 37 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 10 References e Trenz Electronic USB Suite resource center http www trenz electronic de download dO Trenz Electronic d1 TE USB Suite html Trenz Electronic GitHub repositories https github com Trenz Electronic e Trenz Electronic USB Suite GitHub repository https github com Trenz Electronic TE USB Suit
35. ustom DMA engine XPS_NPI_DMA and forwarded to the XPS_FX2 core in 1 kbyte packets MicroBlaze throttles the throughput to prevent XPS FX2 TX FIFO overflow Copyright 2013 Trenz Electronic GmbH Page 15 of 38 http www trenz electronic de n e trenz electronic eu TE USB FX2 Technology Stack Overview Revision 1 1 5 Firmware Layer Generation 2 Generation 3 Generation 2 and generation 3 technology stacks share the same firmware but with different VIDs PIDs The following firmware tools DEWESoft FUT firmware upgrade tool Open FUT generation 2 Open FUT generation 3 work only if the reference architecture or a derived architecture is running in the module The reference derived architecture is necessary because the three tools make use of AP Commands see the corresponding API reference manual executed by the Xilinx MicroBlaze soft embedded processor of the reference derived architecture These tools are therefore able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file bitstream The following firmware tools Cypress USB Console e Cypress USB Control Center work also if the reference derived architecture is not running in the module he reference derived architecture is not necessary because they do not make use of AP Commands Conversely they directly make use of CyAPI lib and CyUSB dll respectively These two tools are therefore only able to update the firmware of the
36. ww trenz electronic de es e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 7 2 1 TE_USB_FX2_CyAPI APIs C API files e TE_USB_FX2_CyAPI TE USB FX2 OyAPl dll is open source but CyAPI lib is not Nevertheless its source code can be requested from Cypress under non disclosure agreement Documentation UM TE USB APl cpp pdf e UM TE USB APl cpp PortingGuide pdf Cypress CyAP CyAPI lib APIs for C C are static libraries embedded in TE USB FX2 CyAPI dll and therefore not required by the user program can be used by both managed with NET C code and by unmanaged without NET C code have one version for Microsoft Windows 32 bit have one version for Microsoft Windows 64 bit have same name to ease code portability Trenz Electronic TE_USB_FX2_CyAPI dll s for C C are dynamic libraries can be used by both managed with NET C code and by unmanaged without NET C code have one version for Microsoft Windows 32 bit have one version for Microsoft Windows 64 bit have same name to ease code portability are open source can be modified and extended TE USB FX2 OyAPI APIs are not pure extern C code libraries because an external creation of a class instance defined in CyAPI h CyAPI lib is required Advantage possible to directly access CyAPI lib classes and functions to extend Trenz Electronic TE USB FX2 OyAPl dll libraries with other classes
37. y stack generation comparison table Trenz Electronic modules can be used with both couples of driver API e DEWESoft device driver DEWESoft API e Cypress device drivers Trenz Electronic API s but not a mix of the two e DEWESoft device driver Trenz Electronic API s e Cypress device driver DEWESoft API Modules of both generations are factory programmed and tested with an open source reference architecture Copyright 2013 Trenz Electronic GmbH Page 7 of 38 http www trenz electronic de n e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 2 2 Capabilities The reference architecture allows users to read and write the module SDRAM read and write the Flash EEPROM read and write the USB microcontroller EEPROM read firmware version reconfigure the FPGA from a host application user application host computer Sample application block diagram Copyright 2013 Trenz Electronic GmbH Page 8 of 38 http www trenz electronic de e trenz electronic Cort TE USB FX2 Technology Stack Overview Revision 1 1 2 3 Technology Stack Overview Recovery Mode host computer Cypress Console USB 2 0 Hi Speed bus fatten apres JSB 20 Hi Speed device port 3 ss VID PID 0x04B4 0x8613 Trenz Electronic USB FX2 firmware Trenz Electronic USB FX2 hardware Trenz Electronic USB FX2 FPGA module Technology stack block diagram recovery mode

Download Pdf Manuals

image

Related Search

Related Contents

RUGGEDCOM WIN7200  TL-WN851N(ES)  Visualização - Metalúrgica Siemsen Ltda  WACOM GRAPHIRE 4 User's Manual      User Manual Rev01b    Samsung GT-I5510 Kullanıcı Klavuzu  Scarlatti Clock User Manual v1.0x  

Copyright © All rights reserved.
Failed to retrieve file