基于USB2.0的高分辨率数字摄像头设计
基于USB2.0的高分辨率数字摄像头设计
摘要:介绍了一种基于USB2.0协议的高分辨率数字摄像
头,并给出了利用CMOS图像传感器OB9620和USB控制器
CY7C68013设计高分辨率数字摄像头的基本硬件电路以及
软件设计
。
关键词:USB2.0;I2C;摄像头;OV9620
, 概述
目前,能够传输高品质视频信号的两种总线接口(,,,
和,,,, ,,,,接口)都支持即插即用,且具有易扩
展、使用方便等特点。但是,,,, ,,,,接口的价格
相对较高,因此,当前采用更多的是,,,接口。 ,,,的数据传输有,种模式:块传输(,,,, ,,,,,,,,,)、中断传输(,,,,,,,,, ,,,,,,,,,)、同步传输(,,,;,,,,,,, ,,,,,,,,,)、控制传输(,,,,,,, ,,,,,,,,,)。当需要快速传输大批量的准确数据时,一般采用块传输模式;而当传输实时性较强的数据时,则应采用中断传输模式。现在的,,,,(,
在原有的低速模式(,,, ,,,,,) ,(,,,,,、全速模式(,,,,
,,,,,) ,,,,,,的基础上又支持高达,,,,,,,的高速模式(,,,, ,,,,,),从而使,,,总线真正成为能满足高速应用场合的
连接总线。在,,,,(,中,每毫秒可发送,,,,微帧,这比,,,,(,的传输速率有了极大的提高,同时对缓存的要求也大大降低了。,,,,(,向下完全兼容,协议规定,在全速模式和低速模式下,主机控制器和,,,之间也可以进行高速传输,但是,,,和外设之间仍然保持原有传输模式,这样可以使
设备在分享带宽时冲突最小。
, 硬件电路
本系统选用,,,,,,,,,, ,,;,,,,,,,,, ,,;(公司的,,,,,,作为视频信号的采集芯片,用,,,,,, ,,,作为,,,控制芯片并为,,,,,,提供工作时钟,,,,,,,使用,,,,,,,通过,,,总线连接所有芯片。硬件连接框图见图,
所示。
,(, ,,,,,,的主要特性
,,,,,,是美国,,,,,,,,,,公司为数字照相机和摄像机产品开发的高性能,,,万像素彩色,,,,数字图像传感器芯片。与传统的,,,传感器相比,,,,,最明显的优势是集成度高、功耗小、生产成本低,容易与其他芯片整合。该款芯片的图像总区域为,(,,×,(,,,,,,成像区域为,(,,×,(,,,,,,非常有利于产品的小型化。 该芯片支持,,,,(,,,,×,,,,分辨率)和,,,(,,,×,,,分辨率)两种模式和,,,,(,,,,,, ,,,,,, ,,,,,,, ,,,)接口,使用,,,,,晶振,内置,,位,,,转换器,能提供,,位数字视频信号。另外该芯片还可输出像素时钟以及行、场同步信号,并可以直接与专用集成电路系统连接,其后端系统可以通过,,,,接口来控制。可利用,,,,(,控制器,在,, ,(,,以上系统中提供,,,,,的,,,,或,,,,,的,,,动态影像。该芯片采用,,,,,滤光阵列把输入光信号分解成,,,三原色,像素阵列有,,,,×,,,,,,,,,,,,个,成像像素有,,,,×,,,,,,
,,,,,,个。不成像像素可作为光学黑体像素用作黑值校准以补偿由光线引起的温度变化和
暴光变化。
芯片中使用的,,,,接口是,,,,,,,,,,公司制定的一种用于控制图像传感器的三线连续总线(,,,、,,,,、,,,,),其中,,,用于实现片选(低电平有效),当芯
片被选中后,,,,,、,,,,在功能及使用上和,,,总线兼容。 另外,,,,,,,还提供了一个控制信号输入端(,,,,),可用于实现掉电模式的开关。在本设计中,因为,,,,,,与其他芯片同时工作,因此,没有采用片选而是由,,,, 来
实现控制。
,(, ,,,,,, ,,,的主要特点
,,,,,, ,,,(即,,,,,,,,,)是,,,,,,,公司为高速传输外设设计的,,,,(,控制芯片。该芯片内含,个增强型,,,,处理器、,个串行接口引擎(,,,)、,个,,,收发器、,(,,,片上,,,、,,, ,,,,存储器以及,个通用可编程接口
(,,,,)。
,,,采用量子,,,,处理构架,其,,,接口和应用环境可以直接共享,,,,,而微控制器则可不参与数据传输但允许以,,,,或,,,方式访问这些共享,,,,,这样,就较好地
解决了,,,高速模式的带宽问
。
,,,有一个,,,兼容端口,当,,,作为主控制器,,,,时钟频率为,,,,,,,,,,,时,该端口兼容,,,总线。一般情况下,该端口由两个内部控制器驱动:一个在程序加载时自动读取,,,,,,,,,,,和配置信息;另一个是芯片中的,,,,,一旦开始运行,,,,,利用芯片中的,,,,,和,,,,,寄存器控制挂接在,,,总线上的外围设备。具体来说,系统上电时,,,,会通过内部逻辑监测,,,端口,如果发现有地址为,,,, 或者是,,,,的,,,,,,,便在,,,,,,内部存储空间,,,,使用,,,,,,,,
,,,值或者把,,,,,,的内容加载到内部,,,中。
,(, 电路原理及设计
设计中可使用,,,总线实现,,,控制器与图像传感器的连接,并选用,,,,,,(,,,,,,)作为代码存储器,然后通过,,,的,,方式加载固件程序。系统上电复位后,处于主模式的,,,控制器将通过,,,输出启动信号,并经反向后传到图像传感器的,,,,,以使处于从模式的图象传感器开始工作。,,,,提供像素时钟,,,,,提供水平同步信号,,,
,,,提供垂直同步信号。这两个同步信号与图像数据的时序关系如图,所示。
,,,,,会在一帧图像传输到控制器后触发,,,,中断。因为数据量太大,本设计没有在,,,,中断服务子程序中进行全部的数据处理,而是设置了一个标志位,并通过标志位的状态来在主程序中进行处理,这样就避免
由于数据处理时间太长而使控制器无法响应其它中断。 ,,,控制器的,,,,处于从模式。控制器的端点设置为,,,—,,,
四重缓存;,,,,,,,四重缓存,块传输模式。这样的设置可以满足
系统要求。
, 接口程序设计
,,,,,, ,,,提供了丰富的中断资源,除内置,,,,中断资源外,,,,还为,,,,和,,,,提供了一个中断向量表,表中有,,个 ,,,,(,,,)中断向量和,,个,,,,中断向量。因此,在设计中,大部分工作都可通过中断服务子程序来完成。图,、图,分别是主程序
和,,, ,,,中断服务子程序的流程图。 同,,,,,,系列的其它控制器一样,,,,,,,,公司也为,,,提供了比较完备的开发套件,,,,,,。这个套件包括带,,,脚,,,,,,,,,的硬件开发板和相应的控制面板以及,,,,代码自动生成软
件。因此可以非常方便地实现固件的开发。 ,,,设备驱动程序的设计是基于,,,(驱动程序模型)并采用分层模型来进行。应用程序通过调用,,,,,,, ,,,函数来进行的对,,,,,子系统进行,,,,,调用,并通过,,,管理器产生,,,(,,,请求包),然后传递给,,,驱动程序,接着再由驱动程序执行相应的操作,并将结果返还给,,,管理器。用,,,,,,,,,,,可设置整个系统的回调例程,当添加一个新设备和,,,需要发送到驱动程序时,通过内核可调用这些例程。下面是,,,,,,,,,,,例程的简要内容: ,,,,,,,,,,;,,,,,,,,,,,,,,,,,,,,,
,,,,,,;,,,;,,,,,,,,,,,,;,; ,,,,,,,,,,;,,,,,,,,,,,,,,,,,;,,,
,,,,,,,,;
,,,,,,,,,,;,,,,,,,,,,,;,,,,[,,,_,,_,,,,,,],
,;,,,,,,,,,,;
,,,,,,,,,,;,,,,,,,,,,,;,,,,[,,,_,,_,,,,,], ,
,,,,,,,,,,;,,,,,,,,,,,;,,,,[,,,_,,_,,,,],,;
,,,,,,,,,,;,,,,,,,,,,,;,,,,[,,,_,,_,,,,,],,
……
实际上,,,,客户驱动程序中包含大量的例程,也对,,,,,,, ,,,工具下开发,,
,客户驱动程序的方法和过程作了详细的介绍。
, 小结
目前,笔者已经开发出样品,并且在一些应用程序上进行过测试,获得了很好的效果,其分辨率
高达,,,,×,,,,。