DSP28335EPWM配置分析和总结.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

DSP28335EPWM

DSP28335EPWM配置

EPWM配置

GPIO配置

GpioCtrlRegs.GPADIR.bit.GPIO0=1;

GpioCtrlRegs.GPAMUX1.bit.GPIO0=1;

关闭所有epwm基准时钟

EALLOW;

SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;EDIS;

配置TB

时间基准状态寄存器

EPwm4Regs.TBSTS.all=0

相位寄存当检测到同步输入脉冲时,相位寄存器的值装载到计数寄存器

EPwm4Regs.TBPHS.half.TBPHS=0;

时间基准计数器清零,即清除计数器,TBCTR相当于计数器

EPwm4Regs.TBCTR=0;

周期寄存器,设置PWM周期EPwm4Regs.TBPRD=SP;

时间基准控制寄存器

计时器计数模式

EPwm1Regs.TBCTL.bit.CTRMODE=TB_COUNT_UP;

相位装载模式

3.周期寄存器的映射寄存器加载条件EPwm1Regs.TBCTL.bit.PHSEN=

3.周期寄存器的映射寄存器加载条件

EPwm1Regs.TBCTL.bit.PRDLD=TB_SHADOW;

5.时钟分频:TBCLK=SYSCLKOUT/(2*HSPCLKDIV)(2^CLKDIV)4.EPWMxSYNCO

5.时钟分频:TBCLK=SYSCLKOUT/(2*HSPCLKDIV)(2^CLKDIV)

EPwm1Regs.TBCTL.bit.HSPCLKDIV=TB_DIV1;EPwm1Regs.TBCTL.bit.CLKDIV=TB_DIV1;

配置CC

比较控制寄存器

CMPA/B影子寄存器的加载模式EPwm1Regs.CMPCTL.bit.SHDWAMODE=CC_SHADOW;EPwm1Regs.CMPCTL.bit.SHDWBMODE=CC_SHADOW;

在选定映射模式下,选择加载方式EPwm1Regs.CMPCTL.bit.LOADAMODE=CC_CTR_ZERO;EPwm1Regs.CMPCTL.bit.LOADBMODE=CC_CTR_ZERO;

比较寄存器

比较寄存器A/B,改变可改变比较点,调整输出占空比

EPwm4Regs.CMPA.half.CMPA=400;EPwm4Regs.CMPB=0;

配置AQ

输出比较方式,控制发生比较事件前后EPWM的电平例:EPwm4Regs.AQCTLA.all=0x60;

EPwm4Regs.AQCTLA.PRD/CAU/CBU/CAD/CBD/ZRO=AQ_CLEAR/SET;

软件强制控制EPwm4Regs.AQSFRC.all=0;EPwm4Regs.AQCSFRC.all=0;

死区DB

死区控制

EPwm4Regs.DBCTL.all=0xb;

上升/下降沿延迟DBRED/DBFED,9-0共10位EPwm4Regs.DBRED=0;//上升沿延时=0EPwm4Regs.DBFED=0;//下降沿延时=0

故障TZ

EALLOW;

EPwm1Regs.TZCTL.bit.TZA=TZ_FORCE_HI;//00高阻EPwm1Regs.TZCTL.bit.TZB=TZ_FORCE_HI;

EPwm1Regs.TZFRC.bit.OST=1;//强制生成一次性错误事件并设定TZFLG[OST]位EDIS;

斩波

事件触发ET

事件触发选择,选择中断、ADC在什么时候触发;SOCA、SOCB脉冲生成

EPwm4Regs.ETSEL.all=0;

打开所有epwm基准时钟

EALLOW;

SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;EDIS;

EPWM中断设置

中断入口地址

EALLOW; //ThisisneededtowritetoEALLOWprotectedregisters

PieVectTable.EPWM1_INT=epwm1_timer_isr;EDIS;

初始化EPWM

1、关闭所有epwm基准时钟(接下来要配置参数了)

EALLOW;

SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0; //StopalltheTBclocksEDIS;

2、选择EPWMxSYNCO信号源 00 EPWMxSYNC

EPwm1Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;

3、当EPWMxSYNCI输入信号产生,将TBPHS加到TBCTR

EPwm1Regs.TBCTL.bi

文档评论(0)

dqy118 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体上海海滋实业有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7DL1JF2N

1亿VIP精品文档

相关文档