什么叫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. HTML5增加与改良的input元素

    h5中form表单中input新增的属性值 在HTML5中增加了许多新的标签和功能属性,今天我们来看一个Form表单在HTML5中新的使用方法.那么在HTML5中新加入的这个功能与之前咱们使用的功能区 ...

  2. LeetCode(101)Symmetric Tree

    题目 Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). Fo ...

  3. POJ 2728 Desert King(最优比率生成树, 01分数规划)

    题意: 给定n个村子的坐标(x,y)和高度z, 求出修n-1条路连通所有村子, 并且让 修路花费/修路长度 最少的值 两个村子修一条路, 修路花费 = abs(高度差), 修路长度 = 欧氏距离 分析 ...

  4. 使用MyBatista----上传图像

    使用MyBatis上传图像,使用的是Oracle的数据库表,有一个TEACHER表,有7列,有1列是存储图片的,类型用BLOB,最大容量是4G,以二进制的形式写入数据库表. 建立这个表的对应实体类Te ...

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

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

  6. SQL中varchar和nvarchar的基本介绍及其区别

    SQL中varchar和nvarchar的基本介绍及其区别 varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储 ...

  7. HaHa's Morning(状压DP)

    描述 HaHa is so happy today, he is going to participate the 7th Hunan University Programming Contest. ...

  8. mysql与时间有关的查询

    date(str)函数可以返回str中形如"1997-05-26"格式的日期,str要是合法的日期的表达式,如2008-08-08 22:20:46 时间是可以比较大小的,例如: ...

  9. 推荐一个 Java 实体映射工具 MapStruct

    声明: 1.DO(业务实体对象),DTO(数据传输对象). 2.我的代码中用到了 Lombok ,不了解的可以自行了解一下,了解的忽略这条就好. 在一个成熟的工程中,尤其是现在的分布式系统中,应用与应 ...

  10. JPA框架下使用纯粹的原生SQL

    最近遇到一个需求,查询数据库中对应表的字段是动态的,项目使用的框架使用JPA+Spring Boot,JPA自带原生SQL支持的传入参数是强类型的,无法用于查询语句的字段更改,因为插入字符串的话带有单 ...