USB上电后两次reset的chirp K信号

一、为何示波器上显示有两次chirp K而CATC却只抓到了一次chirp K信号


USB上电后两次reset的chirp K信号_第1张图片

包1、2、3分别对应下图示波器抓到的1、2、3处的波形,3个包发送结束后主机再一次进行RESET,与device进行发送chirp K握手。

然而在示波器上显示两次chirp K信号,但是在CATC上却只抓到了B处的chirp K信号,

原因是在CATC只录取high speed信号的情况下,CATC以sof帧作为判断high speed条件,而在示波器上显示的第一次chirp K之前,

主机还没有向device发送sof从而CAT无法判断A处chirp K信号是否属于high speed信号,从而选择不记录第一个chirp K。

USB上电后两次reset的chirp K信号_第2张图片


二、为何有两次chirp K信号

第一次chirp K信号是在suspend之后的,此时属于硬件枚举阶段,主机想要了解device的速度因而进行的reset,

而第二次的chirp K可由上图看到是在get device descriptor的3个包之后的,这个是根据不同的主机的行为,USB2.0规范并没有要求这里的复位动作,

复位是一个谨慎的动作,有的主机为了确保复位结束后设备处在一个已知的状态。

你可能感兴趣的:(USB上电后两次reset的chirp K信号)