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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

1,347 次查看
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 项奖励
回复
4 回复数

1,166 次查看
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 项奖励
回复

1,166 次查看
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 项奖励
回复

1,166 次查看
Yuri
NXP Employee
NXP Employee

Hello,

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

Regards,

Yuri.

0 项奖励
回复

1,166 次查看
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 项奖励
回复