使用DSP28335实现20kHz SPWM波形源代码详解
5星 · 超过95%的资源 需积分: 43 62 浏览量
更新于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 上传
2021-06-23 上传
点击了解资源详情
点击了解资源详情
326 浏览量
2022-07-15 上传
2022-07-15 上传
2019-12-15 上传
yl89285079
- 粉丝: 6
- 资源: 1
最新资源
- IETI-LAB7-2021
- emd.rar_matlab例程_matlab_
- Xbee-boss:使用Paul Malmstem的python xbee库
- ETL_Project:GWU Bootcamp ETL项目
- OpenCV-MinGW-Build::eyes:MinGW在Windows上编译的OpenCV32位和64位版本。 包括OpenCV 3.3.1、3.4.1、3.4.1-x64、3.4.5、3.4.6、3.4.7、3.4.8-x64、3.4.9、4.0.0-alpha-x64、4.0.0- rc-x64、4.0.1-x64、4.1.0、4.1.0-x64、4.1.1-x64、4.5.0-with-contrib
- data-structures-and-algorithms
- contentful.swift:与Contentful的内容交付API的令人愉快的Swift接口
- StackStockRouter
- speaker_recognition.rar_语音合成_matlab_
- Allow CORS: Access-Control-Allow-Origin-crx插件
- pairgame-heroku
- 参考资料-WI-NK0103公司会议制度管理规定(09.04.30改).zip
- Golang_Homework
- TopAnimes是一个示例动漫Android应用程序-Android开发
- Landing-Page:我的编程产品组合的目标页面
- 快车时间