DM642 CMOS图像采集
现在整理下当年的资料和调试笔记,就做了这个学习实验箱跟大家分享下经验。
想想当年走了不少弯路,光PCB打样都改了4次,焊接5~6次。还好是老板出钱
现在直接把每个模块的调试过程和经验在此贴,让后面的学弟学妹少走弯路,当然以前做过的大牛们也可以指点迷津!
I2C总线和SCCB时序是兼容的(具体区别请大家google下吧),所以DM642的I2C可以和OV9652直接相连接。
通过I2C总线读取OV9652 0x0a 和0x0b地址中的器件ID分别为0x96和0x52.
DM642视频端口:
视频接口可以工作在视频捕捉接口;视频显示接口;TSI(transport stream interface)捕捉接口三种模式。
视频接口包括两个通道A和B,可以将其缓存共5120字节分成两部分给两个通道使用,两个通道必须设定成相同的模式(capture or display)。数据分离部分将视频数据分解排列成各种格式:BT.656, Y/C, raw video, and TSI。
视频捕捉模式有五种工作方式:两通道8或10位BT656/row video;单通道8或10位bt656/row video;16或20位Y/C信号;16或20位row video;8位TSI。
对于视频显示模式没有太多区别,当工作在双通道8或10位row video方式时两个通道要同步。
视频接口FIFO :
视频接口里的FIFO用来存储进入或送出的数据,并通过DMA将数据搬运到外部或片内存储器。当DMA内的数据达到(捕捉模式)自己给FIFO设定的阈值或减到(显示模式)阈值时DMA事件产生。
DMA接口:
数据的传送通过DMA,DMA请求取决于缓存的阈值。为保证一帧的数据都被传送,阈值的大小等于传输的大小,整个帧的大小应为阈值的整数倍。
视频捕捉模式FIFO设置:
对于不同的视频捕捉模式FIFO共有四种设置,bt656模式下FIFO被分成A和B,每部分再分成YCrCb,A接收[9:0]数据,B接收[19:10]数据;8或10位raw data数据FIFO被分成A和B两部分;Y/C数据FIFO分成三部分YCrCb,[9:0]亮度信号[19:10] {MOD}度信号;16/20位raw video信号,FIFO为一个整体。
我在此选用DM642的捕捉模式
1. 垂直同步
为了正确捕捉想要采集的图像区域,有必要对行进行垂直方向的计数,根据VCTL1,可以是从视频解码器输出的消隐或场同步信号。
2. 行同步
与垂直同步类似,根据EXC和HRST配置不同行同步计数模式,模式0从消隐开始,模式1从有效开始(缺省),适合大部分信号。模式3和模式4用于从外部进入信号。
3. 场判断
通过HSYNC和VSYNC方法判断奇偶场。
4.采集边界条件
为了简化DMA传输,每64位中都不能包含两个不同的行。如果写入不满64位结束一行,下一行将从新的FIFO地址的byte0开始。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>