stm32芯片的adc模块往往都支持模拟看门狗功能,即可以对单个或多个通道开启模拟转换值的监测。当模拟通道adc值超出设定的阈值时可以产生模拟看门狗事件并可触发看门狗中断。【注:下面截图或数据都是基于stm32l4系列芯片的,其它stm32系列与其类似。】
结合上图,当选定的adc通道的转换结果比设置的阈值上限还高或比设定的阈值下限还低时都可以通过硬件触发模拟看门狗事件或中断。
假设现有stm32用户有这样一个应用需求,他希望stm32的供电电压低于一定程度时就提示低压报警,然后软件将进行相关处理。
关于这个应用需求,我们就可以利用片内的一个参考电压和模拟看门狗来实现。
我们知道,stm32芯片内部都内置了一个比较稳定的内部参考电压,即vrefint。它的电压值一般在1.2v上下,每颗芯片之间可能存在差异。该电压信号固定与某adc通道在片内相连。st公司在芯片出厂时对所有芯片的这个内部参考电压都做了adc转换值的准确测量,得到一个校准值。测量是在常温条件下,adc参考电压vdda=vref+为3.0v的条件下进行,结果存储在特定地址。
下图是stm32l4系列芯片的数据手册中对vrefint的adc校准值的测试条件及其存放地址的信息。
我们通过读出芯片特定存储地址的vrefint转换值,进而可以求算出它的具体电压值。我从手边一块stm32l4开发板读取相应地址的内容,如下面截图所示:
我们从图中可知verfint的adc值为0x067c,据此可以反求出它的电压值:【这里是12位adc分辨率,据资料可知校准测试时的vdda=3v。后面都以该芯片数据展开】
0xfff:3.0 = 0x067c:vrefint
根据上式可以得到该芯片的vrefint为1.216v。
在较宽泛的芯片供电范围内,该内部参考电压值是个比较稳定而准确的数据。现在假设目前的应用场景满足vdda=vdd,vdd在使用过程中会随时间慢慢下降,当vdd低到一定程度时需告警并需软件提前做些处理。
尽管vdda/vdd在变,但vdda始终是adc模块的基准电压,它对应的adc值始终是满量程值【0xfff】,另外vrefint的电压值也没变,不过随着vdda的变化,vrefint所对应adc值会一直在变化。但在任一时刻下面的关系式总是成立的【当然,电源电压至少要保障芯片能正常工作】:
vdda:4095 = vrefint:adc_vrefint
上式中的adc_vrefint为vrefint在当前vdda条件下所对应的adc值,vrefint为前面计算出来的电压值1.216v.
不难理解,对于同一vrefint,随着vdda的不断走低,它所对的转换值则是不断走高。
假设当vdda低到2.65v时告警,我们可将上式中的vdda换成2.65v,即可求出vrefint此时所对应adc值,经计算此时adc_vrefint等于1879。也就是说,当vrefint的所对应的adc转换值等于1879时,vdda就降到了2.65v.当vrefint的转换值大于1879时,意味着vdda比2.65v还要低。【具体使用时可以考虑一定裕量】
基于上述原理,我们开启vrefint通道的模拟看门狗功能,拟定出合适的模拟看门狗的阈值。结合刚才的描述,1879就可以做vrefint通道模拟看门狗的阈值上限,当vrefint的转换值大于1879时就会产生模拟看门狗事件及中断。
下图是使用stm32cubemx进行相关配置的部分截图。
上面主要基于stm32芯片和一个特定应用需求,大致介绍了如何使用片内参考电压实现模拟看门狗的基本思路,同时也顺便介绍了基于内部参考电压对芯片电源进行监测的方案。当然,有人可能注意到了,有关芯片电源监测话题前面也专门分享过,但没提模拟看门狗的内容。
网络市场兼并收购繁忙,2018上半年有哪10大收购最引人瞩目?
中颖电子:为品牌手机厂开发芯片Q4送客户验证
热电厂高压加热器的检验与缺陷处理
什么是施密特触发器?有什么作用?
3D打印技术在武器装备研制方面的应用
STM32芯片如何使用片内参考电压实现模拟看门狗
深技大科研团队首次提出基于超光速等离子体尾波场产生阿秒脉冲的方案
抑制储能系统中低频振荡的技术方案
东莞、重庆、郑州三地智能机出货量占据行业的一半数据
LTC6803—4在超级电容器组管理系统中的应用
企业若想通过IoT来加快创新的脚步,必须克服三大挑战
PASP铁性材料性质分析与模拟软件正式商用
5G带来了哪些新的业务机会
HFKLT2-II双向拉绳开关如何安装
小米5x和小米5splus哪个好?系统的高性价比对比
范特科技与登临科技合作助力应急、城市运营等多领域数智化转型
电源设计技巧:USB Type-C 功率输出如何在不同端口分配?
光模块市场龙头企业有哪些
摩托车防盗器电路原理图
CPLD设计的CCD信号发生器技术