Skip to content

wenyec/Camera5MPWB

Repository files navigation

                        CYPRESS SEMICONDUCTOR CORPORATION

                          EZ-USB FX3 HD 720P CAMERA KIT


FX3 CAMERA KIT FIRMWARE
-----------------------

    1. Introduction:
    ----------------

    This project facilitates implementing a complete 720p Video solution using
    the EZ-USB FX3 device and an Image Sensor that supports YUY2 image streaming
    over a parallel synchronous interface.

    This Eclipse project contains the firmware application code that implements
    the Image Sensor interface and the USB Video Class (UVC) control and streaming
    logic. This firmware application supports streaming video in the following
    formats:

        1. Uncompressed HD 720p (1280 * 720) resolution video at 30 frames per
           second (fps) over a USB 3.0 link.
        2. Uncompressed VGA (640 * 480) resolution video at 15 frames per second
           (fps) over a USB 2.0 link.

    This firmware application is designed to work with the EZ-USB FX3 SDK 1.2.2
    release.

    Please refer to the "AN75779: Interfacing an Image Sensor to EZ-USB FX3 in a USB
    video class (UVC) Framework" application note (http://www.cypress.com/?rID=62824)
    for a detailed design description of this application.

    2. Files:
    ---------

        1. uvc.c                : Main source file implementing the UVC control and
                                  streaming logic.

        2. uvc.h                : Configuration parameters and constant definitions
                                  for the UVC application firmware.

        3. cyfxuvcdscr.c        : USB descriptors used by the UVC firmware.

        4. camera_ptzcontrol.c  : Extension stubs for implementation of camera controls
                                  like Pan, Tilt and Zoom.

        5. camera_ptzcontrol.h  : Variable and function declarations for the Pan, Tilt
				  and Zoom control stubs.

        6. sensor.c             : Function placeholders and I2C driver functions to configure/control
                                  the image sensor through the I2C interface on FX3.

        7. sensor.h             : Interface declarations for the image sensor driver.

        8. cyfxgpif2config.h    : Configuration data generated by GPIF II Designer.

        9. cyfxtx.c             : RTOS porting layer for the EZ-USB FX3 SDK.

        10. cyfx_gcc_startup.S  : Startup file for the GNU ARM tool-chain. This only
                                  clears the BSS segment and then jumps to the main
                                  function.

    3. Notes on Application Porting:
    --------------------------------

    This UVC video streaming application can be ported to work with virtually
    any image sensor with parallel interface.

    The general procedure for porting the application to a particular sensor is:

    1. Identify the sensor control mechanism (I2C, SPI etc.) and make appropriate
       changes to the sensor.c file. Code can be added to the SensorI2cBusTest()
       function to verify whether the sensor is accessible through the firmware.
       Once functionality is verified, implement the sensor initialization function
       SensorInit () and the resolution settings functions: SensorScaling_HD720p_30fps ()
       and SensorScaling_VGA () or whichever resolution is required.
    2. Identify the signal interface between the sensor and FX3, and update the
       GPIF-II state machine accordingly. You may require to update the GPIF-II
       initialization code in uvc.c (CyFxUvcAppGpifInit, CyFxGpifCB and
       CyFxUvcAppCommitEOF functions) as well.
    3. Update the code for handling UVC controls like brightness, pan, tilt and
       zoom (uvc.c and camera_ptzcontrol.c).

    Please refer to the AN75779 for a detailed description on the design process.

    4. Updating to a new FX3 SDK version:
    -------------------------------------

    The cyfxtx.c and cyfx_gcc_startup.S files used here are taken from the FX3 SDK
    release. This version of the application makes use of FX3 SDK release version
    1.2.2.

    When updating the application to work with a new SDK version, you need to copy
    the latest cyfxtx.c and cyfx_gcc_startup.S files from the new SDK into this
    project. You will also need to follow the instructions for porting to the new
    SDK that are included in the "Getting started with the FX3 SDK" document.

[]

About

for 5MP w/b camera

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages