• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

dspic30F占空比双更新

菜鸟新学的DSPIC30F2010,在使用PWM输出口做逆变电源,使用双更新模式,PWM口的初始化如下, //PWM功能初始化 void Init_PWM( void ) { PTMR = 0x0000; //PWM时基寄存器PTPER = dLoopInTcy; // 设定PWM的频率 PWMCON1 = 0x0077; // 使能PWM口 PTCON = 0x8003; //,双边更新,时基为Tcy PWMCON2 = 0x0004; //使能占空比立即更新 DTCON1 =0x0000; PDC1 = Pwm_min; //初始化占空比 PDC2 = Pwm_min; OVDCON = 0x3F3F; //开始由PWM发生器控制FLTACON=0x0003;//故障引脚为低电平时,6路PWM输出无效SEVTCMP = 0; // 0 不由PWM启动AD转换SEVTCMPbits.SEVTDIR = 0; //=0 ,特殊事件触发信号将在PWM 时基的向上计数周期产生IPC9bits.PWMIP = 6;//PWM中断优先级为6级IFS2bits.PWMIF = 0; //清PWM中断标志位IEC2bits.PWMIE = 1; // 使能PWM 中断IPC10bits.FLTAIP = 7 ;//设置过流故障中断为7级中断 IFS2bits.FLTAIF = 0;// 故障中断标志清零.IEC2bits.FLTAIE = 1;// 使能故障中断 A } 想在一个PWM周期内占空比更新两次,可从滤波口输出看不出更新两次,只看到一次变化,但实际计算的时候确实是算了两次,也用了两次,只是不知道别人的怎么能看到两次,下图是从滤波口看到的一个PWM周期的对应变化正弦波,1是别人的程序,明显看到一个PWM波内有两个变化,2是自己的程序,一个PWM周期只看到一个变化 ,各位说说如何实现图1的两次变化的形式呢?

 

全部回复(3)
正序查看
倒序查看
黑夜11
LV.5
2
2012-12-14 22:14
,玩stm32
0
回复
IGBT2010
LV.8
3
2012-12-17 09:58
本人菜鸟,来学习的,坐等高手出现!!
0
回复
lilyy
LV.2
4
2012-12-18 08:54
@IGBT2010
本人菜鸟,来学习的,坐等高手出现!!

谢谢捧场,也在等待中

0
回复