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