您的位置:首页 > 其它

EZ-USB 68013学习笔记(二)——USB协议之传输的基本单元--包

2012-06-07 20:43 330 查看
包是传输的基本单元

这个是我自己定义的,怎么说呢,就是这个USB传输数据的时候的基本单元,即最小的那个组织方式,那就是 “包”!USB传输中有各种各样的“包”。

例如 令牌包,数据包,握手包等等。当然这些包是由字节构成的,这些包有不同的个格式,但基本格式都是一样的:

同步域 | 包标示符(PID)| ........ | 包结束符(EOP) 中间省略号 根据包不同,格式也不同。

下面介绍一下各种包的概念:主要介绍令牌包,数据包,握手包。

如令牌包:包含IN包,OUT包,SETUP包。由名字可以知道,令牌包就是发命令的包。其格式是:

同步域 | 包标示符(PID)| 设备地址 | 端点号 | CRC校验 | 包结束符(EOP)

解释一下,同步域:就是用来数据同步的,这个电脑圈圈的书上解释了,挺好的,大家看一下,知道作用就行了。

包标示符: 显而易见,用来区分各种各样的包的,包的不同,对应的标示符也不同。八位,前四位是后四位的补码还是反码,我给忘了,即决定包的类型的其实只有4位。

设备地址:USB的地址。第一次枚举时,地址为0,然后有主机分配一个地址给USB设备。见后续文章关于 枚举过程介绍

端点号:区分不同端点的,主机和设备是通过端点来传输的,即向USB设备传数据时,实际上是往USB端点里写数据。USB端点就是一块挺大的内存,缓冲,fifo。

CRC校验:校验用的

EOP:包结束的标志

下面是数据包的格式:

同步域 | 包标示符(PID)| 字节0 | 字节1 |字节2 | 。。。。。。| CRC校验 | 包结束符(EOP)



其中字节即是要传输的数据,其他同令牌包。

握手包格式

同步域 | 包标示符(PID) | 包结束符(EOP)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: