TMS320F280049 EPWM模块--AQ子模块(3)

总览

下图显示了AQ模块与不同模块的交互。主要是接受TB/CC子模块的信号,然后生成epwm波给到DB子模块。

功能框图

下图是AQ内部的概览图。我们可以清晰的看到AQ的输入和输出。内部主要起作用的就是CTL控制寄存器。

如下图所示,AQ针对输入信号,CTL中可以设置为做4个动作:不变/拉低/拉高/翻转。

事件优先级

在多个事件同时到来时如何处理呢?不同事件之间是有优先级的。在不同的计数模式下,不同事件优先级不同,请参考下面3个图。

### TMS320F280049C ePWM 模块库函数实现及用法 #### 库文件路径 对于TMS320F280049C处理器,ePWM模块的相关库函数位于特定目录下。这些例程可以帮助开发者快速上手并理解如何配置和使用ePWM模块[^1]。 ```plaintext C:\ti\c2000\C2000Ware_2_01_00_00\driverlib\f28004x\examples ``` #### 配置ePWM模块 为了初始化和配置ePWM模块,通常需要设置多个参数,包括但不限于频率、占空比以及死区时间等。下面是一个简单的代码片段展示如何利用库函数完成基本的ePWM配置: ```c #include "f28004x_device.h" #include "f28004x_epwm.h" void EPWM_Config(uint16_t period, uint16_t cmpa){ // 停止计数器 EPWM_stopCounter(EPWM1_BASE); // 设置周期寄存器值 EPWM_setPeriod(EPWM1_BASE, period); // 设置比较A寄存器值 EPWM_setCompareAValue(EPWM1_BASE, cmpa); // 启动计数器向上计数模式 EPWM_setCounterMode(EPWM1_BASE, EPWM_COUNTER_MODE_UP); // 使能EPWM通道 EPWM_enableOutput(EPWM1_BASE, EPWM_TBPHS_A); } ``` 这段代码展示了怎样停止当前正在运行的计数器,重新定义新的周期长度与比较值,并最终启动定时器以指定的方式工作。此外还启用了相应的输出通道以便于实际应用中的信号生成。 #### 使用高级特性-AQ子模块 针对更复杂的应用场景,如需精确控制PWM波形的变化时刻,则可借助AQ(Action Qualifier)子模块提供的额外事件处理能力。例如,在某些情况下希望当检测到某个条件满足时立即改变PWM输出的状态,这时就可以利用新增加的时间点T1或T2来进行这样的操作[^2]。 #### 移相控制实例 考虑到移相全桥变换器的需求,可以通过调整不同EPWM通道之间的相对延迟角度来达成目的。具体来说就是让一对互补信号保持固定的50%占空比不变的同时引入另一个变量去影响它们之间的时间差,从而达到调节功率传输效率的效果[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值