输出占空比可变的PWM波形

上传人:012****78 文档编号:142454220 上传时间:2020-08-19 格式:DOC 页数:13 大小:861.50KB
返回 下载 相关 举报
输出占空比可变的PWM波形_第1页
第1页 / 共13页
输出占空比可变的PWM波形_第2页
第2页 / 共13页
输出占空比可变的PWM波形_第3页
第3页 / 共13页
输出占空比可变的PWM波形_第4页
第4页 / 共13页
输出占空比可变的PWM波形_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《输出占空比可变的PWM波形》由会员分享,可在线阅读,更多相关《输出占空比可变的PWM波形(13页珍藏版)》请在金锄头文库上搜索。

1、输出占空比可变的PWM波形 作者: 日期:DSP原理及应用大作业输出占空比可变的PWM波形 输出占空比可变的PWM波形任务目的1. 掌握CCS集成开发环境的调试方法;2. 掌握C/C+语言与汇编混合编程;3. 熟悉CCS集成开发环境,掌握工程的生成方法;4. 掌握如何输出占空比可变的PWM波形5. 了解PWM波形产生的原理和应用任务内容1. 通过学习课本和查询课外资料了解空间矢量PWM产生的原理;2. 利用CCS集成开发环境,建立工程,完成DSP汇编源文件的建立和编写,实现对称空间矢量PWM波形生成,在该程序中,利用定时器1ms中断来实现每隔1s改变1次CMPR1;3. 编译并且在片外区通过连

2、接示波器运行得出正确结果,利用示波器观察波形任务原理 1.PWM的原理 脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于 /n ,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如

3、果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形。在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交直交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度

4、和间隔就可以准确计算出来。按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。2. DSP的原理 数字信号处理前后需要一些辅助电路,它们和数字信号处理器构成一个系统。初始信号代表某种事物的运动变换,它经信号转换单元可变为电信号。例如声波,它经过麦克风后就变为电信号。 又如压力,它经压力传感器后变为电信号。电信号可视为许多频率的正弦波的组合。低通滤波单元滤除信号的部分高频成分,防止模数转换时失去原信号的基本特征。模数转换单元每隔一段时间测量一次模拟信号,并将测量结果用二进制数表示。数字信号处理单元实际上是一个计算机,它按照指令对二进制的数字信号进行计算。数模转换单元将处理后的数

5、字信号变为连续时间信号,这种信号的特点是一段一段的直线相连,调制后的数字信号,变成模拟信号后才能送往天线,通过天线就可以向外发射了。低通滤波单元有平均的作用,不平滑的信号经低通滤波后,可以变得比较平滑。平滑的信号经信号转换单元后,就变成某种物质的运动变化。例如扬声器,它可将电波变为声波。又如天线,它可将电流变为电磁波。电磁波是一种互相变化的电场和磁场,可以在空间中以波的形式快速移动。任务内容假设EVA的PMW1和PWM2引脚输出频率是1KHz的互补的PWM波形,波形的占空比每隔1s变化5%,变化范围是10%15%,从10%不断增加到90%,然后从90%不断减少到10%,如此循环,而且PMW1和

6、PWM2具有死区,间隔为4.27us。此处如果输出占空比固定的PWM,如是10%或者是90%,那解决的方法历城相同,关键此处要求占空比每隔1s变化。通过面前的学习知道,本例程需要使用定时器T1和比较单元1,所以也就是需要改变CMPR1的值,我们需要利用T1的周期中断来实现。定时器T1的时钟为37.5MHz,此例程使用定时器T1工作于连续增或减计数模式。由于PWM输出频率是1KHz,这样可以得出T1PR=18750,表示成十六进制就是0x493E。但是,由于频率是1KHz,周期是1ms,那如何利用定时器来实现每隔1ms改变1次CMPR1?这就需要在周期中断里面设置一个统计次数的变量intcoun

7、t,每隔1次中断,intcount就累加1次,当intcount等于1s时,正好过了1s,。这时就可以改变CMPR1的值。任务程序如下:初始化引脚/*文件名:DSP28_Gpio.c*功 能:2812通用输入输出口GPIO的初始化函数*/#include DSP28_Device.h/*名 称:InitGpio()*功 能:初始化Gpio,使得Gpio的引脚处于已知的状态,例如确定其功能是特定功能* 还是通用I/O。如果是通用I/O,是输入还是输出,等等。*入口参数:无*出口参数:无*/void InitGpio(void) EALLOW; / 将GPIO中和PWM相关的引脚设置为PWM功能

8、GpioMuxRegs.GPAMUX.bit.T1PWM_GPIOA6=1; /设置T1PWM引脚 GpioMuxRegs.GPAMUX.bit.T2PWM_GPIOA7=1; /设置T2PWM引脚 GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1; /设置PWM1引脚 GpioMuxRegs.GPAMUX.bit.PWM2_GPIOA1=1; /设置PWM2引脚 GpioMuxRegs.GPAMUX.bit.PWM3_GPIOA2=1; /设置PWM3引脚 GpioMuxRegs.GPAMUX.bit.PWM4_GPIOA3=1; /设置PWM4引脚 GpioMuxR

9、egs.GPAMUX.bit.PWM5_GPIOA4=1; /设置PWM5引脚 GpioMuxRegs.GPAMUX.bit.PWM6_GPIOA5=1; /设置PWM6引脚 GpioMuxRegs.GPBMUX.bit.T3PWM_GPIOB6=1; /设置T3PWM引脚 GpioMuxRegs.GPBMUX.bit.T4PWM_GPIOB7=1; /设置T4PWM引脚 GpioMuxRegs.GPBMUX.bit.PWM7_GPIOB0=1; /设置PWM7引脚 GpioMuxRegs.GPBMUX.bit.PWM8_GPIOB1=1; /设置PWM8引脚 GpioMuxRegs.GPBM

10、UX.bit.PWM9_GPIOB2=1; /设置PWM9引脚 GpioMuxRegs.GPBMUX.bit.PWM10_GPIOB3=1; /设置PWM10引脚 GpioMuxRegs.GPBMUX.bit.PWM11_GPIOB4=1; /设置PWM11引脚 GpioMuxRegs.GPBMUX.bit.PWM12_GPIOB5=1; /设置PWM12引脚 EDIS;/=/ No more./=外围设备初始化/*文件名:DSP28_InitPeripherals.c*功 能:对所使用到的2812的外设进行初始化*/#include DSP28_Device.h/*名 称:InitPerip

11、herals()*功 能:此函数对各个外设进行初始化,调用了各个外设的初始化函数。此函数在DSP* 上电引导或者复位的时候执行 *入口参数:无*出口参数:无*/void InitPeripherals(void) #if F2812 / 初始化外部接口/ InitXintf();#endif/ 初始化Cpu定时器/ InitCpuTimers();/ 初始化Mcbsp/ InitMcbsp();/ 初始化事件管理器EV InitEv(); / 初始化模数转换AD模块/ InitAdc();/ 初始化eCan / InitECan();/ 初始化Spi/ InitSpi();/ 初始化Sci/ InitSci();/=/ No more./=主程序/*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号