Quantcast
Channel: Cypress Semiconductor - USB - Known Problems and Solutions
Viewing all articles
Browse latest Browse all 153

AN75779 UVC example(GPIFII 32bit)

$
0
0

I had download AN75779.zip(http://www.cypress.com/file/123501/download) 03/24/2016 

it works fine, it's 8 bits GPIF interface.

then I use GPIF II Designer Set 32bits GPIF interface according to AN75779 How to Implement an Image Sensor Interface Using EZ-USB® FX3™ in a USB Video Class (UVC) Framework.pdf. it can't be working.

so I use GPIF II Designer Set 8 bits gpif interface,it's also can't works,why?

I compare the file "cyfxgpif2config.h" inside the AN75779.zip with my generate file, it's different 

 

An75779.zip                                        

#define CY_NUMBER_OF_STATES 20                          
#define START_SCK0 0
#define IDLE_SCK0 1
#define START_SCK1 3
#define IDLE_SCK1 4
#define WAIT_FOR_FRAME_START_0 2
#define WAIT_FOR_FRAME_START_1 5
#define PUSH_DATA_SCK0 6
#define PUSH_DATA_SCK1 7
#define LINE_END_SCK0 8
#define LINE_END_SCK1 9
#define WAIT_TO_FILL_SCK0 10
#define WAIT_TO_FILL_SCK1 12
#define WAIT_FULL_SCK0 11
#define WAIT_FULL_SCK1 13
#define PARTIAL_BUF_IN_SCK0 14
#define PARTIAL_BUF_IN_SCK1 15
#define FULL_BUF_IN_SCK0 16
#define FULL_BUF_IN_SCK1 17
#define FRAME_END_SCK0 18
#define FRAME_END_SCK1 19

/* Summary
   Table containing the transition information for various states. 
   This table has to be stored in the WAVEFORM Registers.
   This array consists of non-replicated waveform descriptors and acts as a 
   waveform table. 
 */
CyU3PGpifWaveData CyFxGpifWavedata[]  = {
    {{0x1E738C01,0x00000000,0x80000000},{0x00000000,0x00000000,0x00000000}},
    {{0x2E716C02,0x00000100,0x800000A0},{0x00000000,0x00000000,0x00000000}},
    {{0x2E728B06,0x20000102,0x80000060},{0x00000000,0x00000000,0x00000000}},
    {{0x1E738C04,0x00000000,0x80000000},{0x00000000,0x00000000,0x00000000}},
    {{0x2E716C05,0x00000100,0x800000A0},{0x00000000,0x00000000,0x00000000}},
    {{0x2E726B07,0x24000102,0x80000090},{0x00000000,0x00000000,0x00000000}},
    {{0x2E726B07,0x24000102,0x80000090},{0x1E739408,0x00000006,0x80000000}},
    {{0x2E728B06,0x20000102,0x80000060},{0x1E739309,0x00000006,0x80000000}},
    {{0x3E718B0A,0x00000108,0x80000000},{0x3E718B0B,0x00000108,0x80000000}},
    {{0x3E718B0C,0x00000108,0x80000000},{0x3E718B0D,0x00000108,0x80000000}},
    {{0x2E728B06,0x20000102,0x80000060},{0x3E739E0E,0x00000000,0x80000100}},
    {{0x2E726B07,0x24000102,0x80000090},{0x3E739E10,0x00000000,0x80000100}},
    {{0x2E726B07,0x24000102,0x80000090},{0x3E739E0F,0x00000000,0x80000100}},
    {{0x2E728B06,0x20000102,0x80000060},{0x3E739E11,0x00000000,0x80000100}},
    {{0x1E739E12,0x00000000,0x80000000},{0x00000000,0x00000000,0x00000000}},
    {{0x1E739E13,0x00000000,0x80000000},{0x00000000,0x00000000,0x00000000}}
};

/* Summary
   Table that maps state indices to the descriptor table indices.
 */
uint8_t CyFxGpifWavedataPosition[]  = {
    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,15,3,0
};

my cyfxgpif2config.h

 

/* Summary
   Number of states in the state machine
 */
#define CY_NUMBER_OF_STATES 15

/* Summary
   Mapping of user defined state names to state indices
 */
#define START 0
#define IDLE 1
#define WAIT_FOR_FRAME_START 2
#define PUSH_DATA_SCK0 3
#define PUSH_DATA_SCK1 4
#define LINE_END_SCK0 5
#define LINE_END_SCK1 6
#define WAIT_TO_FILL_SCK0 7
#define WAIT_TO_FILL_SCK1 9
#define WAIT_FULL_SCK0_NEXT_SCK1 8
#define WAIT_FULL_SCK1_NEXT_SCK0 10
#define PARTIAL_BUF_IN_SCK0 11
#define PARTIAL_BUF_IN_SCK1 12
#define FULL_BUF_IN_SCK0 13
#define FULL_BUF_IN_SCK1 14

/* Summary
   Initial value of early outputs from the state machine.
 */
#define ALPHA_START 0x0

/* Summary
   Transition function values used in the state machine.
 */
uint16_t CyFxGpifTransition[]  = {
    0x0000, 0x5555, 0x8888, 0xAAAA, 0x3333
};

/* Summary
   Table containing the transition information for various states. 
   This table has to be stored in the WAVEFORM Registers.
   This array consists of non-replicated waveform descriptors and acts as a 
   waveform table. 
 */
CyU3PGpifWaveData CyFxGpifWavedata[]  = {
    {{0x1E738C01,0x00000000,0x80000000},{0x00000000,0x00000000,0x00000000}},
    {{0x2E716C02,0x00000100,0x800000A0},{0x00000000,0x00000000,0x00000000}},
    {{0x2E728B03,0x20000102,0x80000060},{0x00000000,0x00000000,0x00000000}},
    {{0x2E726B04,0x24000102,0x80000090},{0x1E739405,0x00000006,0x80000000}},
    {{0x2E728B03,0x20000102,0x80000060},{0x1E739306,0x00000006,0x80000000}},
    {{0x3E718B07,0x00000108,0x80000000},{0x3E718B08,0x00000108,0x80000000}},
    {{0x3E718B09,0x00000108,0x80000000},{0x3E718B0A,0x00000108,0x80000000}},
    {{0x2E728B03,0x20000102,0x80000060},{0x0000000B,0x00000000,0x80000100}},
    {{0x2E726B04,0x24000102,0x80000090},{0x0000000D,0x00000000,0x80000100}},
    {{0x2E726B04,0x24000102,0x80000090},{0x0000000C,0x00000000,0x80000100}},
    {{0x2E728B03,0x20000102,0x80000060},{0x0000000E,0x00000000,0x80000100}},
    {{0x00000000,0x00000000,0x00000000},{0x00000000,0x00000000,0x00000000}}
};

/* Summary
   Table that maps state indices to the descriptor table indices.
 */
uint8_t CyFxGpifWavedataPosition[]  = {
    0,1,2,3,4,5,6,7,8,9,10,11,11,11,11
};

If documents and generate examples are not synchronize,CY_NUMBER_OF_STATES number is not the same

According to document steps to generate 8 bit doesn't work,but an75779.zip example can work fine,

please help,thanks


Viewing all articles
Browse latest Browse all 153

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>