[DSP编程] DSP ePWM频率计算

[复制链接]
3753|10
 楼主 | 2014-10-26 14:07 | 显示全部楼层 |阅读模式
EPwm1Regs.TBPRD = 6000;                        // Set timer period
   EPwm1Regs.TBPHS.half.TBPHS = 0x0000;           // Phase is 0
   EPwm1Regs.TBCTR = 0x0000;                      // Clear counter

   // Setup TBCLK
   EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up,增计数模式
   EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;        // 禁止相位寄存器加载
   EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4;       // 预分频系数为2*2=4
   EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV4;          // 预分频系数为2^2=4

   EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;    // 双缓冲操作,所有的写操作通过CPU访问映射寄存器
   EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;  //当时间基准计数器等于0(TBCTR=0X0000)时加载
   EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

   // Setup compare
   EPwm1Regs.CMPA.half.CMPA = 3000;               //设置比较值

   // Set actions
   EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;             //TBCTR与CMPA在up计数时相等使输出置高
   EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;           //CTR=CAD事件时将EPWM1A置低


   EPwm1Regs.AQCTLB.bit.CAU = AQ_CLEAR;          // Set PWM1A on Zero
   EPwm1Regs.AQCTLB.bit.CAD = AQ_SET;

   // Active Low PWMs - Setup Deadband
   EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;//允许死区对于ePWM1A输出的上升沿延迟
   EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_LO;      //主低模式
   EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL;        //EPWMxA IN是下降边沿和上升沿延迟的输入源
   EPwm1Regs.DBRED = 0x3ff;                      //上升边沿延迟计数,10位计数器
   EPwm1Regs.DBFED = 0;                          //下降边沿延迟计数,10位计数器
   EPwm1_DB_Direction = DB_UP;

   // Interrupt where we will change the Deadband
   EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;     // 使能事件,TBCTR=0X0000
   EPwm1Regs.ETSEL.bit.INTEN = 1;                // 使能INT中断
   EPwm1Regs.ETPS.bit.INTPRD = ET_3RD;           // 第三个事件发生时中断
 楼主 | 2014-10-26 14:08 | 显示全部楼层
请问大侠们按这个程序计算出的EPWM的频率是多少呢?
| 2014-10-26 14:41 | 显示全部楼层
没用过DSP呀
| 2014-10-26 14:47 | 显示全部楼层
你有没有计算过呢
| 2014-10-26 22:19 | 显示全部楼层
先计算出事件管理器的时钟   然后EPwm1Regs.TBPRD = 6000利用这个计算周期
 楼主 | 2014-10-31 20:02 | 显示全部楼层
问题已经解决了
| 2014-11-10 23:53 | 显示全部楼层
huweili 发表于 2014-10-31 20:02
问题已经解决了

详解啊  
| 2015-3-5 10:24 | 显示全部楼层
请问是不是 系统时钟/预分频/周期?????
| 2015-3-5 10:35 | 显示全部楼层
分享一下吧!
 楼主 | 2015-6-7 22:26 | 显示全部楼层
zhangdongze 发表于 2015-3-5 10:24
请问是不是 系统时钟/预分频/周期?????

是的
| 2018-6-22 14:17 | 显示全部楼层
楼主,怎么解决的啊
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /5 下一条

快速回复 返回顶部 返回列表