基于2812DSP的PWM产生方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于TMS320F2812 DSP的PWM产生方法PWM(Pulse-Width Modulation)即脉宽调制技术,广泛运用于各种工业控制中,现需要用TMS320F2812DSP产生该波形,主要通过如下几点来实现。
一、硬件芯片选型
依托现有条件,选用合众达的eZ dsp TMS320F2812开发平台作为目标板。首要关注其datesheet和电路图。
如图1所示,产生的PWM波通过目标板P8插针口的第15根脚输出,测试时需要通过示波器检查该口的输出状态。
事件管理器(Event Manager)是产生PWM波的核心模块,包括通用定时器、比较单元、捕获单元、QEP电路等,这里主要用到通用定时器中的定时器1。图2表示EV A中通用定时器1的相关寄存器,对这些寄存器进行配置是产生PWM 波的必经之路。
二、软件编程实现
在了解2812DSP各相关寄存器的前提下,通过在CCS3.3环境下编程可实现。
S3.3软件环境学习
一个完整的DSP工程文件需要由头文件(.h)、库文件(.lib)、源文件(.c)、和CMD文件共同组成。在实际编程中,我们通常是打开某一个例程工程文件,其中很多头文件已经被默认添加进去,一般不需要改动,源文件在相应地方进行改动即可。
2.编程实现
DSP芯片在一定时钟节拍驱动下才能正常工作,因此需要对系统时钟进行配置,通常使用外部时钟,并将PLL控制寄存器PLLCR取最大值10,送至CPU 的时钟则为150MHz。
主函数流程图如图3所示:
初始化包括:系统时钟配置、PIE控
制寄存器初始化、PIE中断向量表初始
化、GPIO口初始化、事件管理器EV A初
始化。
开中断实际上是定时器T1开始计
数。在通用定时器初始化的时候便将中断
打开。
当T1CNT和T1CMPR的值相等时发
生比较匹配事件,如果T1控制寄存器
T1CON的TWCMPR为1,定时比较器被
使能,且GPTONA的位TCMPOE为1
时,定时器比较输出被使能,那么
Hz PR T TCLK f 12106⨯⨯=PR T CPMR
T PR T D 111-=Hz HSPCLK 5.372
=T1PWM_T1CMP 引脚就会有PWM 波形输出。
3. 以输出1KHz ,占空比为50%的对称PWM 波形(即方波)为例,重点分析 事件管理器EV A 的的配置情况。
输出对称PWM 波,即T1工作于连续增/减计数模式下,PWM 产生原理如图4所示:
,高电平
P WM 的周期s T 610TCLK PR 1T 2⨯⨯=,PWM 的频率为 有效,则占空比为: 。这里的TCLK 用内部时钟且大小
为 。由D=40%,f=1KHz,可以求得T1PR=0x493E ,T1CMPR=11250,表示为十六进制就是0x2BF2 。
初始化EV A 主要可以分为如下几个部分:
完成EV A 相关寄存器的配置,再将Gpio 口中和PWM 相关的引脚GPIOA6设置为PWM 功能。
三、实验结果
将.out 文件load 至DSP 目标板,并用示波器测试引脚输出,可清晰发现我们
需要的PWM波形,如图6所示:
由此我们可以得出只
要合理配置DSP的各个
寄存器,就能产生理想的
波形。
在此基础上,将
TCMPR的值按照一定的
规律改变,就可以产生占
空比可变的PWM波,若
按正弦规律变化,就能产
生占空比按正弦规律变化的波形,也就是俗称的SPWM波,通过适当的滤波电路,便可以产生需要频率的正弦波等。
实验表明,基于传统算法的PWM产生方法是简单易实现的,具有良好的可行性。