天下的乌鸦一般黑!
不同厂家的图像传感器,驱动采集方式,不尽相同,无非是初始化接口是IIC还是SPI,视频接口是DVP还是LVDS还是MIPI,最后转成数字后都是逐行扫描的像素时序方式,以及色彩的还原方式等,因此,万变不离其宗!
这里依然选用个人设计的,4款成熟稳定的摄像头:OV7725、OV5640、MT9V034、AR0135。由于前面已经设计好了DDR3_Control_2Por模快,那么显示和存储都已经搞定,就差采集这一块了。基于OV7725的图像采集系统,在我的《FPGA设计技巧与案例开发详解》中已经无比极其详细的描述了,因此在这里主要阐述摄像头的驱动框架,以及不同摄像头的驱动差异等。这里还是以OV7725/OV5640为例,框图如下所示:
1)首先提供27MHz像素时钟后,采用i2c_timing_ctrl模块完成OV7725/OV5640的初始化,初始化参数从I2C_OV7725_RGB565_Config获取。
2)待Senor初始化完成后,COMS_Capture_RGB565负责OV7725/OV5640 RGB565视频数据的采集,并转换为RGB888输入给DDR3_Control_2Port模块(设计接口按照32bit,冗余8bit)。