普通低速单片机驱动OV7670等摄像头为什么要用FIFO?

普通低速单片机驱动OV7670等摄像头为什么要用FIFO?



前段时间项目使用到一个OV7670,用的50M的Cortex_M3驱动。


买的是OV7670+AL422.直接买过来调试,上设备,还算一路顺利,没出现什么大的难题。


但使用完回头想想,一个OV7670才30RMB不到为什么还要加一个FIFO使成本增大一倍多?


问Taobao店主,答的很乱,给我的印象是加不加都可以用。


最后看OV7670的资料知道:

1 OV7670的像素时钟是模块内部给出来的

2 OV7670虽然晶振时钟只有24MHz,其实是内部倍频的(实际PCLK输出有18~25MHz左右40ns><640*480每秒30帧(640*480*2*30 = 18.432MHz)>)

50M的主频如果只是在PCLK跳变的时候把Din直接存储到内部RAM还能勉强胜任,但Cortex内部RAM没有这么多,即使RAM够用如果采集图像的时候出来一个中断也会使用时序错乱,丢数据; 当然,我相信用50M主频的单片机采集OV7670图像(一帧时间只采集再利用多帧时间处理)这样最大程度节省成本的事有人做出来不是完全不可能的。但就我个人感觉单就FIFO的操作很方便性、速度、稳定性。这几点就使我们没理由不使用。


你可能感兴趣的:(原理——图像处理)