最近在使用CX3进行相关项目开发,应用场景基于UVC AN90369,将sensor 数据通过CX3 向PC端传输,目前遇到的问题是这样的:
当我配置dmaMul
tiConfig.size=32KB,dmaMultiConfig.count=2 时,无法正常出图,CSI 模块可以正常解析HSYNC VSYNC。
当我配置dmaMultiConfig.size=54KB,dmaMultiConfig.count=2 时,可以出 1920x1280@30fpsz帧的图,但是非常不稳定,经过大概几分钟就会死机,状态机 SMstate =10 或者 SMstate =09;无法再进入DMAcb 回调函数,或者GPIFCB 回调函数。(由于前期设计没有加入JTAG设计,无法进行在线调试,所以也不确定程序运行到什么地方了。) dmaMultiConfig.size=54kb,dmaMultiConfig.count=2 是我尝试能正常工作的最大DMAbuffer 配置了,死机现象可以加大DMAbuffer 大小解决,但似乎我已经加大到最大值了。
当我修改sensor 端的配置,加大HTS ,即加大了HBLANK, 该方法也能改善,或者说解决死机问题。但是加大HTS 后,帧率达不到30fps ,无法满足我的使用需求。
我想请问,DMAbuffer 的大小和count的设置遵循什么样的规则,(我的项目中还有其他DMA通道用以传输控制命令,他们之间会有影响吗?)