USB通信存储测试中的应用.docx
- 文档编号:26990954
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:60
- 大小:423.74KB
USB通信存储测试中的应用.docx
《USB通信存储测试中的应用.docx》由会员分享,可在线阅读,更多相关《USB通信存储测试中的应用.docx(60页珍藏版)》请在冰豆网上搜索。
USB通信存储测试中的应用
USB通信在存储测试中的应用
摘要
USB作为一种新型的接口技术,以其简单易用、速度快等特点而备受青睐。
本文以Cypress公司的USB接口芯片CY7C68013芯片为基础开发,设计了USB接口的硬件系统,同时详细说明USB软件开发过程中应注意的问题.
关键词:
EZ-USBFX2芯片;USB接口;USB数据采集
TheapplicationoftheUSBcommunicationintestingstorage
Abstract
USBwhichisanewlykindofinterfacetechnologyiswidelyusedintheadvantageofitseasilyapplication,fastspeed.ThispaperisbasedontheUSBinterfacechipCY7C68013whichismadebytheCypressCompany,designingthehardwaresystemoftheUSBinterfaceandalsoexplainingtheproblemsduringdevelopingaUSBsoftware.
Keywords:
ThechipofEZ-USBFX2;TheUSBinterface;
ThedataofUSBcollect.
目录
1引言2
1.1 什么是USB2
1.2USB的未来2
1.3本文的主要内容3
2USB 2.0规范简介3
2.1体系结构概述3
2.2USB系统的描述3
2.2.1总线布局技术4
2.2.2电源5
2.2.3总线协议6
2.2.4健壮性7
2.2.5系统设置7
2.2.6数据流种类8
2.2.7USB设备10
2.2.8USB主机:
硬件和软件13
2.2.9体系结构的扩充13
3USB设备状态14
3.1外置的设备状态14
3.1.1连接状态14
3.1.2加电状态(Powered)15
3.1.3缺省状态15
3.1.4地址状态15
3.1.5Configured(配置状态)15
3.1.6中止状态16
3.1.7BusEnumeration总线标号16
3.2 USB的外设特性19
3.2.1清除特性(ClearFeature())19
3.2.2取得配置(GetConfiguration())19
3.2.3取得描述符19
3.2.4取得接口设置(GetInterface())20
3.2.5取得状态(GetStatus())20
3.2.6设置地址(SetAddress())22
3.2.7设置配置值(SetConfiguration())23
3.2.8设置描述表(SetDescriptor())24
3.2.9 设置特性(SetFeature())24
3.2.10 设置接口(SetInterface())24
3.2.11同步帧(SynchFrame())24
4 开发实例26
4.1 EX-USBFX2的主要特点26
4.1.1芯片结构26
4.1.2结构特点27
4.1.3端点缓存28
4.2EZ-USBFX2的接口方式28
4.3硬件电路设计30
4.4固件的设计32
4.5软件设计34
5结论35
1引言
1.1 什么是USB
USB就是通用串行总线(UniversalSerialBus)的英文缩写。
USB总线和RS232类似,也是一种串行外围设备的总线形式。
所不同的是,USB的传输速度的标准串口的数十倍,而且可以支持多达127个外设同时级连。
USB总线提出的目的就是把当前PC固有的串口、并口、PS2(键盘鼠标接口),甚至是SCSI等连接外部设备的总线接口统一为单一的USB总线接口。
[1]
USB总线接口作为外设的通用接口,有很多其他接口无法比拟的优势。
首先,它的传输速度快,USB1.1总线规范定的最大传输速度为12Mb/s,比一般的PC外置端口都快。
而在USB2.0总线规范李,定义的最高传输速度已经达到480Mb/s,可以满足包括视频设备在内的多种外部设备数据的传输需要。
其次,他支持热拔插,而且是真正的即插即用设备。
无论在PC开机工作或不开机的情况下,都能任意插拔,而且不会对硬件产生任何损坏。
再次,它可以支持双向、同步传输,能够保证某些需要连续数据流的设备的需要,如音频设备等。
还有他是一种廉价的而有高性价比的接口,硬件的接口相对简单,外围设备接口设计容易。
此外,USB总线可以提供最多500mA的电源,对于一般的小型外设可以通过总线供电,不再需要外部电源。
1.2USB的未来
通用串行总线(UniversalSerialBus,简称USB)从诞生发展到今天,已经将近10年。
伴随着计算机技术的迅猛发展,USB协议从1.1过渡到2.0作为其最重要的指标的设备传输速度也从1.5Mbps的低速和12Mbps的全速提高到如今的480Mb/s的高速。
USB作为过去几年里计算机和单片机、嵌入式领域中的热点,推动了计算机外设的飞跃发展。
毫无疑问的是,USB已经占领了PC和外设的市场;而在未来,USB又将以OTG再次引领计算机和外设产业的发展方向,同时也将把计算机和单片机、嵌入式领域的学术研究代入更为深入的层次。
[2]
1.3本文的主要内容
本文主要介绍USB的总体体系结构,USB数据流模型,USB的电器特性,协议层,USB主机的软硬件,集线器规范和总线接口的设计流程,使用PHILIHPS的ISP1581为核心的USB2.0开发工具,在本次试验仪上使用了PHILIHPS的P89C61x2增强型51单片机作为控制芯片,简介了DP-1581实验仪的硬件结构,ISP1581USB2.0的设备接口芯片,P89C6xX增强型单片机内编程以及实验仪的安装和固件编程。
2USB 2.0规范简介
2.1体系结构概述
本章主要内容是进一步关于USB的概述和一些关键的概念。
USB是一种电缆总线,支持在主机和各式各样的即插即用的外设之间进行数据传输。
由主机预定的标准的协议使各种设备分享USB带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设。
[3]
2.2USB系统的描述
一个USB系统主要被定义为三个部分:
·USB的互连;
·USB的设备;
·USB的主机。
USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以下几方面:
·总线的拓扑结构:
USB设备与主机之间的各种连接方式;
·内部层次关系:
根据性能叠置,USB的任务被分配到系统的每一个层次;
·数据流模式:
描述了数据在系统中通过USB从产生方到使用方的流动方式;
·USB的调度:
USB提供了一个共享的连接。
对可以使用的连接进行了调度以支持同步数据传输,并且避免的优先级判别的开销。
USB的设备及主机的细节将讲述于后。
[4]
2.2.1总线布局技术
USB连接了USB设备和USB主机,USB的物理连接是有层次性的星型结构。
每个网络集线器是在星型的中心,每条线段是点点连接。
从主机到集线器或其功能部件,或从集线器到集线器或其功能部件,从图3-1中可看出USB的拓扑结构。
(1)USB的主机
在任何USB系统中,只有一个主机。
USB和主机系统的接口称作主机控制器,主机控制器可由硬件、固件和软件综合实现。
根集线器是由主机系统整合的,用以提供更多的连接点.[5]
(2)USB的设备
USB的设备如下所示:
·网络集线器,向USB提供了更多的连接点;
·功能器件:
为系统提供具体功能,如ISDN的连接,数字的游戏杆或扬声器。
USB设备提供的USB标准接口的主要依据:
·对USB协议的运用;
·对标准USB操作的反馈,如设置和复位;
·标准性能的描述性信息;
(3)电气特性
USB传送信号和电源是通过一种四线的电缆,图3-2中的两根线是用于发送信号。
USB2.0存在三种数据传输率:
·USB的高速信号的比特率定为480Mbps;
·USB的全速信号的比特率定为12Mbps;
·低速信号传送的模式定为1.5Mbps;
低速模式需要更少的EMI保护。
全速和低速两种模式可在用同一USB总线传输的情况下自动地动态切换。
因为过多的低速模式的使用将降低总线的利用率,所以该模式只支持有限个低带宽的设备(如鼠标)。
时钟被调制后与差分数据一同被传送出去,时钟信号被转换成NRZI码,并填充了比特以保证转换的连续性,每一数据包中附有同步信号以使得收方可还原出原时钟信号。
[6]
电缆中包括VBUS、GND二条线,向设备提供电源。
VBUS使用+5V电源。
USB对电缆长度的要求很宽,最长可为几米。
通过选择合适的导线长度以匹配指定的IRdrop和其它一些特性,如设备能源预算和电缆适应度。
为了保证足够的输入电压和终端阻抗。
重要的终端设备应位于电缆的尾部。
在每个端口都可检测终端是否连接或分离,并区分出高速,或低速设备。
(4)机械特性
所有设备都有一个上行的连接。
上行连接器和下行连接器是不可简单的互换,这样就避免了集线器间的非法的循环往复的连接,电缆中有四根导线:
一对互相缠绕的标准规格线,一对符合标准的电源线,连接器有四个方向,具有屏蔽层,以避免外界干扰,并有易拆装的特性。
2.2.2电源
主要包括两方面:
·电源分配:
即USB的设备如何通过USB分配得到由主计算机提供的能源;
·电源管理:
即通过电源管理系统,USB的系统软件和设备如何与主机协调工作。
(1)电源分配
每个USB单元通过电缆只能提供有限的能源。
主机对那种直接相连的USB设备提供电源供其使用。
并且每个USB设备都可能有自己的电源。
那些完全依靠电缆提供能源的设备称作“总线供能”设备。
相反,那些可选择能源来源的设备称作“自供电”设备。
而且,集线器也可由与之相连的USB设备提供电源。
(2)电源管理
USB主机与USB系统有相互独立的电源管理系统。
USB的系统软件可以与主机的能源管理系统结合共同处理各种电源子件如挂起、唤醒,并且有特色的是,USB设备应用特有的电源管理特性,可让系统软件和控制其电源管理。
USB的电源分配和电源管理特性使之可以被设计在电源传感系统中,如采用电池的笔记本电脑。
2.2.3总线协议
USB总线属一种轮讯方式的总线,主机控制端口初始化所有的数据传输。
每一总线执行动作最多传送三个数据包。
按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据包,这个数据包通常称为标志包(tokenpacket)。
USB设备从解码后的数据包的适当位置取出属于自己的数据。
数据传输方向不是从主机到设备就是从设备到主机。
在传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。
接收端也要相应发送一个握手的数据包表明是否传送成功。
发送端和接收端之间的USB数据传输,在主机和设备的端口之间,可视为一个通道。
存在两种类型的通道:
流和消息。
流的数据不像消息的数据,它没有USB所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有关。
多数通道在USB设备设置完成后即存在。
USB中有一个特殊的通道——缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。
[7]
事务预处理允许对一些数据流的通道进行控制,从而在硬件级上防止了对缓冲区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。
当不确认信号发过后,若总线有空闲,数据传输将再做一次。
这种流控制机制允许灵活的任务安排,可使不同性质的流通道同时正常工作,这样多种流通常可在不同间隔进行工作,传送不同大小的数据包。
2.2.4健壮性
USB健壮性的特征在于:
·使用差分的驱动接收和防护,以保证信号完整性;
·在数据和控制信息上加了循环冗余码(CRC);
·对装卸的检测和系统级资源的设置;
·对丢失或损坏的数据包暂停传输、利用协议自我恢复;
·对流数据进行控制,以保证同步信号和硬件缓冲管理的安全;
·数据和控制通道的建立,使功能部件的相互不利的影响独立开,消除了负作用。
(1)错误检测
USB传输介质产生的错误率是与自然界的异常现象的概率相吻合,是瞬时一现的,因此就要在每个数据包中加入检测位来发现这些瞬时的错误,并且提供了一系列硬件和软件设施来保证数据的正确性。
协议中对每个包中的控制和数据位都提供了循环冗余码校验,若出现了循环冗余码的错误则被认为是该数据包已被损坏,循环冗余码可对一位或两位的错误进行100%的修复。
(2)错误处理
协议在硬件或软件级上提供对错误的处理。
硬件的错误处理包括汇报并重新进行上一次失败的传输、传输中若遇到错误,USB主机控制器将重新进行传输,最多可再进行三次。
若错误依然存在,则对客户端软件报告错误,客户端软件可用一种特定的方法进行处理。
2.2.5系统设置
USB设备可以随时的安装和折卸,因此,系统软件在物理的总线布局上必须支持这种动态变化。
(1)USB设备的安装
所有的USB设备都是通过端口接在USB上,网络集线器知道这些指定的USB设备,集线器有一个状态指示器指明在其某个端口上,USB设备是否被安装或拆除了,主机将所有的集线器排成队列以取回其状态指示。
在USB设备安装后,主机通过设备控制通道激活该端口并以预设的地址值给USB设备。
[8]
主机对每个设备指定唯一的USB地址。
并检测这种新装的USB设备是集线器还是功能部件。
主机为USB设备建立了控制通道,使用指定的USB的地址和零号端口。
如果安装的USB设备是集线器,并且USB设备连在其端口上,那上述过程对每个USB设备的安装都要做一遍。
如果安装的设备是功能部件,那么主机中关于该设备的软件将因设备的连接而被引发。
(2)USB设备的拆卸
当USB设备从集线器的端口拆除后,集线器关闭该端口,并且向主机报告该设备已不存在。
USB的系统软件将准确进行处理,如果去除的USB设备上集线器,USB的系统软件将对集线器反连在其上的所有设备进行处理。
(3)总线标号
总线标号就是对连接在总线上的设备指定唯一的地址的一种动作,因为USB允许USB设备在任何时刻从USB上安装或拆卸,所以总线标号是USB的系统软件始终要作的动作,而且总线标号还包括对拆除设备的检测和处理。
2.2.6数据流种类
数据和控制信号在主机和USB设备间的交换存在两种通道:
单向和双向。
USB的数据传送是在主机软件和一个USB设备的指定端口之间。
这种主机软件和USB设备的端口间的联系称作通道。
总的来说,各通道之间的数据流动是相互独立的。
一个指定的USB设备可有许多通道。
例如,一个USB设备存在一个端口,可建立一个向其它USB设备的端口,发送数据的通道,它可建立一个从其它USB设备的端口接收数据的通道。
[9]
USB的结构包含四种基本的数据传输类型:
·控制数据传送:
在设备连接时用来对设备进行设置,还可对指定设备进行控制,如通道控制;
·批量数据传送:
大批量产生并使用的数据,在传输约束下,具有很广的动态范围;
·中断数据的传送:
用来描述或匹配人的感觉或对特征反应的回馈。
·同步数据的传送:
由预先确定的传送延迟来填满预定的USB带宽。
对于任何对定的设备进行设置时一种通道只能支持上述一种方式的数据传输,数据流模式的更多细节在第四章中详述。
(1)控制数据传送
当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程序通过特定的方式使用控制数据来传送,数据传送是无损性的。
(2)批量数据传送
批量数据是由大量的数据组成,如使用打印机和扫描仪时,批量数据是连续的。
在硬件级上可使用错误检测可以保证可靠的数据传输,并在硬件级上引入了数据的多次传送。
此外根据其它一些总线动作,被大量数据占用的带宽可以相应的进行改变。
(3)中断数据传输
中断数据是少量的,且其数据延迟时间也是有限范围的。
这种数据可由设备在任何时刻发送,并且以不慢于设备指定的速度在USB上传送。
中断数据一般由事件通告,特征及座标号组成,只有一个或几个字节。
匹配定点设备的座标即为一例,虽然精确指定的传输率不必要,但USB必须对交互数据提供一个反应时间的最低界限。
(4)同步传输
同步数据的建立、传送和使用时是连续且实时的,同步数据是以稳定的速率发送和接收实时的信息,同步数据要使接收者与发送者保持相同的时间安排,除了传输速率,同步数据对传送延迟非常敏感。
所以同步通道的带宽的确定,必须满足对相关功能部件的取样特性。
不可避免的信号延迟与每个端口的可用缓冲区数有关。
一个典型的同步数据的例子是语音,如果数据流的传送率不能保持,数据流是否丢失将取决于缓冲区的大小和损坏的程度。
即使数据在USB硬件上以合适的速率传送,软件造成的传送延迟将对那些如电话会议等实时系统的应用造成损害。
实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象,换句话说,即使许多硬件机制,如重传的引入也不能避免错误的产生。
实际应用中,USB的数据出错率小到几乎可以忽略不计。
从USB的带宽中,给USB同步数据流分配了专有的一部分以满足所想得到的传速率,USB还为同步数据的传送设计了最少延迟时间。
(5)指定USB带宽
USB的带宽分配给各个通道,当一个通道建立后,USB就分配给它一定的带宽,USB设备需要提供一些数据缓冲区。
若USB提供了更多带宽,则需更多的缓冲区。
USB的体系要保证缓冲引导的硬件的延迟限定在几毫秒内。
USB的带宽容量可以容纳多种不同的数据流,因此保证USB上可以连接大量设备,如可以容纳从1B+D直到T1速率范围的电信设备。
同时USB支持在同一时刻不同设备具有不同比特率,并具有一个动态变动的范围。
USB规范对总线的每类转输规定的具体的原则。
2.2.7USB设备
USB设备分为诸如集线器、分配器或文本设备等种类。
集线器类指的是一种提供USB连接点的设备(详见第十章),USB设备需要提供自检和属性设置的信息,USB设备必须在任何时刻执行与所定义的USB设备的状态相一致的动态。
(1)设备特性
当设备被连接、编号后,该设备就拥有一个唯一的USB地址。
设备就是通过该USB地址被操作的,每一个USB设备通过一个或多个通道与主机通讯。
所有USB设备必须在零号端口上有一指定的通道,每个USB设备的USB控制通道将与之相连。
通过此控制通道,所有的USB设备都列入一个共同的准入机制,以获得控制操作的信息。
[10]
在零号端口上,控制通道中的信息应完整的描述USB设备、此类信息主要有以下几类:
·标准信息:
这类信息是对所有USB设备的共同性的定义,包括一些如厂商识别、设备种类、电源管理等的项目。
设备设置、接口及终端的描述在此给出。
关于这些具体的描述信息在第九章给出;
·类别信息:
此类信息给出了不同USB的设备类的定义,主要反映其不同点。
·USB厂商信息:
USB设备的厂商可自由的提供各种有关信息,其格式不受该规范制约。
此外,每个USB设备均提供USB的控制和状态信息。
(2)设备描述
主要分为两种设备类:
集线器和功能部件。
只有集线器可以提供更多的USB的连接点,功能部件为主机提供了具体的功能。
集线器在即插即用的USB的结构体系中,集线器是一种重要设备。
图3-3所示是一种典型的集线器。
从用户的观点出发,集线器极大简化了USB的互连复杂性,而且以很低的价格和高易用性提供了设备的健壮性。
集线器串接在集中器上,可让不同性质的设备连接在USB上,连接点称作端口。
每个集线器将一个连接点转化成许多的连接点。
并且该体系结构支持多个集线器的连接。
每个集线器的上游端口向主机方向进行连接。
每个集线器的下游端口允许连接另外的集线器或功能部件,集线器可检测每个下游端口的设备的安装或拆卸,并可对下游端口的设备分配能源,每个下游端口都具有独立的能力,不论高速或低速设备均可连接。
集线器可将低速和高速端口的信号分开。
一个集线器包括两部分:
集线控制器(Controller)和集线放大器(Repeater)。
集线放大器是一种在上游端口和下游端口之间的协议控制开关。
而且硬件上支持复位、挂起、唤醒的信号。
集线控制器提供了接口寄存器用于与主机之间的通信、集线器允许主机对其特定状态和控制命令进行设置,并监视和控制其端口。
(3)功能部件
功能部件是一种通过总线进行发送接收数据和控制信息的USB设备,通过一根电缆连接在集线器的某个端口上,功能设备一般是一种相互无关的外设。
然而一个物理单元中可以有多个功能部件和一个内置集线器,并利用一根USB电缆,这通常被称为复合设备,即一个集线器连向主机,并有一个或多个不可拆卸的USB设备连在其上。
每个功能设备都包含设置信息,来描述该设备的性能和所需资源。
主机要在功能部件使用前对其进行设置。
设置信息包括USB带宽分配,选择设备的设置信息等。
下机列举了一些功能部件:
·定位设备:
如鼠标或光笔;
·输入设备:
如键盘;
·电信适配器:
如ISDN。
2.2.8USB主机:
硬件和软件
USB的主机通过主机控制器与USB设备进行交互。
主机功能如下:
·检测USB设备的安装和拆卸
·管理在主机和USB设备之间的控制流;
·管理在主机和USB设备之间的数据流;
·收集状态和动作信息;
·提供能量给连接的USB设备。
主机上USB的系统软件管理USB设备和主机上该设备软件之间的相互交互,USB系统软件与设备软件间有三种相互作用方式:
·设备编号和设置;
·同步数据传输;
·异步数据传输;
·电源管理
·设备和总线管理信息。
只要可能,USB系统软件就会使用目前的主机软件接口来管理上述几种方式。
2.2.9体系结构的扩充
USB的体系结构包含主机控制驱动器和USB驱动器之间的接口的扩展,使多个主机控制器和主机控制驱动器的使用成为可能。
3USB设备状态
USB设备有若干可能的状态,其中一些对于USB与主机(host)来说是外置的,而另外一些对USB设备来说是内置的.
3.1外置的设备状态
本小节描述的是外部可见的USB设备状态。
表3.1汇集这些外置设备状态之间的转化关系。
注意:
USB设备会响应上行端口(upstreamPort)传来一个复位(reset)信号进行复位操作。
当reset信号完成的时候,USB设备业已复位。
连接
加电
缺省
编址
配置
挂起
说明
不
____
____
____
____
____
设备尚未连接至接口.其他特性无关
是
不
____
____
____
____
设备已连接至接口,但未加电.其他特性无关.
是
是
不
____
____
____
设备已连接至接口,并且已加电.但尚未被复位.
是
是
是
不
____
____
设备已连接至接口,已加电.并被复位.
但尚未分配地址.设备在缺省地址处可寻址.
是
是
是
是
不
____
设备已连接至接口,已加电.并被复位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 通信 存储 测试 中的 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)