USB 2.0帧软件冲突
我们正在寻找可能的原因,即控制传输在一个帧中开始得太晚,以至于设备响应会出现在下一个USB 2.0帧软件冲突,usb,driver,host,Usb,Driver,Host,我们正在寻找可能的原因,即控制传输在一个帧中开始得太晚,以至于设备响应会出现在下一个SOF的顶部wMaxPacketSize为0x40(64位小数)。我们可以设置主机控制器驱动程序,以便在时间接近时推迟到下一个SOF;然而,我们认为这是主机控制器的责任 我们愿意接受各种想法和可能的解决办法 你为什么要找这个麻烦?最终目标是什么?您正在编写主机控制器驱动程序吗?我认为主机控制器和/或它们的驱动程序是为了避免这个问题而设计的;他们应该知道设备将要发送(或当前正在发送)数据包,从而避免发送SOF。是的
SOF
的顶部wMaxPacketSize
为0x40
(64位小数)。我们可以设置主机控制器驱动程序,以便在时间接近时推迟到下一个SOF
;然而,我们认为这是主机控制器的责任
我们愿意接受各种想法和可能的解决办法 你为什么要找这个麻烦?最终目标是什么?您正在编写主机控制器驱动程序吗?我认为主机控制器和/或它们的驱动程序是为了避免这个问题而设计的;他们应该知道设备将要发送(或当前正在发送)数据包,从而避免发送SOF。是的,我们已经编写了自己的主机控制器驱动程序。它正在生产中,运行良好。然而,在范围内,我们注意到OUT数据包在帧中发生得太晚,以至于来自设备的ACK落在下一个SOF的顶部。这种情况很少见。我们假设主机控制器将提供足够的时间余量,以便在SOF之前获得ACK。这是真的吗?如果是,除了EP中的wMaxPacketSize设置之外,还需要其他哪些机制?