三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

别再只懂PWM了!5分钟搞懂SPWM、PDM、HRPWM的区别与应用选型

别再只懂PWM了!5分钟搞懂SPWM、PDM、HRPWM的区别与应用选型

别再只懂PWM了!5分钟搞懂SPWM、PDM、HRPWM的区别与应用选型

在嵌入式系统和电力电子领域,调制技术就像厨师的调味料——选对了才能做出好菜。PWM(脉宽调制)作为基础技术几乎人人会用,但当你需要设计音频DAC、电机驱动器或精密电源时,仅靠普通PWM就像只用盐做菜,很难满足高阶需求。本文将拆解四种进阶调制技术的本质差异,并给出可直接落地的选型策略。

1. 调制技术核心原理对比

1.1 SPWM:正弦波的艺术重构

SPWM(正弦脉宽调制)通过面积等效原理生成近似正弦波的输出。其核心算法是:将正弦波周期分割为N个等份,每个时间段用矩形脉冲替代,确保脉冲面积等于该段正弦曲线下面积。实现时通常采用三角波作为载波,与正弦调制波比较产生脉冲序列。

// 典型SPWM生成代码片段(基于STM32 HAL库) void Generate_SPWM(float amplitude, float frequency) { for(int i=0; i<360; i++) { float sine_value = amplitude * sin(2 * PI * i / 360); TIM1->CCR1 = (uint16_t)((sine_value + 1) * (PWM_PERIOD / 2)); HAL_Delay(1000/(frequency*360)); } }

关键特性

  • 输出频谱含有基波和高次谐波
  • 必须配合LC低通滤波器使用(典型截止频率<1/10开关频率)
  • 调制比(调制波幅值/载波幅值)影响THD(总谐波失真)

1.2 HRPWM:精度与频率的平衡术

高分辨率PWM(HRPWM)通过时钟微调技术突破传统计数器限制。以TI C2000系列为例,其在150MHz主频下可实现:

参数传统PWMHRPWM
分辨率(200kHz)9bit14.8bit
最小步进7.8ns0.05ns
谐波失真>3%<0.5%

提示:HRPWM特别适合需要同时满足高频和高精度场景,如数字电源的电压环控制

1.3 PDM:简单硬件的优雅解决方案

脉冲密度调制(PDM)采用固定脉宽+可变密度的编码方式。与PWM对比:

  • PWM:周期固定,改变脉宽

    • 优点:实现简单,频谱集中
    • 缺点:需要大容量滤波电容(如100uF级)
  • PDM:脉宽固定,改变脉冲间隔

    • 优点:只需nF级滤波电容
    • 缺点:需更高时钟频率(通常>10MHz)

2. 四维选型决策模型

2.1 应用场景匹配矩阵

技术最佳应用场景典型不良匹配场景
PWMLED调光、直流电机控制高保真音频、精密电源
SPWM逆变器、UPS电源高频开关电源(>100kHz)
HRPWM数字电源、医疗设备低成本消费电子
PDMMEMS麦克风、Class D功放大功率电机驱动

2.2 关键参数权衡指南

  1. 频率需求

    • <20kHz:优先考虑SPWM(滤波容易)
    • 20-200kHz:HRPWM最佳
    • 200kHz:PDM或传统PWM

  2. 分辨率要求

    • 8bit以下:标准PWM
    • 8-12bit:HRPWM经济版
    • 12bit+:全功能HRPWM
  3. BOM成本敏感度

    • 高敏感:PDM(省去大电容)
    • 中敏感:标准PWM
    • 低敏感:HRPWM+SPWM组合

3. 实战电路设计要点

3.1 SPWM滤波器的黄金法则

设计LC滤波器时遵循:

截止频率 fc = 1/(2π√(LC)) 电感选择 L ≥ (Vout * (Vin - Vout)) / (ΔI * fs * Vin) 电容选择 C ≥ 1/((2πfc)² * L)

其中ΔI一般取输出电流的20-30%

3.2 HRPWM的布局禁忌

  • 避免将HRPWM信号线与高频时钟线平行走线
  • 每个PWM输出引脚串联22Ω电阻可减少振铃
  • 地平面必须完整,推荐使用4层板设计

3.3 PDM的RC滤波优化

对于PDM转模拟信号,推荐使用二阶RC滤波:

R1 = 1kΩ, C1 = 100nF (第一级) R2 = 2kΩ, C2 = 47nF (第二级)

这种组合在10MHz PDM时钟下可获得>60dB的信噪比。

4. 调试中的常见陷阱

  1. SPWM的次谐波振荡: 当调制比>1时会出现,表现为输出波形畸变。解决方案:

    • 采用三次谐波注入法
    • 切换为空间矢量调制(SVPWM)
  2. HRPWM的量化误差: 在极窄脉冲下可能出现,表现为输出非线性。可通过:

    # 误差补偿算法示例 def compensate_pulse_width(nominal_width): actual_width = nominal_width * 1.012 - 0.15ns return max(actual_width, 0)
  3. PDM的时钟抖动敏感: 使用PDM时,时钟相位噪声必须<-100dBc/Hz@100kHz偏移。建议:

    • 选择低抖动时钟源(如SI5341)
    • 在PCB上添加π型滤波器

5. 进阶技巧:混合调制策略

在高端电源设计中,可以组合多种技术:

  1. HRPWM+SPWM:用HRPWM生成高精度SPWM
  2. PWM+PDM:低频段用PWM,高频段用PDM
  3. 自适应切换:根据负载自动选择调制方式
// FPGA实现自适应调制的代码片段 always @(load_current) begin if(load_current < 1A) mode <= PDM; else if(load_current < 5A) mode <= PWM; else mode <= SPWM; end

掌握这些调制技术的本质差异后,下次设计D类功放时你会知道PDM能省去那个昂贵的电解电容,在做太阳能逆变器时会主动选择三次谐波注入的SPWM方案,而在开发实验室级精密电源时,HRPWM将成为你的秘密武器。

← 返回列表