简单聊一聊手机端口的识别协议-BC1.2

关于BC1.2协议 每一个从事手机硬件设计的工程师都应该非常了解熟悉,其主要是为了充电端口的识别。然而关于这部分协议,网上有很多的讲解,有讲的很仔细的,也有讲的很粗糙的,小编也是为了学习这部分协议,翻阅了很多资料,最终决定将自己学到的结合自己工作上确实遇到的进行一些简单的描述讲解。

首先先要了解几个名词
SDP:Standard Downstream Port标准下行端口,比如电脑的USB口。这种口的充电能力是0.5A
CDP:Charging Downstream Port带较强充电能力的USB口,比如电脑的USB口(蓝色的口)。这种口的充电能力一般1.5A.
DCP: Dedicate Charging Port专用充电口,比如手机充电器
PD:portable Device便携设备,如手机。
————————————————
在这里插入图片描述图示为充电端口检测的框架

充电端口的识别主要分为以下五个步骤:
(1)VBUS Detect
(2)Data Contact Detect
(3)Primary Detection
(4)Secondary Detection
(5)ACA Detection

本文主要讲常见的前四个阶段

  1. VBUS 检测
    在BC1.2开始之前,首先会进行一番VBUS的检测。每一个PD内部都存在一个同相比较器,用于检测VBUS。当适配器接入PD时,只有比较器的VBUS大于参考电压VOTG_SESS_VLD时,VBUS才会有效,随后将会进行后面的操作。
    在这里插入图片描述补充说明:因为手机端口USB座子的设计(箭头指向为VBUS引脚),TYPE C端的VBUS引脚最先接触到手机端(除去GND端),其次再是数据引脚接触。这也就是为什么充电识别过程中,最先执行的是VBUS detect了。
    在这里插入图片描述

  2. DCD检测
    Data Contact Detect,数据的连接线检测,即判断适配器是否完全接入手机USB座子。
    判断完VBUS接入后,随后即是判断数据信号的连接是否到位。
    当Attached时
    手机端的D+的IDP_SRC(大概10uA)打开,因为D+端接了一个电阻RDP_DWN(20K左右)下地,所以D+会存在一定的小电压200mV,当电压小于参考值时,说明USB接入良好。所以在波形上看D+最前端存在一个非常小的电压起伏。
    在这里插入图片描述
    在这里插入图片描述

然而DCD的检测并不是必须要执行,如果没有执行DCD的检测,协议会在VBUS有效后的T DCD_TIMEOUT开始执行后面的步骤(后面的波形是没有执行DCD检测的情况)。

  1. 充电端口检测
    (1) Primary Detection :区分SDP与DCP CDP
    在这里插入图片描述
    当PD连接到SDP时,PD设备会打开上端的VDP_SRC 与中间的IDM_SINK,致使D+存在一定的电压(大概0.6V),也就是图示波形D+在“Primary detection” 中拉高的那部分。之后手机开始检测D-的电压,当D-电压小于VDAT_REF则认为识别到的是SDP。当D-电压大于VDAT_REF,则认为识别到的是DCP或者CDP,后面开始进行二次检测。
    在这里插入图片描述SDP

(2)Secondary Detection:区分DCP与CDP
CDP
在这里插入图片描述
首次检测完成之后,PD会在D-端打开VDM_SRC,在D+端打开IDP_SINK,同时比较D+端的电压与VDAT_REF,如果小于VDAT_REF。说明接入的设备属于CDP。
在这里插入图片描述

DCP
在这里插入图片描述
若D+端的电压大于VDAT_REF,说明接入的是DCP,因为D+与D-之间通过RDCP_DAT短接在一起。所以D+与D-电压几乎相似。
在这里插入图片描述
在DCP检测完成之后,我们还要检测协议是否支持QC2.0。其会在D+端施加0.6V电压,因为DCP阶段,D+与D-短接在一起,所以D+与D-电压始终一致。在维持1.25s后D+与D-将断开短接,若D-电压跌落至0V并维持一段时间,说明此适配器支持QC2.0。
在这里插入图片描述
在D-跌落至0V并维持一段时间后,D+与D-电压继续发生变化,即图示D+ D-最后一个阶段,其按照如下原则,通知充电器,输出对应的电压。
在这里插入图片描述
上图波形:D+最终3.3V,D-最终0.6V 所以VBUS被抬高到9V。

