如何使用RA MCU中ADC窗口比较功能

cathy的头像
cathy 发布于:周一, 08/21/2023 - 14:38 ,关键词:

众所周知,模数转换,即Analog-to-Digital Converter,常称ADC,是指将连续变量的模拟信号转换为离散的数字信号的器件。主要用于对模拟信号进行数字采集,以进行数据处理。通常情况下,在转换完成时读取转换结果。而ADC中的窗口比较功能,会检测ADC结果是否低于或高于特定阈值,当转换结果在某一个范围时可以触发中断,几乎无需软件干预。该配置非常实用,它可以监视信号是否按照要求保持在特定范围内,或者在电池电量不足/过充时发出信号。

本文以RA4M2为例介绍如何设置ADC窗口比较功能。

RA MCU中一般都会包括12位逐次逼近型A/D转换器(ADC12)单元,最多可选择13路模拟量输入通道、温度传感器输出、内部参考电压进行转换。

同时,ADC12还提供比较功能(窗口A和窗口B)。比较功能分别指定窗口A和窗口B的参考值上限和的参考值下限,当所选通道的A/D转换值满足比较条件时输出中断。窗口A和窗口B的主要区别在于它们的中断输出信号不同以及对窗口B只能选择一个通道的限制。

这里以窗口A为例进行介绍。窗口A有以下4种比较模式。

• 结果低于阈值

• 结果高于阈值

• 结果在窗口内

• 结果在窗口外

窗口A比较功能相关的寄存器有ADCMPCR、ADCMPLR0/1和ADCMPDR0/1寄存器,详情请参考RA硬件手册。

1.png

2.png

3.png

4.png

5.png

ADC数据与可设置的高低阈值进行比较,并可为AD数据在设定的门限值内、外、高或低自动生成比较中断。需要设置三个选项位置,接下来我们将逐个介绍各种情况下属性设置和用户代码。

1、A/D转换结果高于门限值时产生窗口比较A中断(ADC120_CMPAI)

6.png

若想实现上面的比较功能,请按照下图中所示,在FSP中设置ADC属性。

(1)Input → Window Compare → Window A

Enable:选择Enabled

Lower Reference:请在这里设定阈值

(2) Input → Window Compare

Window Mode:选择Disabled

7.png

当AD转换结果 > ADCMPDR0(Lower Reference 设定值时)时,产生Compare中断。

2、A/D转换结果低于门限值时产生窗口比较A中断(ADC120_CMPAI)

8.png

若想实现上图的比较功能,请按照下图中所示,在FSP中设置ADC属性。

(1)Input → Window Compare → Window A

Enable:选择Enabled

Lower Reference:请在这里设定阈值

(2) Input → Window Compare

Window Mode:选择Disabled

(3)代码中将CMPLCHA0位置为“0”

R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;

9.png

当AD转换结果 < ADCMPDR0(Lower Reference 设定值时),产生Compare中断。

3、A/D转换结果在门限值内

10.png

若想实现上图的比较功能,请按照下图中所示,在FSP中设置ADC属性。

(1)Input → Window Compare → Window A

Enable:选择Enabled

Lower Reference、Upper Reference:请在这里设定阈值

(2) Input → Window Compare

Window Mode:选择Enabled

11.png

当ADCMPDR0(Lower Reference设定值时)< AD转换结果< ADCMPDR1(Upper Reference设定值时)时,产生Compare中断。

4、A/D转换结果在门限值外

12.png

若想实现上图的比较功能,请按照下图中所示,在FSP中设置ADC属性。

(1)Input → Window Compare → Window A

Enable:选择Enabled

Lower Reference、Upper Reference:请在这里设定阈值

(2) Input → Window Compare

Window Mode:选择Enabled

(3)代码中将CMPLCHA0位置为“0”

R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;

13.png

当AD转换结果<ADCMPDR0(Lower Reference 设定值时)或者>ADCMPDR1(Upper Reference设定值时)时,产生Compare中断。

另外,使用窗口比较功能时请注意以下限制:

● 比较功能不能与自诊断功能或双触发模式一起使用。(比较功能不适用于ADRD、ADDBLDR、ADDBLDRA和ADDBLDRB。)

● 使用匹配/不匹配事件输出时请使用单次扫描模式。

● 当温度传感器输出时,窗口A选择内部参考电压,窗口B操作被禁用。

● 当温度传感器输出时,窗口B选择内部参考电压,窗口A操作被禁用。

● 禁止为窗口A和窗口B设置相同的通道。

● 设置参考电压值时,请将高电位参考电压值设置为大于或等于低电位参考电压值。

更多内容,您可点击下方链接进入瑞萨中文论坛查看:

https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/

来源:瑞萨MCU小百科

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 62