电流模式控制学习
电流模式控制
电流模式控制(CMC)是开关电源中广泛使用的一种控制策略,其核心思想是通过内环电流反馈和外环电压反馈共同调节占空比。相比电压模式控制,CMC具有更快的动态响应和更好的稳定性,但也存在一些固有缺点。
原理
以buck为例,架构如下

控制结构(双环结构)
- 内环:电流环,实时检测电感电流或开关管电流,与电流参考值(由外环生成)比较,生成PWM占空比。
- 外环:电压环,检测输出电压,通过误差放大器生成电流参考信号(通常为补偿后的电压误差信号)。
工作流程
- 输出电压采样:通过分压电阻得到VFB,与基准电压比较,经过EA输出Vc(这个就是电流环的参考信号)。
- 电感电流检测:这里就有些区分了,可以检测峰值,平均值,谷底,但原理都是检测电感电流。
- 峰值电流模式:检测开关管,如高边MOSFET导通时的电流峰值。
- 平均电流模式:通过低通滤波或积分电路获取电感电流平均值。
- 谷底电流模式:在低边MOSFET导通期间或电感电流下降阶段,检测电流的最小值。
- PWM调制:电流检测信号Vcs与Vc比较,决定占空比D;当Vcs达到Vc,关闭开关管,实现逐周期限流。
优缺点
优点
- 更快的动态响应:电流内环直接控制电感电流,对负载瞬变响应更快。电压外环仅需调节电流参考,带宽要求较低。
- 自动限流保护:逐周期电流检测,天然防止过流,无需额外保护电路。
- 更好的环路稳定性:电流环将LC滤波器的二阶系统降为一阶,简化补偿,通常只需Type II补偿。
- 输入电压扰动抑制:电流环自动抵消Vin变化的影响,无需前馈补偿。
缺点
- 次谐波振荡(占空比 > 50% 时):需斜率补偿(Slope Compensation),否则可能不稳定。
- 电流检测噪声敏感:电流采样信号易受开关噪声干扰,需谨慎布局和滤波。
- 轻载稳定性问题:在DCM下,电流环失效,需特殊处理,如强制进入CCM或跳频模式。
- 复杂性和成本:需高精度电流检测电路,如低边MOSFET Rdson、专用电流传感器。
应用场景
CMC适用于以下应用:
- 高动态负载场合:如CPU/GPU供电,快速变化的电流需求。
- 宽输入电压范围:如汽车电子的12V-24V系统、工业电源。
- 需要精确限流的应用:如电池充电器、LED驱动。
- 多相并联电源:CMC易于均流,如服务器VRM。
设计注意事项
电流检测设计
以峰值电流举例,举例说明不同采样方式及优缺点:
-
低边MOS的Rdson:以下管mos的Rdson作为电流采样元件,Vds=IL*Rdson,这个电压被放大后与内部参考做比较。其特点是成本低,但温漂大,要校准,如TI的TPS543。典型应用于工业电源、嵌入式系统(12V→3.3V/5V转换)。

-
外部分流电阻:通过检测开关管S极与GND之间的电流采样电阻电压,其特点是精度高,但增加损耗。典型应用flyback、forward、boost等。

-
电流互感器:这个比较少,成本高,适用于高频大电流,如LLC谐振,常用于服务器电源,TV电源等大功率。我找了NCP1380,跟上面的分流电阻一样,将CT次级电流转为电压信号,内部比较器用这个电压信号实现OCP、ZCD。

