Westbrook
认证:VIP会员
所在专题目录 查看专题
数字化实现之(1)-PWM外设简介及MCC配置介绍
数字化实现之(2)-单端功率变换器的实现方法
数字化实现之(3)-Interleaved PFC PWM Implement
数字化实现之(4)-Totem Pole PFC Implement
数字化实现之(5)-Three Phase Vienna PFC Implement
数字化实现之(6)-半桥LLC控制
作者动态 更多
10分钟教你快速完成数字电源的闭环控制
2022-04-02 17:26
数字电源学习板演示
2022-02-19 13:36
手把手教你学数字电源系列视频(22)- 数字控制的软件流程
2022-02-19 13:28
手把手教你学数字电源系列视频(21)- 设计数字补偿器(LDE执行)
2022-02-19 13:28
手把手教你学数字电源系列视频(20)- 设计数字补偿器(AB系数计算)
2022-02-19 13:27

数字化实现之(1)-PWM外设简介及MCC配置介绍

当前中小功率电源还是模拟控制为主,但是随着数字化的发展,主控MCU性价比越来越高,电源控制的数字化是今后的趋势。很多工程师觉得电源的数字化控制高大上,模拟控制都还没弄的明白,就进入数字化觉得比较困难。其实电源的数字化并没有那么遥不可及,大家可以参考本人写的专题《基于MCHP 16bit dspic33系列全数字控制同步Buck入门》系列文章,其实非常的容易。数字化的核心就是将模拟连续信号离散化,通过ADC外设完成模拟信号的采样,然后在MCU内部全部完成环路的控制,并实时的更新PWM外设去控制主功率拓扑的能量转换,区别在于模拟控制在s域,数字控制在z域。

要想实现一个最基本的功率拓扑,两大外设必不可少,一个是PWM外设,一个是ADC模块。PWM外设完成对占空比/周期/移相等调制波的变换,ADC模块完成外部模拟信号(电压/电流等)的采样并转换。因为本专题主要是实现方式,所以不涉及ADC模块,讲重点介绍PWM实现功率拓扑的方式。

本专题主要采用MCC(MPLAB Code Configuration )实现,下面将进行PWM外设工作最基本的配置介绍,后续章节的PWM实现均在这个基础上进行。关于MPLAB X IDE如何下载以及安装MCC,请查看附件。


Microchip最新一代的dsPIC33C系列专门用于电源和电机的控制,单核c系列多达8对HRPWM,双核CH系列有(8+4)对HRPWM,高精度模式下分辨率达到了250ps,每个PGx模块下有4个PCI模块(PWM Control Input),使得PWM非常的灵活方便实现各种功率拓扑控制方式以及保护功能。

下面介绍PWM模块MCC配置方法及如何使用。

1.系统时钟的配置(System Clock Selection)

一般如果外部使用8MHz晶振,选择Primary Oscillator模式。

主振荡器和内部FRC振荡器源可选择使用片上PLL(主内核锁相环)来获取更高的工作速度,比如主频100MIPS(每两个时钟周期执行一条指令,故时钟频率为200MHz)。

dsPIC33C器件系列为每个内核实现了一个附属PLL模块。附属PLL模块用来生成独立于系统时钟的各种外设时钟源,比如给PWM模块提供500MHz时钟源就是来自于此。如下:

至此时钟配置完毕。

2.配置仿真口,取决于你自己的选择(PGD1/PGD2/PGD3),在这里我选择PGD2仿真口。

3.配置PWM外设

  • PWM Clock Setting

如果要使能高精度模式,必须选择500MHz时钟源,否则下面的高精度模式无法选择。

Select Required PWM Generators有PG1~PG8供选择(根据不同型号PGx数量不一致),可以根据自己需要进行配置。

  • PWM Master Settings

  1. PWM工作模式

PWM模块支持多种PWM模式,适用于电机控制和电源设计,主要支持以下PWM模式:

2.PWM输出模式

每个PWM发生器都可以编程为三种输出模式之一,以控制PWMxH和PWMxL引脚的行为。输出模式选择与PWM模式无关。输出模式包括:

  • PWM Freqence Settings

工作频率/占空比/相移可以根据自己选择,因为每个PG模块都是一个单独的个体,所以可以有自己的工作频率/占空比/相移,可以选择Use Master Period/Duty Cycle让不同个PG模块使用同一个参数。

  • Trigger Control Settings

