首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

深入了解PSoC5:DMA使用基础

深入了解PSoC5:DMA使用基础

关键字:PSoC5   DMA   ADC  

PSoC5平台上的ADC转换数据的DMA传输实例

对于参数缓慢变化且有干扰伴随的ADC应用来说,并不需要在每个转换周期完成后实时读取转换结果。比较好的解决方法是将一段时间内的采样结果自动存放在某个地方,然后再由CPU一次性读取,这样既可以节约CPU的资源,又可以进行一些滤波处理。DMA正好可以扮演自动将一组采样结果存放到RAM中的角色,示意图如图6所示。




ADC转换完成产生EOC信号时,DMA将2字节的ADC转换结果从ADC寄存器 搬至片内RAM的缓冲数组中,达到设定的数量时,DMA产生一个nrq完成信号触发中断,由CPU读取并处理这一组信号。相应的Creator原理图如图7所示。




可以采用上述两种DMA配置方法的任意一种。图8为DMA通道配置示意。由于ADC转换结果为10位,所以Burst Count为2;本实例设定为一次按键DMA搬运一个数据后即关闭,故Request Per Burst 为1;而后续burst传输必须和当前burst连续,所以Preserve TD为1。



返回列表