- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM的紧凑型图像采集系统.doc
基于ARM的紧凑型图像采集系统
0V7620是一种CMOS图像传感器,它被广泛应用在网络摄像头、摄像手机等产品中。由它组成的图像采集系统,比较常见的设计方法为OV7620搭配OV5ll+或CPLD/FPGA。OV511+或CPLD/FPGA采集的图像数据通过USB总线或双端口RAM输出到PC或MCU(ARM、DSP等),由PC或MCU对图像数据进行进一步的处理。本文所设计的图像采集系统仅用一个ARM芯片就实现了OV7620的功能控制、时序同步、数据采集与处理等功能,系统结构紧凑、实用。
1 硬件结构
OV7620是CMOS彩色/黑白图像传感器。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664492,帧速率为30fp8;数据格式包括YUV、YCrCb、RGB三种,能够满足一般图像采集系统的要求。
OV7620内部可编程功能寄存器的设置有上电模式和SCCB编程模式。本系统采用SCCB编程模式,连续扫描,16位RGB数据输出。系统硬件结构框图如图1所示。
ARM芯片选用具有ARM7TDMI内核的LPC2210,通过LPC2210的GPIO模拟SCCB总线协议,控制O? V7620的功能寄存器。使用LPC2210的3个中断引脚引入OV7620的图像输出同步信号VSYNC、HSYNC、PCLK,以中断方式同步图像数据输出。OV7620的YUV通道输出的16位并行数据通过LPC2210的高16位数据线接入。SST39VF160和IS61LV25616AL为扩展的Flash和SRAM,分别用作程序存储器和数据存储器。
2 具体实现
2.1 OV7620的功能控制
OV7620的控制采用SCCB(SeriaI Camera ControlBus)协议。SCCB是简化的I2C协议,SIO-l是串行时钟输入线,SIO-O是串行双向数据线,分别相当于I2C协议的SCL和SDA。SCCB的总线时序与I2C基本相同,它的响应信号ACK被称为一个传输单元的第9位,分为Don’t care和NA。Don’t care位由从机产生;NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’t care响应信号。
由于I2C和SCCB的一些细微差别,所以采用GPIO模拟SCCB总线的方式。SCL所连接的引脚始终设为输出方式,而SDA所连接的引脚在数据传输过程中,通过设置IODIR的值,动态改变引脚的输入/输出方式。SCCB的写周期直接使用I2C总线协议的写周期时序;而SC-CB的读周期,则增加一个总线停止条件。
OV7620功能寄存器的地址为0x00~0x7C(其中,不少是保留寄存器)。通过设置相应的寄存器,可以使OV7620工作于不同的模式。例如,设置OV7620为连续扫描、RGB原始数据16位输出方式,需要进行如下设置:
I2CSendByte()为写寄存器函数,它的第1个参数OV7620为宏定义的芯片地址0x42,第2个参数为片内寄存器地址,第3个参数为相应的寄存器设定值。
2.2 OV7620时钟同步
OV7620有4个同步信号:VSYNC(垂直同步信号)、FODD(奇数场同步信号)、HSYNC(水平同步信号)和PCLK(像素同步信号)。当采用连续扫描方式时,只使用VSYNC和HSYNC、PCLK三个同步信号,如图l所示。时为检测OV7620扫描窗口的有效大小,还引入了HREF水平参考信号。
LPC2210的3个外部中断引脚分别作为3个同步信号的输入,相应的中断服务程序分别为Vsync_IRQ()、Hsync_IRQ()和Pclk_IRQ()。在内存中定义一个二维数组存储图像数据,一维用变量y表示,用于水平同步信号计数;二维用变量x表示,用于像素同步信号计数。图像采集的基本流程为:当用SCCB初始化好OV7620后,使能VSYNC对应的中断,在Vsync_IRQ()中断服务程序中判断是否已取得一帧数据。若是,则在主程序的循环体中进行数据处理;若不是,则使能HSYNC对应的中断,并将y置为O。在Hsync_IRQ()中断服务程序中,判断HREF的有效电平,若有效,则y加1,x置为O,并使能PCLK对应的中断。在Pclk_IRQ()中断服务程序中,判断HREF的有效电平,若有效,则z增加,同时采集一个像素点的图像数据。2.3 图像数据的输出速度匹配
在OV7620的3个同步信号中,PCLK的周期最短。当OV7620使用27 MHz的系统时钟时,默认的PCLK的周期为74 ns。而LPC2210的中断响应时
文档评论(0)