USB2.0接口IP核的开发与设计

发布者:亚瑟摩根最新更新时间:2007-11-09 来源: 复旦学报关键字:缓存  控制  中断  同步 手机看文章 扫描二维码
随时随地手机看文章
随着PC机和外围设备的发展,传统的并行接口和串行接口RS-232在易用性(即插即用) 和端口扩展等方面存在着一定的缺陷,这就使之越来越成为通信的瓶颈,因此通用串行总线(universal serial bus,USB)接口也就应运而生。1994年Compaq,IBM,Intel,Microsoft ,NEC 等公司共同提出了USB 协议规范,1996 年制定出了比较成熟的USB 1.1协议标准,最高传输速度为12Mbps。随着通信的发展,其速度明显不能满足需求,因此2000年提出了USB 2.0标准,增加了高速模式,使传输速度提高了40倍,达到了480 Mbps.凭借价格低廉、使用简单、协议灵活,接口标准化和易于端口扩展等优点,USB 接口被越来越多的外围设备所应用。

系统结构设计

本文所设计的USB 2. 0 接口完全依据于USB 2. 0的协议,可以完成协议的处理和数据的交换。整个系统采用了MCU 固件和硬件电路相结合的设计方法,根据不同的功能以及软硬件实现的难易程度,进行了相应的模块划分。从图1 中可以看出,硬件电路分成4 个模块:收发器,USB 协议控制器,工作模式控制器和缓存控制器。这些模块将在下面具体介绍。

根据协议可知,USB 定义了四种传输类型:控制传输、批量传输、中断传输和同步传输。 其中控制传输是用于支持在设备和主机之间关于设置信息、命令信息和状态信息的传送,是必不可少的,而其他三种传输方式是真正有用的数据传输,是可选的。MCU 作为固件,其功能是协助完成USB 的控制传输,这可使设计简单,因为如果这部分功能使用硬件电路来实现将会变得非常复杂。虽然单片机的速度很慢,远远低于硬件电路,但是对于整个系统来说,控制传输只发生在主机和设备连接的开始阶段和其他传输之前,因此速度稍慢一些对整个系统的在传输速度方面的性能影响不大;但是对于其他传输方式,尤其是同步传输和批量传输来说,这样会降低USB 2. 0 高速传输的性能,是不能容忍的,所以这就决定了其不能参与USB 其他方式的数据传输。

模块设计

收发器( Transceiver)

根据UTMI(USB Transceiver Macrocell Interface) ①可知,USB 2. 0 接口的收发器主要负责时钟和数据的恢复、位填充和位剥离、NRZI(非归零反转) 的编码和解码、串并和并串的转换、同步字段和包结束码的检测和生成等功能,同时支持高速和全速传输,提供30 MHz(16 位并行数据) 时钟和60 MHz(8位并行数据) 时钟。

因为这部分是USB 2. 0 接口的模拟前端,并且是高速(480 MHz) 的串行信号处理,为了降低设计难度和减小开发周期,本文直接采用了CYPRESS 公司的CY7C 68000 芯片。  

工作模式控制器( Work Mode Controller)

根据协议可知,从USB 设备连接到主机的USB 接口的过程中,USB 设备有多种可能的状态。不同的状态实现不同的功能。特别注意的是,如果USB 设备在一段特定的时间内探测不到总线活动时,必须进入挂起态,此时USB 设备保持当前的状态、地址及配置,这样可以有效地降低功耗。当检测到总线上任何非空闲信号时,设备必须被唤醒,回到原来的工作状态。

该模块主要负责USB 设备的状态转换,包括设备与主机的高速握手信号检测、主机复位信号检测、挂起和唤醒状态检测等功能。具体的状态转化过程如图2 所示。

当USB 设备刚刚和主机建立连接时,工作在全速状态,主机发送复位信号,在复位过程中,设备发送Chirp K 信号给主机,支持USB 2. 0 的主机接收到此信号后发送3 组交替的Chirp K和Chirp J信号。设备探测到此信号后,在复位信号结束后就工作在高速(480Mbps) 工作状态,否则USB 设备工作在全速(12 Mbps) 状态.当设备工作在高速模式下时,直接使用收发器提供的30MHz 的时钟;当设备工作在全速模式下时,此模块要对收发器提供的时钟进行40分频,然后再供给USB 的其他模块单元。这是因为在全速工作模式时,数据传输的串行速率是12Mbps ,仅为高速传输的1/ 40。检测总线状态,当接收到来自主机的软复位信号时,此模块负责产生复位信号给整个USB 接口电路。处在任何一种状态的设备都必须接收主机的复位信号。

