请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号: AM13E23019
你好
我观察到的中断延迟约为 240ns (MCLK = 200MHz )。 下面是 syconfig 配置项
类型
-
MCPWM4 周期保持在 16KHz(6249 个周期)、向上计数、无预分频器。 当时基计数器等于零时、MCPWM4 为 eCAP 生成 SYNCOUT 脉冲。
-
PWM2_CMPB = 5800 — 这用于生成精确的脉冲,以验证 MCPWM 中断延迟
-
CMPC = 5800 — 这用于生成 MCPWM 中断 (5800 是一些随机数。 目标是在时基计数器变为零之前生成中断)
-
PWM2A 配置为在 TBCTR = 0 时切换
-
PWM2B 配置为在 TBCTR =向上计数时 PWM1_CMPB 时切换
-
ET1:时基计数器等于 CMPC(与 PWM2_CMPB (5800) 相同)时。 ET1 配置为生成中断的源
-
MCPWM 中断的优先级保持最高。 Debug3 引脚作为第一条语句在 ISR 中切换。
extern "C" void APP_MCPWM_4_INT_Handler()
{
BSP_AM13E230_E2::Debug3Pin_High();
MotorControl_Callback();
g_diagCounters.Mcpwm4++;
DL_MCPWM_clearInterrupt(APP_MCPWM_4_INST, DL_MCPWM_INT_ET_1);
DL_MCPWM_clearGlobalInterrupt(APP_MCPWM_4_INST);
BSP_AM13E230_E2::Debug3Pin_Low();
}
void BSP_AM13E230_E2::Debug3Pin_High()
{
DL_GPIO_setPins(GPIO_GRP_0_PIN_Debug3_PORT, GPIO_GRP_0_PIN_Debug3_PIN);
}
void BSP_AM13E230_E2::Debug3Pin_Low()
{
DL_GPIO_clearPins(GPIO_GRP_0_PIN_Debug3_PORT, GPIO_GRP_0_PIN_Debug3_PIN);
}
观察
-
对于 MCPWM ISR、可以观察到中断延迟(约 230ns)。 请建议它是否可以改进或这是预期的。

注意:逻辑分析仪配置为在 250MHz 处采样