什么叫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. 关于nagios系统下使用shell脚本自定义监控插件的编写以及没有实时监控图的问题

    关于nagios系统下shell自定义监控插件的编写.脚本规范以及没有实时监控图的问题的解决办法 在自已编写监控插件之前我们首先需要对nagios监控原理有一定的了解 Nagios的功能是监控服务和主 ...

  2. mysql EXPLAIN Join Types 手册解释 及数据实操

     第一部分:名称解释 文档地址 https://dev.mysql.com/doc/refman/5.7/en/explain-output.html EXPLAIN Join Types: The ...

  3. 刁肥宅详解中缀表达式求值问题:C++实现顺序/链栈解决

    1. 表达式的种类 如何将表达式翻译成能够正确求值的指令序列,是语言处理程序要解决的基本问题,作为栈的应用事例,下面介绍表达式的求值过程. 任何一个表达式都是由操作数(亦称运算对象).操作符(亦称运算 ...

  4. linux中的grep命令用法

    原文请移驾:http://blog.csdn.net/greytree/article/details/428532 grep -- print lines matching a pattern (将 ...

  5. C++中的左移、右移运算

    移位运算包含“逻辑移位”(logical shift)和“算术移位”(arithmetic shift). 逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充. 算术移位:移出去的位 ...

  6. flume介绍及应用

    版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/QQ技术交流群:299142667 flume的概念 1.   ...

  7. 服务器端架构及实战 — C#分享

    简介 此文是我2008年读研究生期间做的C#项目技术分享,给计算机专业学生的一些经验分享. 当时工作2年后读研. 计算机基础了解及介绍 了解计算机的核心课程和大家的理解 二进制的历史和原理 数字逻辑及 ...

  8. UVA10200-Prime Time/HDU2161-Primes,例题讲解,牛逼的费马小定理和欧拉函数判素数。

                                                    10200 - Prime Time 此题极坑(本菜太弱),鉴定完毕,9遍过. 题意:很简单的求一个区间 ...

  9. HDU 1102 Kruscal算法

    题目大意:给定村庄的数量,和一个矩阵表示每个村庄到对应村庄的距离,矩阵主对角线上均为1 在给定一个数目Q,输入Q行之间已经有通道的a,b 计算还要至少修建多少长度的轨道 这道题目用Kruscal方法进 ...

  10. 【Educational Codeforces Round 48】

    A:https://www.cnblogs.com/myx12345/p/9843001.html B:https://www.cnblogs.com/myx12345/p/9843021.html ...