ZHDA102 March   2026 MSPM0G3519

 

  1.   1
  2.   摘要
  3.   商标
  4. 1 简介
  5. 2 空闲低电平状态:PWM 输出通道低电平状态配置
  6. 3 非对称 PWM:具有相移控制功能的双路同步 PWM 生成
    1. 3.1 使用相位加载功能
      1. 3.1.1 主要计时器(主计时器)的配置
      2. 3.1.2 辅助计时器的配置
      3. 3.1.3 交叉触发功能的实现
    2. 3.2 使用辅助捕获/比较通道
  7. 4 位操作 (Bit-Banging) 仿真:基于软件的通信协议实现
    1. 4.1 使用 TIMA 仿真 UART Rx
    2. 4.2 使用 TIMA 仿真 UART Tx
  8. 5 基于反馈的 PWM 生成
    1. 5.1 基于反馈的 PWM 信号复制
    2. 5.2 使用输入基准生成延迟的 PWM 信号
  9. 6 延迟计时器启动:具有可配置延迟的同步计时器实例启动
  10. 7 基于硬件事件停止正在运行的计时器
  11. 8 动态 PWM 更新:占空比和时间周期调整
    1. 8.1 影子加载和影子比较功能
    2. 8.2 使用 DMA 生成任意信号
  12. 9 总结
  13. 10参考资料

延迟计时器启动:具有可配置延迟的同步计时器实例启动

具有有意设置的启动时间偏移的计时器可实现受控的相位关系,这些关系在涉及电机控制以及传感器数据轮询或采样的某些应用中对于效率、稳定性和信号完整性至关重要。当使用两个或更多个计时器时,可以通过如下所述的交叉触发机制同步使用这些计时器来实现这一点:

  • 按照节 3 在基于软件的交叉触发机制中配置计时器。
  • 根据具体应用,首先启用的计时器可以配置为主要计时器。
  • 根据所需的启动时间偏移配置 CC 值。
  • 在 CC 事件 ISR 内生成软件交叉触发以启用辅助计时器。
    注:

    由于延迟限制阻止了在第一个 PWM 输出需要特定占空比时在第二个计时器上设置延迟,因此使用第一个 PWM 的 CC4/5 事件将为配置延迟提供必要的灵活性。

例如,启用 TIMA0 和 TIMA1 之间需要 10ms 的偏移。如果需要先启用 TIMA1,请将 TIMA1 配置为主要计时器,并将 TIMA0 配置为辅助计时器。配置 TIMA1 的 CC 值,以使 CC 事件在启用恰好 10ms 后生成。在此 CC 事件内,可生成软件交叉触发,以便在恰好 10ms 后启用 TIMA0。这意味着,当 CLKSEL 为 LFCLK (32KHz) 时,TIMA1 的 CC 值可以配置为 320,计时器为递增计数模式,这将在约 10ms(320 个周期 × (1/32000) 秒= 0.01 秒= 10ms)后生成 CC 事件。该 CC 事件将通过基于软件的交叉触发机制启用 TIMA0。
/* TIMA Interrupt Service Routine */
void PWM_0_INST_IRQHandler(void)
{
    switch (DL_TimerA_getPendingInterrupt(PWM_0_INST)) {
        case DL_TIMERA_IIDX_CC0_DN:
            if(interrupt_counter==0){
            DL_TimerA_generateCrossTrigger(PWM_0_INST);//Mechanism to generate Software based Cross-Trigger
            }
            else{
				;
            }
            interrupt_counter++;
            break;
        default:
            break;
    }
}
注:

虽然硬件交叉触发功能也可用于此应用,但务必要认识到此机制将在每个 CC 事件发生时生成交叉触发。因此,如果开发人员打算利用硬件交叉触发功能,则必须在一次交叉触发后显式禁用该功能,此应用才能按预期正常运行。

 可配置计时器启动时间偏移图 6-1 可配置计时器启动时间偏移