我对 USB 领域还比较陌生,我在 USB 标准中提出了这些方程式(这些方程式位于文件并用于计算总线事务时间)。据我所知,USB 中的输入和输出操作方式相同,但正如您在此处看到的,某些公式对于输入和输出具有不同的形式。您能帮我解决这个冲突吗?谢谢。
High-speed (Input)
Non-Isochronous Transfer (Handshake Included)
= (55 * 8 * 2.083) + ( 2.083 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
Isochronous Transfer (No Handshake)
= (38 * 8 * 2.083) + ( 2.083 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
High-speed (Output)
Non-Isochronous Transfer (Handshake Included)
= (55 * 8 * 2.083) + ( 2.083 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
Isochronous Transfer (No Handshake)
= (38 * 8 * 2.083) + ( 2.083 * Floor(3.167 Host_Delay + BitStuffTime(Data_bc))) +
Full-speed (Input)
Non-Isochronous Transfer (Handshake Included)
= 9107 + ( 83.54 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
Isochronous Transfer (No Handshake)
= 7268 + ( 83.54 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
Full-speed (Output)
Non-Isochronous Transfer (Handshake Included)
= 9107 + ( 83.54 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
Isochronous Transfer (No Handshake)
= 6265 + ( 83.54 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
Low-speed (Input)
= 64060 + (2 * Hub_LS_Setup) + (676.67 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
Low-speed (Output)
= 64107 + (2 * Hub_LS_Setup) + (667.0 * Floor(3.167 + BitStuffTime(Data_bc))) + Host_Delay
答案1
如果仔细检查公式,您会发现“输出”和“输入”几乎相同。由于初始传播时间,同步传输仅存在细微差异。主机到设备的传输不会等待任何事情,速度更快,而设备到主机的传输涉及传播时间。我不确定为什么公式显示 LS 输出慢了 47 纳秒,可能是打字错误。
顺便说一句,这些公式几乎没用,因为有“主机延迟”这个术语,它会根据系统通道响应时间而变化,所以这些公式基本上没用。