检测总线状态,当USB设备发现总线上的连续空闲(高速时总线状态为SE0 ,全速时总线状态为J ) 时间超过3 ms 时,该模块产生挂起(suspend) 信号给整个USB 2. 0 接口电路,使之进入挂起状态,所有模块都不工作,此时整个电路的功耗会变得很低;处在挂起状态的设备,探测到总线上的非空闲(总线状态一般为K态) 信号时则产生唤醒信号,使整个电路在一定时间内回到全速或高速工作状态。

USB协议控制器( USB Protocol Controller)

这部分是USB 2. 0 接口电路的核心单元,处理大部分USB2. 0 的协议请求,完成数据的通信。USB总线是一种轮讯方式的总线,主机控制端口初始化所有的数据传输。每一次传输可以由多个事务构成,每一个事务最多可以传送3个数据包,分别为标记包(Token Packet) 、数据包(Data Packet) 和握手包(Handshake Packet)。传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含有用信息的数据包或者零数据的数据包(根据传输的不同阶段而有所不同) ,接收端则要相应地发送一个握手包表明传送。

该模块的具体工作流程如图3 所示,在接收数据时,首先对包标识符( PID) 进行解析,如果是标记包(Token Packet) ,则用5 位CRC 进行校验; 如果校验错误,则忽略该信息包,校验正确后将数据送入USB 逻辑控制器,针对不同的PID 进行相应的处理。如果是数据包(Data Packet) ,则用16 位CRC 校验,然后将有效数据送入缓存控制器进行缓存,再根据传输类型,分别送入不同的模块; 在控制传输方式下, 则将数据传送给MCU ,利用MCU 完成主机对设备相应的配置工作以及完成和主机配置方面的数据交换,在其他传输方式下,则直接通过DMA 总线将数据传送到SDRAM 中存储。

如果是握手包(handshake Packet) ,则不需要CRC 校验,因为其已经包含自身反码的校验字段,直接将解析后的PID 送入USB 逻辑控制器。在发送数据时,如果是数据包,首先从缓存控制器模块得到所需数据,然后生成16 位CRC 校验码和相应数据包的PID ,传送到收发器中进行发送;如果是握手包,则直接生成相应握手包(ACK,NAK,STALL) 的PID ,然后送到收发器中发送.同时,USB 协议是通过切换从属于数据发送器和接收器的时序位来实现高速数据传输同步的。仅在接收器接受到带有正确的数据PID的无错数据包时,接收器时序位才切换;而仅在数据发送器收到合法的ACK握手PID 时,发送器时序位才切换。如果同步失败,则根据具体情况重传或丢弃该数据包,这样可以保证数据传输的正确性。

USB 逻辑控制器负责将设备的地址和端点号放入状态寄存器,只有标记包中的地址(先使用缺省地址,然后更改为主机配置的地址) 正确时才接受相应的数据包,然后根据标记包中的端点号来区分不同的传输模式:控制传输是双向端口,只有一个端点号,一般将编号为0 的端点作为控制端点以响应控制事务的输入输出;其他传输模式是单向端口,输入和输出方向都定义为不同的端点号。

缓存控制器( Buffer Controller)

缓存控制器负责暂时存储接收或发送的数据,这些数据来自设备端的外部SDRAM或者主机。考虑到USB 2. 0 高速数据的传输要求,减小存储或读取数据的等待时间,本文采用了双缓冲区的缓存结构,硬件电路可以自动在两个缓冲区间进行转换,这样就可以同时对不同RAM分别读写,减少等待时间,提高了传输效率。不同的传输方式应该有不同的专用缓冲区(主要是区别控制传输和其他传输方式) ,但是为了节省RAM的硬件开销,本文采用了控制传输和其他传输方式缓冲区复用的结构。这种缓存结构也是整个USB 2. 0 接口硬件设计电路的特点之一。如图4 所示,在控制传输时,使用每个RAM地址为00H—31H 的存储空间,因为控制传输的最大数据包容量为32 ×16 位;在其他传输方式时,使用每个RAM地址为00H—FFH的存储空间,数据包的最大容量为256 ×16 位。由此可知,每个RAM的大小为4 种传输方式中最大数据包的容量———512 字节。

