下载此文档

USB是怎么传输数据的.doc


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
USB是怎么传输数据的,怎么识别设备的
Jude(原名Dodo)
        读这篇文章之前要对USB有一定的了解,知道什么是主机,设备,USB是一个主从结构的接口。
        先说说USB主机是怎么识别一个U盘的吧,当你把一个U盘插到电脑上的时候,电脑的USB接口上会发生一些变化,这里先得说说USB数据线是怎样的,它里面一般有用的有四根线,ground,VCC,DM(D-),DP(D ),而DM,DP是用来传输数据的,当U盘(以后简称U)插到电脑上的时候,U会把DP(D )拉高,使DP,DM保持一个J状态(DP为高DM为低,有关总线的状态又有很多,想了解的自己去研究),电脑主板的USB主机芯片检测到这个J状态(DP(D )拉高),(大概是这样,愿意详细了解的要仔细看协议),知道有设备连接上了(这里提到的主机和设备是指连接在USB线两端的USB接口芯片),电脑的驱动会对连接上的这个设备进行识别,我们把它叫做列举,这个过程是为了让电脑知道连接上的这个设备是什么东西(是U盘,还是USB鼠标,还是USB键盘,或是其他的什么)。
        以下是一个U盘的全部列举过程,用图来说明,(后面有两个附件,一个USB分析仪软件,一个是U盘的的全部列举过程,用USB分析仪软件打开)
        在这之前先说说USB数据是怎么在DM,DP上传输的吧,当主机检测到有设备连接上,驱动先会对这个设备作些必备的事情,识别他的速度(这个过程又有很多协议,不多说了,要了解的仔细研究协议),然后就是复位等等,之后就开始在总线(DM,DP)上发送1ms间隔的SOF包(全速)或125us间隔的SOF包(高速),低速(我也不太清楚,呵呵),什么是SOF包呢,SOF 就是start of frame (帧开始),其实就是帧开始的一个标记,其中有帧号,什么是帧呢,帧就是1ms的间隔(全速)或125us的间隔(高速),所有的数据都是在帧内传输的。
USB数据都是以包的形式发出的,包都有固定的格式,它以一个sync(同步)开始,以一个eop(end of packet,包结束)结束,sof 包也是一样的,高速的sync,eop和全速的sync,eop不同。下面是包的结构图,
        从左到右依次是sync场,pid场,……当然PID后面是什么,还有没有数据要看具体发什么包了。后面的令牌包,帧开始包,数据包,握手包决定了PID 后面是什么,握手包的PID后面什么都没有,直接是EOP。
不得不说的是pid(packet ID 包的ID),就是说明这个包是什么包,包的类型有四种:令牌包,数据包,握手包,特殊包。不同类型的包又有不同的格式,每种类型又有不同的PID:
附一份中文的(不全)。
下面是各个包的格式:
令牌包
        图8-5显示了标记包的字段格式。标记由PID,ADDR和ENDP构成,其中PID指定了包是输入,输出还是建立类型。对于输出和建立事务,地址和端口字段唯一地确定了接下来将收到数据包的端口。对于输入事务的,这些字段唯一地确定了哪个端口应该传送数据包。只有主机能发出标记包。输入PID定义了从功能部件到主机的数据事务。输出和建立PID定义了从主机到功能部件的数据事务。
图8-5 标记包格式
     

USB是怎么传输数据的 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zbfc1172
  • 文件大小160 KB
  • 时间2018-06-02