USB重难点
Split 事务
当一个低速或全速的USB设备连接到一个高速的Hub上时,高速USB主机需要使用Split事务来解决从高速模式到低速和全速模式的切换,Split事务分为SSplit(Start split)和CSplit(Complete Split)事务两种类型。一个SSplit事务和一个CSplit事务两者联合使用来完成一个低速或全速模式下的常规事务。
下图是发送数据的split事务,包括高速USB主机和高速Hub之间的SSplit和一个CSplit事务,两个事务完成高速USB主机通过高速Hub向低速或全速USB设备发送数据。其中SSplit事务用于高速USB主机通过高速Hub向低速或全速USB设备发送数据,CSplit事务用于高速Hub将USB设备返回的握手包返回给USB主机。
下图是接收数据的split事务,用于高速USB主机接收来自低速或全速USB设备的数据,也包括SSplit事务和CSplit事务,其执行流程与高速USB主机发送数据流程相似。