USB OTG Session Request Protocol(SRP)请求过程

USB OTG Session Request Protocol(SRP)请求过程


0.介绍
SRP总体过程如下:
1.通过管理VBUS与DATA LINES 来确定上一个SESSION的结束
2.B-DEVICE通过DATA LINES 上的脉出来发送SRP
3.A-DEVICE通过检测VBUS上的电压来确定SRP信号
4.B-DEVICE检测新的SESSION是否有效


1.SRP初始化条件
首先,B-DEVICES只有在VBUS上的电压低于VOTG_SESS_VLD并且D+ DATA LINES 达到最低的SE0时才能开始发SRP,因为要保证前一次的SESSION已经结束。


2.DATA-LINES 脉冲
满足上述条件后,B-DEVICE就能打开它的D+上拉电阻一段时间(TB_DATA_PLS)来使电压升高。这段时间要足够长,能让A-DEVICE能够排除数据线上的其它干扰。
A—DEVICE应该能够通过D+线走高而检测到SRP的信号,因为D+ DATA LINES 上的脉冲是通过它的上升或下降沿来区别的,这两个边沿都应该通过A-DEVICE产生报告。
(由于观查到有些自供电USB设备不遵守USB2.0 标准的7.1.5.1,这种设备只要还有电在供给,设备就会一直的把D+线拉高,而不考虑现在VBUS的状态。
出于这个原因,A-DEVICE应该能在有违反了标准的设备插上时,把对数据线上SRP脉冲响应的这个功能关掉。)
当检测到D+线是高,而VBUS是低时,这种情况的持续时间超过了最大D+脉冲宽度(TB_DATA_PLS)时,DEVICE-A就要判决B-DEVICE没有遵循守则并关掉对SRP响应的功能直到D+重新掉下去。
当数据线回低时,SRP能力重新启用。


3.VBUS 脉冲
VBUS脉冲SRP所定义的前一个方法已经不再适用了。当在B-DEVICE没有任何问题时,A-DEVICE就会把VBUS线上的电压拉高


4.B-DEVICE SESSION 有效
当B-DEVICE检测到VBUS上的电压是高过了SESSION有效值阈(VOTG_SESS_VLD)时,B-DEVICE就应该考虑将这个进行这个SESSION了。
当B-DEVICE的电压交汇到这个阈值的时候,B-DEVICE就断言在这个时期内的D+或D-数据线应该在TB_SVLD_BCON时间内跳到最大值,同时B-DEVICE能在数据线脉冲内够继续管理VBUS。


5.A-DEVICE的响应时间
在初始化SRP后,B-DEVICE需要等待至少TB_SRP_FAIL的最少时间来给A-DEVICE作为响应,在此之后B-DEVICE就可能通知用户尝试交流失败。
因此,我们建议A-DEVICE应该在少于TA_SRP_RSPNS的时间内进行响应。这个从A-DEVICE来的最小的回应就是打开VBUS产生一个总线重置信号。 


6.SRP的初始化
B-DEVICE可以在先决条件满足后的任何时间进行初始化,为了避免不必要的从A-DEVICE多拉电流出来,B-DEVICE应该只在需要响应特定事件时才初始化SRP而且SRP不能在一次事件产生多次。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值