usb系统概述

usb系统概述

ID:35734150

大小:37.98 KB

页数:5页

时间:2019-04-15

usb系统概述_第1页
usb系统概述_第2页
usb系统概述_第3页
usb系统概述_第4页
usb系统概述_第5页
资源描述:

《usb系统概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、--2.1主机是主控者主机是唯一的主控者,这是最基本的USB概念。在USB系统中仅有一个支配者,那就是主机。USB设备将会等待主机的请求而加以响应。因此,USB是无法在其间相互进行信息传递的,USB并不支持点对点的拓扑结构。然而,存在一种情况似得USB设备无需主机介入即可发出开始信号,那就是有主机将设备置入低功耗带起模式之后,设备可发出远程唤醒信号,这是唯一的一种设备可以开始发送信号情况。除此情况外,除非主机发送设备请求,然后设备才会加以响应。利用这种以主机为中心的模式,USB实际工程师应当特别留心产品的成本,可以设计尽量低成本的外围设备,而将复杂的部分尽量放置在pc主机一侧。

2、当然,如果将USB结构设计为点对点的方式,则每个USB设备可能需要性能更好,相对来说设计产品的成本也将更高。2.2USB方向由于主机总是总线的主控者,这样就很容易记得USB的方向:out是指从主机到设备,而in是指设备到主机。Fx2的术语采用这个约定。例如,一个端点发送数据到主机,则定义为in端点。刚刚开始接触,可能会不太理解,为什么fx2发送数据到主机反而定义为in呢?其实in和out主要是从哪个方向看的问题。相应地,fx2通过从主机out端点接收数据。2.3令牌和pid码USB数据交换中,包含了特殊程序代码所定义的数据包,即所谓的信息包id或pid。Pid表示何种信息包正在

3、传送信息。表2,2列出了四种pid类型图2.1所示为USB传输示意图。信息包1为out令牌,用来指示outpid。Out令牌表示数据从主机传动到总线。信息包2包含了数据,用来指示data1pid。信息包3为握手包,在此,设备会送出ackpid给主机,以表示正确无误的接受主机所传送的数据。同样,在图2.1中,用户可以看到第二个数据交换是由另一个out令牌4开始的,而后在跟随更多的数据5.在这一时刻用户使用了另一个data0pid。最后,设备再一次以握手包6ackpid来说明已经成功的传送来数据。当工作在全速方式时,每一个out传输都发送out数据(即使此时设备因为忙而无法接收数据

4、)。当工作在高速方式时,通过采用新的pingpid来补偿USB带宽的微小的闲置。主机向out端点首次发送短ping令牌,询问外围设备是否有空间接受out数据,只有当ping令牌得到ack的回答,主机才发送out令牌和数据。USB设计者采取非常周密的错误检测,这也就是为什么会采用两个datapid(data0和data1)的原因。正如前面提到的一样,ack握手是用来指示主机和外围设备已经无错误的接收了数据(包最后的crc字段是用来检测错误的)。但是,如果握手包本身在传输过程中就已经扭曲或损坏又当如何呢?为了检测这个错误,可在每一侧(主机和外围设备)维护datatoggle位,用于

5、在每个包传输时加以togle位的状态,将会与到达伴随数据的pid相比较,如data0或data1。当送出数据时,主机和外围设备交替发送data0pid和data1pid,通过内部toggle位的状态与datapid相比较的方式,主机和外围设备就能检测到错误或损坏的握手包Setup令牌仅供控制传输使用,其中放了8字节的前导数据,用于主机的设备请求进行译码。在全速的方式下,sof(startofframe)令牌每1ms产生一次,用来表示USB帧的到达;而在高速的方式下,每一个USB帧中包含8额sof令牌。有4种握手pid用来表示USB传输的状态:Ack(acknowledge)表示

6、一个令牌或数据包接成功。Nak(negativeacknowledge)表示接收机当前太忙或没有资源来处理令牌或数据包。他表示---的是“忙,再试一次”,不要误解为nak表示的是错误。它不是表示发生了错误,会通过无响应来表示发生了错误。外围设备可对除了setup令牌以外的任何事物处理USB通常nak握---手。Stall(停滞)表示发生了一些无法预料的错误(可能是通信错误导致,也可能是主机与外围设备软件之间无法配合的原因)。设备发送stall握手包用来表示不了解这个设备的请求,这可能是在外围设备端发生了错误,或者是主机试图尝试存取一些不存在的资源这个状态有点儿像“停止(hal

7、t)”,但是情况要好些,因为此时USB会提供从stall恢复(recover)的方法。Nyet(notyet)表示的意思与ack相同,即数据接收无误,但是,它表示端点还没有准备好接受“另外的”out传输。Nyetpid仅在高速方式时有效。此外,pre(preamble——前导)pid置于低速(1.5mb/s)USB传输之前,而EZ-USBFX2---只支持全速(12mb/s)和高速(40mb/s)的USB传输方式,它将忽略pre包以及其后跟随---的低速传输。---1.从主机接受数据为了发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。