- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)