使用DSP28335实现20kHz SPWM波形源代码详解
5星 · 超过95%的资源 需积分: 43 122 浏览量
更新于2024-09-12
27
收藏 46KB DOC 举报
本文档主要介绍了在DSP28335处理器上使用自定义代码实现SPWM(正弦脉宽调制)波形的生成过程。SPWM是一种广泛应用在电机控制、电源转换等领域的技术,通过改变脉冲宽度来模拟连续信号,实现精确的电压或电流输出。
首先,文件开始部分包含了所需的库文件头,如" DSP28x_Project.h",可能是一个针对DSP28335平台的标准库,以及与数学计算相关的库。"IQmathLib.h"虽然没有在提供的代码中被包含,但可能是处理复数运算或特定信号处理算法的库。
`#define EPWM1_TIMER_TBPRD3750` 和 `#define EPWM2_TIMER_TBPRD3750` 定义了两个PWM定时器的周期预设值,均为3750个计数周期,这表明作者正在针对两个独立的PWM通道进行配置,频率设置在20kHz,即每个周期为50μs。
接下来,有两个函数被声明:`void InitEPwm1Example(void)` 和 `void InitEPwm2Example(void)`,这两个函数可能是初始化两个EPWM通道的例程,包括设置定时器参数、初始化波形生成模式等。在实际应用中,这些函数会负责配置硬件资源,并设置SPWM的占空比数组。
`interrupt void epwm1_timer_isr(void)` 和 `interrupt void epwm2_timer_isr(void)` 是两个中断服务程序,当对应的PWM定时器溢出时会被触发。在这两个函数中,可能会处理中断事件,更新占空比,以及根据需要调整SPWM输出。
占空比数组`Uint32 TonC[400]`是一个关键部分,它包含了400个不同的时间间隔值,用于生成不同占空比的PWM波形。这个数组反映了正弦波的一个周期,通过改变数组中的值,可以实现不同频率和幅度的SPWM输出。数组中的数字代表了占空比对应的脉冲宽度,例如,第一个值1875个计数周期对应于最高占空比,最后一个值498则对应最低占空比。
总结起来,本文档提供了一个基于DSP28335的SPWM波形生成示例,展示了如何使用自定义代码设置两个PWM通道的定时器,配置中断处理,并通过数组动态生成不同占空比的波形。这对于进行电机控制或者需要精确电压输出的系统设计非常有用。
2019-09-13 上传
点击了解资源详情
326 浏览量
2022-07-15 上传
2022-07-15 上传
2019-12-15 上传
102 浏览量
yl89285079
- 粉丝: 6
- 资源: 1
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查