主题中讨论的其他器件:UCC21710、 C2000WARE、 SysConfig
您好!
我们想使用来自 UCC21710生成的 PWM 脉冲序列的 eCAP 模块测量直流总线。我们需要对 eCAP 模块进行一些澄清。
首先、eCAP 能否测量400kHz PWM 脉冲序列的占空比?我问这个问题、因为查看 c2000ware 中的示例项目、我发现它正在测量几 kHz 的 PWM 脉冲序列。
我们尝试模拟同一个示例,但在较高的频率下,但随着我们增加 PWM 频率,占空比计算不断恶化。 变量 衍生 DT 是根据 eCAP 模块计算得出的结果。
__interrupt void INT_myECAP0_ISR(void) { ecap_counter++; cap1_count = ECAP_getEventTimeStamp(myECAP0_BASE, ECAP_EVENT_1); //1st raising edge cap2_count = ECAP_getEventTimeStamp(myECAP0_BASE, ECAP_EVENT_2); //1st falling edge cap3_count = ECAP_getEventTimeStamp(myECAP0_BASE, ECAP_EVENT_3); //2nd raising edge cap4_count = ECAP_getEventTimeStamp(myECAP0_BASE, ECAP_EVENT_4); //2nd falling edge derivedDT = (float)(cap2_count-cap1_count)/(cap3_count-cap1_count); ECAP_reArm(myECAP0_BASE); ECAP_clearGlobalInterrupt(myECAP0_BASE); ECAP_clearInterrupt(myECAP0_BASE, ECAP_ISR_SOURCE_CAPTURE_EVENT_4); Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP4); }
在10kHz 时:
100kHz 时的频率
500kHz 时: