ZHCU083I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
图 10-34 中突出显示的节拍率用于抽取硬件中 InstaSPIN 的执行。
硬件抽取仅可能发生在以不同速率触发 ADC 转换时,而不是每个 PWM 周期均发生。以下配置在 <user.h> 文件中:
//! \brief Defines the number of pwm clock ticks per isr clock tick
//! 注意:有效值仅为 1、2 或 3
#define USER_NUM_PWM_TICKS_PER_ISR_TICK (1)
在上述示例中,转换开始 (SOC) 事件在每个 PWM 周期均会触发,从而得出图 10-35。
图 10-36 在突出显示框中显示此时序图的相应值。
如果应用程序要求更高的 PWM 频率,在硬件中实现此目的的一种方法是每两个或每三个 PWM 周期触发转换。以下示例显示如何配置 PWM,从而实现每两个 PWM 周期触发转换。
//! \brief Defines the number of pwm clock ticks per isr clock tick
//! 注意:有效值仅为 1、2 或 3
#define USER_NUM_PWM_TICKS_PER_ISR_TICK (2)
图 10-37 显示了相应的时序图。
图 10-38 在突出显示框中显示此时序图的相应值。
如果要求更高的频率,PWM 模块也可以每三个 PWM 周期触发转换,具体配置如下:
//! \brief Defines the number of pwm clock ticks per isr clock tick
//! 注意:有效值仅为 1、2 或 3
#define USER_NUM_PWM_TICKS_PER_ISR_TICK (3)
图 10-39 显示了相应的时序图。
图 10-40 在突出显示框中显示此时序图的相应值。请注意中断周期是如何相对 PWM 周期发生变化的。这样可实现更高的 PWM 频率,保持较高的中断周期。较高的中断周期可确保 InstaSPIN 及时执行,即使 PWM 频率更高。