众所周知,模数转换,即Analog-to-Digital Converter,常称ADC,是指将连续变量的模拟信号转换为离散的数字信号的器件。主要用于对模拟信号进行数字采集,以进行数据处理。通常情况下,在转换完成时读取转换结果。而ADC中的窗口比较功能,会检测ADC结果是否低于或高于特定阈值,当转换结果在某一个范围时可以触发中断,几乎无需软件干预。该配置非常实用,它可以监视信号是否按照要求保持在特定范围内,或者在电池电量不足/过充时发出信号。
![wKgaomaCTaiAPFPVAAAVpIBe-Vw590.png](https://file1.elecfans.com/web2/M00/F7/74/wKgaomaCTaiAPFPVAAAVpIBe-Vw590.png)
RA MCU中一般都会包括12位逐次逼近型A/D转换器(ADC12)单元,最多可选择13路模拟量输入通道、温度传感器输出、内部参考电压进行转换。
同时,ADC12还提供比较功能(窗口A和窗口B)。比较功能分别指定窗口A和窗口B的参考值上限和的参考值下限,当所选通道的A/D转换值满足比较条件时输出中断。窗口A和窗口B的主要区别在于它们的中断输出信号不同以及对窗口B只能选择一个通道的限制。
![wKgZomaCTbmAXPx9AAArBv0LR2k479.png](https://file1.elecfans.com/web2/M00/F6/89/wKgZomaCTbmAXPx9AAArBv0LR2k479.png)
窗口A比较功能相关的寄存器有ADCMPCR、ADCMPLR0/1和ADCMPDR0/1寄存器,详情请参考RA硬件手册。
![wKgZomaCTeqAcvBVAAZbY58-XoQ340.png](https://file1.elecfans.com/web2/M00/F6/89/wKgZomaCTeqAcvBVAAZbY58-XoQ340.png)
![wKgaomaCTfiACfS3AAOK98me3ZY831.png](https://file1.elecfans.com/web2/M00/F7/74/wKgaomaCTfiACfS3AAOK98me3ZY831.png)
![wKgaomaCTgWAJbmHAAGBjwawJrA215.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTgWAJbmHAAGBjwawJrA215.png)
![wKgaomaCTg2AR0k4AAI0dj_-c1g639.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTg2AR0k4AAI0dj_-c1g639.png)
![wKgaomaCTheANkeeAAEGQkUVaxc759.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTheANkeeAAEGQkUVaxc759.png)
ADC数据与可设置的高低阈值进行比较,并可为AD数据在设定的门限值内、外、高或低自动生成比较中断。需要设置三个选项位置,接下来我们将逐个介绍各种情况下属性设置和用户代码。
A/D转换结果高于门限值时产生窗口比较A中断(ADC120_CMPAI)
![wKgaomaCTiaAWKW-AACo0fWkWyk727.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTiaAWKW-AACo0fWkWyk727.png)
若想实现上面的比较功能,请按照下图中所示,在FSP中设置ADC属性。
(1)Input → Window Compare → Window A
Enable:选择Enabled
Lower Reference:请在这里设定阈值
(2) Input → Window Compare
Window Mode:选择Disabled
![wKgaomaCTjSARV2pAAKeMgZiyjw359.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTjSARV2pAAKeMgZiyjw359.png)
当AD转换结果 > ADCMPDR0(Lower Reference 设定值时)时,产生Compare中断。
A/D转换结果低于门限值时产生窗口比较A中断(ADC120_CMPAI)
![wKgaomaCTj-AORrqAAD72J4lA-8853.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTj-AORrqAAD72J4lA-8853.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;
![wKgZomaCTkmAGQzdAAKeCbcjB90311.png](https://file1.elecfans.com/web2/M00/F6/89/wKgZomaCTkmAGQzdAAKeCbcjB90311.png)
当AD转换结果 < ADCMPDR0(Lower Reference 设定值时),产生Compare中断。
A/D转换结果在门限值内
![wKgaomaCTlSAdxsWAAEr85VuqGI464.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTlSAdxsWAAEr85VuqGI464.png)
若想实现上图的比较功能,请按照下图中所示,在FSP中设置ADC属性。
(1)Input → Window Compare → Window A
Enable:选择Enabled
Lower Reference、Upper Reference:请在这里设定阈值
(2) Input → Window Compare
Window Mode:选择Enabled
![wKgZomaCTl2AJT5rAAKq_Mpf8Fs955.png](https://file1.elecfans.com/web2/M00/F6/89/wKgZomaCTl2AJT5rAAKq_Mpf8Fs955.png)
当ADCMPDR0(Lower Reference设定值时)< AD转换结果< ADCMPDR1(Upper Reference设定值时)时,产生Compare中断。
A/D转换结果在门限值外
![wKgaomaCTmeAOMHNAAFudEF5cKw910.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTmeAOMHNAAFudEF5cKw910.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;
![wKgaomaCTnSAZEiqAAKsYY-TGb8214.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCTnSAZEiqAAKsYY-TGb8214.png)
当AD转换结果<ADCMPDR0(Lower Reference 设定值时)或者>ADCMPDR1(Upper Reference设定值时)时,产生Compare中断。
![wKgaomaCToKAVPm4AAB4FQpt2dQ334.png](https://file1.elecfans.com/web2/M00/F7/75/wKgaomaCToKAVPm4AAB4FQpt2dQ334.png)
-
mcu
+关注
关注
146文章
17373浏览量
353023 -
adc
+关注
关注
99文章
6539浏览量
546064 -
模拟信号
+关注
关注
8文章
1146浏览量
52691 -
数字信号
+关注
关注
2文章
982浏览量
47696
发布评论请先 登录
相关推荐
RA系列PWM触发ADC组采集功能
构建RA MCU生态圈!RA MCU 生态1.0发布
在MCU系统中如何利用ADC技术进行数据采集
向窗口比较器添加测试功能
![向<b class='flag-5'>窗口</b><b class='flag-5'>比较</b>器添加测试<b class='flag-5'>功能</b>](https://file.elecfans.com//web2/M00/8E/AF/poYBAGPhsVqAT_RHAABScI8bDt4291.jpg)
RA2 MCU ADC转换时间测试方法
瑞萨MCU RA6T2的16位模数转换器操作 [4] 配置RA6T2 ADC模块 (1)
![瑞萨<b class='flag-5'>MCU</b> <b class='flag-5'>RA</b>6T2的16位模数转换器操作 [4] 配置<b class='flag-5'>RA</b>6T2 <b class='flag-5'>ADC</b>模块 (1)](https://file1.elecfans.com/web2/M00/8D/DA/wKgZomTA0P-ATvNiAAAhS9ol-Jc109.jpg)
RA MCU中的CRC模块和使用方法
![<b class='flag-5'>RA</b> <b class='flag-5'>MCU</b><b class='flag-5'>中</b>的CRC模块和使用方法](https://file1.elecfans.com/web2/M00/C0/FE/wKgZomXcCdaAXyV1AAAgl-5WVko528.jpg)
评论