工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->基础电路图->电子入门电路图->用vb和usb通信的一个实例

用vb和usb通信的一个实例

作者:dolphin时间:2011-05-03

摘要:介绍了一种基于USB2.0协议的高分辨率数字摄像头,并给出了利用CMOS图像传感器OB9620和USB控制器CY7C68013设计高分辨率数字摄像头的基本硬件电路以及软件设计方法。
关键词:USB2.0;I2C;摄像头;OV9620
1 概述
目前,能够传输高品质视频信号的两种总线接口(USB和IEEE 1394接口)都支持即插即用,且具有易扩展、使用方便等特点。但是IEEE 1394接口的价格相对较高,因此,当前采用更多的是USB接口。
USB的数据传输有4种模式:块传输(Bulk Transfers)、中断传输(Interrupt Transfers)、同步传输(Isochronous Transfers)、控制传输(Control Transfers)。当需要快速传输大批量的准确数据时,一般采用块传输模式;而当传输实时性较强的数据时,则应采用中断传输模式。现在的USB2.0规范在原有的低速模式(low speed) 1.5Mb/s、全速模式(full speed) 12Mb/s的基础上又支持高达480Mb/s的高速模式(high speed),从而使USB总线真正成为能满足高速应用场合的标准连接总线。在USB2.0中,每毫秒可发送8~10微帧,这比USB1.1的传输速率有了极大的提高,同时对缓存的要求也大大降低了。USB2.0向下完全兼容,协议规定,在全速模式和低速模式下,主机控制器和hub之间也可以进行高速传输,但是hub和外设之间仍然保持原有传输模式,这样可以使设备在分享带宽时冲突最小。

2 硬件电路
本系统选用OmniVision Technologies Inc.公司的OV9620作为视频信号的采集芯片,用EZ-USB FX2作为USB控制芯片并为OV9620提供工作时钟,E2PROM使用24LC65,通过I2C总线连接所有芯片。硬件连接框图见图1所示。
2.1 OV9620的主要特性
OV9620是美国OmniVision公司为数字照相机和摄像机产品开发的高性能130万像素彩色CMOS数字图像传感器芯片。与传统的CCD传感器相比,CMOS最明显的优势是集成度高、功耗小、生产成本低,容易与其他芯片整合。该款芯片的图像总区域为6.82×5.39mm2,成像区域为6.66×5.32mm2,非常有利于产品的小型化。
该芯片支持SXGA(1280×1024分辨率)和VGA(640×480分辨率)两种模式和SCCB(Serial Camera Control Bus)接口,使用24MHz晶振,内置10位A/D转换器,能提供10位数字视频信号。另外该芯片还可输出像素时钟以及行、场同步信号,并可以直接与专用集成电路系统连接,其后端系统可以通过SCCB接口来控制。可利用USB2.0控制器,在P4 1.5G以上系统中提供15fps的SXGA或30fps的VGA动态影像。该芯片采用Bayer滤光阵列把输入光信号分解成RGB三原色,像素阵列有1312×1036=1359232个,成像像素有1280×1024=1310720个。不成像像素可作为光学黑体像素用作黑值校准以补偿由光线引起的温度变化和暴光变化。
芯片中使用的SCCB接口是OmniVision公司制定的一种用于控制图像传感器的三线连续总线(SCS、SIO1、SIO0),其中SCS用于实现片选(低电平有效),当芯片被选中后,SIO1、SIO0在功能及使用上和I2C总线兼容。
另外,OV9620还提供了一个控制信号输入端(PWDN),可用于实现掉电模式的开关。在本设计中,因为OV9620与其他芯片同时工作,因此,没有采用片选而是由PWDN 来实现控制。

2.2 EZ-USB FX2的主要特点
EZ-USB FX2(即CY7C68013)是Cypress公司为高速传输外设设计的USB2.0控制芯片。该芯片内含1个增强型8051处理器、1个串行接口引擎(SIE)、1个USB收发器、8.5kB片上RAM、4kB FIFO存储器以及1个通用可编程接口(GPIF)。
FX2采用量子FIFO处理构架,其USB接口和应用环境可以直接共享FIFO,而微控制器则可不参与数据传输但允许以FIFO或RAM方式访问这些共享FIFO,这样,就较好地解决了USB高速模式的带宽问题。
FX2有一个I2C兼容端口,当FX2作为主控制器,SCL时钟频率为100/400kbps时,该端口兼容I2C总线。一般情况下,该端口由两个内部控制器驱动:一个在程序加载时自动读取VID/PID/DID和配置信息;另一个是芯片中的8051,一旦开始运行,8051利用芯片中的I2CTL和I2DAT寄存器控制挂接在I2C总线上的外围设备。具体来说,系统上电时,FX2会通过内部逻辑监测I2C端口,如果发现有地址为0xC0 或者是0xC2的E2PROM,便在E2PROM内部存储空间0xC0使用VID/PID/DID值或者把E2PROM的内容加载到内部RAM中。

2.3 电路原理及设计
设计中可使用I2C总线实现USB控制器与图像传感器的连接,并选用E2PROM(24LC65)作为代码存储器,然后通过FX2的C2方式加载固件程序。系统上电复位后,处于主模式的USB控制器将通过PA1输出启动信号,并经反向后传到图像传感器的PWDN,以使处于从模式的图象传感器开始工作。PCLK提供像素时钟,HREF提供水平同步信号,VSYNC提供垂直同步信号。这两个同步信号与图像数据的时序关系如图2所示。
VSYNC会在一帧图像传输到控制器后触发INT0中断。因为数据量太大,本设计没有在INT0中断服务子程序中进行全部的数据处理,而是设置了一个标志位,并通过标志位的状态来在主程序中进行处理,这样就避免由于数据处理时间太长而使控制器无法响应其它中断。
USB控制器的FIFO处于从模式。控制器的端点设置为EP2—512 四重缓存;EP6-512四重缓存,块传输模式。这样的设置可以满足系统要求。


关键词: 通信 一个 实例

评论

技术专区