什么叫DCD

DataContact Detect(DCD)

1.首先是DCD

2.然后是Primary detection

3.然后是Secondary detection

检測充电的条件是VBUS>VOTG_SESS_VLD

检測流程

1.DCD
阶段

打开IDP_SRC与RDM_DWN,检測D+上的电压和VLGC_LOW比較.假设VDP小于VLGC_LOW,或者TDCD_TIMEOUT则DCD阶段结束,这个时候应该关闭IDP_SRC和RDM_DWN

标准的CDP和SDP都是支持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_REF则PD连接的是DCP,假设VDP小于VDAT_REF则PD连接的是CDP.

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

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

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

SDP和CDP都是可以通过DCD的检測的。大部分DCP也是可以通过DCD的检測的。

DCP事实上是将D+和D-中间加电阻短接。

而CDP来说可以觉得D+和D-直接连接检測DCD的过程是将DP上的电流源IDP_SRC和RDM_DOWN打开。检測D+上的电压值。标准的SDP和CDP因为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和充电port连上的时候,因为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
寄存器 DEBUG的linestate[Bit1 Bit0].

3.TI有个Vendor specific的寄存器能够測量debounced的DP/DM值

检測充电器时,比方DCD阶段须要打开IDP_SRC和RDM_DWN.这里RDP_DWN
和RDM_DWN各自是在chargerdetection module的DP和DM的下拉电阻。

该电阻和由DPPULLDOWN和DMPULLDOWNbit位控制的PHY
block的DM 下拉电阻是物理上不同的电阻.

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

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

问题:

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

充电检測的顺序和enumeration的顺序是如何的?

BC1.2的一些心得的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  3. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  4. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  7. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  8. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  9. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

随机推荐

  1. SQL语句操作SQL SERVER数据库登录名、用户及权限

    要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许连接 SQL Server 服务器的权利: 获得访问特定数据库中数据的权利(select, update, de ...

  2. oslo.messaging

    oslo.messaging oslo.messaging库为OpenStack各个项目使用RPC和事件通知(Event Notification)提供了一套统一的接口.代码库位于https://gi ...

  3. 深入理解JavaScript的设计模式

    使用适当的设计模式可以帮助你编写更好.更易于理解的代码.这样的代码也更容易维护.但是,重要的是不要过度使用它们.在使用设计模式之前,你应该仔细考虑你的问题是否符合设计模式. 当你开始一个新的项目时,你 ...

  4. js 函数节流和防抖

    js 函数节流和防抖 throttle 节流 事件触发到结束后只执行一次. 应用场景 触发mousemove事件的时候, 如鼠标移动. 触发keyup事件的情况, 如搜索. 触发scroll事件的时候 ...

  5. Android 图片设置圆角 方法之二

    Android中经常会遇到对图片进行二次处理,例如加圆角,或者显示圆形图片.接下来我们再介绍一种方法. 首先, 自定义ImageView: android:id="@+id/iv" ...

  6. sqlserver复制表数据到另一个表

    SQL Server中,如果目标表存在: insert into 目标表 select * from 原表; SQL Server中,,如果目标表不存在: select * into 目标表 from ...

  7. codevs 1743 反转卡片 rope or splay

    [codevs1743]反转卡片 题目描述 Description [dzy493941464|yywyzdzr原创] 小A将N张卡片整齐地排成一排,其中每张卡片上写了1~N的一个整数,每张卡片上的数 ...

  8. jvm参数设置 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

    -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将- ...

  9. mappedBy的具体使用及其含义

    mappedBy: 1>只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性: 2>mappedBy标签一定是定义在被拥 ...

  10. hdu 4045 Machine scheduling [ dp + 斯特林数]

    传送门 Machine scheduling Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...