什么叫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. Python自动化测试框架——生成测试报告

    如何才能让用例自动运行完之后,生成一张直观可看易懂的测试报告呢? 小编使用的是unittest的一个扩展HTMLTestRunner 环境准备 使用之前,我们需要下载HTMLTestRunner.py ...

  2. 4 SQL 数据更新

    4 数据更新 4-1 数据的插入(INSERT语句的使用方法) 通过create table语句创建出来的表,可以将其比作一个空空如也的箱子.只有把数据装入到这个箱子后,它才能称为数据库.用来装入数据 ...

  3. Docker客户端连接Docker Daemon的方式

    Docker为C/S架构,服务端为docker daemon,客户端为docker.service,支持本地unix socket域套接字通信与远程socket通信. 默认为本地unix socket ...

  4. db2快速删除大表数据(亲测可用)

    一.推荐.删了不可恢复 TRUNCATE TABLE table_name IMMEDIATE 二. DB2 LOAD FROM d:\DB2_BAK\null.del of del REPLACE ...

  5. 条款12:复制对象时勿忘其每一个成分(Copy all parts of an object)

    NOTE: 1.Copying 函数应该确保复制“对象内的所有成员变量”及“所有base class成分”. 2.不要尝试以某个copying函数实现另一个copying函数.应该将共同机能放进第三个 ...

  6. Python中的类(2)

    一.使用类和实例 我们先编写一个学生的类,它存储了有关学生的信息,还有一个整合学生信息的方法: student.py class Student(): def __init__(self,name,a ...

  7. Spring MVC 接入 rabbitMQ

    依赖包 <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spr ...

  8. Android渲染器Shader:梯度渐变扫描渲染器SweepGradient(二)

     Android渲染器Shader:梯度渐变扫描渲染器SweepGradient(二) 附录文章1介绍了线性渐变渲染器. Android的SweepGradient梯度渐变扫描,重点是在构造Swe ...

  9. 【数据传输 2】批量导入的前奏:将Excel表中的数据转换为DataTable类型

    导读:我们知道,在数据库中,数据集DataSet是由多张DataTable表组成.所以,如果我们需要将数据从外部导入到数据库中,那么要做的很重要的一步是将这些数据转换为数据库可以接受的结构.今天在用S ...

  10. POJ-Crazy tea party,很好的一道数学题~~~

    Crazy tea party Time Limit: 1000MS   Memory Limit: 10000K        Description n participants of <& ...