USB数据处理

      USB需要实现的区域主要包括两大部分。在主机部分,包括客户软件、USB系统软件和主机控制器;在USB物理设备方面也包括客户软件、USB系统软件和主机控制器。那么要实现主机和设备间的通信也就是要实现主机客户软件与USB物理设备客户软件间的数据通信。实际的通信(数据)流流向为主机客户软件<-->主机UBS系统软件<-->主机UBS主机控制器<-->设备UBS主机控制器<-->设备UBS系统软件<-->设备客户软件。

    USB提供了在一台主机和若干台附属UBS设备之间的通信功能,一台主机与一个UBS设备间的连接是由许多层上的连接组成。UBS总线接口提供了在主机和设备之间的物理连接、发送连接、数据包连接。UBS设备层对UBS系统软件是可见的,系统软件基于它所见的设备层来完成对设备的一般的UBS操作。应用层可以通过
与之相配合的客户软件向主机提供一些额外的功能。UBS设备层和应用层的通信是逻辑上的,对应于这些逻辑通信的实际物理通信由USB总线接口层来完成。
     USB是为主机软件和它的USB应用设备间的通信服务的,对客户软件与应用设备间不同的交互,USB设备对数据流有不同的要求。USB为此提供了更好的overall总线使用,它允许各种不同的数据流相互独立地进入一个USB设备。每种通信流都采用了某种总线访问方法来完成主机上的软件与设备之间的通信。每个通信都
在设备上的某个端点结束。不同设备的不同端点用于区分不同的通信流。
     USB总线属于一种轮询方式的总线,主机控制端口初始化所有的数据传输。
    每一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向、USB设备地址和终端号的USB数据包,这个数据包通常称为标志包(token packet)。UBS设备从解码后的数据包的适当位置取出属于自己的数据。数据传输方向不是从主机到设备就
是从设备到主机。在传输开始时,由标志包标志数据的传输方向,然后发送端开始发送含有信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的USB
的端口之间,消息的数据,可视为一个通道。存在两种类型的通道:数据传输,在主机和设备流和消息。流的数据不像它没有UBS所定义的结构,而且通道跟数据带宽、传送服务类型/端口特性(如方向和缓冲区大小)有关。多数通道在UBS设备设置完成后即存在。
     USB中有一个特殊的通道—缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。
     事务预处理允许对一些数据库的通道进行控制,从而在硬件级上防止了对缓冲区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。当不确认信号发过后,若总线有空闲,数据传输将再做一次。这种流控制机制允许灵活的人为安排,可使不同性质的流通道同时正常工作,这使得多种流可以在不同时间间隔进行工作,传送不同大小的数据包。

 

     USB现阶段主要用于中低速外设与主机的连接,针对不同的外设提供了四种基本的数据传输模式:
控制传输(control Transfer):支持外设与主机之间的控制、状态、配置等信息的传输,为外设与主机之间提供一个控制通道。每种外设都支持控制传输类型,这样主机PC与外设之间就可以传送配置和命令/状态信息。
全速设备每次控制传输的最大有效负荷可为64个字节,而低速设备每次控制传输的最大有效负荷仅为8个字节。
同步传输(synchronization Transfer):支持有周期性、有限的时延(实时性)和带宽、且数据传输速率不变的外设与主机间的数据传输。同步传输仅适用于全速/高速设备。该类型无差错校验,故不能保证正确的数据传输,支持像计算机一电话集成系统(CTI)和音频系统与主机的数据传输。同步传输每次传输的最大有效负荷可为1023个字节。

中断传输(Interrupt Transfer):支持像游戏棒、鼠标和键盘等人机输入设备,这些设备与主机间数据传输量小、无周期性,但对响应时间敏感,要求马上响应。全速设备的中断传输周期可为1~255ms,而低速设备的中断传输周期为10~255ms。全速设备每次中断传输的最大有效负荷可为64个字节,而低速设备每次中断传输的最大有效负荷仅为8个字节。
批量传输(Bulkr Transfer):支持打印机、扫描仪、数字相机等外设,这些外设与主机间传输的数据量很大,UBS在满足带宽的情况下才进行该类型的数据传输。并且总线错误导致失败时,可以重传。块数据传输每次数
据传输的最大有效负荷可为64个字节。

      USB将其有效的带宽分成各个不同的帧(frame),每祯通常是1ms时间长。每个设备每帧只能传送一个同步的传送包。在完成了系统的配置信息和连接之后,USB的host就会对不同的传送点和传送方式做一个统筹安排,用来适应整个的USB的带宽。通常情况下,同步方式和中断方式的传送会占据整个带宽的90%,剩下的就安排给控制方式传送数据。
      由于控制传输主要用于主机把命令传给设备及设备把状态返回给主机,任何一个USB设备都必须支持控制传输;批量传输以错误检测和重试的方式保证主机和设备之间数据的无错发送能力,而本数据采集系统对于数据上传的实时性要求不高,所以在设计中采用控制传输和批量传输两种方式。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值