打印
[开发资料]

CW32的ADC视线DMA 扩展采样思路

[复制链接]
333|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-9-15 09:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, ADC, DM, DMA, cw
如果需要对超过 4 路的模拟量进行采样,则需要结合 DMA 的功能,以实现较少的 CPU 参与。其思路如下:
1.         ADC 配置为单通道单次转换,完成转换后硬件触发 DMA;
2.         DMA 的 CH1 用于将 ADC 的转换结果传输到 RAM 中,如将采样 6 个 ADC 通道,因此传输次数 CNT为 6,源地址固定为 ADC 的 RESULT0 寄存器,目的地址需要递增;
3.         DMA 的 CH2 用于更改 ADC 的采样通道,当 ADC 转换完成后,从 RAM 中取 ADC 的通道配置参数,自动配置 ADC 的寄存器值,因此源地址为 RAM,地址递增,目的地址为 ADC 的通道控制寄存器;
4.         DMA 的 CH3 用于再次启动 ADC,因为 ADC 配置为单次转换,当转换完成后,ADC 自动停止转换,所以需要通过 DMA 向 ADC 的转换启动寄存器置位,以再次启动 ADC 转换;
5.         DMA 的 CH1 传输完成后,ADC 的 6 路转换也完成了,并且转换结果也被传输到 RAM,可通过 CH1 的传输完成中断,将 DMA 的参数重新配置,就实现了多路 ADC 的循环采样;
6.         通过 ATIM 的比较通道 4,去触发 DMA 的 CH4,向 ADC 的转换启动寄存器置位,启动 ADC。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1723

主题

12998

帖子

54

粉丝