USB控制器芯片及其在图像采集中的应用

分享到:
点击量: 212958

  一、USB规范简介

  USB是一种支持在USB主机和USB设备之间进行串行数据传输的通信协议。主机作为总线的主叫方,采用两种信令模式:全速模式12Mb/s和低速模式1.5Mb/s。USB使用四种数据传输方式:控制传输(control)、中断传输(interrupt)、批量传输(bulk)及等时传输(isochronous)。其中控制模式主要用于控制指令传输及USB规范的实现,等时传输主要用于音频及视频传输。USB通过两次总线列举(Enumeration and

  Renumertion)来实现设备识别以及驱动程序析加载。其具体过程为:USB设备连到主机后,主机依据USB规范在特定地址通过端口0(endpoint0)与外设通信,并将外设视为默认设备。外设与主机通信将其6设备标识(DID、PID、VID)发给主机进行**次总线列举。主机根据设备标识,加载相应设备驱动程序,重新分配地址,并将控制权转交给外设固件(firmware),通过固件与设备驱动程序及主机应用程序的交互通信,来实现外设的功能。

  二、usb控制器芯片

  1.CYPRESS2131简介

  CYPRESS2131芯片是一种高度集成的USB芯片,具有3个显著特片:

  (1)提供一种软件(SOFT,RAM BASED)解决方案,可实现外设固件的不断更新与升级;

  (2)完全符合USB规范,提供足够的端点数目、缓冲区大小以及足够的速度;

  (3)其内核可自动实现对USB规范的响应,*大限度地压缩了代码长度。

  另外,CYPRESS2131还支持存储器扩展,具有低功耗、低噪声、有效的**语言支持和增强的指令集等特性。CYPRESS2131芯片为80针PQFP封装,其引脚如图1所示。

  2.CYPRESS2131的组成

  CYPRESS2131功能框图如图2所示。

  (1)收发器

  USB电缆只包含4根电线:Vbus、D+、D-和GND。数据以12Mb/s的全速信号或1.5Mb/s的低速信号在D+和D-信号线上差分传输。收发器建在芯片上,不需要外部电路(在D+或D-上用来选择全速或低速的上拉电阻的情况除外)。

  (2)串行接口引擎(SIE)

  SIE通过包排序、信号产生/检测、CRC产生/校验、NRZI数据编码、位填充和包标识产生/解码来处理USB通信协议,并保证传送到USB电缆上的数据字节以LSB开头。

  (3)微控制及片上RAM

  CYPRESS2131使用增强型8051,具有以下特点:

  (1)使用3.3V电源;

  (2)24MHz晶振,一个总线周期仅用4个时钟周期;

  (3)使用双数据指针;

  (4)增加了异步串口UART2和16位定时器T2;

  (5)高速内存接口及专用16位地址总线;

  (6)增加了8个中断(INT2~INT5、PFI、T2及UART2);

  (7)快速外部存储存取模式(使用AutoPoint);

  (8)支持断点功能。

  CYPRESS2131上用的片内内存(RAM)为8KB,但是为了便于外设固件的升级与更新,该8KB RAM既可用于传统意义上的ROM,又可用于RAM。其中的6KB用于程序存储与数据存储,其他2KB用于端点缓冲区。      CYPRESS2131使用16个端:8个批量传输端点(IN、OUT各8个)、8个等时传输端点(IN、OUT各8个),每个端点的缓冲区为64Byte。每个端点均个有字节计数器及重新发送和接收当数据组的能力。该8KB RAM需通过命令MOVX进行访问。

  另外,为了便于实现总线列举和国外部功能芯片相通信,CYPRESS2131还支持I2C总线。

  三、CYPRESS2131在图像采集中的应用

  1.图像采集系统的硬件实现

  在图像采集系统中,使用OV6120作为图像采集芯片。OV6120是OmniVision公司开发的COMS黑白图像采集芯片。该芯片将COMS光感应核与外围支持电路集成在一起,输出的视频为黑白图像,与CCIR标准兼容;也可输出单帧图像,为YUV格式,从其D7:0输出Y信号。这里使用YUV方式。

  在整个图像采集系统中,CYPRESS2131主要有三方面的作用:作为USB芯片与主机通信并传输数据;利用其片上增强型8051作为控制器使OV6120正常工作;通过其I2C总线对OV6120的对比度、亮度、锐度等各项参数进行设置。其具体工作过程为:SUB芯片上电复位后,CYPRESS2131按照USB规范应答,提供设备标识,USB进行二次总线列举,加载对应驱动程序,并将控制权转交给8051。8051通过I2C总线对OV6120各项参数进行设置。8051发出帧采集指令(通过OV6120的FREX)后进行图像采集,并同数据转移信号PCLK、行频HSYNC及场频VSYNC(后两个信号,图3中未标出)一起传给8051。8051将所得的数据信号转储到SRAM中,当一帧数据采集完后,再将SRAM中数据通过USB总线传至PC。CYPRESS2131在访问外部RAM时,通过FWR与FRD使之成为快速读写模式。使用标准12MHz晶振的情况下,读或写外部RAM一个字节只需使用333ns。图像采集系统原理示意如图3所示。

  2.图像采集系统源程序

  由于驱动程序较为复杂,这里仅给出利用USB总线发送数据的8051子例程。

  START:MOV SP,#STACK-1 ;设置堆栈

  FILL:MOV R7,#64 ;设置传输字节数

  MOV DPTR,#IN2BUF;使用BULK端点

  MOV DPTR1,#0000H

  MOV A,@DPTR1 ;从外部RAM中读取数据

  INC DPTR1

  MOVX @DPTR,A

  INC DPTR

  DJNZ R7,FILL

  MOV DPTR,#IN2BC

  MOV A,#40H

  MOVX @DPTR,A ;启动IN2缓冲区传输

  LOOP:MOV DPTR,#IN2CS

  MOVX A,@DPTR

  JNB ACC.1,FILL ;若不忙,继续循环

  END