你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 ADC模拟看门狗应用演示

[复制链接]
攻城狮Melo 发布时间:2023-7-10 21:47
微信图片_20230710214628.png
+ Z  G2 t. _+ w* Y5 o# }6 b  v$ d
我们在做ADC应用时,有些场合需要精确测量出待测信号的数据,有时可能并不关心ADC结果多准确,只要满足某个范围即可,这时我们就可以考虑使用STM32ADC看门狗功能了。

9 c' A* [5 ?: H1 U2 h- g' y9 Y6 [
STM32 ADC基本上都支持模拟看门狗功能,即ADC模块对被检测的模拟通道的转换结果基于硬件对其合法性、安全性进行监测。我们可以设置被监测通道的转换结果合法性检查的上下阈值,若结果处于阈值之外则视为异常,并可以触发中断。

+ D! ~' C) y. z1 I( T7 ^& K
尤其有些场合,我们可能使用到数个ADC通道,8个、10个甚至更多,同时程序还需要基于各通道的转换结果进行合法性或安全性监测,此时使用ADC模拟看门狗功能就很方便。我们可以先让模拟看门狗做第一步把关,只有出现异常数据时才去进一步检查确认。不然的话,每次一批数据出来后,我们得逐个去检查合法性。一般来讲,多数情况下异常可能只是偶尔、个别通道发生,这样每次转换完成后总是不分青红皂白地去逐一检查、确认,显然有点浪费时间,啰嗦无益,这也会影响系统性能。

5 f7 G* O1 F, r: R+ x
我这里使用STM32L4开发板,简单演示下实现过程,供有需要的人士参考。

" O$ P: s: [1 q; _0 T2 ^7 |% |
这里只开启ADC1模块的8个规则通道,使用DMA传送转换结果,并设置模拟看门狗。使用CubeMx图形化配置工具进行工程配置。
3 }! i! D2 ?4 k! N" {1 k
微信图片_20230710214621.png
0 s2 [! l6 i" J. T9 S
我只启用了模拟看门狗1,针对8个规则通道的转换结果进行实时监测。【当然你可以有其它更为灵活的设计。各个STM32系列这个地方不完全一样。】
1 E! [) t  E& D1 U: z/ m3 ]- @% m
微信图片_20230710214618.png

, \! B5 d4 |- E8 H3 ]; [2 P" Z0 n) R8 S/ A- N) H
开启ADC模拟看门狗的中断。

# @& `0 C) y3 E4 }  A8 V' j5 q
微信图片_20230710214614.png
. \4 b; a$ `* `; B; Y4 G3 B; u) D/ f
代码里设置一个记录ADC结果异常的标志Flag_ADC_Abnormal,若发生结果异常会在ADC中断对该标志变量赋非0值。
' J: Z, v8 S' L+ N: Y) }/ b
微信图片_20230710214610.png

6 v- r* W8 o3 ]) o/ u" l
在主循环里若发现异常标志非0,然后去进一步做所有ADC结果的确认。

. Q1 q7 S6 `' r3 I
2 q. k" `$ T5 W3 `; Q- T$ u
微信图片_20230710214607.png

, {+ Z  z: x" ?
上面演示过程中监测到一个异常数据,触发了模拟看门狗中断,ADC结果异常标志被赋0xff值,会做进一步异常数据的确认。
我在上面采用的一个模拟看门狗对8个通道的结果进行监测,如果一轮扫描转换下来出现多个异常数据,会触发几次中断呢?
不妨基于同一开发板验证下。我加个ADC中断次数累计变量ADC_Res_CNT,并把阈值下限调整为1200,其它不动。【见下图】
5 n% z. j8 K/ ?" F7 z% O
微信图片_20230710214549.png
5 r& A" V0 K/ b6 a0 Y" {, g* d

) `' T( m1 M- c5 d* G4 G! U( {
然后进行测试,得到下面结果。

! t2 q! l5 m9 I; E; m" e; v3 v' T
微信图片_20230710214544.png

9 I: @! V" _9 ?% _, g
从结果看,除了2个数据正常外其它均异常,故一轮转换下来发生了6次中断,显然我们可以根据中断次数进一步判断一轮转换下来的异常通道数。【注:这里ADC配置为单次扫描模式,DMA配置为Normal模式。】
好,今天分享的就到这里,匆匆草就。虽是些小东西、小知识点,或许哪日可以在某个应用上帮到您大忙,愿君我心有戚戚焉。下次再聊。
& i$ e; c, e; Z1 n; P  N
转载自: 茶话MCU
如有侵权请联系删除

8 @, r9 x! E7 o9 i" ~5 ?
( c" K3 }& L9 g- ~* @$ K' h/ ]: k, C
赞 收藏 评论0 发布时间:2023-7-10 21:47

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版