充电学习—7、BC1.2 PD协议
BC1.2(battery charging)充电端口识别机制:
SDP、CDP、DCP


-
1、VBUS detect:vbus检测
PD(portable device,便携式设备)中有个检测VBUS是否有效的电路,电路有个参考值,高于这个值认为VBUS有效,参考值不固定,一般在0.8V~4V之间 -
2、Data contact detect:数据连接检测
这个阶段不是必须的,因为usb端口可能支持数据协议也可能不支持;如果这个阶段超过900ms还没检测到D+或者ID PIN的连接,就要求必须开始进行Primary detection -
3、primary detect:首次检测
该阶段主要判断端口是充电口还是数据口
首先将PD+即设备的DP拉高至0.6V,然后检测PD-即设备DM的电压,如果小于规定的参考电压,则端口是数据口SDP;如果大于参考电压,则是充电口CDP或者DCP -
4、Secondary detection:二次检测
该阶段是确认充电口是否支持数据协议,即区分CDP和DCP
首先将PD-拉高至0.6V,然后检测PD+的电压,如果小于参考电压,则端口是CDP;如果大于参考电压,则端口是DCP; 因为DCP口是短接的 -
CDP检测:

私有快充协议:
基于BC1.2研发厂家自己的私有快充协议;比如高通的QC协议,mtk的PE协议; 根据P=UI,提高电压或电流就可以提高充电功率;电池容量一定时,功率越大充电越快,QC和PE都是通过提高电压来提高充电功率
PD快充充电时,DCP协议识别过程,首次检测和二次检测符合BC1.2规定,初始VBUS是5V,识别出DCP之后将VBUS提高至9V
线损补偿:
由U=IR,充电电流越大,usb线上的压降越大,usb线增长或者充电电流增大,到手机端电压可能达不到5V,通过线损补偿解决此类问题:
带线损补偿的usb充电电源开始流行;
线损补偿是实时监控充电电流的变化,然后实时调整输出电压以达到抵消或弥补充电线上的压降的目的;如果监控到电流增加,就提升电压,反之降低电压
相关文章:
充电学习—7、BC1.2 PD协议
BC1.2(battery charging)充电端口识别机制: SDP、CDP、DCP 1、VBUS detect:vbus检测 PD(portable device,便携式设备)中有个检测VBUS是否有效的电路,电路有个参考值,高…...
技术点梳理0618
ann建库,分布式建库,性能优化,precision recall参数优化 hnsw,图索引 1. build a)确定层:类似跳表思路建立多层,对每一个插入的节点,random层号l,从图的起始点search_…...
石英砂酸洗提纯方法和工艺
石英砂酸洗提纯方法和工艺是石英砂加工中至关重要的一个环节,其目的是通过化学手段去除石英砂中的杂质,提升其纯度。以下将详细介绍石英砂酸洗提纯的方法和工艺,以便更好地理解和应用这一技术。 一、概述 石英砂酸洗提纯主要是利用酸液对石英…...
linux安装dgl
1.DGL官网、选择与自己cuda、python版本匹配的dgl的whl文件CUDA11.8、python10并下载 2.用pip install运行 pip install /home/u2023170749/download/dgl-2.2.0cu118-cp310-cp310-manylinux1_x86_64.whl或者直接安装https://blog.csdn.net/weixin_44017989/article/details/13…...
【SAP-ABAP】-权限批导-批量给某个角色导入事务码权限
需求:SAP期初上线的时候,业务顾问经常会遇到批量创建角色和分配角色权限的情况 岗位需求:一般是业务顾问定义权限,BASIS进行后期运维,今天讲两个批导功能,方便期初上线 主要函数:PRGN_READ_ROLE…...
异常处理总结
自定义异常 系统中的异常可以分为我们能预知的异常和未知的系统异常,对于我们能预知的异常如空值判断,用户名错误,密码错误等异常我们需要返回客户端,对于系统内部异常如SQL语法错误,参数格式转换错误等需要统一包…...
大模型日报2024-06-18
大模型日报 2024-06-18 大模型资讯 大模型产品 Olvy 3.0:AI加速客户反馈分析 摘要: Olvy 3.0推出AI自动监听和智能标签功能,通过Google Meet集成轻松提取洞察,贴近客户,激发同理心。 PlantIdentify-免费植物识别应用 摘要: PlantI…...
NumPy 双曲函数与集合操作详解
NumPy 双曲函数 NumPy 提供了 sinh()、cosh() 和 tanh() 等 ufunc,它们接受弧度值并生成相应的双曲正弦、双曲余弦和双曲正切值。 示例: import numpy as npx np.sinh(np.pi/2)print(x)示例 找到数组 arr 中所有值的双曲余弦值: import…...
ABSD-系统架构师(十三)
1、CDN和反向代理的基本原理都是()。 A缓存 B负载均衡 C路由转发 DNAT转发 答案:A 2、(必考)在ABSD(基于架构的软件开发)方法中,顶层被分解为()ÿ…...
PLC通过Profibus协议转Modbus协议网关接LED大屏通讯
一、背景 Modbus协议和Profibus协议是两种常用于工业控制系统的通信协议,它们在自动化领域中起着重要的作用。Modbus是一种串行通信协议,被广泛应用于各种设备之间的通信,如传感器、执行器、PLC等。而Profibus则是一种现场总线通信协议&…...
第二十三篇——香农第二定律(二):到底要不要扁平化管理?
目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 对于企业的理解,扁平化的管理,如果从香农第二定律…...
stm32f103 HAL库 HC-SR04测距
目录 一、实现测距二、添加TIM3控制LED根据距离以不同频率闪烁三、观察时序Modebus协议12路超声波雷达设计方案1. 系统架构设计2. 硬件设计3. 软件设计4. 通信协议设计5. 用户接口6. 安全和冗余7. 测试和验证8. 电源和物理封装9. 文档和支持 一、实现测距 配置时钟 配置定时器…...
vue中通过自定义指令实现一个可拖拽,缩放的弹窗
效果 功能描述 按住头部可拖拽鼠标放到边框,可缩放多层重叠丰富的插槽,易于扩展 示例 指令代码 export const dragDialog {inserted: function (el, { value, minWidth 400, minHeight 200 }) {// 让弹窗居中let dialogHeight el.clientHeight ?…...
FreeRtos-09事件组的使用
1. 事件组的理论讲解 事件组:就是通过一个整数的bit位来代表一个事件,几个事件的or和and的结果是输出 #define configUSE_16_BIT_TICKS 0 //configUSE_16_BIT_TICKS用1表示16位,用0表示32位 1.1 事件组适用于哪些场景 某个事件若干个事件中的某个事件若干个事件中的所有事…...
多路h265监控录放开发-(1)建立head窗口并实现鼠标拖动整个窗口
头文件: //鼠标事件 用于拖动窗口//一下三个函数都是QWidget的可重载成员函数void mouseMoveEvent(QMouseEvent* ev) override;void mousePressEvent(QMouseEvent* ev) override;void mouseReleaseEvent(QMouseEvent* ev) override; 源文件: / /// 鼠标…...
ICMR 2024在普吉岛闭幕,学者与泰国舞者共舞,燃爆全场
惊艳!ICMR 2024在普吉岛闭幕,学者与泰国舞者共舞,燃爆全场! 会议之眼 快讯 ICMR(International Conference on Multimedia Retrieval)即国际多媒体检索会议,是一个专注于多媒体检索领域的顶级…...
大模型精调:实现高效迁移学习的艺术
在人工智能领域,大型预训练模型(以下简称“大模型”)已经取得了令人瞩目的成果。这些模型通过在海量数据上进行预训练,能够捕捉到丰富的特征信息,为各种下游任务提供强大的支持。然而,如何将这些大模型应用…...
epoll服务端和客户端示例代码
epoll 服务端demo #include <stdio.h> #include <sys/epoll.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> #include <fcntl.h> #include <unistd.h> #include <ne…...
最大乘积和-第13届蓝桥杯省赛Python真题精选
[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第85讲。 最大乘积和&#…...
探索C嘎嘎的奇妙世界:第四关---引用与内联函数
1 引用: 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 #include<iostream> using namespace std;int main() {int a 0;// 引用:…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
