主题中讨论的其他器件:TMDSCNCD28379D
工具/软件:
您好:
我正在使用 TMDSCNCD28379D 控制卡 我的应用。 我也面临着这个问题 DBCTL 寄存器 中似乎正在更新 立即模式 (而不是已配置的 全局影子到活动模式 )、这也会导致电路运行出现故障。 仅当满足某些 if-else 条件、并且在不需要更新 DBCTL 时生成的 ePWM 信号可以正常运行时、我才会更新影子寄存器。
以下是 ePWM 模块配置:
对于 EPwm1-8、启用 PHSEN、SYNCOSEL = SYNC_IN
SYNCO 由 EXTSYNCIN1 通过 INPUTXBAR5 生成。
GLDMODE = 3(发生同步时的影子到活动加载)、
对于 REGx = CMPA、CMPB、DBCTL、DBRED、DBFED、DBFED、GLDCFG[REGx]= 1
此外、作为预防措施、我还启用了这些寄存器 (DBCTL2、DBCTL、CMPCTL) 的本地影子模式。
SYNCO 生成:
我正在使用 EPwm10 计数器作为基准(其 PHSEN 和同步是 禁用 因为它是基准计数器)。 当 EPwn10[CMPB]达到特定值时、会触发中断。 在 ISR 中、切换与 INPUTXBAR5 链接的 GPIO 以生成 SYNCO。
DBCTL 影子寄存器:
影子寄存器值在优先级低于上述 ISR 的不同 ISR 中更新。 我期望加载发生在上面 随后生成 SYNCO 。 但是、所附的图像似乎表明并非如此。 。 品红色 波形是一个切换的 GPIO 引脚、表示 当代码中的影子寄存器更新时 。 。 蓝 — 绿色 波形为 A DBCTL 位馈送到 DAC 和在示波器上监控。 我们可以看到、在切换 GPIO 后不久、DBCTL 位会改变值、建议使用 立即加载 。 随后的 SYNCEVT 发生得更晚(虚线光标)、这可以通过 PWM 信号职责的变化来证明。
请告诉我是否可以使用这个微控制器配置 DBCTL 以实现正确的全局影子到活动加载。 如需更多信息、请随时咨询。
提前感谢您的观看、
Tharun
