基于2812DSP的PWM产生方法
- 格式:doc
- 大小:418.13 KB
- 文档页数:4
include "DSP281x_Device.h" // DSP281x Headerfile Include File# include "DSP281x_Examples.h" // DSP281x Examples Include Filevoid init_eva(void);void main(void){InitSysCtrl();// InitGpio(); 配置IO口功能为PWM模式EALLOW;GpioMuxRegs.GPAMUX.all = 0x00FF; // EVA PWM 1-6 pinsEDIS;DINT; //关CPU总中断InitPieCtrl(); //初始化PIE控制寄存器IER = 0x0000;IFR = 0x0000;InitPieVectTable(); //初始化PIE中断向量表init_eva(); //初始化EV-AEvaRegs.T1CON.bit.TENABLE=1; //手工启动定时器EINT; // 使能INTM(全局中断)ERTM; // Enable Global realtime interrupt DBGMfor(;;);}//EV-A初始化void init_eva(void){EvaRegs.T1PR = 37500; //周期值--连续增减时,PWM频率=TCLK/(2*T1PR)---频率设为1K, PWM=75M/(2*37500)EvaRegs.T1CMPR = 0x3C00; // Compare Reg--比较值EvaRegs.T1CNT = 0x0000; //计数器初值//连续增/减模式,x/1分频,内部时钟,使能比较,使用自己的周期,禁止定时器启动(等初始化全部完成后手工启动)EvaRegs.T1CON.all = 0x0802;EvaRegs.GPTCONA.bit.TCMPOE = 1; //通过逻辑产生T1 PWMEvaRegs.GPTCONA.bit.T1PIN = 1; //GP定时器1比较时低有效//使能比较产生1--6 PWM波1个比较单元控制2路互补的PWM输出,控制PWM占空比//连续增减--低有效时:PWM占空比=CMPR1/T1PR,高有效时:PWM占空比=(T1PR-CMPR1)/T1PR EvaRegs.CMPR1 = 15000; //第一路PWM占空比设为0.4,0.4=15000/37500EvaRegs.CMPR2 = 0x3C00;EvaRegs.CMPR3 = 0xFC00;// output pin 1 CMPR1 - 高有效,output pin 2 CMPR1 - 低有效// output pin 3 CMPR2 - 高有效,output pin 4 CMPR2 - 低有效// output pin 5 CMPR3 - 高有效,output pin 6 CMPR3 - 低有效EvaRegs.ACTRA.all = 0x0666; //比较方式控制寄存器,控制PWM引脚的高/低有效EvaRegs.DBTCONA.all = 0x0000; //静止死区CONA.all = 0xA600; //比较控制寄存器--禁止空间矢量PWM模式}总结:PWM波形产生流程1):将I/O口设置为PWM引脚模式2):设置装载TxCON,决定计数方式,启动比较操作3):设置装载TxPR,决定PWM波形周期4):初始化EvaRegs.CMPR1--3的值,每个比较单元控制2路互补的PWM输出,控制PWM占空比5):EvaRegs.ACTRA比较方式控制寄存器,控制PWM引脚的高/低有效6):EvaRegs.DBTCONA死区时间的设置7):CONA设置比较控制寄存器附:EvaRegs.DBTCONA.bit.DBT=5; //死区定时器周期为5EvaRegs.DBTCONA.bit.EDBT1=1; //死区定时器1使能EvaRegs.DBTCONA.bit.DBTPS=3; //死区定时器预定标因子,死区时钟为HSPCLK/8示例程序2:一个产生PWM波的样例程序,用于TMS320F2812(2006-07-24 21:59:09)转载这两个星期一直在做PWM波的程序,发现网上这方面的比较少,若有又没有中文注释。
SVPWM 算法在T MS320F2812上的实现王宏民,赵振民,李 娜(黑龙江科技学院电气与信息工程学院,哈尔滨150027)摘要:叙述了空间电压矢量脉宽调制(S VPW M )的基本原理、工程算法以及T MS320F2812特点,并给出该算法在T MS320F2812上所需硬件配置和软件流图,最后给出了实验结果。
实验结果表明与理论分析相符,并且这种在先进的高速控制芯片上实现控制算法的方法对控制伺服系统有良好的可靠应用性。
关键词:空间电压矢量;T MS320F2812;脉宽调制中图分类号:T M38315 文献标志码:A 文章编号:100320794(2008)1020042203Implementation Algorithm of V oltage SVPW M B ased on T MS320F2812WANG H ong -min ,ZH AO Zhen -min ,LI N a(C ollege of E lectric and In formation Engineering ,Heilongjiang Science and T echnology C ollege ,Harbin 150027,China )Abstract :Describes the principles and project alg orithm of the space vector pulse width m odulation (S VPW M ),and the advantages of T MS320F2812.Hardware configuration and s oftware flow chart based on T MS320F2812were introduced.The testing rusult indicates consistent with the theoretical analysis ,and the control alg orithm based on hige -speed chip run well in serv o control system.K ey w ords :v oltage space vector ;T MS320F2812;pulse width m odulation1 S VPW M 的基本原理S VPW M 是通过逆变器功率器件的不同开关模式产生有效电压矢量来逼近基准圆,图1是一个典型的电压源型PW M 逆变器模型。
文采用对称规则采样法。
图1对称规则采样法原理图图1所示为对称规则采样法的原理图[2]。
图中,以三角载波的负峰值处作为采样点,在该点做垂线,与正弦调制波交于D点,过D点作一水平直线和三角载波分别交于A、B两点,在A点和B点时刻输出脉冲来控制功率开关器件的通断。
在每个载波周期用同样的方法采集输出脉冲,即得到正弦脉宽调制波形序列。
现在假设三角载波幅值为2U c,周期为T c,频率为f c,正弦调制波的函数为:(1)正弦调制波的频率为f r,把载波频率f c与调制波频率f r之比定义为载波比N,即:(2)把调制信号的幅值与载波信号的幅值之比定义为调制度M,即:可以看出,载波比N越大内的采样点会越多,则最后输出的波形也会越接近N为3的倍数。
本文中式可以将(4)式转换成下式:为采样时刻,ωr t D=k×2πN正弦函数在采样时刻的值可以制作成数由于三角函数值具有对称性的特点,所以只需要将半个周期的正弦函数值存储进DSP中就可以[3]。
s CR+1,将通选定所以设计此滤波器的电阻为1μF。
图3一对互补的SPWM波图2主程序流程图图4互补SPWM波之间的死区时间将该SPWM波通过RC低通滤波器,当按下DSP的TOP2812开发板上的按键0时,波形如图所示,按下按键1时,波形如图6所示。
由图中可以看出,每个小格子之间的时间是5ms,图5的波形一个周期共占了4个小格子,所以周期为20ms,频率为50Hz;图6的波形一个周期大约占了3.3小格子,所以周期为16.5ms,即频率为60Hz。
均符合前面的设定值。
由于示波器只能同时查看两路波形,因此本实验依次测量AB、BC、CA两相的波形。
测量波形如图图8、图9所示。
由图可得,A路波形比B路波形超路比C路超前120°,C路比A路超前综上所述,测量结果与预期分析在一定范围内并且通过按键可以很好的控制不同频率因此本系统在变频电源中有较强的实际应熊蕊.一种新型的不对称规则SPWM图5频率为50Hz的正弦波图6频率为60Hz的正弦波图7AB两相正弦波波形图图9CA两相正弦波波形图图8BC两相正弦波波形图。
基于TMS320F2812的三相SPWM波的实现--xhat的笔记基于TMS320F2812的三相SPWM波的实现摘要:针对SPWM波调制在逆变变频电源中的广泛应用,介绍了采用高性能数字信号处理器(DSP)TMS320F2812的片内外设事件管理器的功能生成三相SPWM波的方法,给出了整个程序流程图,主要功能程序源码和实验结果。
该方法采用不对称规则采样算法,程序实现主要采用查表法。
实验结果表明,该方法简既能满足一定控制精度要求,又能满足实时性要求,可以很好地控制115V/400Hz逆变电源的输出。
关键词:DSP;TMS320F2812;SPWM;采样法;逆变电源中图分类号:TN914文献标识码:B文章编号:1004373X(2008)0313103RealizationofThree—phaseVoltageSourceSPWMonTMS320F2812YUANLi1,LIBin1,JIANGZaifang2(1.FacultyofElectricalEngineeringandInformationTechnology, HebeiUniversityofScienceandTechnology,Shijiazhuang,050054,C hina)2.FacultyofInformationEngineeringandAutomation,Kunming UniversityofScienceandTechnology,Kunming,650224,China) Abstract:ThepaperaimsattheapplicationofSPWMintheinverterpowersuppl yandintroducesthemethodforgeneratingSPWMwaveformbyusin gTMS320F2812eventmanager.Theflowchart,soundcodeandexper imentalresultsareprovided.Thedissymmetricalsamplingalgorithm andlooking—uptableareused.Experimentshowsthatthemethodcanmeetthecon trolprecisionandthereal—time.Itcancontroltheoutputvoltageofthe115V/400Hzinverterpowersupply.Keywords:DSP;TMS320F2812;SPWM;samplingalgorithm;inverterpowersup ply1引言SPWM技术目前已经在实际中得到非常普遍的应用,尤其在逆变电路中的应用最为广泛,经过长期的发展,大致可分成电压SPWM、电流SPWM和电压空间矢量SPWM。
摘要:三相逆变是光伏并网逆变器的主要组成部分。
本文介绍了基于DSP的三相逆变器的控制程序的设计原理和参数计算,并给出了部分实验调试的结果。
1引言TMS320F2812 DSP是在光伏并网逆变器中广泛应用的嵌入式微处理器控制芯片。
限于篇幅,本文只对基于DSP的三相逆变控制程序的设计进行了讨论。
第2节介绍了三相逆变控制程序的总体设计原理。
第3节讨论了参数计算方法和程序设计原理。
最后第4节给出了部分实验调试结果。
2基本原理控制程序的总体设计示意图见图1。
使用异步调制的方法产生SPWM波形。
将正弦调制波对应的正弦表的数值,按一定时间间隔t1依次读出并放入缓冲寄存器中。
比较寄存器则由三角载波的周期t2同步装载,并不断地与等腰三角载波比较,以产生SPWM波形。
时间间隔t1决定了正弦波的周期,时间间隔t2决定了三角载波的采样周期,t1和t2不相关,亦即正弦调制波的产生和PWM波形发生器两部分相互独立。
使用TMS320F2812的EV模块产生PWM波形。
EVA的通用定时器1按连续增/减模式计数,产生等腰三角载波。
三个全比较单元中的值分别与通用定时器1计数器T1CNT比较,当两者相等时即产生比较匹配事件,对应的引脚(PWMx,x=1,2,3,4,5,6)电平就会跳变,从而输出一系列PWM波形。
因为PWM波形的脉冲宽度与比较寄存器中的值一一对应,所以,只要使比较寄存器中的值按正弦规律变化,就可以得到SPWM波形。
考虑到DSP的资源有限,使用查表法产生正弦调制波。
将一个正弦波的周期按照一定的精度依次存于表中;使用时按照一定的定时间隔依次读取,便得到正弦波。
显然,精度要求越高,所需的表格越大,存储量也越大。
一个周期的正弦表的相位是,对应表的长度的1/3。
为了产生三相对称正弦波,将正弦表长度取为3n,n为整数。
当A相从第0个数开始取值时,则B相从第n个数处开始取值,C相从第2n个数处开始取值。
事实上,因为使用了异步调制,所以只要正弦表的长度足够大,不是3的整数倍也不会对输出波形产生太大影响。
基于F2812的PWM波形的产生一、任务具体要求:1) 通过示波器能够观察到EVA事件管理器的pwm5、6输出占空比(占空比是指高电平在一个周期之内所占的时间比率)为5/6的矩形波,其中pwm6高电平有效,pwm5低电平有效;pwm3、4输出占空比为1/2的矩形波,其中pwm4高电平有效,pwm3低电平有效;pwm1、2输出占空比为1/6的矩形波,其中pwm2高电平有效,pwm1低电平有效;2)调整相关寄存器的值,修改PWM波的频率和占空比。
二、任务所需基础知识2.1 什么是PWM?SPWM?PWM(Pulse Width Modulation)就是脉宽调制技术,即通过对一系列脉冲的宽度进行调制,来等效的获得所需要的波形(含形状和赋值)。
PWM技术应用非常广泛,在电力电子、电机控制、运动控制以及功率控制与变化等许多领域。
F2812芯片提供的PWM输出,是一种周期和占空比均可变,幅值为3.3V的脉宽调制信号。
2.2 TMS320F2812简介(1)采用了高性能的静态CMOS技术,时钟频率可达150MHZ(6.67ns),其核心电压为1.8V,I/O口电压3.3V,Flash编程电压也为3.3V。
(2)高性能的32位CPU。
能够实现16 x 16和32X32乘法操作,哈佛总线结构,快速的中断操作,寻址程序空间可达4M,寻址数据空间可达4G,在C/C++和汇编语言中代码可得到优化,另外还可向下兼容TMS320F24X/LF240X处理器的代码;(3)片上存储器:闪存128K字,单访问双口RAM(SARAM)18k字;(4)引导(BOOT)ROM4K字,具有软件启动模式并包含标准的数学表;(5)时钟和系统控制采用锁相环技术PLL来控制系统各模块所需要的频率;(6)具有3个外部中断和外围中断扩展模块PIE(Peripheral Interrupt Expansion),PIE 可支持多达45个外部中断;(7)具有3个32位的CPU定时器和适合电机控制的事件管理模块EV A和EVB;(8)具有很强的外围通讯功能:包括同步串行口SPI,通用异步串行口SCI,增强的eCAN 和多通道缓存串行口MCBSP;(9)16个通道、12位精度的A/D转换器。
基于TMS320F2812的三相SPWM波的实现一、PWM的简介与发展脉宽调制(PWM:(Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
简而言之,PWM是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。
电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。
让信号保持为数字形式可将噪声影响降到最小。
噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。
从模拟信号转向PWM可以极大地延长通信距离。
在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。
PWM控制技术一直是变频技术的核心技术之一。
1964年A.Schonung和H.stemmler 首先提出把这项通讯技术应用到交流传动中,从此为交流传动的推广应用开辟了新的局面。
从最初采用模拟电路完成三角调制波和参考正弦波比较,产生正弦脉宽调制SPWM信号以控制功率器件的开关开始,到目前采用全数字化方案,完成优化的实时在线的PWM信号输出,可以说直到目前为止,PWM在各种应用场合仍在主导地位,并一直是人们研究的热点。
由于PWM可以同时实现变频变压反抑制谐波的特点。
由此在交流传动及至其它能量变换系统中得到广泛应用。
Equipment Manufactring Technology No.5,2009随着DSP 性能的飞速发展以及产品开发周期的不断缩短,DSP 的设计内容越来越侧重于软件方面。
主要原因是:一方面,强大的通用化硬件平台使DSP 设计人员摆脱了硬件设计和配置的困扰;另一方面,DSP 的开发环境更加完善,即使要调试DSP 程序代码,也可以脱离DSP 硬件电路板。
M ath-Works 公司和TI 公司联合开发的工具包———M ATLAB Link for CCS Development Tools 把M ATLAB 和DSP 集成开发环境CCS (Code Composer Stadiu)及目标板连接起来,可以将M ATLAB 程序转换为C 语言,再针对特定的DSP 目标板,编译成DSP 汇编语言,最后生成DSP 的可执行代码。
这部分是自动完成的,研发人员甚至不需了解DSP 的硬件结构、功能、指令。
开发人员在M ATLAB 环境下完成DSP 算法的编写,CCS 的操作,读写DSP 中某一段寄存器或寄存器的值,利用RTDX 进行实时数据交换等。
极大地简化TI 公司DSP 软件的分析、调试和验证过程[1]。
本文结合具体例证,介绍基于M ATLAB 的DSP 代码生成及程序调试方法。
1代码生成流程图在SIM ULINK 平台下搭建PWM TEST 模型(pwmtest.mdl ),实时工作间(RTW )读取模型文件并对其进行编译形成中间描述文件(pwmtest.rtw ),然后由目标语言编译器(Target Language Compiler )将其转换为指定代码的解释性编程语言(TLC 程序),然后生成自定义联编文件(pwmtest.mk ),它能够指导编译程序如何从模型中生成源代码、主程序、库文件进行编译和链接。
通过M ATLAB 和CCS 接口工具CCSLINK 把M ATLAB 和CCS 以及目标DSP 板连接起来,当点击RTW 对话框中的Build 按钮后,将自动生成C 目标代码,并通过CCS 进行自动编译链接,最后下载到目标DSP 板上自动运行。
// FILE : Example_281xEvPwm.c//// TITLE: EV-A --- PWM波形程序//// ASSUMPTIONS://// As supplied, this project is configured for "boot to H0" operation.// Other then boot mode pin configuration, no other hardware configuration is required.////############################################################################ include "DSP281x_Device.h" // DSP281x Headerfile Include File# include "DSP281x_Examples.h" // DSP281x Examples Include Filevoid init_eva(void);void main(void){InitSysCtrl();// InitGpio(); 配置IO口功能为PWM模式EALLOW;GpioMuxRegs.GPAMUX.all = 0x00FF; // EVA PWM 1-6 pinsEDIS;DINT; //关CPU总中断InitPieCtrl(); //初始化PIE控制寄存器IER = 0x0000;IFR = 0x0000;InitPieVectTable(); //初始化PIE中断向量表init_eva(); //初始化EV-AEvaRegs.T1CON.bit.TENABLE=1; //手工启动定时器EINT; // 使能INTM(全局中断)ERTM; // Enable Global realtime interrupt DBGMfor(;;);}//EV-A初始化void init_eva(void){EvaRegs.T1PR = 37500; //周期值--连续增减时,PWM频率=TCLK/(2*T1PR)---频率设为1K, PWM=75M/(2*37500)EvaRegs.T1CMPR = 0x3C00; // Compare Reg--比较值EvaRegs.T1CNT = 0x0000; //计数器初值//连续增/减模式,x/1分频,内部时钟,使能比较,使用自己的周期,禁止定时器启动(等初始化全部完成后手工启动)EvaRegs.T1CON.all = 0x0802;EvaRegs.GPTCONA.bit.TCMPOE = 1; //通过逻辑产生T1 PWMEvaRegs.GPTCONA.bit.T1PIN = 1; //GP定时器1比较时低有效//使能比较产生1--6 PWM波1个比较单元控制2路互补的PWM输出,控制PWM占空比//连续增减--低有效时:PWM占空比=CMPR1/T1PR,高有效时:PWM占空比=(T1PR-CMPR1)/T1PR EvaRegs.CMPR1 = 15000; //第一路PWM占空比设为0.4,0.4=15000/37500EvaRegs.CMPR2 = 0x3C00;EvaRegs.CMPR3 = 0xFC00;// output pin 1 CMPR1 - 高有效,output pin 2 CMPR1 - 低有效// output pin 3 CMPR2 - 高有效,output pin 4 CMPR2 - 低有效// output pin 5 CMPR3 - 高有效,output pin 6 CMPR3 - 低有效EvaRegs.ACTRA.all = 0x0666; //比较方式控制寄存器,控制PWM引脚的高/低有效EvaRegs.DBTCONA.all = 0x0000; //静止死区CONA.all = 0xA600; //比较控制寄存器--禁止空间矢量PWM模式}用示波器观察到的PWM波形总结:PWM波形产生流程1):将I/O口设置为PWM引脚模式2):设置装载TxCON,决定计数方式,启动比较操作3):设置装载TxPR,决定PWM波形周期4):初始化EvaRegs.CMPR1--3的值,每个比较单元控制2路互补的PWM输出,控制PWM占空比5):EvaRegs.ACTRA比较方式控制寄存器,控制PWM引脚的高/低有效6):EvaRegs.DBTCONA死区时间的设置7):CONA设置比较控制寄存器附:EvaRegs.DBTCONA.bit.DBT=5; //死区定时器周期为5EvaRegs.DBTCONA.bit.EDBT1=1; //死区定时器1使能EvaRegs.DBTCONA.bit.DBTPS=3; //死区定时器预定标因子,死区时钟为HSPCLK/8。
三种SPWM波形生成算法的分析与实现Analysis And Realization Of Three Algorithms For SPWM Waves摘要:变频技术作为现代电力电子的核心技术,集现代电子、信息和智能技术于一体。
而SPWM(正弦波脉宽调制)波的产生和控制则是变频技术的核心之一。
本文对SPWM波形生成的三种算法--对称规则采样法、不对称规则采样法和等效面积法分别加以分析,并通过高精度定点32位DSP微处理器TMS320F2812在线生成SPWM波形。
实验表明采用对称规则采样法产生的SPWM波形,具有速度快、变频方便等优点。
采用等效面积法产生的SPWM波形具有精度高、输出波形谐波小,对称性好等优点。
不对称规则采样法的性能介于二者之间。
关键词:正弦脉冲宽度调制(SPWM);规则采样法;等效面积法;TMS320F2812Abstract:As the kernel technology of modern power electronics,frequency conversion technology unites the technologies of modern electronics,information and intelligence.The generating and controll of Sinusoidal Pulse-Width Modulation (SPWM) waveforms is one of the core technology of frequency conversion.Three algorithms for SPWM waves are analyzed in this paper,which are symmetry rule sampling method,asymmetry rule sampling method and equiarea algorithm.The SPWM waves are realized by TMS320F2812 DSP.The experimetal results show that symmetry rule sampling method has advantages of fast speed and converting frequency easily.They also show that the SPWM waves generated by equiarea algorithm have advantages of high precision,small harmonic value of output waves and good symmetry.And the performances of the SPWM waves by asymmetry rule sampling method are between the two algorithms above. Keywords:SPWM; rule sampling method;equiarea algorithm;TMS320F2812针对工频(我国为50Hz)并非是所有用电设备的最佳工作频率,因而导致许多设备长期处于低效率、低功率因数运行的现状,变频控制提供了一种成熟、应用面广的高效节能新技术,而SPWM波形的产生和控制则是变频技术的核心之一。
张掌柜倾情奉献TI DSP TMS320F2802开发板在CCS3.3的PWM模块入门教程(第四篇)这是我写的第四篇TI DSP TMS320F2802开发板教程了,每一篇教程都花费了我大量的心血,希望可以对各位朋友有所帮助。
本教程是与本店的TMS320F2802开发板/学习板+XDS100仿真器套装相配合的,学习本教程,然后在我设计开发的TMS320F2802开发板上亲自实验一遍,可以获得事半功倍的效果!淘宝网店名:汉远科技/TMS320F2802开发板/学习板+XDS100仿真器套装链接:/item.htm?id=8878297941。
通过系统的学习本教程,相信在不久的将来你就可以熟练掌握TI的TMS320F2802 DSP,在后面的工作和学习中更加如鱼得水。
第一部分、导言我前面强调过TI的TMS320F2802 DSP 是TMS320F2812的增强版,在PWM 模块这里就是一个非常明显体现。
首先,在名字上TMS320F2802的PWM模块叫ePWM,这个e是Enhanced的头字母,就是增强的意思。
其次,在2812中只有2个Event Manager,其中包括PWM、CAP和QEP三部分,这三部分是共享16bitTimer,而且CAP和QEP之间会共用3个的IO通道,这些对于实际项目都是非常不方便的。
相比较,在2802中是将PWM、CAP和QEP 分别独立开来,这三者之间再也没有干扰和重叠,而且性能也有所加强。
第二部分、TMS320F280x系列DSP的ePWM总体介绍今天我来给各位讲解TI DSP TMS320F2802的ePWM(ePWM是Enhanced Pulse Width Modulator 的缩写)模块的内容,并配合2802开发板做电压测量实验。
本教程要将3个实验。
其中第一个实验需要使用示波器来观察2802开发板产生的PWM波,这样就可以直观的看到PWM波,另外2个实验不需要示波器。
基于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 PRT TCLK f 12106⨯⨯=PRT CPMR T PR T D 111-=Hz HSPCLK 5.372=T1PWM_T1CMP 引脚就会有PWM 波形输出。
基于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产生方法是简单易实现的,具有良好的可行性。