Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

This documentation describes the SW API supported by standard Trenz Electronic FPGA modules (TE USB FX2 FPGA module) equipped with Cypress EZ-USB FX2 microcontroller (currently: TE0300, TE0320 and TE0630).

TE USB FX2 module is able to communicate with host computer's USB using

Info

In order to provide a user interface for driver functions, dynamic link library "TE_USB_FX2_CyAPI.dll" and "CyAPI.lib" have been used.

C++ applications (running on host computer) use directly TE_USB_FX2_CyAPI.dll based on CyAPI.lib.

To avoid copying back and forth large amount of data between these two DLLs, data is passed by reference and not by value.

Host computer requirements

...

When using TE_USB_FX2_CyAPI.dll API, a host computer should meet the following requirements:

  • Operating system: Microsoft Windows 2000, Microsoft Windows XP, Microsoft Windows Vista, Microsoft Windows 7;
  • USB driver: Trenz Electronic USB FX2 driver (see here for dedicated driver installation instructions);
  • Interface: USB 2.0 host;
  • C++ Run Time: it is contained in
    • Microsoft Visual C++ 2010 x64 Redistributable Setup: vcredist_x64.exe for 64 bit;
    • Microsoft Visual C++ 2010 x86 Redistributable Setup: vcredist_x86.exe for 32 bit.

The second set of API is API commands. They are binary data that are sent/received by the EZ-USB FX2 microcontroller. API commands provide an easy way to create a communication interface with Trenz Electronic FPGA modules.

API commands are sent using a function of the first API set: TE_USB_FX2_SendCommand(). This function is able to pass the API commands (of the second API set) to the MicroBlaze embedded processor and receive the response binary code of using endpoint EP1.

A combination of TE_USB_FX2_SendCommand() and TE_USB_FX2_GetData() functions is able to read data from FPGA RAM.

...

    • .