打印

DSP2812 改变PWM输出方式出现窄脉冲问题

[复制链接]
1409|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanggz0307|  楼主 | 2013-8-25 19:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhanggz0307 于 2013-8-25 19:14 编辑

各位大虾,问题如题所示。具体内容如下:
  本人欲用DSP2812实现非对称PWM发波,其中定时器为增计数方式。在第一个周期PWM输出高有效,下一个周期PWM输出低有效,通过更改比较操作控制寄存器ACTRA实现。如此交替进行。但是在PWM输出方式更改时刻出现窄脉冲,不知是DSP本身的缺陷还是我设置问题?
  PWM输出设置如下:

相关帖子

沙发
zhanggz0307|  楼主 | 2013-8-25 19:13 | 只看该作者
        EALLOW;                                                            // Enable EALLOW
        GpioMuxRegs.GPAMUX.all |= 0xE03F;                         // Setting PWM1-6 & C123TRIP
        EDIS;                                                         // Disable EALLOW
   
        EvaRegs.T1PR = p->PERIOD;                                // Init Timer 1 period Register
        EvaRegs.T1CON.all        = EVPMSM_T1CON;                    // Symmetrical Operation,soft stop mode
        EvaRegs.DBTCONA.all = EVPMSM_DBTCONA;                  // Init DBTCONA Register
        EvaRegs.ACTRA.all        = EVPMSM_ACTRA_HIGHEN;         // Init ACTRA Register                  
        EvaRegs.EXTCONA.bit.INDCOE =1;                // Independent compare output enable mode is enabled
        EvaRegs.COMCONA.all = 0x82E0;                     // Init COMCONA Register: 1010 0110 1110 0111                                                               
        EvaRegs.CMPR1 = p->CMPRA;                           // Init CMPR1 Register
        EvaRegs.CMPR2 = p->CMPRB;                           // Init CMPR2 Register
        EvaRegs.CMPR3 = p->CMPRC;                          // Init CMPR3 Register
        EvaRegs.ACTRA.all        = EVPMSM_ACTRA_STOP;        //

#define EVPMSM_T1CON                (        FREE_RUN_FLAG +         \
                                                      TIMER_CONT_UP +        \
                                            TIMER_CLK_PRESCALE_X_8 + \
                                        TIMER_ENABLE_BY_OWN    + \
                                        TIMER_ENABLE)
#define EVPMSM_ACTRA_HIGHEN        (        COMPARE1_AH + \
                                        COMPARE2_AL + \
                                          COMPARE3_AH + \
                                          COMPARE4_AL + \
                                          COMPARE5_AH + \
                                          COMPARE6_AL )
#define EVPMSM_ACTRA_LOWEN        (        COMPARE1_AL + \
                                        COMPARE2_AH + \
                                          COMPARE3_AL + \
                                          COMPARE4_AH + \
                                          COMPARE5_AL + \
                                          COMPARE6_AH )

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