本文设计的缓存结构要求缓存控制器对不同的传输方式加以区分,相应增加了一些控制逻辑的复杂度。对于控制传输,数据是在USB 协议控制器和MCU 之间传输;对于其他传输方式,数据则是在USB 协议控制器和DMA(Direct Memory Access) 之间传输。总体来说,这种缓存结构是非常合理且有效的:节省硬件开销,而且保证传输速度。

MCU(Micro Control Unit)

MCU 采用的是51 系列的89C52 ,这部分是固件程序,负责协助完成控制传输,即USB 设备功能与设置配置的工作,利用MCU 可以降低硬件复杂度和硬件开销。在控制传输中,利用MCU 的中断程序来及时处理相应的数据交换,在批量传输时,MCU 几乎不参与工作,这是因为其工作速度较慢,不能满足大量数据传输对速度传输要求,影响传输效率。因为这部分不是硬件电路设计,所以就不再赘述了。

测试方案及测试结果

测试电路

设计了一个测试电路来验证USB 2. 0 接口电路功能的正确性,如图5 所示。在原USB 2. 0 接口电路的基础上,添加了MCU 接口、DMA(Direct Memory Access) 、EPP(Enhanced Parallel Port) 和SDRAM。MCU 负责控制整个电路系统中各个模块的协调工作。这个测试电路实际上基于数码相机电路系统,USB 为该系统与主机的接口电路。

在测试USB 上传数据给主机时,主机先通过EPP 将数据下载到SDRAM中,然后缓存控制器通过DMA总线将数据从SDRAM中读出来,传送给USB 协议控制器,经过USB 协议控制器的打包处理,数据通过收发器传送给主机。通过上传到主机的数据和原数据的对比,就可以验证传送数据的正确性。

下传数据则和上传数据的验证过程类似. 或者直接通过USB 先下传然后再上传来验证数据的正确性。值得一提的是,MCU 接口、DMA ,EPP 和SDRAM这几个模块没有使用收发器芯片提供的30 MHz 时钟,而是使用了另外的系统时钟(13. 5 MHz/ 27 MHz/ 54 MHz) ,这样可以保证在USB 接口电路没有连接到主机或处在挂起状态(收发器此时也处在挂起状态,不提供时钟) 时,主机可以自由地将数据通过EPP 上传或下传到SDRAM中,而不必受USB 接口电路工作与否的限制,便于整个系统的测试工作。这样使得缓存控制器和DMA 之间的数据传输变为异步的工作模式,增加了一些处理的复杂度。图6 为USB 2. 0 接口电路FPGA 验证的验证平台。

测试结果

上述硬件电路使用ISE 软件综合后下载到Xilinx 的SPARTAN2XC2S2002PQ208AFP0049 ,其规模大小为20 万门,该FPGA 芯片的工作电压为3. 3 V。综合结果为:硬件逻辑开销为1670 Slices ,RAM开销为1 KB ,时钟最快可达45 MHz ,这完全能够满足整个USB 2. 0 接口电路30 MHz 的工作频率要求。利用逻辑分析仪和Bus Hound 软件进行相应的逻辑功能分析,通过仔细的测试工作可知,在和主机建立连接后,整个USB 2. 0 接口电路可以和主机正常通信。因为整个电路主要应用于数码相机的专用集成电路中,所以着重测试了控制传输和批量传输这两种数据传输方式。

相应的测试结果为:USB 2. 0 接口电路功能正确,在高速,全速和挂起状态下的功耗(包括收发器以及其他的辅助模块EPP , SDRAM 等) 分别为:584 ,254 ,102 mw。批量传输的有效数据传输速率可以达到100 Mbps ,没有达到当然也不可能达到USB 2. 0 协议所规定的480 Mbps ,这是传输带宽的限制和数据包中冗余信息(包开始符、包结束符、同步字段以及校验码) 的存在所导致的,同时在USB 接口电路内部缓存通过DMA总线和SDRAM交互数据的时候,由于DMA 总线速度的限制,缓存也增加了一定的等待时间。总体来讲,100Mbps 的批量传输速率还是令人满意的。

