在 HSPDM 触发 EVADC 的用户手册中,我看到下图,周期可以设置为 9。这意味着 ADC 的触发信号为 17.78MHz。 但是,我还读到EVADC的最大采样率为2.6 MHz。
那么,如果我将 PERIOD 配置为 9,EVADC 将如何运作?
编辑:
因此,我尝试在我的TC357TA评估KIT_A2G_TC387_MOTORCTR上试验 HSPDM 触发 EVADC,但触发从未发生过。 以下是我所做的:
我对 HSPDM 进行了编码,使用移位寄存器模式生成 22080 位(1380 个字)的比特流。 然后我用示波器验证了比特流输出是正确的。
我使用以下代码将 HSPDM 配置为启用 ADC 触发:
IfxHspdm_setAdcTriggerOffset(g_hspdm, 800); IfxHspdm_setAdcTriggerPeriod(g_hspdm, 160); IfxHspdm_setAdcTriggerCounts(g_hspdm, 100); IfxHspdm_enableAdcTrigger(g_hspdm);我测试了来自 Github 的 CCU6 触发 EVADC 示例代码,它起作用了,ADC 中断 ISR 被触发,样本被读取。
我修改了上述 EVADC 示例代码,使其由 HSPDM 而不是 CCU6 触发:
adcGroupConfig.queueRequest[0].triggerConfig.triggerSource = IfxEvadc_TriggerSource_2;
尽管我将周期设置为 160 位,相当于 ADC 的 1 MHz 采样率,但这仍然无法正常工作。 ADC 中断 ISR 永远不会被触发。