您好!
我对 ADC 模块转换结束(EOC)后到 ADC 中断实际执行所经历的时间有疑问。 如 数据表中所述、"如果 ADCCTL1寄存器中的 INTPULSEPOS 位置位、t INT 将与锁存到结果寄存器中的转换结果重合"。 我已经根据数据表计算了采样保持时间和 A/D 转换时间。 但是、当我测量从 SOC 到执行 ADC 中断第一行的时间时、会有一段时间下落不明。 我详细阐述了以下问题:
ADCA 模块被配置为转换一个引脚。 采集窗口设置为75ns (t_SH)。 ADC 时钟以50MHz 的频率运行。 系统时钟以200MHz 运行。 根据数据表、t_EOC 时间将为10.3 ADCCLK 周期。 这会使 t_EOC 达到206ns。 因此、t_SH + t_EOC = 281ns。
EPWM1模块配置为 ADC SOC。 SOC 发生在 CTRU = CMPA 时。 动作限定器配置为将通道设置为 CTR =零、并在 CTRU = CMPA 时清除通道。 在示波器上监控 ePWM 通道。
GPIO 引脚(GPIO93)在 ADC 中断例程的第一行被置位、并在例程结束时被清零。 该引脚在示波器上受到监控。
ePWM 通道清零与 GPIO93集之间的时间差测量值为410ns。 测量 GPIO 引脚上的 SET 指令所需的时间约为25ns。 因此、未计算的时间为(410 - 25 - 281) ns = 104ns。 即使我考虑多使用几个周期来锁存 ADC 结果、仍然有很多时间无法计算。
如果在实施或测量中出现错误、请更正我的错误。 如果我能获得一些参考文档 来解释 多余的时间、那将会有所帮助。
如果需要任何其他信息、请告知我。
谢谢你。



