FX3 Programmers Manual, Doc. # 001-64707 Rev. *C 49
4. FX3 Software
Cypress EZ-USB FX3 is the next generation USB 3.0 peripheral controller. This is a highly integrated
and flexible chip which enables system designers to add USB 3.0 capability to any system. The FX3
comes with the easy-to-use EZ-USB tools providing a complete solution for fast application
development.
Cypress EZ-USB FX3 is a user programmable device and is delivered with a complete software
development kit.
4.1 System Overview
Figure 4-1illustrates the programmer's view of FX3. The main programmable block is the FX3
device. The FX3 device can be set up to
■ Configure and manage USB functionality such as charger detection, USB device/host detection,
and endpoint configuration
■ Interface to different master/slave peripherals on the GPIF interface
■ Connect to serial peripherals (UART/SPI/GPIO/I
2
C/I2S)
■ Set up, control, and monitor data flows between the peripherals (USB, GPIF, and serial
peripherals)
■ Perform necessary operations such as data inspection, data modification, header/footer
information addition/deletion
Figure 4-1. Programming View of FX3
Master/Slave
Peripheral
User
Implementation
FX3
- User application
- Application framework
- FX3 APIs
- Low level drivers
- RTOS
USB Host
(SS/HS/FS)
- User application
- Cypress generic USB driver
- USB 3.0 Bus/Hub driver
- USB xHCI driver
USB Device
(HS/FS/LS)
User Device
Implementation
P-PortI2C/I2S/
UART/SPI
U-Port
USB HS/FS/LS
USB SS/HS/FS
GPIF II
Cypress provided software
User or customer software
Third-party or platform software