PWM发生器操做基于触发信号。PWM发生器必须接收到周期开始(SOC)触发信号才能产生各个PWM周期。触发信号可以在PWM发生器外部产生,PWM发生器也可以自触发。当PWM发生器到达PWM周期末尾时,它会产生一个周期结束(End-of-Cycle, EOC)触发信号,该触发信号可供其他PWM发生器使用。

SOC(Start-of-Cycle) trigger sources有下面一些:

  1. Local SOC
  2. Othet's PG's ECO
  3. Other PG's Trigger
  4. Comparator
  5. CLC
  6. I/O Pins
  7. Software trigger
  8. PCI Sync(Always OR'd with other SOC signal)

Start of cycle trigger 选项要注意:PG1-PG8分为两组,PG1-PG4之间相互触发同步,PG5-PG8之间相互触发同步,也就是说PG1不能作为PG5-PG8的触发源。但是可以通过PCI模块进行每个PG模块之间的同步。

  • ADC Trigger

  • Dead Time and Override Settings

在互补输出模式下的死区时间设置,PWM H/L Overirde为软件改写。

  • Data Update Settings

为进行数据寄存器更新,PWM周期长度可变。PWM周期可包含一个、两个或四个定时器周期,具体取决于PWM工作模式和所选输出模式。请求SOC更新后,PWM数据寄存器可在下一个、下两个或四个定时器周期进行更新(PWM工作模式和输出模式决定,详见FRM)。下表总结了每次SOC更新之间相隔的定时器周期数与PWM发生器工作模式和输出模式之间的关系。

更多的功能配置请参考数据手册在寄存器页进行配置。

后续各种功能的实现均在这个配置下进行,敬请关注。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:MPLAB开发环境安装及使用-V1.0.pdf,支持精细边沿定位的高分辨率PWM Version C.pdf
觉得内容不错的朋友,别忘了一键三连哦!
赞 11
收藏 21
关注 823
成为作者 赚取收益
全部留言
0/200
  • tarrien 07-31 15:34
    老师,能不能发我一下资料,谢谢! ta****@****.com
    回复 1条回复
  • 学霸超 07-05 01:39
    老师,能不能发我一下资料,谢谢! 17****@****.com
    回复 1条回复
  • 学霸超 07-05 01:39
    老师,能不能发我一下资料,谢谢! 17****@****.com
    回复 1条回复
  • anono 03-05 09:56
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • DC AC ADC 02-13 13:03
    老师,能不能发我一下资料,谢谢! 27****@****.com
    回复 1条回复
  • S 2023-07-19 11:02
    老师,我想学习一下,全桥变压器的设计,您那边有关算法的资料吗?感谢🥹
    回复
  • S 2023-07-19 11:00
    老师,能不能发我一下资料,谢谢! 15****@****.com
    回复 1条回复
  • S 2023-07-19 11:00
    老师,能不能发我一下资料,谢谢! 15****@****.com
    回复 1条回复
  • S 2023-07-19 10:59
    老师,您好,资料可以发我一下吗?感谢🙏
    回复
  • dy-cYLXD8eW 2023-05-24 10:00
    老师,能不能发我一下资料,谢谢! 93****@****.com
    回复 1条回复
  • dy-pVzghyTd 2023-04-25 16:16
    老师,能不能发我一下资料,谢谢! 13****@****.com
    回复 1条回复
  • jade1987 2023-03-31 08:02
    老师,能不能发我一下资料,谢谢! su****@****.com
    回复 1条回复
  • jade1987 2023-03-30 21:05
    老师,能不能发我一下资料,谢谢! su****@****.com
    回复 1条回复
  • kaysen_zhang 2022-11-14 14:39
    老师,能不能发我一下资料,谢谢! 39****@****.com
    回复 1条回复
  • Charles〃hy 2022-04-11 23:44
    老师,能不能发我一下资料,谢谢! 11****@****.com
    回复 1条回复
  • 蔡铭 2022-03-18 22:09
    老师,能不能发我一下资料,谢谢! 14****@****.com
    回复 1条回复
  • aric666 2022-01-20 16:11
    老师,这个完整的资料分享一下,感谢老师的辛苦 mf****@****.com
    回复 1条回复
  • 星球居民-mQrYyK28 2022-01-18 16:41
    老师,能不能发我一下资料,谢谢! ah****@****.com
    回复 1条回复
  • 2021-08-26 17:32
    老师,能不能发我一下资料,谢谢! 52****@****.com
    回复 1条回复
  • 熊紅 2021-08-25 17:48
    老师,能不能发我一下资料,谢谢! be****@****.com
    回复 1条回复