CX3 raw pixel packing and DATA_COUNT

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

cross mob
Anonymous
Not applicable

My sensor has 1600 pixels/line. Each pixel is 8 bit. My understanding is that if I set MIPI receiver to deserialize data into RGB888 format, then the bus will be 24-bit wide (three pixels per clock will be transferred). Under these assumptions, what is correct value for DATA_COUNT? 1600 is not divisible by 3.

Please advise,

0 Likes
1 Solution
Anonymous
Not applicable

Hi,

There is a limitation in CX3. Your line size (In number of bytes) should be exactly divisible by 3. This is because the MIPI block's internal buffer can not pad zeros and send the additional 8-bit pixel to align with 24-bit bus width.

To answer your question, we have seen that the DATA_COUNT is unpredictable in such cases and it becomes very hard to debug. So your sensor should send 1599/1602 pix in a line as this is divisible by 3.

Also note that you can use a 2-byte format like UYVY and hence you will not have such issues as the line width (1600) is divisible by 2. But the only drawback is that the max. throughput will be 2*100 MBps as the max clock is 100MHz and not 300MBps (When you use RGB888 format, 3 bytes per clock).

Regards,

Savan

View solution in original post

0 Likes
1 Reply
Anonymous
Not applicable

Hi,

There is a limitation in CX3. Your line size (In number of bytes) should be exactly divisible by 3. This is because the MIPI block's internal buffer can not pad zeros and send the additional 8-bit pixel to align with 24-bit bus width.

To answer your question, we have seen that the DATA_COUNT is unpredictable in such cases and it becomes very hard to debug. So your sensor should send 1599/1602 pix in a line as this is divisible by 3.

Also note that you can use a 2-byte format like UYVY and hence you will not have such issues as the line width (1600) is divisible by 2. But the only drawback is that the max. throughput will be 2*100 MBps as the max clock is 100MHz and not 300MBps (When you use RGB888 format, 3 bytes per clock).

Regards,

Savan

0 Likes