尊敬的专家:
我对 AQCTLA 寄存器有疑问。
AQCTLA 寄存器的 SW 更新值何时有效?
例如、我们的软件会更新 AQCTLA 寄存器中的值、以及新的计时值(ZRO、PRD、CAD、CAU、...) ?
EPwm1Regs.AQCTLA.All= 0x0090U
它是否立即激活? 或 CTR=0或 CTR=PRD
您能告诉我们更新 AQ 子模块活动设置的时间吗?
此致、
秀彦
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的专家:
我对 AQCTLA 寄存器有疑问。
AQCTLA 寄存器的 SW 更新值何时有效?
例如、我们的软件会更新 AQCTLA 寄存器中的值、以及新的计时值(ZRO、PRD、CAD、CAU、...) ?
EPwm1Regs.AQCTLA.All= 0x0090U
它是否立即激活? 或 CTR=0或 CTR=PRD
您能告诉我们更新 AQ 子模块活动设置的时间吗?
此致、
秀彦
您好、Ryan-San、
感谢您的信息。
我们的设置是向上向下双向计数模式。
和"软件强制事件"使用 AQSFRC 寄存器进行配置。
我的问题是关于"AQCTLA"寄存器。
当我的软件更改时,CAU 和 CAD (BITS 字段)是否 会立即更新?
EPwm1Regs.AQCTLA.All= 0x0090U
换句话说、当时基计数器当前正在递增计数时、软件会更新 CAD 位字段。
它会 立即影响事件(CMPA=TBCTR)?
或者它会影响定时发生的事件(CTR=ZERO)?
此致、
秀彦
尊敬的 Hidehiko-San、
我还不能在我结束时测试这一点 但是、有一篇文章讲述了您所面临的相同器件和情况。
它是在 TBCTR = 0时发生的。 您在测试时能否在最终验证? 如果你能够确认这一点、那么很高兴知道这一点。
此致!
Ryan Ma
您好、Ryan-San、
感谢您的信息。
我的问题与 ePWM 子模块设计规格有关
因为我没有在技术参考手册中找到说明。
我需要有关活动计时的详细设计规格。
大家都知道、ePWM 支持 CMPA 的影子寄存器、并且用户可以配置加载计时。
然而,没有有关 AQCTLA 的相关描述。
实际上静态配置不需要这些信息
但提供了 spraai1.pdf (使用 ePWM 模块实现0%- 100%占空比控制)。 AQCTLA.bit.CAU 和 AQCTLA.bit.CAD 在中断函数中动态更改。
到目前为止、我认为 AQCTLA 寄存器似乎立即更新了。
我的实施避免了在计数递减中更改 CAD 和在计数递增中更改 CAU
因为 CMPA=CTR 事件与 CAU/CAD 发生变化之间无法调整时序。
在计数递增中、CAU=(无变化)、CAD=(可能的变化)
在计数递减中、CAU=(可能的变化)、CAD=(无变化)
此致、
秀彦
尊敬的 Hidehiko:
正如您所知、用于计数器比较的影子寄存器将在发生特定事件时更新。 由于该器件不对像 CMPA 这样的 AQCTLA 使用影子寄存器、因此我假设更新立即发生。 让我在最后对此进行测试、以便进行验证、并使用一些示波器波形返回给您。
下面是我的发现
跳闸中断之前的 ePWM1输出、该中断会更改 AQCTLA

跳闸中断后的 ePWM1输出

这是 GPIO13连接到 GND 时发生的中断。
__interrupt void
epwm1_tzint_isr(void)
{
EPwm1TZIntCount++;
//
// Leave these flags set so we only take this
// interrupt once
//
// EALLOW;
// EPwm1Regs.TZCLR.bit.OST = 1;
// EPwm1Regs.TZCLR.bit.INT = 1;
// EDIS;
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR; // Set PWM1A on CAU
EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR; // Clear PWM1A on CAD
//
// Acknowledge this interrupt to receive more interrupts from group 2
//
PieCtrlRegs.PIEACK.all = PIEACK_GROUP2;
}
AQCTLA 寄存器看起来会立即更新。 您是否希望此次"即时"更新的大致时间安排?
此致!
Ryan Ma
您好、Ryan-San、
感谢您的支持。
但是你的实验条件对我来说并不清楚。
哪个 ePWM1A 源为低电平、 触发区事件(ISR 源)或 CAU=AQ_CLEAR?
什么是 CMPA 设置值?
我相信、您打算进行的实验可能在下面。

CAU 在 CTR=CMPA 时序之前更新。
>您是否希望此"即时"更新的时间接近?
我认为、当软件在 CAU/CAD 寄存器中设置值时、CAU/CAD 激活设置会立即更新。
我需要 F28335的寄存器规格。 它由 TI 硬件工程师设计。
如果未向用户提供其规格,您能否关闭此问题?
此致、
秀彦