当前中小功率电源还是模拟控制为主,但是随着数字化的发展,主控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
- 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有下面一些:
- Local SOC
- Othet's PG's ECO
- Other PG's Trigger
- Comparator
- CLC
- I/O Pins
- Software trigger
- 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发生器工作模式和输出模式之间的关系。
更多的功能配置请参考数据手册在寄存器页进行配置。
后续各种功能的实现均在这个配置下进行,敬请关注。