学习KEA之ADC之五:自动比较功能

作者:曾Jerry 或 大橙员, 250359225@qq.com

学习KEA之ADC之一:基本介绍
学习KEA之ADC之二:查询方式
学习KEA之ADC之三:中断方式
学习KEA之ADC之四:FIFO
学习KEA之ADC之五:自动比较功能

KEA的ADC还有一个比较实用的功能,这就是自动比较功能(Automatic compare function)。这个功能可以用来检查ADC输入的上限和下限,比如检查电压的欠压和过压功能等。

基本流程

以采样AD7为例。

首先,要使能比较功能:ADC_SC2[ACFE] = 1。

当AD7采样和转换后,这个结果将会和ADC_CV比较:

  • 当ADC_SC2[ACFGT]=1,如果这个结果大于或等于比较值时,将会产生比较触发,使ADC_SC1[COCO]=1,这个结果值也会传送到ADC_R
  • 当ADC_SC2[ACFGT]=0,如果这个结果小于比较值时,将会产生比较触发,使ADC_SC1[COCO]=1,这个结果值也会传送到ADC_R
  • 当比较触发产生后,如果开启了中断(ADC_SC1[AIEN] = 1),还会产生ADC中断

如果在FIFO上玩比较功能,那就更有意思了:

  • 首先,要使能FIFO 和 比较功能
  • 当ADC_SC4[ACFSEL]=0时,这是比较触发的逻辑“或”, 如果所有通道的比较条件都不满足时,不会产生ADC_SC1[COCO] =1;不管比较条件是否满足,FIFO都会输出所有通道的转换结果
  • 当ADC_SC4[ACFSEL]=1时,这是比较触发的逻辑“与”, 如果不是所有通道的比较条件都满足时,不会产生ADC_SC1[COCO] =1;不管比较条件是否满足,FIFO都会输出所有通道的转换结果

注: 如果是在FIFO的连续转换模式,ADC比较功能是不工作的;可以在FIFO的单次转换模式时,启动多通道的ADC比较功能。

其它注意点:

  • MCU在 Wait 或Stop模式时,ADC比较功能仍然可以使能;当比较条件满足时,可以唤醒MCU

测试less than(no FIFO)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试less than(FIFO)

AD7\AD12\AD14三通道一上电时,同时输入电压1.689V(对应的电源电压是19V)小于比较电压2.155V,则会进入中断
在这里插入图片描述

知识点归纳

AD7要采样多次,有几种方法:
1、设置单次采样,定时启动采样
2、设置连续采样,这里又分几种:

  • 没有FIFO:只启动一次采样即可
  • 有FIFO:
    • 有 scan模式:第1次启动AD7采样后(其后启动其它通道无效),所有FIFO通道只采样AD7
    • 无scan模式:第1次启动AD7采样后(其后也启动其它通道有效),FIFO通道对应是启动ADC通道的顺序

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值