S32K144芯片AD使用PDB取值bug调试

在S32K144芯片的AD采样项目中,通过PDB硬件触发遇到频繁的PDB错误中断问题。分析发现中断优先级过高干扰PDB正常运行,降低相应模块中断优先级能暂时解决问题,但最终通过移除DMA模块解决了问题,可能由于DMA寄存器配置不当导致错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

S32K144芯片,AD采样方式使用硬件触发,触发源为PDB预触发源,PDB触发为硬件触发方式,触发源为FTM触发源,AD取值方式为在DMA中取值。


问题描述:

当使用上述方式取值时,在MCU启动后,运行一小段时间,发现MCU会频繁进入PDB错误序列中断,导致MCU不能正常运行。
提示:这里描述项目中遇到的问题:
例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:


原因分析:

首先先分析导致这个问题产生的模块,PDB进入错误序列的与原因是当触发完AD值后,没有及时对AD的结果寄存器进行取值导致的,为了测试这个方式,采用的方式是分割式测试,因为这个采样方式是:FTM+TRGMUX+PDB+AD+DMAMUX+DMA,这整个链式环节,为了找到是哪个环节出的问题,则需要进行对每个链式结点进行测试,我采用的方式,首先去除DMA的取值方式,然后在对PDB触发方式更改为软件采样,那么整个链式成为了PDB+AD的模式,经过测试,在这个模式下,仍会进入PDB错误序列中断中,那么肯定是这两个模块产生的问题,当AD采用软触发时,AD模块可正常运行,那么

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值