PCB布局要点:
- 电流检测路径尽量短,避免开关噪声耦合。
- 使用差分走线减少共模干扰。
次谐波震荡
Slope Compensation,可以看到上面的框图中有个Slope Comp,这个是什么呢?这里得提到另外一个概念,次谐波震荡,这个问题可以说是CMC特有的。次谐波震荡表现为:电感电流或输出电压在开关频率的1/2、1/3等分频点处出现周期性波动,导致系统失控。 有点玄乎,我们来看看几个关键点。
什么是电感电流扰动?比如系统中出现了负载突变,使得电感电流突然增大。
在什么工作模式容易出现?峰值电流检测的CMC。
这个时候的频率是固定的吗?对的,用峰值电流检测,产生的信号通过与FB的电压信号对比,产生固定的PWM调制信号。
好了,开始分析:在低占空比,小于0.5。如下图蓝色部分是正常的,红色是出现扰动后的,出现了ΔI,注意现在我们是峰值电流检测,当电感电流IL达到A点时,(相较于没有扰动,是提前达到Vc的),MOS关闭,进入续流,因为是提前达到Vc的,所以放电的周期就变大了,而放电的斜率是不变的,所以B点下移,再次导通,因为B点低,达到C点的时间就拉长,C点也就滞后了,同理,经过几个周期后,越来越靠近稳定波形,是能够自行调控使得系统稳定的。

当占空比大(大于0.5),如下图,电感电流上移,先到了A点,开始放电,等下一个导通,使得B点下移(这个很容易理解吧?先到先放电,放电时间长了,斜率一样的,肯定先放的值低),这个时候收到了系统指令,充电mos打开,上升斜率是一样的,值低的需要花更长的时间到达Vc,后面发现,因为占空比大,放电时间没有了,很短,还没放一点点又收到系统指令要充电了,这就导致了占空比一会大一会小,从而形成次谐波震荡。BC长CD短,DE短EF又长。

怎么去解决这个问题呢?要是有种办法,可以使得Vc的值可以变化,不是固定的,先到的,放电时间长一点,后到的放电时间短一点,是不是跟占空比小的情况类似,那么需要把Vc做成一个锯齿波的形状,这就是斜率补偿。

实现方法:在电流检测信号上叠加固定斜率斜坡,通常为电感电流上升斜率的50%~100%。

好了,更深的暂时不懂了,先到这里吧,其实对于应用工程师了解是怎么回事就可以,因为很多芯片都集成到里面了。
轻载和DCM
前面说到的DCM问题:电流环在电感电流断续时失效,可能导致振荡。
解决方法:
- 强制进入CCM,如增加假负载。
- 采用脉冲跳跃(Pulse Skipping)或突发模式(Burst Mode)。
检测模式的优缺点
最后来总结下不同电流检测方式的优缺点吧
峰值电流模式
优点:
- 逐周期限流:天然防止过流,无需额外保护电路。
- 动态响应快:直接控制电流峰值,对负载瞬变响应迅速。
- 简化补偿:电流环将系统降为一阶,电压环只需Type II补偿。
- 输入电压扰动抑制:自动抵消变化的影响。
缺点:
- 次谐波振荡:占空比 D>50%时需斜率补偿(Slope Compensation)。
- 噪声敏感:峰值电流检测易受开关噪声干扰(需滤波但可能延迟响应)。
- 轻载不稳定:在DCM下电流环失效,可能需强制CCM或跳频模式。
适用:高动态负载(如CPU/GPU供电)、Boost/Buck-Boost拓扑
平均电流模式
优点:
- 更平滑的电流控制:适用于对电流纹波敏感的应用,如PFC、精密电源。
- 无次谐波振荡问题:无需斜率补偿,适用于任意占空比。
- 抗噪声能力强:平均滤波减少开关噪声影响。
缺点:
- 响应速度较慢:因低通滤波引入延迟,动态性能略逊于峰值模式。
- 复杂度高:需额外的电流误差放大器,增加补偿设计难度。
- 成本较高:可能需要高精度电流传感器。
应用:功率因数校正(PFC)、LED驱动、电池充电器等需要精确电流控制的场合。
谷底电流模式
优点:
- 天然抗噪声:谷值检测时开关节点(SW)电压稳定,噪声干扰小。
- 适合低占空比:在 D<50% 时稳定性好(如Buck低压输出)。
- 轻载效率高:易于实现DCM模式优化(如谷值跳跃)。
缺点:
占空比受限:D>50% 时可能不稳定(需特殊处理)。
动态响应较慢:因谷值检测滞后于峰值事件。
检测电路复杂:需精确同步谷值时刻。
适用:低输出电压Buck转换器(如手机PMIC)、轻载高效应用(如IoT设备)。
滞环电流模式
是不是觉得很奇怪?为什么这里也有滞环,其实这个是对其调制方式分类的一个说法,用以区分固定频率的PWM调制,滞环的窗口是电流那就归入CMC,滞环判断的窗口是电压,那就归入VMC。
检测点:设定电流上限和下限(滞环窗口),电感电流在窗口内波动。
特点:
- 无需补偿,响应极快,但频率不固定(变频控制)。
- 适用于对瞬态响应要求极高的场景(如射频电源)。
总结,最后再做个特性对比
| 特性 | 峰值电流模式 | 平均电流模式 | 谷底电流模式 |
|---|---|---|---|
| 检测点 | 电流上升峰值 | 电流平均值 | 电流下降谷值 |
| 是否需要斜率补偿 | 是(D>50%) | 否 | 通常否(D<50%) |
| 动态响应 | 最快 | 中等 | 较慢 |
| 抗噪声能力 | 弱 | 强 | 中等 |
| 轻载稳定性 | 差(需DCM处理) | 中等 | 优(适合DCM) |
| 适用拓扑 | Buck/Boost/Buck-Boost | PFC、精密电源 | 低压Buck、低占空比 |
| 复杂度 | 低 | 高(需电流误差放大器) | 中等 |
相关文章:
电流模式控制学习
电流模式控制 电流模式控制(CMC)是开关电源中广泛使用的一种控制策略,其核心思想是通过内环电流反馈和外环电压反馈共同调节占空比。相比电压模式控制,CMC具有更快的动态响应和更好的稳定性,但也存在一些固有缺点。 …...
服务器架构:SMP、NUMA、MPP及Docker优化指南
文章目录 引言 一、服务器架构基础1. SMP(对称多处理,Symmetric Multiprocessing)2. NUMA(非统一内存访问,Non-Uniform Memory Access)3. MPP(大规模并行处理,Massively Parallel Pr…...
人脸识别联合行为检测的办公管理新模式
基于人脸识别与行为检测的办公智能化解决方案 一、背景 在传统办公场景中,员工考勤管理、工位使用情况统计、安全监控等环节存在诸多痛点。例如,传统考勤方式如指纹打卡、刷卡等存在代打卡现象,考勤数据不准确;对于员工是否在工…...
Python 写生成 应用商店(2025版) 网页 方便收集应用 ,局域网使用
工具【1】:nginx 配置 nginx.conf 文件 server { listen 8080; server_name example.com; location / { root E:/BIT_Soft_2025; index index.html index.htm; } # 定义错误页面 error_page 404 /4…...
Spring 单元测试核心注解全解:@InjectMocks、@MockBean、@Mock、@Autowired 的区别与实战
在编写 Spring Boot 应用的单元测试过程中,@InjectMocks、@MockBean、@Mock 和 @Autowired 是最常用的几个注解,但它们经常被混淆或误用,导致测试失败或注入错误。 本文将从本质区别、使用场景、示例代码、对比表格等多个维度,全面解析这几者的使用方法与差异,助你写出结…...
2025年大一训练-DP1
2025年大一训练-DP1 Problem A: 动态规划算法,从上往下一层层找到到达对应位置的最大值,最底下一行maxl的最大值即为答案 #include<bits/stdc.h> using namespace std; int lst[101][101]; int maxl[101][101];int main() {int n,i,j;while(cin&g…...
【java 13天进阶Day04】常用API、正则表达式,泛型、Collection集合API
Math类的使用。 Math用于做数学运算。Math类中的方法全部是静态方法,直接用类名调用即可。方法: public static int abs(int a) 获取参数a的绝对值public static double ceil(double a) 向上取整public static double floor(double a) 向下取整public s…...
conversation_template | conversation_actors | conversation_line_template
目录 conversation_template conversation_actors conversation_line_template 实例应用 conversation_template id:某段谈话的唯一编号FirstLineId:谈话开始的第一段话的编号,取值来源 ConversationLine.db2 的 ID 字段TextureKitId&am…...
架构图--架构师的行军地图
架构图是架构师最重要的沟通和规划工具之一,它如同行军地图般指导着整个软件系统的构建与演进。本文系统性地探讨了软件架构图设计的全面方法论,提出横向与纵向双维度的设计框架。横向设计关注模块间的业务、数据与重要性关系,纵向设计则采用…...
`get_peft_model` 是 `peft` 库什么方法
get_peft_model 是 peft 库什么方法 get_peft_model 是 peft 库中一个关键的方法,其作用是将 LoRA 配置应用到预训练模型上,使得模型能够使用 LoRA 技术进行高效微调。 整体逻辑概述 get_peft_model 方法的核心任务是遍历预训练模型的各个模块,识别出需要应用 LoRA 的目标…...
OpenHarmony-Risc-V上运行openBLAS中的benchmark
OpenHarmony-Risc-V上运行openBLAS中的benchmark 文章目录 OpenHarmony-Risc-V上运行openBLAS中的benchmark前言一、编译openBLAS1.源码下载2.工具链下载3.编译并安装openBLAS 二、编译open BLAS中的benchmark三、上设备运行总结 前言 参考https://zhuanlan.zhihu.com/p/18825…...
HAL库通过FATFS和SDIO+DMA写入SD卡数据错误
HAL库F4版本 1.28.1 最近在使用HAL库配置SDIODMA并通过FATFS向SD卡写入数据,但是发现写入的数据经常有错误,不是少了一部分就是多了一部分,写入的数据为csv格式,通过循环向缓冲区写入"100100,12.345678\r\n"数据来观察问…...
深入解析 Python 中的装饰器 —— 从基础到实战
1. 装饰器基础 1.1 什么是装饰器? 装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能。装饰器的返回值也是一个函数对象。 1.2 语法糖: 符号 Python 提供了 符号作为装饰器的语法糖,…...
【Java并发】Java并发编程之CountDownLatch详解:原理、使用场景与代码实战
摘要 在Java多线程编程中,CountDownLatch 是一个强大的同步工具类,用于协调多个线程的执行顺序,线程间的同步是一个常见的需求。CountDownLatch 作为 java.util.concurrent 包中的一个同步辅助类,提供了一种简单而有效的方式来实…...
python-图片分割
图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,例如分割出物体、前景背景或特定的部分。在 Python 中,常用的图片分割方法包括传统的图像处理技术(例如阈值分割、区域生长等)和深度学习…...
江湖路远,唯PUT可稳:Express 路由更新招式全解
前言 江湖传闻,后端开发如同修炼绝世武功:有人精通 POST 掌,横扫千军;有人修习 GET 指法,探查万象。而真正踏入高阶境界的高手,常常默默修炼一门冷门却威力极强的秘技,PUT 神功。 今日时机正好,你我相逢于码海江湖,不如来一场技术切磋,也许能悟出更新之道,功力再上…...
MySQL:Join连接的原理
连接查询的执行过程: 确定第一个需要查询的表【驱动表】 选取代价最小的访问方法去执行单表查询语句 从驱动表每获取到一条记录,都需要到t2表中查找匹配的记录 两表连接查询需要查询一次t1表,两次t2表,在两表的连接查询中&…...
2025.04.14【Table】| 生信数据表图技巧
Custom title A set of examples showing how to customize the titles of a table made with GT Custom footer How to customize the footer and the references section of a gt table 文章目录 Custom titleCustom footer 生信数据可视化:Table图表详解1. R语…...
方案解读:虚拟电厂标杆项目整体建设方案【附全文阅读】
在电力市场背景下,传统电力现货市场存在电能定价不合理、分布式电源并网困难等问题。本虚拟电厂标杆项目旨在研究全时间尺度虚拟电厂智能管控关键技术,通过研制虚拟电厂控制器样机、开发运行管理平台,实现对分布式能源的合理优化配置。项目内容涵盖虚拟调控、建设目标、建设…...
使用Trae CN分析项目架构
架构分析后的截图 A区是打开的项目、B区是源码区、C区是AI给出当前项目的架构分析结果。 如何用 Trae CN 快速学习 STM32 嵌入式项目架构 在嵌入式开发领域,快速理解现有项目的架构是一项关键技能。Trae CN 作为一款强大的分析工具,能帮助开发者高效剖…...
【Python3】Django 学习之路
第一章:Django 简介 1.1 什么是 Django? Django 是一个高级的 Python Web 框架,旨在让 Web 开发变得更加快速和简便。它鼓励遵循“不要重复自己”(DRY,Don’t Repeat Yourself)的原则,并提供了…...
浏览器缩放后 element ui组件偏移
一、需求:当body的有了zoom值之后,element ui相关的popper弹框(下拉框、日期选择框、分页组件)位置都会出现偏移问题 二、问题来源 popper弹框都会需要根据屏幕x,y的坐标来设置位置,但是有了zoom值之后,x,y…...
FPGA学习——DE2-115开发板上设计波形发生器
1. 实验目的 掌握直接数字频率合成(DDS)技术的基本原理和应用。使用DE2-115开发板实现正弦波和方波的生成。使用SignalTap II嵌入式逻辑分析仪测试输出波形的离散数据。 2. 实验原理 DDS技术:通过相位累加器生成相位信息,结合波…...
Next.js 技术详解:构建现代化 Web 应用的全栈框架
1. Next.js 概述 Next.js 是一个基于 React 的全栈框架,由 Vercel 团队开发和维护。它提供了一系列开箱即用的功能,使开发者能够快速构建高性能的 Web 应用。 核心优势 服务端渲染 (SSR)静态站点生成 (SSG)增量静态再生成 (ISR)文件系统路由API 路由图…...
【springsecurity oauth2授权中心】简单案例跑通流程
项目被拆分开,需要一个授权中心使得每个项目都去授权中心登录获取用户权限。而单一项目里权限使用的是spring-security来控制的,每个controller方法上都有 PreAuthorize("hasAuthority(hello)") 注解来控制权限,想以最小的改动来实…...
golang channel源码
解析 数据结构 hchan:channel 数据结构 qcount:当前 channel 中存在多少个元素; dataqsize: 当前 channel 能存放的元素容量; buf:channel 中用于存放元素的环形缓冲区; elemsize:channel 元素…...
小刚说C语言刷题——1033 判断奇偶数
1.题目描述 输入一个整数,判断是否为偶数。是输出 y e s ,否则输出n o。 输入 输入只有一行,包括 1个整数(该整数在 1∼10000的范围内)。 输出 输出只有一行。(注意输出格式,具体请看下方提…...
2025TGCTF Web WP复现
AAA 偷渡阴平 <?php$tgctf2025$_GET[tgctf2025];if(!preg_match("/0|1|[3-9]|\~|\|\|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\|\|\{|\[|\]|\}|\:|\|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $tgctf2025)){//hint:你可以对着键盘…...
基于DeepSeek的考研暑假日志分析
注:我去年考研时写了日志,大致记录了我每天的主要活动。由于过于琐碎,一直没有翻看。突发奇想,现在利用deepseek总结其中规律。 从你的日志中可以总结出以下规律和活动兴衰起落: 一、学习活动规律与演变 …...
「GitHub热榜」AIGC系统源码:AI问答+绘画+PPT+音乐生成一站式
—零门槛搭建私有化AI内容工厂,源码开放商业落地指南 为什么全栈AIGC系统成为企业刚需? 1. 传统方案的致命缺陷 痛点 使用ChatGPTMidjourneyCanva 本全栈方案 工具割裂 需切换5平台 一个系统全搞定 成本 年费50万 一次部署永久免费 数据安全 …...
