简单说说USB协议(三)四种传输方式

数据传输的大致步骤:

配置传输方法——选择事务——发送各种令牌、数据、握手包

传输方法

既然USB是用来进行数据传输的,那么必然会涉及到配置传输方法:

批量传输、中断传输、同步传输、控制传输。

1、批量传输

适用于数据量大,对数据实时要求不高的场合;

比如USB打印机,扫描仪,大容量存储设备等;

简单说说USB协议(三)四种传输方式_第1张图片

当是批量出入事务时:

简单说说USB协议(三)四种传输方式_第2张图片

当是批量输出事务时:

简单说说USB协议(三)四种传输方式_第3张图片

而在USB2.0协议中,还多了一种特殊的传输事务:

简单说说USB协议(三)四种传输方式_第4张图片

2、中断传输

适合于数据量不大,对时间实时要求严格的场合

比如有鼠标、键盘、轨迹球等;

这里的中断并不是外部触发对的中断,而是主机自发的,主机要先确定查询频率,然后在此期间安排一次传输,如此一来就保证了查询频率。

中断传输中对应的事务是中断事务:

简单说说USB协议(三)四种传输方式_第5张图片

3、同步传输

同步传输又称为等时传输,适用于数据量大,对实时要求高的场合。

比如音频、视频等;

等时传输中是没有应答握手包的,那么传输数据的对错有数据包中的CRC检验。

简单说说USB协议(三)四种传输方式_第6张图片

4、控制传输

在采用USB通信协议中,主机需要获取设备的各种描述符,设置设备地址,配置各种参数等等,这些操作一般用的都是控制传输。

简单说说USB协议(三)四种传输方式_第7张图片

相比于上面三种传输方法,控制传输看起来有点复杂,但也正是这种复杂,保证了传输中的数据完整性。

枚举

配置完出传输方法后,就需要进行数据传输了,那么需要传输的到底是什么数据呢?

就是主机从设备那里获取到的各种描述符,如设备描述符、配置描述符、接口描述符、端点描述符,这一个过程,称之为枚举。

以下是枚举过程的步骤:

1、检测到有USB设备接入,复位USB设备,将其地址复位为0地址;

2、通过0地址的0端口获取设备描述符;

3、对USB设备再一次复位,给其设置唯一地址;

4、主机通过设备的新地址再一次获取设备描述符;

5、获取设备配置集合,在这个集合中就有设备的配置描述符、接口描述符、端点描述符、类特殊描述符(这个有可能没有);

你可能感兴趣的:(简单说说USB协议(三)四种传输方式)