ZHDA102 March 2026 MSPM0G3519
TIMA 提供了一种机制,让所有捕获/比较 (CC) 通道都具有互补通道。该互补通道可以生成与主 CC 通道输出反相的信号。对于电机应用,两条输出通道最初必须均为低电平。
当 CTRCTL.EN 位为零时,CC 通道输出取决于 OCTL.CCPIV。如果 CC 和互补通道都要保持低电平,则解决方案是使互补通道的 IOMUX 保持禁用状态,并在以下情况下启用:
在边沿对齐模式下,保持互补 CC 通道的 IOMUX 处于禁用状态,直到启用 CTRCTL.EN
在中央对齐模式下,保持互补 CC 通道的 IOMUX 处于禁用状态,直到 CTRCTL.EN 被启用并且 CC 通道满足第一个 CC 事件
/* Configure Complementart Channel's IOMUX in PULL_DOWN state initially */
SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void)
{
DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_0_C0_IOMUX,GPIO_PWM_0_C0_IOMUX_FUNC);
DL_GPIO_enableOutput(GPIO_PWM_0_C0_PORT, GPIO_PWM_0_C0_PIN);
DL_GPIO_setDigitalInternalResistor(GPIO_PWM_0_C0_CMPL_IOMUX,DL_GPIO_RESISTOR_PULL_DOWN);
}
/* Enable Counter with CTRCL.EN bit and configure the IOMUX back to PWM mode */
int main(void)
{
SYSCFG_DL_init();
DL_TimerA_startCounter(PWM_0_INST);
DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_0_C0_CMPL_IOMUX,GPIO_PWM_0_C0_CMPL_IOMUX_FUNC);
while (1) {
__WFI();
}
}
图 2-1 CC 输出设置为空闲低电平时的 PWM 波形此外,TIMA 还支持一项功能,其中基于软件的配置可用于覆盖输出。CCACT 中的 SWFRCACT_CMPL(互补通道上的软件强制)字段可用于将 CC 输出覆盖为低电平。根据应用,可以使用外部事件或在中断服务例程中清除 SWFRCACT_CMPL 字段。
SWFRCACT_CMPL 在设置 CTRCTL.EN 后生效。