你好,我遇到了一些问题需要帮助
S32K144 使用 ftm_pwm 通过 TRGMUX 触发 PDB,预触发 ADC,我现在已经实现了 ADC 的触发,但是我现在为了提高 ADC 采样的精度,需要每次 ADC 触发后都进行连续转换,得到多个 ADC 的转换结果用来滤波,
目前,在原来 PDB 预触发 ADC 的基础上添加 ADC 连续转换的配置,运行代码,ADC 不会被触发
感谢!
Solved! Go to Solution.
我大概明白你的想法,首先没有这种配置模式,第二这并没有任何意义,我想不到这种做法和你ADC滤波有什么关系。
ADC支持两种触发方式,一种是软件触发采样,即通过CPU写SC1A寄存器触发一次采样,第二是硬件触发,例如LPIT或者PDB来触发采样。其次,S32K1的ADC还支持硬件average。
你好,我也在弄使用 ftm_pwm 通过 TRGMUX 触发 PDB,预触发 ADC,我是用ftm_pwm 通过 TRGMUX触发PDB然后再触发ADC采样,但是一直触发不了,你的关于TRGMUX的那一项是怎么配置的呢?方便截图么
我大概明白你的想法,首先没有这种配置模式,第二这并没有任何意义,我想不到这种做法和你ADC滤波有什么关系。
ADC支持两种触发方式,一种是软件触发采样,即通过CPU写SC1A寄存器触发一次采样,第二是硬件触发,例如LPIT或者PDB来触发采样。其次,S32K1的ADC还支持硬件average。
你好,感谢你的回复
1、PDB 预触发 ADC 采样,ADC 被触发转换时是通过中断获取到触发这一信息的,然后在中断里面去读取 ADC 转换的结果,但是 S32K1 的 ADC 硬件average 中没有看到中断配置
,我不太明白 PDB 预触发 ADC + 硬件average 是怎么使用的?
2、我之前的做法,主要是 ADC 的输入电压是波动的(这个电压理想情况下是稳定的),所以我想在 ADC 同一个触发点上多次采样,然后去掉最大值和最小值再求平均值来使采样电压更精确。其实是 ADC硬件average的理论差不多的,但是如1所述,我不清楚PDB预触发ADC的情况下怎么使用硬件average,所以之前我想用软件来处理
非常感谢!
没你想得那么复杂,勾选Hardware average即可,选择几次结果的平均采样,例如你选择4,那么四次采样结束后会置位COCO,然后产生中断。
下面这个函数在初始化的时候使用一下
ADC_DRV_ConfigHwAverage().
好的,我尝试一下
我在手册中看到 PDB 预触发 ADC 后是可以支持 ADC 的 Continuous conversion 模式的,但是实际应用中添加 Continuous conversion 配置,ADC 不会被触发,
我不理解,PDB 预触发 ADC_CH0,ADC_CH0 完成转换,此时会置位COCO,ADC_CH0 的转换就结束了,但是看手册,是支持 Continuous conversion 的