6.3.6. 常见问题¶
6.3.6.2. 画面不够流畅¶
6.3.6.2.1. 现象¶
界面显示的摄像头画面有明显卡顿情况。
6.3.6.2.2. 原因分析¶
很可能是OS的调度不够及时导致,导致DVP的帧采集不连续。
6.3.6.2.3. 解决方法¶
如果DVP驱动中的调试信息打开了,每一帧数据处理都有输出log,会影响帧率,需要关掉。提升log级别即可。
尝试增加test_dvp中的buffer数量,保证buf队列中有充裕的空闲buf。
6.3.6.3. 画面被矩形切割¶
6.3.6.3.2. 原因分析¶
摄像头内部会根据CLK_OUT产生一个pixclk,
pixclk的驱动能力有上限值,由驱动芯片决定
pixclk的频率值由分辨率、帧率决定,分辨率、帧率越高需要的pixclk也越高
相应的, pixclk的频率值越高,要求驱动能力也要越高
比如D13x开发板上驱动芯片只能支持pixclk到最高50MHz,如果预期的pixclk超出50MHz就会导致同步信号发生异常,于是画面出现不对齐的情况。
6.3.6.3.3. 解决方法¶
调低摄像头驱动中的帧率、分辨率配置。以OV5640为例,可调整以下配置参数(详见drv_ov5640.c):
/* Format configuration of OV5640 */
#define OV5640_MODE OV5640_MODE_PAL_720_576
#define OV5640_FPS OV5640_24_FPS