1.四个概念:挂起、恢复、空闲、唤醒
首先,需要明白四个概念:挂起(suspend)、恢复(resume)、空闲(idle)和唤醒(wakeup)。
挂起
是一个从Host/Hub到设备的请求,这个请求表现为一个在USB总线上的3ms的’J’状态(即全速模式下的空闲状态,此时,信号线D+上的电压高于信号线D-上的电压)。此外,还可以手动产生一个挂起信号,即向SUSPEND寄存器写任意值:
恢复
是一个设备(或者主机)发起的将USB总线驱动成’K’状态的信号,用于请求主机(或者设备)从退出低功耗的挂起模式。
空闲
是EZ-USB的低功耗状态。固件可以通过设置寄存器PCON (Power Control)的BIT0为0,进入而是芯片进入这一状态。此后,如果如下条件满足其中之一,则 系统晶振停摆:
1)总线上的挂起条件继续存在,或者向SUSPEND寄存器写入数据;
2)唤醒源(WAKEUP, WU2, USB Resume)被禁止或出错。
当收到唤醒中断时,EZ-USB退出空闲状态。