版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP控制器原理及应用技术第5章控制类外设模块及其应用开发第5章 控制类外设模块及其应用开发5.1 增强脉宽调制ePWM模块5.2 增强捕获eCAP模块5.3 增强正交编码脉冲eQEP模块5.4 模/数转换ADC模块5.1 增强脉宽调制ePWM模块5.1.1 ePWM模块构造及工作原理 6个ePWM模块: ePWM1 6 12路PWM波输出:PWMxA/B 6路高精度PWM波输出:HRPWM 5.1.1 ePWM模块构造及工作原理1时间基准子模块TB:产生时间基准TBCLK2计数比较子模块CC:确定PWM波占空比3动作限定子模块AQ:确定比较匹配时动作4死区控制子模块DB:在互补PWM间插入死
2、区5 PWM斩波子模块PC:产生高频PWM载波信号6错误控制子模块TZ:规定外部出错时PWM输出7事件触发子模块EZ:中断和触发控制 各子模块可以根据需要进展选择,组成流水线 实际使用 时,往往只要要配置 TB、CC、AQ、DB、 ET 五个模块。5.1.2 ePWM各子模块及其控制一、TB子模块及其控制根本作用:实现定时,为PWM波产生提供载波周期。1. 时基计数器的计数模式与PWM波的载波周期1计数脉冲周期TBCLK=SYSCLKOUT/(HSPCLKDIVCLKDIV):2计数模式与周期、频率四种计数模式:停顿、连续增、连续减和连续增/减停顿模式:复位时默认状态,计数器保持当前值不变连续
3、增计数模式:用于非对称PWM连续减计数器模式:用于非对称PWM连续增/减计数模式:用于对称或非对称PWM1.时基计数器的计数模式与PWM波的载波周期TPWM=2 TBPRDTTBCLK TPWM=(TBPRD+1)TTBCLK 一、TB子模块及其控制2. 时基定时器的同步 作用:将多个ePWM通道连接起来使其同步工作。 可通过硬件或软件同步。 同步允许:TBCTLPHSEN=1 一、TB子模块及其控制3. TB子模块的存放器 TBCTR、TBPRD和TBPHS均为16位的数据存放器 TBPRD双缓冲:动作存放器Active Register 映射存放器 Shadow Register 动作存放
4、器:直接控制硬件动作 映射存放器:为动作存放器提供缓冲或暂存位置,防止由于软件异步修改存放器造成的冲突或错误。3. TB子模块的存放器控制存放器TBCTL 15 141312 109 765 4321 0FREE_SOFTPHSDIRCLKDIVHSPCLKDIVSWFSYNCSYNCOSELPRDLDPHSENCTRMODER/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0一、TB子模块及其控制二、 CC子模块及其控制2个比较事件:CTR=CMPA: TBCTR=CMPA CTR=CMPBTBCTR=CMPB 存放器:两个数据类存放器CMPA和CMPB
5、16位 一个控制存放器CMPCTL15 109876543 21 0保留SHDWBFULLSHDWAFULL保留SHDWBMODE保留SHDWAMODELOADBMODELOADAMODER-0R/W-0R/W-0R-0R/W-0R-0R/W-0R/W-0R/W-0三、 AQ子模块及其控制产生动作的事件 CTR = PRD (TBCTR = TBPRD). CTR = Zero (TBCTR = 0 x0000) CTR = CMPA (TBCTR = CMPA) CTR = CMPB (TBCTR = CMPB)产生动作:置位、去除、翻转、无动作1. 事件和动作 动作限定控制存放器AQCTL
6、A和AQCTLB: 规定各种事件发生时ePWMxA和ePWMxB的动作;CBD:减计数过程中CTR=CMPB时输出的动作;CBU:增计数过程中CTR=CMPB时输出的动作;CAD:减计数过程中CTR=CMPA时输出的动作;CAU:增计数过程中CTR=CMPA时输出的动作;PRD和ZRO:周期匹配和下溢事件发生时输出的动作。00-无动作复位默认值;01-置低;10-置高;11-翻转。 2. AQ子模块的存放器 15 1211 109 87 65 43 21 0保留CBDCBUCADCAUPRDZROR-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0三、 AQ子模块及其控制3.利用
7、TB、CC和AQ模块输出PWM波PWM波:周期不变但脉宽可变的波形。三、 AQ子模块及其控制5.1.2 ePWM各子模块及其控制四、DB子模块及其控制1. 电源逆变器 在互补信号边沿插入无信号的死区2. 构造与功能 四、DB子模块及其控制死区延时时间3. DB子模块的存放器两个数据存放器DBRED和DBFED, 一个控制存放器DBCTLIN_MODE:为DBRED和DBFED选择输入信号源:00-PWMxA同时作为上升沿和下降沿延时输入源;01-PWMxB上升沿延时,PWMxA下降沿延时源;10- PWMxA上升沿延时,PWMxB下降沿延时源;11-PWMxB同时作为上升沿和下降沿延时的输入源
8、。15 65 43 21 0保留IN_MODEPOLSELOUT_MODER-0R/W-0R/W-0R/W-0四、DB子模块及其控制3. DB子模块的存放器POLSEL:极性选择,确定延时后输出是否需反相:00-高有效AH模式,PWMxA和PWMxB输出均不反相;01-低有效互补ALC模式,PWMxA输出反相;10-高有效互补AHC模式,PWMxB输出反相;11-低有效AL模式,PWMxA和PWMxB输出均反相。OUT_MODE:确定输出模式:00-死区旁路模式,PWMxA和PWMxB直接送至PC;01-PWMxA送PC子模块,下降沿延时输出信号送至PWMxB;10- PWMxB送PC子模块,
9、上升沿延时输出送至PWMxA;11-死区完全使能。四、DB子模块及其控制五、 ET子模块及其控制作用:规定那些事件可以申请中断和作为ADC触发信号,以及多少个事件13中断或触发ADC5.1.2 ePWM各子模块及其控制 事件选择:ET选择存放器ETSEL控制 多少个事件中断或触发:ET预定标存放器ETPS控制 中断或触发事件发生:置位ETFLG中的标志位 标志位去除:ET去除存放器ETCLR 软件强制:ET强制存放器ETFRC强制产生中断或ADC触发信号。 ET选择存放器ETSELSOCBEN、SOCAEN和INTEN:允许相应信号 0-制止;1-允许。SOCBSEL、SOCASEL和INTS
10、EL:选择触发事件 000和011保存;001-CTR=ZERO;010-CTR=PRD;100-CTR=CAU;101-CTR=CAD;110CTR=CBU;111-CTR=CBD。15 14 121110 87 432 0SOCBENSOCBSELSOCAENSOCASEL保留INTENINTSELR/W-0R/W-0R/W-0R/W-0R-0R/W-0R/W-0五、 ET子模块及其控制5.1.2 ePWM各子模块及其控制 ET预定标存放器ETPSSOCBPRD、SOCAPRD和INTPRD:选择周期: 00-禁用事件计数器;01-1个选定事件; 10-2个选定事件;11-3个选定事件。S
11、OCBCNT、SOCACNT和INTCNT:事件计数器,反映当前已经发生了多少个选定事件: 00-无;01-1个;10-2个;11-3个。15 1413 1211 109 87 43 21 0SOCBCNTSOCBPRDSOCACNTSOCAPRD保留INTCNTINTPRDR/W-0R/W-0R/W-0R/W-0R-0R/W-0R/W-0五、 ET子模块及其控制5.1.2 ePWM各子模块及其控制5.1.3 ePWM应用例如 使用ePWM4产生PWM波,其时基计数器工作于连续增/减计数模式,输出为高电平有效互补并带死区控制,每3个零事件中断1次,在中断效劳程序中修改死区时间。死区时间调整范围
12、为0=DB=DB_MAX。#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 0 x03FF#define EPWM4_MIN_DB 0/ 死区时间变化方向#define DB_UP 1#define DB_DOWN 0#incl
13、ude 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 0 x03FF#define EPWM4_MIN_DB 0/ 死区时间变化方向#define DB_UP 1#define DB_DOWN 0void main(void)/ Step 1
14、. 初始化系统控制InitSysCtrl();/ Step 2. 初始化GPIOGPIO:/ InitGpio(); / 此处跳过 InitEPwm4Gpio();/ Step 3. 去除所有中断;初始化PIE向量表 DINT;InitPieCtrl();/ 初始化PIE控制 IER = 0 x0000; /制止CPU中断 IFR = 0 x0000; /去除所有CPU中断标志InitPieVectTable();/ 初始化PIE 向量表 EALLOW; / /重新映射本例中使用的中断向量 PieVectTable.EPWM4_INT = &epwm4_isr; EDIS; / Step 4.
15、 初始化器件外设,本例不需要 EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; EDIS; InitEPwm4Example(); EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; EDIS;/ Step 5. 用户特定代码,允许中断 EPwm4TimerIntCount = 0; / 初始化计数器:/ 允许CPU的INT3 与EPWM16 INT连接 IER |= M_INT3;/ 允许PIE级中断 PieCtrlRegs.PIEIER3.bit.INTx4 = 1; EINT; /去除INTM ERTM
16、; /允许全局实时中断DBGM/ Step 6. 空闲循环,等待中断: for(;) asm( NOP); / Step 7. 用户自定义函数:void InitEPwm4Example()EPwm4Regs.TBPRD = 6000; /设置定时器周期值EPwm4Regs.TBPHS.half.TBPHS = 0 x0000; /相位为0EPwm4Regs.TBCTR = 0 x0000; / 去除计数器/ 连续增/减计数模式 EPwm4Regs.TBCTL.bit.CTRMODE= B_COUNT_UPDOWN; / 制止相位装载EPwm4Regs.TBCTL.bit.PHSEN = TB
17、_DISABLE; /分频使时钟变慢以便观察EPwm4Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4; EPwm4Regs.TBCTL.bit.CLKDIV = TB_DIV4; EPwm4Regs.CMPA.half.CMPA = 3000; /设置比较值EPwm4Regs.AQCTLA.bit.CAU = AQ_SET; / 设置动作EPwm4Regs.AQCTLA.bit.CAD = AQ_CLEAR;EPwm4Regs.AQCTLB.bit.CAU = AQ_CLEAR; EPwm4Regs.AQCTLB.bit.CAD = AQ_SET;/高电平有效PWM波 设
18、置死区 ,完全允许死区EPwm4Regs.DBCTL.bit.OUT_MODE= B_FULL_ENABLE; EPwm4Regs.DBCTL.bit.POLSEL= DB_ACTV_HIC;EPwm4Regs.DBCTL.bit.IN_MODE = DBA_ALL;EPwm4Regs.DBRED = EPWM3_MIN_DB;EPwm4Regs.DBFED = EPWM3_MIN_DB;EPwm4_DB_Direction = DB_UP;/允许中断以便修改死区; 选择CTR=ZERO触发中断EPwm4Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; EPwm4Reg
19、s.ETSEL.bit.INTEN = 1; / 允许中断EPwm4Regs.ETPS.bit.INTPRD= ET_3RD;/ 3事件interrupt void epwm4_isr(void)if(EPwm4_DB_Direction = DB_UP) if(EPwm4Regs.DBFED 4;四、连续转换模式和启动/停顿模式连续的自动排序模式 转换完毕后自动复位排序器,再次从复位状态启动 SEQ和SEQ1为CONV00 SEQ2 为CONV08 2. 启动/停顿模式 转换完毕后,停顿在当前状态,下次启动后从停顿状态转换。5.4.2 ADC模块的存放器1. 模/数转换控制存放器1ADCTR
20、L12. 模/数转换控制存放器2ADCTRL215141312111098ePWM_SOCB_SEQRST_SEQ1SOC_SEQ1保留INT_ENA_SEQ1INT_MOD_SEQ1保留ePWM_SOCA_SEQ1RW-07RS-06RW-05R-04RW-03RW-02R-01RW-00EXT_SOC_SEQ1RST_SEQ2SOC_SEQ2保留INT_ENA_SEQ2INT_MOD_SEQ2保留ePWM_SOCB_SEQ2RW-0RS-0RW-0R-0RW-0RW-0R-0RW-03. 模/数转换控制存放器3ADCTRL3ADCBGRFDN1:0:带隙基准和参考电路电源开关 00-关闭
21、11-上电ADCPWDN:其他模拟电路电源开关 0-关闭 1-上电ADCCLKPS3:0:ADC时钟预分频 0000-ADCLK=HSPCLK 其他值-ADCLK=HSPCLK/2*ADCCLKPS )SMODE_SEL :采样模式。0-顺序采样;1-同步采样4. ADC状态标志存放器(ADCSTEOS BUF2/1:SEQ2/1转换完毕缓冲位 用于中断模式1 INT SEQ2/1 CLR SEQ2/1:中断去除标志 写1去除相应中断标志SEQ2/1 BSY:忙标志。 0-空闲转换完毕 1-忙转换中INT SEQ2/1:中断标志5.4.3 ADC应用 例如 ADC模块工作于双排序器、顺序采样复
22、位默认状态模式,由SEQ1对ADCINA3和ADCINA2的电压信号进展自动转换,转换由软件触发。采用中断模式0,每次转换完毕均产生中断;在中断效劳程序中读取结果并存入2个长度为1024的数组。 #include DSP2833x_Device.h #include DSP2833x_Examples.h/HSPCLK=SYSCLKOUT/2*ADC_MODCLK= 150/(2*3) /= 25.0 MHz#define ADC_MODCLK 0 x3/ 函数声明.interrupt void adc_isr(void);/ 全局变量声明Uint16 LoopCount;Uint16 Con
23、versionCount;Uint16 Voltage11024;Uint16 Voltage21024;void main(void) / Step 1. 初始化系统控制InitSysCtrl();/ Step 2. 初始化GPIOGPIO:/ InitGpio(); / 此处跳过 / Step 3. 去除所有中断;初始化PIE向量表DINT;InitPieCtrl();/ 初始化PIE控制IER = 0 x0000; /制止CPU中断IFR = 0 x0000; /去除所有CPU中断标志InitPieVectTable();/ 初始化PIE 向量表EALLOW; PieVectTable.ADCINT = &adc_isr; / 重新映射本例中使用的中断向量EDIS;/ Step 4. 初始化器件外设,本例不需要InitAdc(); / 本例初始化ADC/ Step 5. 用户特定代码,允许中断IER |= M_INT1; / 允许CPU的INT1 与ADC中断连接PieCtrlRegs.PIEIER1.bit.INTx6 = 1; / 允许PIE中断ADC中断EINT; /去除INTMERTM; /允许全局实时中断DBGMLoopCoun
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育安全培训消防要求课件
- 2026年时事政治题库测试卷含完整答案详解(有一套)
- 2025年中国科学技术大学马克思主义基本原理概论期末考试真题汇编
- 2024年江汉艺术职业学院马克思主义基本原理概论期末考试真题汇编
- 2025年贵州工贸职业学院马克思主义基本原理概论期末考试参考题库
- 2025年郑州轻工业大学马克思主义基本原理概论期末考试笔试真题汇编
- 2024年南充科技职业学院马克思主义基本原理概论期末考试笔试题库
- 2025年长春科技学院马克思主义基本原理概论期末考试模拟试卷
- 2024年川南幼儿师范高等专科学校马克思主义基本原理概论期末考试模拟试卷
- 2024年汉中职业技术学院马克思主义基本原理概论期末考试模拟试卷
- 矿产企业管理办法
- 企业账期管理暂行办法
- 从大庆油田股权改革透视公司股权结构优化与治理创新
- 慈善春节慰问活动方案
- 2025至2030中国电地暖系统行业市场现状分析及竞争格局与投资发展报告
- 互联网金融浪潮下A银行网点智能轻型化转型之路
- 胸科手术麻醉管理专家共识
- 物联网智能家居设备智能控制手册
- (二模)东北三省三校2025年高三第二次联合模拟考试 英语试卷(含答案解析)
- 福建省泉州市2024-2025学年高一上学期期末质量监测生物试题(原卷版+解析版)
- 10千伏环网柜(箱)标准化设计方案 (2023 版)
评论
0/150
提交评论