项目场景:
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模块可正常运行,那么