第25章
ADC——电压采集
25.1
ADC简介
ADC即模拟-数字转换器(Analog-to-digital converter),是一种用于将连续的模拟信号转换为离散的数字信号的器件。就比如我们可以将我们生活中的温度、压力、声音这样的模拟信号通过ADC转化为可以通过单片机处理的数字信号。
RA6M5有2个ADC单元,每个ADC单元有12位、10 位、8位读取数据的格式可以选择,在单元0上有13 个ADC通道,而在单元1上有16个ADC通道。ADC 单元具有三种扫描方式分别为:单次描模式、连续扫描模式和分组扫描模式,对于RA6M5来说ADC单元具有强大的功能,具体我们可以通过ADC特性和ADC的结构框图来分析每个部分的功能。
RA4M2有1个ADC单元,ADC单元也有12位、10 位、8位读取数据的格式可以选择,有13个ADC通道。RA2L1有1个ADC单元,ADC单元仅有12位读取数据的格式可以选择,有19个ADC通道。
ADC模块特性
以启明6M5开发板的为例,RA6M5的ADC特性如下:
2个ADC转换单元。
支持高达26个通道。其中有三组通道(AN000&AN100、AN001&AN101和AN002&AN102)分别共用相同的引脚,因此通道AN000和AN100不可同时使用,AN001和AN101、AN002和AN102这两组也同理。
支持内部温度传感器,可以检测芯片运行温度;支持测量内部参考电压。
逐次逼近型ADC,支持的分辨率:12-bit,10-bit,8-bit。
转换时间很短:0.4μs/每通道(这是在使用12-bit ADC、时钟PCLKC(ADCLK)等于50MHz的条件下)。
PCLKA是RA6M5 ADC外设模块的时钟,用于驱动外设模块的工作;而PCLKC(ADCLK)是用于A/D转换的时钟,它们的频率需要保持一定的比例。PCLKA与PCLKC(ADCLK)的时钟频率比可以设置为:1:1,2:1,4:1,8:1,1:2,1:4。
可启用的A/D数据存储缓冲区是一个环形缓冲区,由16个缓冲组成,用于顺序存储A/D转换后的数据。
注
RA4M2与RA6M5的ADC外设基本上没多大差别,而RA2L1的ADC特性差别稍微大一点。三者ADC特性的简单对比如下表所示:
表1:RA6M5/RA4M2/RA2L1的ADC特性

ADC的相关引脚或信号及其功能用途如下表所示:
表2:ADC相关引脚或信号及其功能

25.2
ADC的结构框图
RA6M5有两个ADC单元,即ADC Unit 0和ADC Unit 1;而RA4M2和RA2L1仅有一个ADC单元。实际上,RA4M2的ADC单元与RA6M5的ADC Unit 0 是基本一致的,RA2L1的ADC单元也仅有很少的区别。下面我们将以RA6M5的两个ADC单元为例来讲解ADC模块的结构框图。
RA6M5的ADC Unit 0的结构框图如下图所示:

RA6M5的ADC Unit 1的结构框图如下图所示:

对比以上ADC单元0和单元1的结构框图,可以发现两者除了参考电压引脚不同以外,其他结构几乎完全相同。
25.2.1
单元0和单元1的独立参考电压
见图中标注①处。
ADC0和ADC1的参考电压其实是独立的,这一点需要注意一下:
ADC0的参考电压为VREFH0和VREFL0;
ADC1的参考电压为VREFH和VREFL。
RA6M5的两个ADC单元每个单元都可以设置为不同的参考电压,VREFL0、VREFH0是ADC0参考电压和参考地;VREFL、VREFH是ADC1参考电压和参考地。用户在硬件设计时可以为这两个不同的ADC单元设置不同的参考电压。
电压输入范围
ADC0通道的输入电压范围为:VREFL0≤VIN≤VREFH0;
ADC1通道的输入电压范围为:VREFL≤VIN≤VREFH。
我们在设计原理图的时候一般把AVSS0和VREFL0/VREFL接地,把AVCC0和VREFH0/VREFH经过一个磁珠进行滤波之后接到3V3,因而可得到ADC的输入电压范围为:0~3.3V。如果我们想让输入的电压范围变宽,可以测试负电压或者更高的正电压,我们可以在外部加一个电压调理电路,把需要转换的电压转换到0~3.3V 的范围,这样就可以使用ADC进行测量了。
25.2.2
单元0和单元1的输入通道
见图中标注②处。
ADC的模拟输入通道:
AN0xx是ADC0的模拟输入通道(xx为通道号);
AN1xx是ADC1的模拟输入通道(xx为通道号)。
具体的ADC通道如下:
ADC0通道:AN000~AN010,AN012,AN013(共13个通道);
ADC1通道:AN100~AN102,AN116~AN128(共16个通道)。
总共29个ADC通道(实际可同时使用的为26个通道)
从上图中,我们还可以看到:
ADC0与ADC1之间有三组通道,即AN000和AN100、AN001和AN101、AN002和AN102分别共用了相同的物理引脚,因此通道AN000和AN100不可同时使用,AN001和AN101、AN002和AN102这两组也是一样的,不可同时使用。
25.2.3
模拟多路转换器和采样保持器
见图中标注③处。
模拟多路转换器用于对需要转换的ADC通道进行选择,从上图可以发现,使用ADC除了可以对一般通道(AN0xx或AN1xx)的电压进行测量以外,我们还可以选择对内部参考电压、内部温度传感器输出等信号进行测量。
采样保持器具有对输入的信号进行采样和保持的功能。
25.2.4
AD转换器、AD数据和控制寄存器
见图中标注④处。
ADC0和ADC1均为逐次逼近型的AD转换器。ADC 控制寄存器用于通过控制电路控制ADC外设模块的各项功能。
对于RA6M5和RA4M2来说,用户可设置ADC外设的AD转换精度为12-bit,10-bit,8-bit,相应的,AD 转换结束后保存到数据寄存器的结果对应为12-bit,10-bit,8-bit数据。对于RA2L1,其ADC外设仅支持AD转换精度为12-bit。
用户还可以设置ADC数据寄存器的保存格式为左对齐或右对齐。如下图所示。

25.2.5
控制电路以及触发输入和输出信号
见图中标注⑤处。
中断请求信号
事件输出到ELC信号
同步触发信号
异步触发信号
中断源
在AD扫描结束后,会产生一个AD扫描结束中断请求信号和ELC信号。用户还可以设置激活DTC启动数据传输,将ADC转换的结果快速传输至指定的位置。
触发源
用于触发启动AD转换的触发源包含以下的三种类型:
软件触发
来自事件链接控制器(ELC)的同步触发
通过外部触发引脚,以及ADTRG0(unit 0)和ADTRG1(unit 1)
下图为我们可以在FSP里选择的模式:

全部0条评论
快来发表一下你的评论吧 !