- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good Day!
OV4689 sensor + your CX3 chip + libraries 1.3.4. I work on Linux.
Sensor:
/* EXTCLK 24 MHz
* SCLK 120 MHz
* MIPI_CLK 150 MHz
* MIPI_PCLK 30 MHz
* MIPI lane 4
* cropping 2688*1520 -> 1280*960 | binning 2*2 = 640*480
* fps 60
* RAW10
*/
CX3
/*
* PLL_CLK = 152
* CSI RX LP<->HS = 38
* PCLK = 38
* GPIF 16bit
*/
CyU3PMipicsiCfg_t cfgMIPI_640_480_60_NoMclk = {
CY_U3P_CSI_DF_RAW10,
4, //num lane
0x1, //PLL_PRD
27, //PLL_FBD
CY_U3P_CSI_PLL_FRS_125_250M, //PLL_FRS
CY_U3P_CSI_PLL_CLK_DIV_4, //csiRxClkDiv
CY_U3P_CSI_PLL_CLK_DIV_4, //parClkDiv
0, //mClkCtl
CY_U3P_CSI_PLL_CLK_DIV_4, //mClkRefDiv
640, //640
0
};
I use a low speed MIPI to watch the oscilloscope what is happening there ( it is unrealistic to parse such a number of packets, but when it is nice to see that it is alive:) )
When I pass a static image(without MIPI) everything works.
Problem:
1.Hangs, I suspect that when calling CyU3PDmaMultiChannelGetBuffer(chHandle, &Dma Buffer, CYU3P_NO_WAIT); (but this is not accurate).
The DMA runs several times (usually 2 or 3) on the full packet(CY_FX_VS_STREAM_BUF_SIZE (12800) CY_FX_VS_STREAM_BUF_COUNT (5)) and the processor freezes.
I use A mini 500 MS restart timer. When I play with the CyU3PMipicsiSetPhyTimeDelay settings, it happens that I receive packets of not full length of about 1400bytes and then for some reason there are no freezes , but a bunch of errors on MIPI. And when you configure everything correctly(as I think), the processor freezes(after several packets) and even the timer does not help.
what can this be related to ?
2. GPIF sometimes throws out undescribed States 131 and 132 ( CX3_INVALID_GPIF_STATE (257))
what do these States mean ??
3. CyU3PMipicsiSetPhyTimeDelay - what values is thsSettleDelay set in ns or CSI Link LP<->HS CLK
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
1.Hangs, I suspect that when calling CyU3PDmaMultiChannelGetBuffer(chHandle, &Dma Buffer, CYU3P_NO_WAIT); (but this is not accurate).
>> Please share the debug prints.
>>Also confirm that you are using the default project created by the CX3 Configuration Utility as per this KBA Steps to Setup up MIPI CSI Camera Solution with CX3 – KBA225748
>> Please probe the HSYNC, VSYNC and PCLK test points on CX3 and share the traces. Please refer to question 10 of CX3 Hardware: Frequently Asked Questions - KBA91295
2.GPIF sometimes throws out undescribed States 131 and 132 ( CX3_INVALID_GPIF_STATE (257))
what do these States mean ??
>> These are the mirror states. you can read about mirror states in the Programmers manual (in SDK). If state 3 is having mirror state the state ID will be (128+3= 131). Please refer to answer of this thread Find GPIF2 mirror state IDs
3. CyU3PMipicsiSetPhyTimeDelay - what values is thsSettleDelay set in ns or CSI Link LP<->HS CLK
PHY time delay value= {[THS_Prepare(in ns) + (THS_Zero(in ns)/2)] ÷ [(1÷(CSI RX LPß à HS Clock(MHz) ×1000)] }-1
For more details refer to this KBA
Analysis of CX3 Video Timing Parameters – KBA226779
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
1.Hangs, I suspect that when calling CyU3PDmaMultiChannelGetBuffer(chHandle, &Dma Buffer, CYU3P_NO_WAIT); (but this is not accurate).
>> Please share the debug prints.
>>Also confirm that you are using the default project created by the CX3 Configuration Utility as per this KBA Steps to Setup up MIPI CSI Camera Solution with CX3 – KBA225748
>> Please probe the HSYNC, VSYNC and PCLK test points on CX3 and share the traces. Please refer to question 10 of CX3 Hardware: Frequently Asked Questions - KBA91295
2.GPIF sometimes throws out undescribed States 131 and 132 ( CX3_INVALID_GPIF_STATE (257))
what do these States mean ??
>> These are the mirror states. you can read about mirror states in the Programmers manual (in SDK). If state 3 is having mirror state the state ID will be (128+3= 131). Please refer to answer of this thread Find GPIF2 mirror state IDs
3. CyU3PMipicsiSetPhyTimeDelay - what values is thsSettleDelay set in ns or CSI Link LP<->HS CLK
PHY time delay value= {[THS_Prepare(in ns) + (THS_Zero(in ns)/2)] ÷ [(1÷(CSI RX LPß à HS Clock(MHz) ×1000)] }-1
For more details refer to this KBA
Analysis of CX3 Video Timing Parameters – KBA226779
Regards,
Rashi
Rashi