Can I use CX3 for my application

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
hadi
Level 1
Level 1
First reply posted First question asked Welcome!

Hello, 

 

I am trying to build a ToF camera using a sensor supplied by Vendor X (sorry not sure if I can disclose per NDA terms). I was reading the CX3 datasheet and am a bit confused about this line, 

" CX3 conforms to the MIPI CSI-2 specification (version 1.01) and supports up to four data lanes with speed up to 1 gigabits per second (Gbps) per lane for a total bandwidth of 2.4 Gbps."

What does this really mean? Does it mean each MIPI lane can only run at 600Mbs or is the problem somewhere else down the line for example at the GPIF block? Does the GPIF block have enough buffer to handle 4Gbs per second coming in and then send the data out with a bandwidth of 2.4Gbs?

A little bit about the sensor I am using,

The sensor puts out 9 Raw frames that need to be combined at the hose to create a depth frame. The typical timing data and MIPI timing of the 9 raw frames looks like image below, 

hadi_0-1633045119173.png

 

Also here is the MIPI frame structure if it helps,

Screen Shot 2021-09-30 at 4.39.17 PM.png

Also here is some information about the data amount being transferred, 

Frame Width 512 Pixels
Frame Height 512 Pixels
Integration Time 120 usec
Number of MIPI frames 9
Number of data packets per MIPI frame 8
MIPI data packet size 49,152 bytes
Number of pixels per RAW12 data packet 32,768
Total transmitted data 3,538,944 bytes
Interval between MIPI frames ~1.1 ms
Instantaneous raw frame rate ~910 FPS

 

I am hoping the CX3 is able to handle such data traffic through its MIPI lanes and be able to send the raw data out its USB3 line to be processed on our host PC. I appreciate if someone from the Cypress application team can reach out to me to discuss this more in detail. 

0 Likes
1 Solution
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Please find my comments for your questions below:

1. Is there any way to improve this GPIF performance? can it be run at a faster clock speed?

>> No, the maximum supported data rate is 2.4Gbps on the GPIF side. This cannot be increased further.

2. This sensor is expected to be transmitting data around 900Mbs per lane during the readout period, is there enough buffering at the GPIF DMA inputs to hold this data while it is being sent out at 600Mbs?

>> The default memory map of CX3 supports around 220KB of memory in total for the application to allocate the DMA buffers. This space is used for storing the data sampled by the GPIF II block. Normally, the DMA buffers are used in ping pong mechanism with each buffer being 16/24/32KB each. You can find more information on ping pong mechanism in the following application note:

https://www.cypress.com/file/123506/download

3. Anyone else has tried running similar ToF sensors with this chip that you know of?

>> Please refer to the accepted solution of the following thread which is similar to this question:

https://community.cypress.com/t5/USB-Superspeed-Peripherals/How-to-set-CX3-mipi-receiver-configurati...

As mentioned in the above thread, CX3 Configuration tool supports only one video blanking period (according to MIPI spec). But in this case, I find that there are line blanking, idle time and frame blanking periods. CX3 tool will support only one line blanking and one frame blanking. These timings should be same throughout the video stream.

In addition to this, CX3 requires a minimum of 500us frame blanking.

You can refer to the following KBA to understand more on CX3's video timing parameters:

https://community.cypress.com/t5/Knowledge-Base-Articles/Analysis-of-CX3-Video-Timing-Parameters-KBA...

Best Regards,
Jayakrishna

View solution in original post

0 Likes
3 Replies
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Please refer to Question 13 of the following KBA to understand the maximum data rate supported per lane when 1/2/3/4 data lanes are used in CX3 for interfacing with image sensor:

https://community.cypress.com/t5/Knowledge-Base-Articles/CX3-Firmware-Frequently-Asked-Questions-KBA...

In the following figure, does the 'Integration' correspond to line blanking and does the idle correspond to frame blanking?

JayakrishnaT_76_0-1633057315749.png

If not, then please let me know where exactly will be the line and frame blanking. Also, what exactly is this 'Instantaneous Raw frame rate'.

Best Regards,
Jayakrishna
0 Likes

Hi Jayakrishna,

frame blinking is happening during pixel "integration time" and "Idle" time and line blinking is happening between the MIPI data packets which is not shown in the diagram.  What "Instantaneous RAW frame rate" means is that if the sensor had no Idle time it would be running at ~910 frames per second. 

I read the QA post and it seems to me even though each MIPI lane can operate at 1Gbs per second, there is a bottleneck on the GPIF side that makes each MIPI lane actually look like they are running at 600Mbs. Is there any way to improve this GPIF performance? can it be run at a faster clock speed? This sensor is expected to be transmitting data around 900Mbs per lane during the readout period, is there enough buffering at the GPIF DMA inputs to hold this data while it is being sent out at 600Mbs?  anyone else has tried running similar ToF sensors with this chip that you know of?

thanks,  

0 Likes
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Please find my comments for your questions below:

1. Is there any way to improve this GPIF performance? can it be run at a faster clock speed?

>> No, the maximum supported data rate is 2.4Gbps on the GPIF side. This cannot be increased further.

2. This sensor is expected to be transmitting data around 900Mbs per lane during the readout period, is there enough buffering at the GPIF DMA inputs to hold this data while it is being sent out at 600Mbs?

>> The default memory map of CX3 supports around 220KB of memory in total for the application to allocate the DMA buffers. This space is used for storing the data sampled by the GPIF II block. Normally, the DMA buffers are used in ping pong mechanism with each buffer being 16/24/32KB each. You can find more information on ping pong mechanism in the following application note:

https://www.cypress.com/file/123506/download

3. Anyone else has tried running similar ToF sensors with this chip that you know of?

>> Please refer to the accepted solution of the following thread which is similar to this question:

https://community.cypress.com/t5/USB-Superspeed-Peripherals/How-to-set-CX3-mipi-receiver-configurati...

As mentioned in the above thread, CX3 Configuration tool supports only one video blanking period (according to MIPI spec). But in this case, I find that there are line blanking, idle time and frame blanking periods. CX3 tool will support only one line blanking and one frame blanking. These timings should be same throughout the video stream.

In addition to this, CX3 requires a minimum of 500us frame blanking.

You can refer to the following KBA to understand more on CX3's video timing parameters:

https://community.cypress.com/t5/Knowledge-Base-Articles/Analysis-of-CX3-Video-Timing-Parameters-KBA...

Best Regards,
Jayakrishna
0 Likes