- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章
控制类外设模块及其应用开发;5.1 增强脉宽调制(ePWM)模块;5.1.1 ePWM模块结构及工作原理;5.1.2 ePWM各子模块及其控制;2. 时基定时器的同步;3. TB子模块的寄存器;二、 CC子模块及其控制;三、 AQ子模块及其控制; 动作限定控制寄存器AQCTLA和AQCTLB:
规定各种事件发生时ePWMxA和ePWMxB的动作;
CBD:减计数过程中CTR=CMPB时输出的动作;
CBU:增计数过程中CTR=CMPB时输出的动作;
CAD:减计数过程中CTR=CMPA时输出的动作;
CAU:增计数过程中CTR=CMPA时输出的动作;
PRD和ZRO:周期匹配和下溢??件发生时输出的动作。
00-无动作(复位默认值);01-置低;10-置高;11-翻转。 ;3.利用TB、CC和AQ模块输出PWM波;5.1.2 ePWM各子模块及其控制;2. 结构与功能 ;3. DB子模块的寄存器;3. DB子模块的寄存器;五、 ET子模块及其控制; ET选择寄存器ETSEL
SOCBEN、SOCAEN和INTEN:允许相应信号
0-禁止;1-允许。
SOCBSEL、SOCASEL和INTSEL:选择触发事件
000和011保留;001-CTR=ZERO;010-CTR=PRD;100-CTR=CAU;101-CTR=CAD;110—CTR=CBU;111-CTR=CBD。; ET预定标寄存器ETPS
SOCBPRD、SOCAPRD和INTPRD:选择周期:
00-禁用事件计数器;01-1个选定事件;
10-2个选定事件;11-3个选定事件。
SOCBCNT、SOCACNT和INTCNT:事件计数器,反映当前已经发生了多少个选定事件:
00-无;01-1个;10-2个;11-3个。;5.1.3 ePWM应用示例;// 死区最大、最小值
#define EPWM4_MAX_DB 0x03FF
#define EPWM4_MIN_DB 0
// 死区时间变化方向
#define DB_UP 1
#define DB_DOWN 0
#include DSP2833x_Device.h
#include DSP2833x_Examples.h
// 函数声明.
void InitEPwm4Example(void);
interrupt void epwm4_isr(void);
// 全局变量声明
Uint32 EPwm4TimerIntCount;
Uint16 EPwm4_DB_Direction
// 死区最大、最小值
#define EPWM4_MAX_DB 0x03FF
#define EPWM4_MIN_DB 0;// 死区时间变化方向
#define DB_UP 1
#define DB_DOWN 0
void main(void)
{// Step 1. 初始化系统控制
InitSysCtrl();
// Step 2. 初始化GPIOGPIO:// InitGpio(); // 此处跳过
InitEPwm4Gpio();
// Step 3. 清除所有中断;初始化PIE向量表
DINT;
InitPieCtrl();// 初始化PIE控制
IER = 0x0000; //禁止CPU中断
IFR = 0x0000; //清除所有CPU中断标志
InitPieVectTable();// 初始化PIE 向量表
EALLOW;
/ /重新映射本例中使用的中断向量
PieVectTable.EPWM4_INT = epwm4_isr;
; EDIS;
// Step 4. 初始化器件外设,本例不需要
EALLOW;
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;
EDIS;
InitEPwm4Example();
EALLOW;
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
EDIS;
// Step 5. 用户特定代码,允许中断
EPwm4TimerIntCount = 0; // 初始化计数器:
// 允许CPU的INT3 (与EPWM1~6 INT连接)
IER |= M_INT3;
// 允许PIE级中断INT3.4
PieCtrlRegs.PIEI
文档评论(0)