本文提出的USB 2. 0 接口电路系统,兼顾了软硬件的优缺点,硬件电路与单片机有效结合使用,硬件实现简单,造价低廉. 同时为了实现较高的传输速率,满足USB 2. 0 高速传输的要求,并有效节省RAM,电路采用了不同传输方式缓冲区复用的双缓冲区的缓存结构。在FPGA 的验证过程中,为了实现测试的方便性,部分电路采用了异步的工作模式。整个模块已经通过FPGA 验证,功能正确。现在FPGA 的验证工作已经完成,下一步的任务就是在此基础上实现USB 2. 0 接口电路的芯片设计。

关键字:缓存  控制  中断  同步 引用地址:USB2.0接口IP核的开发与设计

上一篇:基于USB2.0接口的语音采集系统设计
下一篇:高速串行数据分析的整体解决方案

推荐阅读最新更新时间:2024-05-13 18:39

单周期控制三相PWM整流器在不对称电网下的研究
  传统的矢量模式单周期控制三相PWM整流器是基于对称电网系统下研究的,功率因数约为1,输入谐波低,且与双极型单周期控制相比,具有更低的开关损耗。当三相电网不对称时,三相输入电流跟踪电网电压的非零序分量,采用传统电网电压选择矢量区间不能保证三相PWM整流器具有较低的开关损耗,且在电网极端缺相故障时,系统不能正常工作。本文采用电网电压非零序分量选择矢量区间,并对矢量区间状态进行分析比较,结果证明所采取的方法能保证系统在任何情况下开关损耗最低。最后对三相PWM整流器工作于不对称电网情况下进行了仿真研究,仿真结果表明采用电网电压非零序分量选择矢量区间能保证电网电压在缺相故障时系统仍能正常工作,并且所采用的单周期控制同时满足对称电网系统。
