BC1.2的一些心得

什么叫DCD

DataContact Detect(DCD)

 

 

1.首先是DCD

2.然后是Primary detection

3.然后是Secondary detection

 

 

检测充电的条件是VBUS>VOTG_SESS_VLD

检测流程

1.DCD 阶段

打开IDP_SRCRDM_DWN,检测D+上的电压和VLGC_LOW比较.如果VDP小于VLGC_LOW,或者TDCD_TIMEOUTDCD阶段结束,这个时候应该关闭IDP_SRCRDM_DWN

标准的CDPSDP都是支持DCD

 

2.PRI阶段

暂不考虑ACA

打开D+上打开VDP_SRC,然后检查D-的电压和VDAT_REF比较,如果VDM 大于VDAT_REF,则可以是DCP或者是CDP,如果VDM小于VDAT_REF则是SDP

关闭VDP_SRC

 

3.SEC阶段

D-上打开VDM_SRC,然后比较D+的电压与VDAT_REF,如果VDP大于VDAT_REFPD连接的是DCP,如果VDP小于VDAT_REFPD连接的是CDP.

当检测到是DCP时,应该关闭VDM_SRC

打开VDP_SRC或者通过RDP_UP上拉D+VDP_UP

当检测到是CDP时,应该关闭VDM_SRC,使得D+D-都保持低位until ready to connect and be enumerated.

 

 

 

SDPCDP都是能够通过DCD的检测的。大部分DCP也是能够通过DCD的检测的。DCP其实是将D+D-中间加电阻短接。而CDP来说可以认为D+D-直接连接检测DCD的过程是将DP上的电流源IDP_SRCRDM_DOWN打开,检测D+上的电压值。标准的SDPCDP由于RDM_DOWN的电阻比较小,电压值不够VLGC_LOW,也就是说DP上的电压小于0.8V则认为是通过了DCD的检测。

 

可以认为通过DCD的就是标准的DCP/SDP/CDP的充电器,没有通过的都是特殊的充电器

 

其原理就是:

一般可以认为充电口D+/D-上的电阻值比较小,也没什么上拉的电阻把上面的电压值拉高,所以使用一个电流源IDP_SRC(Data Contact Detect CurrentSource 7~~13uA)DP上,这个电流源在没有连接充电器的时候会使得DP+上的电压值高于2.0V。而如果PD和充电端口连上的时候,由于D+/D-上面有接地电阻,而且该接地电阻一般最多也就24.8KR,这样的电阻不能使得DP上的电压值达到VLGC_LOW=0.8V。这样判断VDP<VLGC_LOW就表示数据引脚连接上了。

 

注意:

DCD的时候不仅要看BC1.2也要看BC1.1,有助于理解为什么IDP_SRC的电流,以及DCD的原理

 

 

 

 

检查当前的DP/DM的类型的方式:

1.通过RX CMD

2.通过读取ULPI 寄存器 DEBUGlinestate[Bit1 Bit0].

3.TI有个Vendor specific的寄存器可以测量debouncedDP/DM

 

 

 

检测充电器时,比如DCD阶段需要打开IDP_SRCRDM_DWN.这里RDP_DWN RDM_DWN分别是在chargerdetection moduleDPDM的下拉电阻。该电阻和由DPPULLDOWNDMPULLDOWNbit位控制的PHY blockDM 下拉电阻是物理上不同的电阻.

检查充电的DP/DM下拉电阻和PHYDP/DM的下拉电阻是不一样的。其实他们的电阻值的要求也是不一样的。

Machine generated alternative text: USB 2.OHS-OTGTransceiver (PHY)RegistersS SW Charger DetectionitrolDPDMIDVBUSCHRG_DETCHRG_EN_NCHRG_POL

 

 

 

USB charger detection前提条件PHY不再驱动DP/DMPHY上的DP/DM上的上拉下拉电阻必须关闭,处于全速模式状态

 

 

 

问题:

在插入的时候,高速设备的terminatorresistor 是否连上?D+D-上的电阻是否连上?

 

充电检测的顺序和enumeration的顺序是怎样的?

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值