USB标识码及编码介绍

分享到:
点击量: 215184
 

 

  标识码有哪些?

  如同前面所说的标识码由四位数据组成,因此可以表示十六种标识码,在USB1.1规范里面,只用了十种标识码,USB2.0使用了十六种标识码,标识码的作用是用来说明包的属性的,标识码是和包联系在一起的,首先简单介绍一下数据包的类型,数据包分为令牌包、数据、握手包和特殊包四种,标识码分别有以下十六种:

  令牌包 :

  0x01 输出(OUT)启动一个方向为主机到设备的传输,并包含了设备地址和标号

  0x09 输入 (IN) 启动一个方向为设备到主机的传输,并包含了设备地址和标号

  0x05 帧起始(SOF)表示一个帧的开始,并且包含了相应的帧号

  0x0d 设置(SETUP)启动一个控制传输,用于主机对设备的初始化

  数据包 :

  0x03 偶数据包(DATA0),

  0x0b 奇数据包(DATA1)

  握手包:

  0x02 确认接收到无误的数据包(ACK)

  0x0a 无效,接收(发送)端正在忙而无法接收(发送)信息

  0x0e 错误,端点被禁止或不支持控制管道请求

  特殊包 0x0C 前导,用于启动下行端口的低速设备的数据传输

  USB的编码方案?

  USB采用不归零取反来传输数据,当传输线上的差分数据输入0时就取反,输入1时就保持原值,为了确保信号发送的准确性,当在USB总线上发送一个包时,传输设备就要进行位插入操作(即在数据流中每连续6个1后就插入一个0),从而强迫NRZI码发生变化。这个了解就行了,这些是由专门硬件处理的。