返回信息流session request protocol,我大概理解:
srp是suspend/remote wakeup以及LPM的补充或者加强,使得host端可以在suspend的时候关闭vbus省电,相应地device需要在没有vbus的条件下可以做srp pulsing
所以我觉得,在srp之后,host不应认为device是刚刚连上的新device,要继续使用之前对device的配置进行交互?
相应的adp,attach detection protocol。
在host被a插头插上之后,就可以把vbus拉高了。但这样太费电了,所以来了这个adp来检查device那边有没有被相应的b插头插主,同时vbus还基本处于未被充电的状态
或者反过来,拔出也是这么检测
adp简单说就是对vbus上的电容充电放电,通过充放电时间的变化,来判定attach状态发生了变化。
那host发现有变化就充电vbus开始attach,如果超时则认为对端disattach。
device发现有变化则开始srp,如果超时则认为disattach
所以整个流程是
host被a插头插上,开始adp,几次adp之后发现充放电时间有变化,考虑device已上线,就充电vbus开始attach。
一通交互之后进入了沉寂,suspend了。host这时把vbus关了,开始新一轮adp(充放电时间重新计,这样来判断是不是device拔出),同时等待srp。
device这边做srp之后,host再开始上电vbus,继续一通数据交互。。。。
这样多次之后,人类终于把连线断开了,这时候host发现adp有变化,开始attach,超时,认为disattach。
device那边srp,超时,认为disattach
所以device那边可以不用支持adp的?
这是一条镜像帖。来源:北邮人论坛 / communications / #28055同步于 2018/8/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
有没有usb大神,请教一下srp/adp
darkghost
2018/8/10镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复