jingyite 发表于 2015-3-12 16:31:12

请问如何在KL16中使用DMA进行AD转换

   我需要在KL16中实现这样的功能,同时进行两路的AD采样,利用系统的DMA功能直接将转换结果保存到内存里,需要使用的时候程序直接从内存中读出就可以,请问如何实现?

jinyi7016 发表于 2015-3-12 20:05:45

看看DMA的例程就好了,应该有AD的

FSL_TICS_ZP 发表于 2015-3-13 09:47:37

首先,KL16只有一个ADC模块,无法实现你需要同时进行ADC采样功能,同一时间,只能被一个通道所占据的。
当然你后面的要求,采样结果通过DMA直接存储在RAM内,这是完全可以实现的。
关于例程的话,FRDM-26Z的例程包内有UART结合DMA的例程,你可以参考一下。
FRDM-KL26Z例程包下载链接如下:
http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&fpsp=1&tab=Design_Tools_Tab

jingyite 发表于 2015-3-13 10:10:05

FSL_TICS_ZP 发表于 2015-3-13 09:47
首先,KL16只有一个ADC模块,无法实现你需要同时进行ADC采样功能,同一时间,只能被一个通道所占据的。
当 ...

谢谢!我要求2个通道交替采样,但是不希望占用太多CPU时间,这个有什么方法能实现吗?

FSL_TICS_ZP 发表于 2015-3-13 10:17:46

jingyite 发表于 2015-3-13 10:10
谢谢!我要求2个通道交替采样,但是不希望占用太多CPU时间,这个有什么方法能实现吗? ...

如果是这样的话,那是完全可以实现的,建议我以前一篇的经验分享,里面就是介绍这种工作模式。
http://www.amobbs.com/thread-5557134-1-1.html

jingyite 发表于 2015-3-13 11:20:36

FSL_TICS_ZP 发表于 2015-3-13 10:17
如果是这样的话,那是完全可以实现的,建议我以前一篇的经验分享,里面就是介绍这种工作模式。
http://ww ...

我看这个例子使用TPM作为ADC的触发源,可是现在我的系统中TPM模块已经被用了,还有别的方法吗?

jingyite 发表于 2015-3-13 11:51:16

FSL_TICS_ZP 发表于 2015-3-13 10:17
如果是这样的话,那是完全可以实现的,建议我以前一篇的经验分享,里面就是介绍这种工作模式。
http://ww ...

还有,如果我用TPM作为触发源,需要配置PWM的外部输出管脚吗?

FSL_TICS_ZP 发表于 2015-3-13 14:35:00

jingyite 发表于 2015-3-13 11:51
还有,如果我用TPM作为触发源,需要配置PWM的外部输出管脚吗?

ADC不单单支持TPM1作为其硬件触发源呢,还有其他的。在参考手册的3.2.1 Module to Module Interconnects有把所有的ADC硬件触发源列出来。

qq635274216 发表于 2015-5-13 11:28:16

我要4通道交替采集,也没实现
页: [1]
查看完整版本: 请问如何在KL16中使用DMA进行AD转换