电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

USB接口基本概念(2)

1、USB事务处理是USB主机和USB设备数据通信的基础。共7种事务:IN事务处理、OUT事务处理、SETUP、PING、SOF、SPLIT、PRE事务处理。

一个完整的USB事务处理包含3个阶段:令牌阶段、数据阶段、握手阶段

令牌包阶段:(主机到USB设备)每一个事务处理类型都从一个令牌阶段开始,它定义了事务处理的类型。

数据包阶段:传输相关的数据,在一个事务处理中可以传输的最大数据包是1024字节(高速设备)。

握手阶段:对数据发送方提供了一个反馈信号,通知发送方数据是否已经被正确接收。

 

例子: IN事务处理步骤

(1)USB主机向USB设备发送IN令牌包,表示主机可以接收数据;

(2)USB设备正确接收到IN令牌包,然后向USB主机发送数据包;

(3)USB主机正确接收到数据包后,向USB设备返回ACK握手包,确认传输成功。

事务处理可以采用块传输、中断传输、同步传输和控制传输4种方式。

USB 传输类型有四种: 控制传输,中断传输,块传输,同步传输。

传输类型和事物处理的关系:

事物处理是USB通信最小的单位,各种传输类型都是由事物处理组成的,比如控制传输类型分成三个阶段:建立阶段,数据阶段,状态阶段。每个阶段都是由特定的事务组成;

建立阶段需要一个SETUP事务处理;数据阶段可能需要多个 IN/OUT事务处理;控制阶段由一个IN事务和一个OUT事务处理组成。对于每一个事务,都是由令牌阶段、数据阶段、握手阶段组成。

2、USB总线设备列举过程

为什么枚举:

枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。

在设备的枚举过程中都是使用控制传输,端点0(管道0);

枚举过程:

(1)主机检测到插入USB设备后,使用默认地址0,向USB设备发送GetDescriptor(Device)请求,获取设备描述符;

(2)主机发送SetAddress请求,为连接的USB设备分配一个唯一的设备地址;

(3)主机使用新的地址向USB设备发送设备描述符请求,获取全部描述符,包括产品ID,供应商ID等;

(4)主机循环发送描述符请求,获取配置、接口、端点描述符和自定义描述符;

(5)主机根据USB设备的配置信息,如产品ID、供应商ID等,选择并加载一个合适的驱动程序。

(6)在加载驱动程序后,便可以进行各种配置操作和数据传输等。

 

博主
pengchengcheng082@126.com
为梦想@不停歇
不积跬步,无以至千里;不积小流,无以成江海。
点击跳转