【F28335】ePWM模块的简单介绍

本文介绍了F28335 DSP中的增强型PWM(ePWM)模块,包括其独立性、数量、以及与F2812的区别。ePWM模块由7个子模块构成:时间基准、计数比较、动作限定、死区控制、PWM斩波、错误控制和事件触发。这些子模块提供了灵活的PWM控制功能,如定时、占空比调整、死区设置、故障保护和中断触发。文章还提到了ePWM在电力电子控制中的应用,并引用了相关书籍作为参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、F28335的ePWM简介

        PWM(Pulse Width Modulation)脉冲宽度调制方式在电力电子的控制场合应用十分广泛,因此数字处理器一般都具有PWM模块,便于PWM控制。F28335的ePWM模块是在其原有模块基础上的增强,在F2812的PWM模块中,PWM模块采用事件管理器控制,与eCAP和eQEP共享定时器信号,而F28335中每个ePWM模块都是一个独立小模块,使用起来更加方便,可以进行更加复杂多变的控制算法。

        F28335有6对ePWM模块,每一个模块又分为ePWMxA和ePWMxB两路,因此总共有12路ePWM信号输出;同时,还有6个APWM模块,是通过CAP模块扩展配置。一共加起来就是12路普通PWM输出和6路高精度PWM输出

二、ePWM模块构成与简要工作原理

        每个ePWM模块包含7个子模块:

        ①时间基准子模块TB(Time-Base)

        TB模块的主要作用是定时,配置不同的计数模式周期寄存器的值,确定产生的PWM波的周期

        TB模块的主要寄存器有:周期寄存器TBPRD、相位寄存器TBPHS、计数器TBCTR、状态寄存器TBSTS和控制寄存器TBCLT。

        ②计数比较子模块CC(Counter-Compare)

        CC模块主要由两个比较寄存器CMPA/CMPB和比较逻辑单元组成。当TB模块的计数器计数到与比较寄存器CMPA/CMPB相等时,动作限定子模块AQ就会动作,产生电平变化,即可以在我们需要的时刻对电平进行置高或者置低,主要用于设定不同的占空比

        CC模块的主要寄存器有&#x

### DSP28335 EPWM模块学习资源 DSP28335 是一款基于 C2000 系列的高性能数字信号处理器 (DSP),广泛应用于电机控制、电源转换和其他实时控制系统中。其内置的增强型脉宽调制器(EPWM)是一个功能强大的外设,能够实现精确的时间和电压控制。 以下是关于如何入门并深入研究 DSP28335EPWM 功能的一些推荐资料和方法: #### 1. 官方文档 TI 提供了详尽的技术手册和应用指南,这些文档对于理解硬件架构及其配置至关重要。 - **TMS320C28x CPU and Instruction Set Reference Guide**: 这份文档涵盖了 TMS320C28x 处理器系列的核心指令集以及寄存器结构[^2]。 - **TMS320F28335 Technical Reference Manual (TRM)**: TRM 中包含了有关 EPWM 模块的具体描述,包括定时器的工作原理、比较单元的功能以及其他相关特性[^3]。 #### 2. 应用手册与设计实例 为了更好地掌握实际操作技巧,可以从 TI 发布的应用笔记入手: - **SPRAAE7 - Using the ePWM Module on C2000 Microcontrollers**: 此应用报告提供了详细的指导说明,帮助开发者设置和优化 EPWM 输出以满足特定需求[^4]。 #### 3. 开发工具支持 利用官方开发环境 Code Composer Studio 可简化编程流程,并提供调试便利性。 - 下载安装 CCS 后可访问众多示例项目,其中包括针对 F28335 平台编写的 EPWM 驱动程序源码[^5]。 #### 示例代码片段展示基础初始化过程 下面给出一段简单的 C 语言代码用来演示基本的 EPWM 初始化逻辑: ```c // 设置周期计数值 EALLOW; PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable PIE block SysCtlRegs.PLLCR.bit.DIVSEL = 1; // Set SYSCLKOUT to LSPCLK ratio of /2 Epwm1Regs.TBPRD = 19999; // Period register value for a frequency of ~5kHz @SYSCLKOUT=150MHz EDIS; // 配置相位偏移量 EALLOW; Epwm1Regs.CMPA.half.CMPA = 10000; // Compare A value determines duty cycle (%) Epwm1Regs.AQCTLA.all = 0x0C; // Action-Qualifier settings: Force PWM high when counter equals CMPA EDIS; ``` 上述脚本展示了如何定义时间基准及时钟分频因子,同时还指定了占空比参数并通过动作限定机制决定输出状态变化时刻[^6]。 #### 推荐在线课程平台 除了纸质材料之外,在线教育网站也开设了不少专门讲解嵌入式系统的视频讲座或者互动练习环节,比如 Coursera 和 Udemy 上都有涉及现代微控制器使用的付费/免费课件可供选择。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值