USB协议详解第16讲(USB传输-中断传输及事务组成)
1.前言
中断传输用于那些频率不高,但是对周期有一定要求的数据传输。具有保证的带宽,并能在下一个周期对先前错误的传输进行重传。中断端点在端点描述符中要报告主机对此端点的查询时间,主机会保证在小于这个时间间隔的范围内安排一次传输,比如HOST主机1ms内向鼠标设备请求一次数据。对于全速端点,中断传输的时间间隔在1ms到255ms之间,对于低速端点,时间间隔限制在10ms到255ma之间,对于高速端点,时间间隔为2^(bInterval-1) x 125us,bInterval的值在1-16之间。
中断传输主要包括中断读传输、中断写传输两种,传输事务如下图。
2.中断传输的结构
中断传输的事务只有1个阶段,数据阶段。
主机如果是中断读数据请求,则数据阶段为一个IN事务;
主机如果是中断写数据请求,则数据阶段为一个OUT事务。
3.抓包分析
3.1中断读传输抓包分析
因为是设备给主机传输数据,所以是数据阶段是IN事务。
3.2中断写传输抓包分析
因为是主机给设备传输数据,所以是数据阶段是OUT事务,不在贴图。
4.中断传输各速率下支持最大包长度
中断传输中,低速传输一个事务最大传输8字节,全速传输一个事务最大传输64字节,高速传输一个事务最大传输1024字节。