总之,根据波形总结,在识别阶段,Primary Detect由D+发起,Secondary Detect由D-发起。SDP DCP CDP三者在波形上的区别,SDP在Primary Detect就被识别,所有永远只有一次位于D+的高电平。DCP由于D+ D-被电阻短接在一起,所以D+与D-永远保持一样的电平状态,两次都位于高电平状态。CDP则是看为二者的波形中和,D+只存在一次高电平,D-存在两次高电平。

  • 9
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要下载tomcat-redis-session-manager-1.2-tomcat-7.jar,您可以按照以下步骤进行操作: 1. 打开您的网络浏览器,进入您通常使用的搜索引擎网站,如Google或百度。 2. 在搜索框中输入“tomcat-redis-session-manager-1.2-tomcat-7.jar下载”并按下回车键。 3. 检查搜索结果,找到可靠且权威的网站,比如Apache官方网站或者Maven中央库。 4. 点击打开所选网站,并在搜索栏中输入“tomcat-redis-session-manager-1.2-tomcat-7.jar”。 5. 您会看到相关的下载链接或页面,点击下载按钮或链接。 6. 选择一个合适的下载位置或文件夹,单击“保存”或“确认”按钮开始下载。 7. 等待下载完成,这可能需要一些时间,具体取决于您的网络连接速度和该文件的大小。 8. 下载完成后,在指定的下载位置或文件夹中找到下载的jar文件。 现在,您已经成功下载了tomcat-redis-session-manager-1.2-tomcat-7.jar文件,并可以将其用于相应的项目或应用程序中。请确保在使用该jar文件之前,仔细阅读相关的文档和说明,以确保正确配置和使用。 ### 回答2: 要下载tomcat-redis-session-manager-1.2-tomcat-7.jar,您可以按照以下步骤进行操作: 1. 打开您所用的网络浏览器(如Chrome、Firefox等)。 2. 在浏览器的地址栏中输入“tomcat-redis-session-manager-1.2-tomcat-7.jar”进行搜索。 3. 找到一个可信赖的下载来源,例如官方网站、GitHub等,确保文件来源可靠。 4. 点击下载链接或按钮,开始下载jar文件。 5. 下载完成后,您可以选择保存文件到您的电脑的特定目录,以便日后使用。 6. 如果您使用的是Tomcat服务器(版本7),则可以将该jar文件放置在您的Tomcat安装目录(通常是"tomcat7/lib"文件夹)下的“lib”文件夹中。 7. 确保您已经正确配置了Tomcat服务器,以便正确使用tomcat-redis-session-manager-1.2-tomcat-7.jar文件。 8. 现在,您已经成功下载并准备好使用tomcat-redis-session-manager-1.2-tomcat-7.jar文件了。 请注意,下载jar文件是一种常见的操作,确保您从可信赖的来源下载文件,以避免潜在的安全问题。另外,请根据您所使用的Tomcat服务器的版本选择正确的jar文件。 ### 回答3: 要下载 tomcat-redis-session-manager-1.2-tomcat-7.jar,您可以按照以下步骤进行操作: 1. 确定您的计算机上已安装 Java 运行时环境(JRE)和 Apache Tomcat 7。如果没有安装,您需要先下载和安装这些软件。 2. 打开您的网络浏览器,转到可信赖的软件下载网站,例如 Apache Tomcat 的官方网站或 Maven 仓库。 3. 在搜索框中输入 "tomcat-redis-session-manager-1.2-tomcat-7.jar",然后点击搜索按钮。 4. 在搜索结果中找到正确的版本,通常它会有与您正在使用的 Tomcat 版本相匹配的名称。 5. 单击下载按钮或链接,以开始下载该文件。文件大小可能会有所不同,所以可能需要一些时间来完成下载。 6. 一旦下载完成,将 jar 文件保存到您计算机上的合适位置,例如 Tomcat 的 lib 目录。 7. 确保您的 Tomcat 服务器已关闭。如果正在运行,请停止它。 8. 打开 Tomcat 的安装目录,找到和打开 conf 目录。 9. 在 conf 目录中找到 context.xml 文件,然后用文本编辑器打开。 10. 在 context.xml 文件中找到 `<Context>` 标签,并在其内部添加以下内容: ``` <Manager className="de.javakaffee.web.session.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" /> ``` 根据您的 Redis 服务器设置,可能需要进行其他自定义配置,例如主机名、端号和数据库。 11. 保存并关闭 context.xml 文件。 12. 重新启动 Tomcat 服务器,以使更改生效。 现在,您已经成功下载了 tomcat-redis-session-manager-1.2-tomcat-7.jar,并将其集成到您的 Tomcat 服务器中。您可以使用 Redis 来存储和管理在 Tomcat 上运行的应用程序的会话。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值