Other Parts Discussed in Thread: CONTROLSUITE
斜波发生器的使用
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
所以目前主要是要了解如何做PWM模块间的同步吗?
这个我不知道你有没有看过芯片TRM的3.2.2.3.2 Time-Base Clock Synchronization部分内容?
官方应该是没有提供PWM同步的例程,不过有个第三方网站的PWM模块说明,里面有提到基于F28335点PWM模块同步代码,你可以参考一下:
您好,我对比较器的配置如下:
EALLOW;
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; // Enable Clock to the ADC
AdcRegs.ADCCTL1.bit.ADCBGPWD = 1; // Comparator shares the internal BG reference of the ADC, must be powered even if ADC is unused
DELAY_US(1000); // Delay for Power Up
SysCtrlRegs.PCLKCR3.bit.COMP1ENCLK = 1; // Enable clock to the Comparator 1 block
Comp1Regs.COMPCTL.bit.COMPDACEN = 1; // Power up Comparator 1 locally
Comp1Regs.COMPCTL.bit.COMPSOURCE = 0; // Connect the inverting input to the internal
Comp1Regs.DACCTL.bit.FREE_SOFT = 2; /* Emulation mode behavior, stop immediately */
Comp1Regs.DACCTL.bit.DACSOURCE = 1;
Comp1Regs.COMPCTL.bit.QUALSEL = 0; // Comparator output must be active for 4 consecutive clocks before resetting the RAMP
Comp1Regs.DACCTL.bit.RAMPSOURCE = 0;
EPwm1Regs.HRPCTL.bit.PWMSYNCSEL = 1; // PWM SYNC generated at CTR = ZRO for synchronizing internal ramp
Comp1Regs.COMPCTL.bit.CMPINV = 0; // Comparator Output passed
Comp1Regs.RAMPDECVAL_SHDW = 20;
Comp1Regs.RAMPMAXREF_SHDW = 20000;
系统时钟为90Mhz,pwm的周期TBPRD给的是300;
将COMPSTS的数值读出后其波形是一个向上递增的波形,是正确的波形吗?
额,所以你是要做PWM同步,还是什么?我看到你设置了HRPCTL,这个寄存器是HRPWM的。
峰值电流控制,我不知道你是自己设计的还是参考某个程序的?因为我感觉你的设计还处于初级阶段?
其实TI有提供峰值电流控制的例程,虽然是基于F28027的,但这两款芯片是同一系列的,本质上是差不多的。你可以看一下
C:\ti\controlSUITE\development_kits\HVPSFB_v1.1\HVPSFB_PCMC