[电源管理]
单周期<font color='red'>控制</font>三相PWM整流器在不对称电网下的研究
无线智能家居防盗报警家电控制系统方案
无线智能安全防范家庭网络系统分为灯光智能控制、家电万能遥控、家居安防监控和电话/手机远程控制以及计算机监控等几大功能,不久还将多媒体布线、音视频共享、门禁等一起完全融入系统之中。该系统完全与家庭的传统电气安装布线相兼容,即智能开关出现故障时完全可以用普通开关临时替代使用。该系统的设计安装思路也是基于传统家庭电气安装的基本原则进行的。灯光智能控制、家电万能遥控、家居安防监控和电话/手机远程控制以及计算机监控等几大功能既可以分离,也可以组合,还可以布线时预留,先装部分功能,今后逐步添加完善(搭积木方式),以满足不同用户的需要或控制投入的资金量。总之,该系统设计安装非常简便,具有良好的传统兼容性和继承性,通俗易懂,十分易于培训和掌
[安防电子]
无线智能家居防盗报警家电<font color='red'>控制</font>系统方案
意法半导体提供集成数字滤波器的新STM32L4微控制
中国,2017年5月11日 —— 意法半导体开始量产STM32L45x超低功耗微控制器(MCU)。新微控制器配备基于简单易用、价格亲民的STM32Cube平台的开发生态系统。 STM32L451、STM32L452和STM32L462产品线集成Sigma-Delta调制器(DFSDM)用数字滤波器,可以在一款价格低廉的微控制器上实现高级音频功能,例如,噪声抑制或声音定位。高达512 KB片上闪存和160 KB SRAM为代码和数据提供充足的存储空间。 新系列微控制器还集成真随机数发生器,让联网智能设备等注重安全应用的开发变得更容易。STM32L462还进一步加强了安全设备开发支持,集成一个硬件AES-256加密算法加速器。
[电源管理]
意法半导体提供集成数字滤波器的新STM32L4微<font color='red'>控制</font>器
IR推出IRS29831 LEDrivIR 控制IC
为单级返驰式拓扑和升降压拓扑作出优化 全球功率半导体和管理方案领导厂商 – 国际整流器公司 (International Rectifier,简称IR) 推出高度集成的IRS29831 LEDrivIR控制IC,为LED替换灯泡、LED光管和崁灯等LED驱动器内的单级返驰式及升降压拓扑作出优化。 IRS29831具有准确的一次侧功率调节能力,利用700V技术集成LED驱动器控制IC和功率MOSFET。该器件配备高压启动功能,从而提供简易实惠的单级解决方案,同时具有高功率因子和低总谐波失真功能以改善效率。 IR亚太区销售副总裁潘大伟表示:“IRS29831为隔离和非隔离返驰式LED驱动器提供极具竞争力和高效的解决方案。新器件包
[电源管理]
同步数字传输系统及视频传输的技术分析
光同步数字传输系统的本质是一种网络或联网,此网络能将复接、线路传输及交换功能融为一体、并由统一网管系统操作。视频传输技术的优点有:具有灵活兼容的映射方式及帧结构;与业务无关的灵活兼容的传送平台;嵌人信号内管理、维护信息量大、可改进业务质量;提供经济、灵活的通信网络基础结构;开放的网络提供了新的灵活性。 为保证SDI视频在高速公路系统内共享,满足各用户单位对高清视频的需求,本文研究高码复用密集图像传输技术(以下简称“HMT技术”)来保障HD-SDI视频在高速公路上“高清、无损”地传输。HMT技术的原理:将各路段的多路HD-SDI的视频按照“视觉无损”的标准进行特殊编码压缩,压缩后的图(或IP图像)经光复用模块及波分复用后传输至中
[嵌入式]
光<font color='red'>同步</font>数字传输系统及视频传输的技术分析
富士通推出适合汽车应用的新型微控制
    富士通半导体(上海)有限公司今日宣布,推出适合汽车应用的新型32位微控制器-MB91F552,该芯片最适合用于混合动力汽车(HEV)的电池的电源系统及电力传输电路。已于2013年5月13日起提供新产品样片。 图1.MB91F552     除在单一微控制器芯片上集成了控制数字电源系统(如200MHz PWM模块)的优化功能,MB91F552还支持峰值电流模式控制,大大促进了电源的稳定性并降低系统成本。     近年来随着混合动力汽车及其它电动汽车的普及,已经需要将行驶过程中产生的电力存储在车载电池中。通过这种方式储存的电力,除了对车载辅助电池进行充电,还可以向汽车上的电机、音响系统、灯光和其它板上电气元件供
[汽车电子]
MarvellBravera 固态硬盘控制器赋能顶级性能数据中心闪存方案
业界首款 PCIe 5.0 固态硬盘控制器 为最优云基础设施提供架构灵活性、安全性和数据保护 加州圣克拉拉市(2021/06/10) - Marvell 今日宣布推出全新Bravera™ SC5控制器系列,带来前所未有的性能、一流的效率和领先的安全功能,以应对不断扩大的云计算工作负荷。云数据计算中心需要处理大量数据,借此提高了这类环境对更快、更高带宽存储的需求。MarvellBravera SC5固态硬盘控制器满足了可扩展容器化云端存储基础设施的关键要求。通过实现最高性能的闪存解决方案,Marvell控制器将成为数据中心基础架构,提供超低延迟性实时应用和成本最优化的云规模容量。 Marvell Bravera SC5是业界
[嵌入式]
MarvellBravera 固态硬盘<font color='red'>控制</font>器赋能顶级性能数据中心闪存方案
MC34262系列PFC控制芯片的应用研究
    摘要: 介绍了MC34262系列PFC控制芯片的性能和特点,着重研究在APFC应用中如何进行电路元件参数的设计,同时分析了在实验中易出现故障的解决方案。     关键词: 有源功率因数校正  软开关  非控整流 1 引言 传统的从220V交流电网通过非控整流获取直流电压,在电力电子技术及电子仪器仪表中获得了广泛的应用。但这种非控整流使得输入电流波形发生严重畸变,并呈脉冲状。这样,一方面对电网造成严重污染,干扰其他电子设备的正常工作;另一方面大大降低了输入电路的功率因数,如在中、大型非控整流设备中,输入电路的功率因数大致在0.5~0.7左右,有的甚至更低。因此,必须采取有效的技术措施来减少输入电流波
[应用]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved