31.6.2.12 反馈操作
反馈端点是端点带有相同地址但不同方向。这个通常用在直接的反馈机制的USB声音,一个反馈端点是与
一个或多个等时数据端点相关,这样提训反馈服务。反馈端点总是同数据端点方向相反。
反馈端点有相同的端点数同第一个(更低的)数据端点。一个反馈端点能被通过配置一个端点带有不同的
端点长度(PCKSIZE.SIZE)和不同的端点类型(EPCFG.EPTYPE0/1),对与输入和输出方向。
配置反馈的操作例子:
端点n/IN:EPCFG.EPTYPE1 = 中断输和,PCKSIZE.SIZE=64
端点n/OUT:EPCFG.EPTYPE0 = 等时输出,PCKSIZE.SIZE=512
31,6.2.13 挂起状态和Pad行为
下图描述了USB pad在设备模式中的行为:
在空闲状态,pad在低功耗模式下。
在活动状态,pad是活动状态。
下图是pad事件导致一个pad状态改变。
当一个USB挂起状态在USB总线上被检测到,挂起中断比特在中断标志寄存器中设置。USB pad 自动进入
空闲状态。检测的不空闲状态设置INTFLAG中的唤醒比特(INTFLAG.WAKEUP)并且唤醒USB pad。
如果USB模块失能或CTRLB.DETACH写1,pad进入空闲状态。当CTRLA.ENABLE写1或CTRLB.DETACH写0它将
返回活动状态。
31.6.2.14 远程唤醒
远程唤醒(也称为恢复更新)是只要求设备可以发送自已的初始值。这个应从主机通过
DEVICE_REMOTE_WAKEUP请求。
首先,USB已经检测到在USB总线上一个“挂起”状态,如:远程唤醒请求只在INTFLAG.SUSPEND被置1
后发送。
用户可以写一个1到CTRLB的远程唤醒比特(CTRLB.UPRSM)来发送一个更新恢复到主机初始唤醒。这将自
动完成在USB总线保持5MS的不活动状态。
当控制器发送更新恢复后INTFLAG.WAKEUP被置位并且INTFLAG.SUSPEND被清零.
CTRLB.UPRSM被清除在传输更新复位的结尾。
由于一个重新广播恢复是由主机发起的,当得新广播恢复结束时,恢复结尾比特在INTFLAG
(INTFLAG.EORSM)标志被置位。
当一个主机初始一个向下恢复已经开始,CTRLB.UPRSM比特被设置,CTR LB.UPRSM被清除同时更新恢复
请求忽略。
|