Dengyu Liu

Senior Project: CMOS image transmission based on Cypress USB controller

Description

Because of its low-cost, low-power assumption and flexibility, CMOS image sensor has been widely used in several applications including photography, machine vision etc. In this project, we design a digital video transmission system of CMOS image sensor based on USB interface. We use a Cypress EZ-USB FX2 CY68013 USB controller chip to interface with CMOS image sensor (Micron MT9V032). It efficiently controls the time sequences of the CMOS image sensor by using the GPIF interface and the feature of flow state, and achieves high-speed data transfer without using external FIFO and CPLD which are essential components in normal solutions. Through the integrated I2C interface on the 68013, we can conveniently configure the register stored in CMOS online to adjust parameters such as shutter, gain, gamma etc.

Publications

Dengyu Liu and Chao Xu. USB CMOS Camera(in Chinese). Beijing Institute of Technology, Beijing, China 2008.

Images

EZ-USB FX2 system block diagram:

FX2 contains an integrated USB transceiver connects to the USB bus pins D+ and D-. A Serial Interface Engine (SIE) decodes and encodes the serial data and performs error correction, bit stuffing etc. Ultimately, the SIE transfers parallel data to and from the USB interface. It also includes a CPU(an enhanced 8051) with fast execution time and added features.

FX2 Endpoint Buffer:

The USB Specification defines an endpoint as a source or sink of data. Since USB is a serial bus, a device endpoint is actually a FIFO which sequentially empties or fills with USB data bytes. From the FX2’s point of view, an endpoint is a buffer full of bytes received or held for transmission over the bus. The FX2 reads host data from an OUT endpoint buffer, and writes data for transmission to the host to an IN endpoint buffer.

Auto-Transfer Data FLow using GPIF:

The GPIF is used to master an external peripheral without any external glue logic. The GPIF is basically a controllable state machine that allows you to generate waveforms required by external peripheral read/write cycle timing. The CPU’s role is minimal; it only loads the micro code that defines the waveform behaviors into designated FX2 on-chip RAM space, and manages how the waveforms are triggered in the application firmware

System PCB Board for USB Controller:

This two layers PCB board is designed using Protel 99. It includes the main Cypress 68013 chip, crystal oscillator, usb connector and two 16 pins headers used to interface with CMOS sensor board.

Hardware Prototype:

The hardware prototype contains two boards: one is usb controller board, another is CMOS snesor board. Two 16 pins headers are used to connecting two boards.

PC camera control application:

A simple PC application is developed using Virtual C++ 6.0 to communicate with usb controller, cmos image datas are received via usb and displayed on the monitor.

Slides

Senior Project Presentation(in Chinese)