高速 USB 控制器的应用

分享到:
点击量: 214448

  1  引言

  1994 年 Intel 、 Compaq 、 Digital 、 、 IBM Microsoft 、 EC 等世界上**的七家计算机公司和通讯公司成立了 U SB N

  论坛 ,大概花了近两年的时间才形成统一的意见 , 于 1995 年 11 月正式制定了 U SB0. 9 通用串行总线 ( Universal Serial Bus) 规范 。它不是一种新的总线标准 ,而是应用在 PC 领域的新型接口技术 。早在 1996 年以前 ,就已经有

  PC 带有 U SB 接口了 , 但由于缺乏软件及设备的支持 , 这些 PC 机的 U SB 口都闲置未用 。1997 年 , 微软在 WIN95OSR2 ( WIN97) 中开始用外挂模块提供对 U SB 的支持 , 1998 年后随着微软在 Windows98 中内置了对

  U SB 接口的支持模块 ,加上 U SB 设备的日渐增多 ,U SB 逐步走进了实用阶段 。

  2  USB 总线简介

  U SB 规范中将 U SB 分为 5 个部分 : 控制器 、 控制器驱动程序 、 SB 芯片驱动程序 、 SB 设备以及针对不同 U U ( 1) 控制器 ( Host Cont roller) 主要负责执行由控制器驱动程序发出的命令 。 ( 3) U SB 芯片驱动程序 ( U SB Driver) 提供对 U SB 的支持 。

  U SB 设备的客户驱动程序 。

  ( 2) 控制器驱动程序 ( Host Cont roller Driver) 在控制器与 U SB 设备之间建立通信信道 。

  ( 4) U SB 设备 ( U SB Device) 包括与 PC 相连的 U SB 外围设备 , 分为两类 , 一类设备本身可再接其他 U SB 外 围设备 ,另一类设备本身不可再连接其它外围设备 ,前者称为集线器 ( Hub) ,后者称为设备 ( Function) 。或者说 ,

  集线器带有连接其它外围设备的 U SB 端口 ,而设备则是连接在计算机上用来完成特定功能并符合 U SB 规范的 设备单元 。 ( 5) 设备驱动程序 ( Client Driver Software) 就是用来驱动 U SB 设备的程序 , 通常由操作系统或 U SB 设备制 造商提供 。

  211  USB 数据传输方式

  针对设备对系统资源需求的不同 ,在 U SB 规范中规定了 4 种不同的数据传输方式 : ( 1) 等时传输方式 ( Isochronous) 该方式用来联接需要连续传输数据 , 且对数据的正确性要求不高而对时间

  极为敏感的外部设备 ,如麦克风 、 嗽叭以及电话等 。等时传输方式以固定的传输速率 ,连续不断地在主机与 U SB 设备之间传输数据 ,在传送数据发生错误时 ,U SB 并不处理这些错误 ,而是继续传送新的数据 。

  2) 中断传输方式 ( Interrupt ) 该方式传送的数据量很小 , 但这些数据需要及时处理 , 以达到实时效果 , 此方 式主要用在键盘 、 鼠标以及操纵杆等设备上 。 ( 3) 控制传输方式 ( Cont rol) 该方式用来处理主机到 U SB 设备的数据传输 。包括设备控制指令 、 设备状态查询及确认命令 。当 U SB 设备收到这些数据和命令后 ,将依据先进先出的原则处理到达的数据 。 ( 4) 批传输方式 (Bulk) 该方式用来传输要求正确无误的数据 。通常打印机 、 扫描仪和数码相机以这种方式 与主机联接 。

  212  USB 的性能优势 21211   方便 21212   速度 21213   连接 21214   电源

  使用 U SB 接口可以连接多个不同的设备 ,而过去的串口和并口只能接一个设备 ,U SB 则为用户省去了这些 在软件方面 ,U SB 设计的驱动程序和应用软件可以自动启动 ,无需用户做更多的操作 ,这同样为用户带来极 另外 ,U SB 设备也不涉及 IRQ 冲突问题 。U SB 口单独使用自己的保留中断 , 不会同其它设备争用 PC 机有

  麻烦 ,除了可以把多个设备串接在一起之外 ,U SB 还支持热插拔 ,设备的人工切换也因此变得省时省力 。 大的方便 。

  限的资源 ,同样为用户省去了硬件配置的烦恼 。 速度性能是 U SB 技术的突出特点之一 。U SB111 版本的*高传输率可达 12Mbps ,比普通串口快了很多 ,这

  U SB 210 非常类似 U SB 11 x , 但是拥有更高的 U SB 线缆包括 4 条线 : Vbus ( U SB 电源 ) 、 + D

  图1  典型 USB 功能器件结构框图

  使得高分辨率 、 真彩色的大容量图像的实时传送成为可能 。U SB210 版本的传输率理论*大值高达 480Mbps ,为 现在以及将来的高速应用提供了方便的硬件接***** ,既可以使用串行连接 ,也可以使用 U SB 集线器 ( Hub) ,把多个设备连接在一起 ,再同 PC 机的 U SB 口相接 。

  U SB 接口支持多个不同设备的连接 ,一个 U SB 口理论上可以连接 127 个 U SB 设备 。连接的方式也十分灵

  普通的使用串口 、 并口的设备都需要单独的供电系统 , 而 U SB 设备则不需要 , 因为 U SB 接口内部提供了 U SB 设备 ( 如扫描仪 、 数码相机等) 所需的电能 。

  3  USB 210 简介

  了电脑上的鼠标键盘 ,游戏手柄 ,M ID I 键盘之类的速度是介于 10 KB ~ 100 KB/ s 之间的 。而其它由机器直接来 操作的设备速度都是以几十兆甚至上百兆一秒来计算 ,这区区的 12Mb/ s ,简直太微不足道了 。

  1999 年 2 月 ,Compaq , Hewlett Packard , Intel , L ucent , Microsoft , N EC and Philips 这 7 家厂商联合制定了

  初的 U SB2. 0 的速度只是定义为 240Mbps ,但是技术队伍通过努力 ,把速度提高到了 480Mbps 。速度的提高对于 用户的*大好处就是意味着用户可以使用到更高效的外部设备 ,而且具有多种速度的周边设备都可以被连接到 速的前提下一样保持了 U SB 11 x 的**特色后 ,更是保证了向下兼容 。 带宽 。U SB 210 可以使用原来 U SB 定义中同样规

  U SB 210 规格的设备不会和 U SB 11 x 设备在共同使 U SB 210 规格的产品 。 ( 数据) 、 - ( 数据) 和 Gnd ( U SB 地) 。线缆*大长度 D U SB 210 的线路上 ,不象 U SB 11 x 时代 ,因为高带宽使得更多的设备无需担心数据传输时发生瓶颈效应 。在高 U SB210 的应用是一种非常有前途的数据传输

  格的线缆 , 接头的规格也完全相同 。而且新的符合

  用的时候发生任何冲突 。现在已经开始出现很多

  不超过 5m 。典型的 U SB 功能器件结构如图 1 所示 。

  U SB 210 的产品规格 。U SB 210 将设备之间的数据传输速度增加到了 480Mbps ,快过 U SB 11 x 的 40 倍 ,但是*

  U SB 110/ 111/ 112 的版本里 ,U SB 的接口速度始终不能令人满意 ,12Mb/ s 的瓶颈 ( 12Mb/ s~15Mb/ s) ,除 在接口方式 ,掌握这一应用 ,能够在数字信号处理 、 设备控制等领域大显身手 。为了验证 U SB210 的特点及使用 ,设 计完成了一块实验电路板 ,完成了高速 U SB 总线的开发 。

  4  基于 USB 210 的高速 A/ D 采样设计

  间 ,并缩短开发时间 。

  Slave F IFO 模式将数据送到主机来处理 。

  器芯片 ,单控制器芯片在开发时需选用高速的单片机 ,另外调试起来也比较麻烦 ,要购买昂贵的开发系统 ,但好处 是*终部件的价格低 ,对大批量生产是有价值的 。由此 ,为降低开发难度 ,系统在开发时选用了 Cypress 公司 EZ2 U SB FX2 系列芯片 ( C Y680132128AC) 。

  4 KB F IFO 存储器以及 1 个通用可编程接口 ( GPIF) 。FX2 是一个**集成的解决方案 ,它占用更少的电路板空 EZ2U SB FX2 拥有 1 个独特的架构 ,其中包括 1 个智能串行接口引擎 ( SIE) 。它执行所有基本的 U SB 功能 , EZ2U SB FX2 芯片内部结构框图如图 2 所示 。

  图 2  EZ2USB FX2 芯片内部结构框图

  将嵌入式 MCU 解放出来以用于实现专用的功能 ,并保证其持续的高性能的传输速率 。FX2 还包括 2 个通用可 编程接口 ( GPIF) ,允许它 “无胶粘接”即可与任何 ASIC 或 DSP 进行连接 , 并且它还支持所有通用总线标准 , 包 , 括 A TA 、 TOPIA 、 和 PCMCIA 。EZ2U SB FX2 完全适用于 U SB210 ,并向下兼容 U SB111 。 U EPP 系统中的高速 ADC 选用了 AD 公司的高速 12 位 AD ( 20MSPS) :ADC2AD9200 。*大可以提供近 200Mb/ s 的数据量 ,已经可以满足绝大多数的应用了 ,因为 U SB210 的 480Mbps 传输率只是理论值 ,实际中很难达到 。 实验板主要功能是 : 利用高速的 AD 芯片 ( 20 MSPS) 对某一数据源进行采样 ,采样后的数据利用 FX2 芯片的 间。 高有效或低有效 。 器和总线进行数据的主动读写 ,非常灵活 。 由于 U SB210 是高速的应用 ,因此在 PCB 布线时要注意有关高速 PCB 布线的特点 ,*好采用四层电路板 ,将

  FX 有 2 种接口方式 : Slave F IFO 和可编程接口 GPIF 。

  电源层和地层放到中间层 ,以减少干扰 ,另外 ,D + 和 D - 信号也要通过地线层走 ,并将这两个信号线包在地线中

  Slave F IFO 工作方式可设为同步或异步 ; 工作时钟可选为内部产生或外部输入 ; 其它控制信号也可灵活地设置为

  现在有多家公司提供了基于 U SB210 的控制器芯片 ,其中有的是单控制器芯片 ,也有的集成了单片机的控制

  Slave F IFO 方式是从机方式 ,外部控制器可象普通 F IFO 一样对 FX2 的多层缓冲 F IFO 进行读写 。FX2 的

  可编程接口 GPIF 是主机方式 ,可以软件编程读写控制波形 ,几乎可以对任何 8/ 16 bit 接口的控制器 、 存储

  EZ2U SB FX2 芯片包括 1 个 8051 处理器 、 个串行接口引擎 ( SIE) 、 个 U SB 收发器 、15 KB 片上 RAM 、 1 1 8

  固件设计是设计 FX2 芯片中 8051 的执行程序 ,程序语言主要用 C 语言 ,用 Keil 进行编译 ,由于 C Y68013 芯 片内部集成了 U SB 的收发器 ,所以有关固件的开发相对于单独的 U SB 收发芯片要容易一些 。固件程序负责初 始化各硬件单元 ,重新配置设备及 A/ D 采样控制 。设备加电后由驱动程序把固件下载到片内 RAM 后执行 , 即 “重新枚举” 在系统中 ,主要用到 Slave F IFO 工作方式 ,利用 Bulk ( 批量) 传输方式 ,主要是想得到更高的数据传输 速率 。在系统中采用了 EP6 ( Packet Size 1024) 和 EP8 ( Packet Size 512) ,这两个端点提供了大容量的 F IFO ,可供 高速传输用 。

  U SB 设备设计的一个难点还在于 : 当固件程序完成后 , 还需要进行 Windows 驱动程序设计 , 为这个新的 U SB 设备编写一个新的驱动程序 。应用程序的主要功能是启动 A/ D 采样 ,并将采样结果保存 , 在此基础上还可

  以增加其它的功能 ,由于数据量较大且速度较快 , 需再建一个新的线程完成处理 。系统采用了 Drive St udio 开 发 ,利用它的向导 ,可以生成一个 WDM 方式的设备驱动程序和一个应用程序的框架 ,用户可以在此基础上修改 并完成*终的程序 。 在应用程序中测试了速度值 : 在只支持 U SB 111 的机器上 ,数据的传输*大能达到 600~700 KB/ s 。 在支持 U SB 210 的机器上 , 利用 EP6 ( Packet Size 1024 ) 和 EP8 ( Packet Size 512 ) 分别实现了 8MB/ s 左右 、

  图4  固件流程图

  5MB/ s 左右的数据传输率 。速度没有预想的高 ,可能是与 AD 有关 ,因为采用的 AD 芯片采样率是 16M 。在 U SB

  数据线上的传输率也达到了 100~200Mbps ,基本达到了预期的目的 。如果选用速度更快的 ADC ,将固件程序和 驱动程序进一步优化 ,传输率还可以进一步提升 。

  ket Size 1024 ) 和 EP8 ( Packet Size 512 ) 分别实现了 8MB/ s 左右 、

  图4  固件流程图

  5MB/ s 左右的数据传输率 。速度没有预想的高 ,可能是与 AD 有关 ,因为采用的 AD 芯片采样率是 16M 。在 U SB

  数据线上的传输率也达到了 100~200Mbps ,基���达到了预期的目的 。如果选用速度更快的 ADC ,将固件程序和 驱动程序进一步优化 ,传输率还可以进一步提升 。

  第 4 期               韩斌 : 高速 U SB 控制器的应用

  485

  图5  应用程序流程

  5  结束语

  本系统的开发 ,对于利用 U SB210 接口完成高速的数据传送有很好的借鉴意义 ,这款芯片 ( C Y68013 ) 的应用 相对于其它的 U SB 控制芯片来说 ,功能强大 ,开发难度相对较小 ,必将在将来得到更多的应用 。

  参考文献 :

  [1]   许永和 . U SB 外围设备设计与应用 [ M ] . 北京 : 北京航空航天大学出版社 . 2002. [ 2 ]   INDSHARE 公司 . U SB 系统体系 [ M ] . 北京 : 中国电力出版社 . 2001. M

  [3]   Cypress 公司 . C Y7C68013 DataSheet [ EB/ 0L ] . Http :/ / www. cypress. com . 2003. [4]   Cypress 公司 . C Y7C1019 DataSheet [ EB/ 0L ] . Http :/ / www. cypress. com . 2001. [5]   Analog 公司 . AD9200 DataSheet [ EB/ 0L ] . Http :/ / www. analog. com . 2003.

  and t he high2speed A/ D convert chip are used to achieve t he high2speed A/ D sampling and lay a foundation for t he high2speed U SB application. Key words : U SB 210 ; C Y7C68013 ; high2speed A/ D

  Abstract : The principle of t he high2speed U SB 210 bus is int roduced. The U SB peripheral cont roller2C Y7C68013

  Application of high2speed USB peripheral controller

  HAN Bin

  ( Dept . of Computers , CU IT , Chengdu 610041 , China)