ARM9平台下的CMOS图像传感器数据采集系统
来实现图像传感器到DRAM的数据传输。可以使用帧同步信号VSYNC来作为主控制器的一个中断输入信号,以初始化DMA控制器,用水平同步信号HREF作为一个外部中断输入信号,以统计每行数据的输出,用输出数据同步信号PCLK作为DMA传送的请求信号(Request),以请求传输一个像素的数据信息。连接电路如图4所示。
3.3 IIC总线接口模块
CMOS图像传感器目前普遍采用IIC总线功能集中的一个子集,因此该接口比一个完整的主IIC总线更简单。硬件连接只需将OV7141的SIO_C、SIO_D分别与S3C2410的SCL、SDA相连皆可,见图4。
IIC总线由双向数据线SDA和时钟线SCL组成,用户使用集电极开路门以"线与"方式进行总线连接。IIC总线的通信协议见图5,包括开始信号、结束信号、应答信号和数据有效等状态。当SCL持续为高电平时,SDA由"1"跳变到"0",表示开始信号;当SCL持续为高电平时,SDA由"0"跳变到"1",表示结束信号;在数据传输过程中,SDA在时钟高电平时有效,低电平时更换数据。开始和结束信号均由主IIC产生,通过SDA传输的数据以字节(8 bit)为单位,高位在前,低位在后,在每个字节后面由接收端发送一个低电平的应答信号。
其读写周期如下:当要进行IIC总线写操作时,先发送所使用的CMOS传感器特定ID写地址,紧接着发送需要写的寄存器的地址(sub_address),再发送数据(data);当进行IIC总线读操作时,先发送所使用的CMOS传感器特定ID写地址,紧接着发送需要写的寄存器的地址(sub_address),再发送CMOS传感器特定ID读地址,最后接收数据(data)。对于不同的CMOS传感器,它们的ID地址是不同的。OV7141为42H(写),43H(读)。
4 CMOS图像传感器的软件驱动设计
CMOS图像传感器需要控制器S3C2410的驱动才能正常工作,并输出正确的图像数据。为了实现CMOS传感器和主存储器(DRAM)之间的快速传输,可以采用DMA方式。DMA是一种快速传送数据的机制,它不需要CPU的参与而实现高速外设和主存储器之间自动成批交换数据的操作方式。由于处理端采用的是S3C2410,DMA、中断以及IIC总线接口都已经集成在控制器内部,因此,整个软件驱动只需要完成两个功能模块的设置:对主控制器S3C2410的设置;通过SCCB口对OV7141的设置。
4.1 对主控制器S3C2410的设置
a) 设置DMA的源地址为控制总线驱动器的那一个地址,每一次传输该地址值不变化;
b) 设置DMA的目标地址为要保存图像数据的内存区域的起始地址,每一次传输该值加1;
c) 设置DMA的计数器为有效窗口的像素数的个数;
d) 设置DMA中断为软件触发,且设置PCLK、VSYNC、HREF为外部中断触发信号,以控制图像数据的输出。
4.2 通过SCCB接口对OV7141的设置
a) 读OV7141的1C、1D寄存器,判断芯片是否正常;
b) 设置13寄存器为0x07,允许AGC,允许白平衡;
c) 设置14寄存器为0x00,设置有效窗口为640×480像素(VGA);
d) 设置17、18、19、lA寄存器,设置HREF和VSYNC信号的起始与停止;
e) 设置28寄存器为0x60,设置为黑白模式和逐行扫描模式。
5 实验与讨论
本系统中,图像传感器的时钟由外接24 MHz的晶振供给,主控制器S3C2410工作频率为200 MHz,CMOS图像传感器OV7141工作于逐行扫描方式,图像采集窗口为640×480像素,数据保存在系统中一片SDRAM中。实验表明,系统每秒能稳定采集到15帧图像数据。若要提高图像采集的速率,可以再加入一块双端口SDRAM作为数据输出缓存,这样速率有所提高,但双端口SDRAM价格较贵,或者选用能工作于更高工作频率的主控制器也能提高采集速率。
本设计是基于32位处理器的嵌入式图像采集系统。设计中直接将主控制器S3C2410与图像传感器连接,再加上一些存储芯片,构成一个简单的图像采集系统,因而与其他大多数基于PC机的图像采集系统相比具有结构简单、成本低、体积小、功耗低、通用性好等优点,特别适合一些对体积、成本、功耗有较高要求的应用,如目前市场上的指纹识别系统等。因此,该系统具有广泛的应用价值和一定的研究意义。
- 数字电视条件接收卡SoC SM1658的硬件结构及实现方法(下)(09-07)
- 谈关于非编网络的管理及其维护(下)(10-02)
- 基于DSP与双目CMOS摄像头的数字图像处理系统(10-06)
- MS6335+MS6863 : 面向便携式设备的低成本立体声切换方案(10-13)
- TI产品技术分析锦集(11-09)
- 四种新型高清显示技术优劣对比 (11-30)