微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > USB接口的数字摄像系统设计

USB接口的数字摄像系统设计

时间:12-16 来源:互联网 点击:
2.3 数字CAMERA芯片

采集卡的CODEC是OmniVision Inc.的OV6620,该芯片将CMOS光感应核与外围支持电路集成在一起,具有可编程控制与视频模/数混合输出等功能,其输出的视频为彩色图像,与CCIR标准兼容。OV6620内部嵌入了两个8位的A/D,因而可以同步地输出8位或16位的数字视频流。在输出数字视频流的同时,还提供象素时钟PCLK、水平参考信号HREF、垂直同步信号VSYNC,便于外部电路读取图像。

2.4 I2C总线控制电路

I2C总线是一种双向串行总线,它只有两根信号线,可用于不同的IC或硬件模块间的通讯。两条线分别是串行数据线(SDA)和串行时钟线(SCL),当与设备相连时,每条线都必须通过上拉电阻接到电源上。I2C总线上可连接多个主从设备。I2C总线具有控制简单、稳定可靠的特点。I2C总线的数据量是可编程的,其最大的数据量是100K.图3给出了一个完整的I2C总线上的数据传输。

2.5 数据转换及数据缓冲电路

CAMERA芯片的数据输出率较高,并且输出的图像数据格式不能直接用于通过USB总线传送,因而需要进行数据格式转换。CAMERA芯片的数据输出格式由工作模式决定,通过I2C总线控制。为了简化电路,并保持系统一定的灵活性,采用了ALTERA公司的CPLD可编程逻辑阵列芯片来实现数据转换。数据缓冲采用NEC公司的256K×8位静态RAM芯片。电路图如图4所示。

CMAERA芯片主要输出信号有:CLKOUT(时钟输出,作为CPLD芯片的全局工作时钟)、Y和UV(视频数据输出线均为8位,作为CPLD芯片的数据线)、VSYNC(垂直同步信号,用作帧同步信号)、CHSYNC(水平同步信号,用作行同步信号)。

数据转换电路通过可编程逻辑完成下列功能:根据同步信号,针对QCIF格式,过滤一行中的冗余数据和一帧中的同步行数据,产生数据缓冲芯片的写时钟信号、写复位信号和写使能信号。数据的过滤是通过控制写使能信号实现的,该芯片在使能信号为低时,可以写入缓冲区,而在信号为高时,则不能够将数据写入缓冲区。

数据缓冲芯片的数据输入与数据输出分别由不同的信号控制,两者互不干扰。写数据控制信号有:WRCLK(写时钟信号)、WRST(写复位信号)和WREN(写使能信号)。写操作过程是:首先,控制产生一个内部复位信号WRST,使写缓冲区的写地址指针指向零,在复位周期后,进行写操作;在写时钟信号的上升沿,如果写使能信号为低,一个时钟周期后,数据就写入SRAM中,同时SRAM的写地址指针自动增加。

读操作信号有:RDCLK(读时钟信号)、RE(读允许信号)、OE(输入允许信号)和RDST(读复位信号)。读操作的过程为:控制产生一个读复位信号RDST,使读缓冲区的地址指针指向零,在下一时钟周期进行读操作;在读时钟的上升沿,如果RE和OE信号同时为低,SRAM中的数据就会出现在输出数据总线上,同时SRAM的读地址指针自动增加。

读写操作过程互不干扰,各自有自己的地址指针。把CAMERA芯片输出的图像数据依约定的要求按帧存放在缓冲区,并加上相应的帧间隔标志,USB控制器则从缓冲区中读取数据,并通过接口送往主机,完成数据图像的传输。



3 USB数字摄像系统软件

开发一个USB设备,软件设计是必不可少的。USB应用系统软件设计分为三部分:USB外设端的固件(Firmware)、主机操作系统上的客户驱动程序以及操作界面程序。界面程序通过客户驱动程序与系统USBI(USB Device Interface)进行通信,由系统产生USB数据的传送动作,固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。

由于图像数据自身的格式和USB同步传输适合传输时间敏感的大量数据,采用了同步传输模式。但是同步传输设备和进程的同步设计有较大的难度,且它不提供错误检查机制。固件利用中断来响应主机I/O请求。因此8051核的IRQE是关键。需要注意的还有USB设备的初始化和配置。初始化时,要按严格的顺序对AN2131的各寄存器进行操作。主机操作界面程序是用VC++6.0编写的,主要实现图像显示以及图像处理等多种功能。

该系统是为了开发USB接口的数字化摄像设备而设计的,系统的一个性能是帧传输率,CAREMA芯片的数据传输率最高可达到30帧/秒。目前笔者所实现的USB接口,在等时传输方式下,可达到8帧/秒。由于目前采用仿真模式,系统的性能在最后的定型中,可得到进一步的提高。
下一步将继续进行系统的集成和优化,并最终实现产品化。由于目前的系统是基于系统仿真板的,所以必须进行集成,以最小系统实现。此外,还要进一步开发设备的驱动程序。由于EZ_USB包括很多的功能,而这里只用到它的等时传输,浪费了很多的资源,加大了成本。所以在后继研究中,还会开发USB控制器,这样才能真正地降低成本,提高性能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top