有没有大神来给我讲讲srp
usb吧
全部回复
仅看楼主
level 13
矮珍珠🌱 楼主
session request protocol,我大概理解:
srp是suspend/remote wakeup的补充或者加强,使得host端可以在suspend的时候关闭vbus省电,相应地device需要在没有vbus的条件下可以做srp pulsing
2018年08月10日 09点08分 1
level 13
矮珍珠🌱 楼主
所以我觉得,在srp之后,host不应认为device是刚刚连上的新device,要继续使用之前对device的配置进行交互?
2018年08月10日 09点08分 2
level 13
矮珍珠🌱 楼主
相应的adp,attach detection protocol。
在host被a插头插上之后,就可以把vbus拉高了。但这样太费电了,所以来了这个adp来检查device那边有没有被相应的b插头插主,同时vbus还基本处于未被充电的状态
2018年08月10日 09点08分 3
或者拔出也是这么检测
2018年08月10日 09点08分
level 13
矮珍珠🌱 楼主
adp简单说就是对vbus上的电容充电放电,通过充放电时间的变化,来判定attach状态发生了变化。
那host发现有变化就充电vbus开始attach,如果超时则认为对端disattach。
device发现有变化则开始srp,如果超时则认为disattach
2018年08月10日 09点08分 4
level 13
矮珍珠🌱 楼主
所以整个流程是
host被a插头插上,开始adp,几次adp之后发现充放电时间有变化,考虑device已上线,就充电vbus开始attach。
一通交互之后进入了沉寂,suspend了。host这时把vbus关了,开始新一轮adp(充放电时间重新计,这样来判断是不是device拔出),同时等待srp。
device这边做srp之后,host再开始上电vbus,继续一通数据交互。。。。
这样多次之后,人类终于把连线断开了,这时候host发现adp有变化,开始attach,超时,认为disattach。
device那边srp,超时,认为disattach
2018年08月10日 09点08分 5
level 13
矮珍珠🌱 楼主
所以device那边可以不用支持adp的?
如果host和device同时开始adp probing,那不就错误的让双方认为attachment有变化了吗?
2018年08月10日 10点08分 6
哦,device有adp sensing[吐舌]
2018年08月10日 10点08分
1