Section 7: USB Sub-System

Devices

The USB interface sub-system is based upon Cypress EZ-USB FX3 development kit. At the heart of the Cypress platform is USB microprocessor CYUSB301X supporting USB3.0 interface.

Download Hamamatsu Photonics K.k Port Devices Driver

The USB microprocessor design is based on Cypress Synchronous Slave FIFO. SlaveFIFOSync project is provided as a part of this system. The project is comprised of the following files:

A device for generating sub-nanosecond intense optical pulses includes a driver unit operative to generate a plurality of bipolar current pulses, and a semiconductor laser diode driven by the bipolar current pulses and operative to emit the intense optical pulses each of which has a substantially suppressed or completely eliminated emission tail. The CMOS sensor determines the time of flight of the reflected, incident light with each of its pixels, creating a 3D picture. This CMOS sensor is a special, high-speed charge transfer device, which is essential to measure short distances. The light pulse travels with a.

Download Hamamatsu Photonics K.k Port Devices Drivers

  • Silicon Photodiodes or Photo ICs together with an Infrared LED are used for rain sensors, to detect water on the windshield. The rain sensor integrates an Infrared LED, which sends out light pulses to the windshield, and an optical sensor, where the light is reflected to, back from the windshield.
  • Operating System Driver Provider Driver Version; Download Driver: Windows 2000 (32 bit) Hamamatsu Photonics K.K. 2.20.1.0 (6/29/2012) Download Driver: Windows XP (32 bit).

1. cyfx_gcc_startup.S:
Start-up code for the ARM-9 core on the FX3 device. This assembly source file follows the syntax for the GNU assembler.

2. cyfxslfifosync.h:
C header file that defines constants used by this example implementation. Can be modified to select USB connection speed, endpoint numbers and properties, etc.

3. cyfxslfifousbdscr.c:
C source file that contains USB descriptors used by this example. VID and PID are defined in this file.

4. cyfxgpif_syncsf.h:
C header file that contains the data required to configure the GPIF interface to implement the Sync Slave FIFO protocol.

Hamamatsu photonics japan

5. cyfxtx.c:
C source file that provides ThreadX RTOS wrapper functions and other utilities required by the FX3 firmware library.

6. cyfxslfifosync.c:
Main C source file.

7. makefile:
GNU make compliant build script for compiling this project.

Hamamatsu Photonics China

This project configures and uses the GPIF II interface on the FX3 device in synchronous slave FIFO mode. The FPGA acts as a master device that implements the Cypress-defined Sync Slave FIFO.

This project implements the following functions:
1. Configuration of the GPIF II interface to implement the Sync Slave FIFO protocol.
2. Enumeration as a vendor specific USB device with two bulk endpoints (1-OUT and 1-IN).
3. Creation of MANUAL DMA channels to enable the following data paths:
a. All data received from the USB host through the 1-OUT endpoint is forwarded to the master device on the slave port through socket 3.
b. All data received from the master device on the slave port through socket 0 is forwarded to the USB host through the 1-IN endpoint.
4. When any data packet is received through one of the ingress sockets, the application is notified and forwards the data to the recipient through a DMA callback function.

The output of the compilation is SlaveFifoSync.img, which is loaded into the Cypress EZ-USB board using USB Control Center Application, part of EZ-USB FX3 SDK Software tools.

To load the file into the target perform the following steps (1-5):
1) Connect EZ-USB FX3 board to the PC.
2) Once the drivers for the USB device are installed, the screen shown in Figure 7-1 will be seen.

3) Select the device (Cypress FX3 USB BootLoader Device), then click on Program -> FX3 -> RAM (refer to Figure 7-2).

4) Navigate to the location of 'SlaveFifoSync.img' and select 'Open.'
5) The new driver will be loaded by the operating system, resulting in the following screen shown in Figure 7-3.

Now, the USB development board is ready to perform data transfers.

Download Hamamatsu Photonics K.k Port Devices Driver Windows 10

Notes:
1) The firmware has been loaded into RAM; hence should the power to the board be turned off (or USB cable unplugged from the PC), the programming steps would have to be repeated.
2) It is important to use a high quality USB 3.0 cable and a corresponding USB 3.0 port on the PC.