USB2.0之data PID
PID的用途
我猜它是用来检测丢包、错包的吧。
PID的用法
data PID是作用于端点的。也就是说不同端点之间互不影响。
control transfer:
setup stage中的数据固定为8字节,其PID为DATA0。data stage中的数据包从DATA1开始,DATA1与DATA0交替。status stage中的数据包通常是一个空包,其PID为DATA1。
bulk transfer:
DATA0与DATA1交替。
只有传输成功才翻转。
第一个数据包PID为DATA0。
如果端点错误或STALL,PID复位到DATA0。
interrupt transfer and isochronous transfer
参考high-speed high-bandwidth endpoint相关的协议。