一、 功能讲解 1. SWM181-SARADC简介以及使用 SARADC的分辨率是12-bits,最多 8 路输入通道,最高 1MSPS 转换速率,支持单次模式和连续模式,具备深度为 8 的 FIFO,支持软件、 PWM、 TIMER 启动,且每个通道都有自己独立的转换结果数据寄存器和转换完成、数据溢出状态寄存器,支持 DMA 传输。 使用 TIMER 触发:将 SAR ADC 配置寄存器(CTRL)中 TRIG(BIT[15:14])设置为 2(TIMER2 触发)或 3(TIMER3 触发)。 TIMER 可作为定时器或计数器(支持级联)使用。当对应 TIMER 计数值减置 0 时,将触发 ADC 配置寄存器(CTRL)中选中的通道(CHx)进行采样。可以通过 ADC 采样完成中断进行结果获取。 TIMER 触发仅支持单次模式,每次触发选中通道采样一次(支持求平均)。 2. SWM181-DMA简介以及使用 SWM181的DMA支持 FLASH 与 SRAM 间数据搬运,SAR ADC 采集数据至 SRAM 数据搬运,SIGMA-DELTA 采集数据至 SRAM 数据搬运,CAN 接收数据至 SRAM 搬运。我们此例程主要是使用SARADC的数据搬运。 DMA控制器有5个通道, 每个通道专门用来管理来自于一个特定外设对存储器(SRAM)访问的请求,我们需要用到通道 2 将 ADC0(SAR-ADC) 的转换数据搬入到存储器(SRAM)。如果DMA初始化时如果配置了中断使能寄存器 IE,当所配置通道传输完指定数据长度时会产生中断, 此时中断状态寄存器 IF 对应位自动置 1, 对该位写 1 则清除中断,我们可通过读此寄存器来判断是否产生了中断。 1. 观察现象
图 1 SAR ADC 中 FFDATA 内数据写入到内存 二、 程序编写 1. ADC初始化 2. DMA初始化 3. Timer初始化 4. 运行 5. 观察现象 三、 实验现象 1. 现象
2. 结论 不同电压下,ADC数据直接通过串口打印出来,且数值正确。
|