ZHCAFJ4 July   2025 MSPM0C1104

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 PWM 信号捕获简介
    2. 1.2 MSPM0C110x 简介
  5. 2PWM 信号捕获
    1. 2.1 PWM 信号捕获方法
    2. 2.2 使用 TIMx CC 块进行的 PWM 信号捕获
    3. 2.3 使用 GPIO 中断进行的 PWM 信号捕获
    4. 2.4 不同 PWM 信号捕获设计的比较
  6. 3软件实现
    1. 3.1 识别上升沿和下降沿
    2. 3.2 时序分类
    3. 3.3 信号滤波器和结果计算
  7. 4系统测试
    1. 4.1 测试设置
    2. 4.2 变量监测
    3. 4.3 PWM 信号捕获分辨率测试和比较
  8. 5总结
  9. 6参考资料

PWM 信号捕获分辨率测试和比较

为了比较这两种方法在全范围和极端条件下的表现,本测试使用了 100Hz/ 2KHz/ 5kHz/ 10kHz PWM 频率,PWM 占空比范围为 0.2% 至 99.8%。图 4-2 展示了使用 GPIO 中断(蓝线)和 TIMx CC 块(橙线)时的捕获误差比较,x 轴表示 PWM 占空比,为了正确显示极端条件,数字不成比例,y 轴表示捕获误差(以 ‰ 为单位)。表 4-1表 4-2 展示了使用 GPIO 中断(蓝线)和 TIMx CC 块(橙线)获得的捕获结果。

在所有 PWM 占空比范围内,GPIO 中断方法将捕获误差保持在 1% 以下,并且在 PWM 占空比 <1% 和 >99% 的极端条件下还具有稳健的性能,这可以避免异常数据。当 PWM 占空比较大(尤其是 >99%)时,TIMx CC 块方法显示出高分辨率,但当 PWM 占空比 <1% 时,必须手动校正捕获值,以避免 >100% 的错误结果。

 PWM 占空比捕获误差比较图 4-2 PWM 占空比捕获误差比较
表 4-1 使用 GPIO 中断获得的 PWM 占空比捕获误差
输入信号 100Hz 2KHz 5KHz 10KHz
计算结果 误差 计算结果 误差 计算结果 误差 计算结果 误差
0.2% 0.2% 0 0.0% 0.2% 0.0% 0.2% 0.0% 0.2%
0.5% 0.5% 0 0.9% 0.4% 0.0% 0.5% 0.0% 0.5%
1% 1.0% 0 1.1% 0.1% 2.3% 0.3% 0.0% 1.0%
20% 20.2% 0.2% 20.4% 0.4% 20.6% 0.6% 21.0% 1.0%
30% 30.2% 0.2% 30.3% 0.3% 30.5% 0.5% 31.0% 1.0%
40% 40.1% 0.1% 40.2% 0.2% 40.4% 0.4% 41.0% 1.0%
50% 50.1% 0.1% 50.2% 0.2% 50.4% 0.4% 50.7% 0.7%
60% 60.0% 0 60.2% 0.2% 60.4% 0.4% 60.7% 0.7%
70% 70.0% 0 70.1% 0.1% 70.3% 0.3% 70.6% 0.6%
80% 79.9% 0.1% 80.1% 0.1% 80.2% 0.2% 80.5% 0.5%
99% 99.0% 0 99.1% 0.1% 98.2% 0.8% 100.0% 1.0%
99.5% 99.5% 0 99.2% 0.3% 100.0% 0.5% 100.0% 0.5%
99.8% 99.8% 0 100.0% 0.2% 100.0% 0.2% 100.0% 0.2%
表 4-2 使用 TIMx CC 块获得的 PWM 占空比捕获误差
输入信号 100Hz 2KHz 5KHz 10KHz
计算结果 误差 计算结果 误差 计算结果 误差 计算结果 误差
0.2% 0.1% 0.1% 0% 0.2% 0% 0.2% 0% 0.2%
0.5% 0.4% 0.1% 0% 0.5% 0% 0.5% 0% 0.5%
1% 0.9% 0.1% 0.4% 0.6% 0% 1.0% 0% 1.0%
20% 20.2% 0.2% 19.8% 0.2% 19.1% 0.9% 18.1% 1.9%
30% 30.2% 0.2% 29.7% 0.3% 29.2% 0.8% 28.3% 1.7%
40% 40.1% 0.1% 39.8% 0.2% 39.3% 0.7% 38.3% 1.7%
50% 50.1% 0.1% 49.8% 0.2% 49.4% 0.6% 48.6% 1.4%
60% 60.0% 0 59.8% 0.2% 59.5% 0.5% 59.0% 1.0%
70% 70.0% 0 69.8% 0.2% 69.6% 0.4% 69.0% 1.0%
80% 79.9% 0.1% 79.8% 0.2% 79.7% 0.3% 79.3% 0.7%
99% 98.9% 0.1% 98.9% 0.1% 99.0% 0 98.9% 1.0%
99.5% 99.4% 0.1% 99.4% 0.1% 99.4% 0.1% 99.5% 0
99.8% 99.8% 0 99.7% 0.1% 99.7% 0.1% 99.8% 0