2392083_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2392083_zh-CN

2392083_zh-CN

MIMXRT1186:首次 LPIT 触发未能进入 ADC 中断。
我正在使用 FRDM MIMXRT1186 EVK 板,SDK V26.03。我烧录了 LPIT ADC 演示项目,以学习外设触发的 ADC 触发信号转换。但是,当我更改 LPIT 触发频率时——具体来说,是通过将 app.h 中的宏定义 LPIT_PERIOD 修改为 50,从而得到 20 kHz 的触发速率——我遇到了一个问题:第一个 LPIT 触发无法进入 ADC 中断。
为了找出根本原因在于 LPIT 还是 ADC 外设,我进行了两项测试:
  1. 交换了ADC和LPIT模块的初始化顺序(先初始化ADC,再初始化LPIT);
  2. 在 ADC1_IRQHandler 函数中增加了 GPIO 切换操作,并通过 XBAR (kXBAR1_OutputIomuxXbarInout19) 将 LPIT 触发信号路由到外部引脚。然后捕获引脚上的波形。
示波器测量结果证实 LPIT 触发信号已正确生成,但 ADC 没有响应,没有进入其中断服务程序。
我无法理解为什么提高触发信号频率会引入这个问题。请问有人能提供一些故障排除方面的建议吗?提前致谢。测试代码附后供参考。
Re: MIMXRT1186 :first LPIT trigger fails to enter ADC interrupt.

@ChandlerY

感谢分享代码。

我目前正在进行一些测试,稍后会将测试结果反馈给您。

此致,
巴勃罗

Re: MIMXRT1186 :first LPIT trigger fails to enter ADC interrupt.

@ChandlerY

仅在第一次中断时看到的额外延迟是由 CM33 向量表和 ISR 代码位于非 TCM 存储器(通过缓存访问的 XSPI 闪存/OCRAM)中引起的。

您能否帮我测试一下,将所有 CM33 代码(向量表和 ISR)放入 TCM 后,该行为是否仍然存在?

此致,
巴勃罗

Re: MIMXRT1186 :first LPIT trigger fails to enter ADC interrupt.

@ChandlerY

由于这种行为与外围设备无关,而是与代码所在位置有关,因此一种选择是在非 XIP 模式下运行应用程序,这意味着图像存储在 Flash 中,而代码从 RAM 执行。

您可以通过以下链接中的安全配置工具找到配置步骤:

处理器特定工作流程 — 安全配置工具 26.06

此致,
巴勃罗

Re: MIMXRT1186 :first LPIT trigger fails to enter ADC interrupt.

嗨,帕布罗

感谢您的回复,我已经测试过了,当 cm33 代码在 TCM 中运行时,第一次 LPIT 触发并进入 ADC 中断,它是有效的。但是当 cm33 代码在 flash 中运行时,如何解决这个问题?能否提供一些解决方法?非常感谢。

Tags (1)
No ratings
Version history
Last update:
2 weeks ago
Updated by: