iMX6Q - is IDMAC always blocking memory while IPU is receiving MIPI RAW data?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6Q - is IDMAC always blocking memory while IPU is receiving MIPI RAW data?

646 Views
raymondman
Contributor II

Hi,

I am using iMX6Q to receive the RAW data from OV8865 at 15fps on the kernel version 3.0.35_4.1.0 . I want to do some memory movement to construct a bitmap from the RAW data though the image quality is not good. The process takes ~20ms if the sensor is not operating. However, it becomes ~146ms when the sensor is taking photo. The MIPI signal lines show that the data transfer takes ~57ms out of 73ms of the frame. It seems that the memory movement code can be processed during the time the IPU is not receiving data, i.e. 73ms-57ms, or 16ms. Then it can explain that why my code takes ~146ms, or 2 frame duration, in the case that the sensor is working. I also try using different CPU to do the memory movement but of no use.

As the data size from the sensor is 1.2MB per frame, it seems unreasonable that the IDMAC occupy the memory bus all the time during the data transfer. Am I setting something wrong in IPU? Can anyone have hints on this?

0 Kudos
4 Replies

465 Views
Yuri
NXP Employee
NXP Employee

Hello,

  Looks like this is just a system / memory performance issue.

Most operations, if non-cached, uses memory bandwidth.

You may run MMDC Profiling tool  to define if the issue relates to memory

throughput.

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

465 Views
raymondman
Contributor II

Hi Yuri,

Yes, it's memory performance issue. Thanks for your advice.

I encounter another problem. The conversion process from RAW to JPEG is 50~60ms if it's the only process to run or one more SPI process is running to receive data from a sub-system. However, if two SPI channels are receiving data from two sub-systems, the conversion time will extend to 80~90ms. Two SPI processes are running on 2 differenct CPUs. Do you have any advice?

Regarding the MMDC Profiling tool, I found in the below thread that I may create service request at www.freescale.com

I.MX6 DDR throughput test

Can you tell more in detail?

Thanks and regards,

Raymond

https://community.nxp.com/thread/330874#436879" title="https://community.freescale.com/thread/330874...

0 Kudos

465 Views
Yuri
NXP Employee
NXP Employee

Hello,

  as for SPI -related processes : please check if they use DMA.

Regards,

Yuri.

0 Kudos

465 Views
Yuri
NXP Employee
NXP Employee

Hello,

If you need to enter a new request :

How to submit a new question for NXP Support

Regards,

Yuri.

0 Kudos