libusb是否支持OUT事务的PING流控制?
根据我正在连接的设备的数据表,“每个OUT数据包返回一个NYET握手。主机ping OUT端点,当设备的内部处理完成时,返回ACK回应PING。“
是否可以使用libusb实现这一目标?
答案 0 :(得分:1)
PING是一个令牌包,由USB主机控制器而不是软件生成。 PING令牌由主机控制器自动处理。
EHCI控制器为每个队列头保持PING状态位(每个队列头将对应于每个端点)。主机控制器驱动程序将每个队列头的ping状态初始化为0。
Ping状态 -
0B - (执行 OUT ) - 主机控制器将在下一次总线事务处理期间使用OUT PID。
1B - (执行 Ping ) - 主机控制器将在下一个总线上使用PING PID 事务到这个端点。
协议 -
主控制器将首先发送OUT数据包。如果响应是NAK或NYET,则控制器将ping状态更改为1并开始发送PING令牌。 当为PING令牌返回ACK时,主机控制器将引脚状态更改回0并重新发送OUT令牌。
因此,SW开发人员无需担心,您也不需要做任何事情。