cadiy 发表于 2014-2-26 15:57:54

DSPIC33F12MC201 PWM死区问题?

怎么死区会变成负的,求解?
1H__|----------|_______|-----------
1L   ---|______|------------|_______
加死区后正常应这样
1H__|----------|_______|-----------
1L--|___ _____|--------|_______
但实际加死区后
1H__|----------|_______|-----------
1L------|____|---------------|_______
为什么这样,有知的请解释一下

P1TCONbits.PTEN = 0;//PWM 时基关闭
      P1TCONbits.PTSIDL = 0;//PWM 时基在CPU 空闲模式下运行
      P1TCONbits.PTOPS = 0;//1:1 后分频比
      P1TCONbits.PTCKPS = 0;//PWM 时基输入时钟周期为Tcy (1:1 预分频比)
      P1TCONbits.PTMOD = 0;//PWM 时基在自由运行模式下工作
      // PWM1CON1 = 0x0101;   //PWM I/O 引脚对处于独立PWM 输出模式,1L有效
      PWM1CON1bits.PMOD1 = 0;//PWM I/O 引脚对处于补PWM 输出模式
      PWM1CON1bits.PMOD2 = 0;
//   PWM1CON1bits.PMOD3 = 0;
   
         PWM1CON1bits.PEN1L = 1;//使能PWM1L 引脚,用于PWM 输出
      PWM1CON1bits.PEN1H = 1;//使能PWM1H 引脚,用于PWM 输出
      PWM1CON1bits.PEN2L = 0;
         PWM1CON1bits.PEN2H = 0;
         // PWM1CON1bits.PEN3L = 0;
         // PWM1CON1bits.PEN3H = 0;
         // PWM1CON2 = 0x0000;
         PWM1CON2bits.SEVOPS = 0; //1:1 后分频比
      PWM1CON2bits.IUE = 0;//更新到有效PxDC 寄存器与PWM 时基同步
      PWM1CON2bits.OSYNC = 0;//通过PxOVDCON 寄存器进行的输出改写在下一个TCY 边界发生
      PWM1CON2bits.UDIS = 0;//使能来自占空比和周期缓冲寄存器的更新
      P1DTCON1 = 0x0f02;   //A 1Tcy
         P1DTCON2 = 0x0001;
         P1FLTACON = 0x0000;
         P1OVDCON = 0x0300; //PWM1L有效
      P1SECMP=50;//占空比+自举时间

    P1TPER = 199;//200KHz,最大P1DC1=400 //1:1 后分频比
      P1DC1 = 199;    //占空比 不能少于14V==56/4001~399
         P1TCONbits.PTEN=1; //允许PWM1输出

huangxiaowei 发表于 2014-4-16 15:01:23

   顶一下
页: [1]
查看完整版本: DSPIC33F12MC201 PWM死区问题?