0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32芯片如何使用片内参考电压实现模拟看门狗

茶话MCU 来源:ST MCU 信息交流 作者:ST MCU 信息交流 2020-08-29 16:16 次阅读

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芯片和一个特定应用需求,大致介绍了如何使用片内参考电压实现模拟看门狗的基本思路,同时也顺便介绍了基于内部参考电压对芯片电源进行监测的方案。当然,有人可能注意到了,有关芯片电源监测话题前面也专门分享过,但没提模拟看门狗的内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    558

    浏览量

    70697
  • adc
    adc
    +关注

    关注

    97

    文章

    6384

    浏览量

    543679
  • STM32
    +关注

    关注

    2264

    文章

    10852

    浏览量

    354185

原文标题:ADC模拟看门狗应用方案介绍

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32中的独立看门狗和窗口看门狗是什么

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 02-20 17:47 2623次阅读
    <b class='flag-5'>STM32</b>中的独立<b class='flag-5'>看门狗</b>和窗口<b class='flag-5'>看门狗</b>是什么

    什么是模拟看门狗模拟看门狗有什么用处?

    看门狗大家应该再熟悉不过了,一旦忘记喂狗就会导致单片机复位,而在大部分stm32中都存在两种类型的看门狗,Independent watchdog (IWDG)独立看门狗和Window
    的头像 发表于 11-22 09:40 1614次阅读
    什么是<b class='flag-5'>模拟</b><b class='flag-5'>看门狗</b>?<b class='flag-5'>模拟</b><b class='flag-5'>看门狗</b>有什么用处?

    stm32看门狗时间计算 独立看门狗和窗口看门狗的特性是什么

    本文为您讲解STM看门狗时间计算(时限)与频率计算,独立看门狗和窗口看门狗的特性、区别与联系。
    发表于 10-10 10:41 8719次阅读

    什么是stm32看门狗?独立看门狗和窗口看门狗工作原理解析

    stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗
    的头像 发表于 11-06 11:48 2.7w次阅读
    什么是<b class='flag-5'>stm32</b><b class='flag-5'>看门狗</b>?独立<b class='flag-5'>看门狗</b>和窗口<b class='flag-5'>看门狗</b>工作原理解析

    STM32看门狗配置(独立看门狗IWDG和窗口看门狗WWDG)

    stm32自带两个看门狗模块,独立看门狗IWDG和窗口看门狗WWDG。看门狗主要作用是可用来检测和解决由软件错误引起的故障;当计数器达到给定
    发表于 11-09 17:17 8383次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>看门狗</b>配置(独立<b class='flag-5'>看门狗</b>IWDG和窗口<b class='flag-5'>看门狗</b>WWDG)

    STM32看门狗配置详情解说

     stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。独立看门狗有自己独立的40Khz时钟,不存
    发表于 11-13 11:17 4389次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>看门狗</b>配置详情解说

    stm32看门狗复位技巧编辑

    本文主要介绍了stm32看门狗复位技巧,包括三个方面:判断是否需要使用、保证看门狗工作正常、保证看门狗复位时不会引起系统异常。stm32自带
    发表于 01-14 15:51 1.5w次阅读
    <b class='flag-5'>stm32</b><b class='flag-5'>看门狗</b>复位技巧编辑

    基于STM32、FreeRTOS 实现硬件看门狗+软件看门狗监测多任务的方法

    基于STM32、FreeRTOS实现硬件看门狗+软件看门狗监测多任务的方法
    的头像 发表于 03-12 10:11 9242次阅读

    如何实现模拟看门狗

    作者:逸珺 转自:STM32 对于看门狗大家或许不陌生,但对于模拟看门狗有的朋友可能就不甚了解了。本文来聊聊模拟
    的头像 发表于 10-23 14:51 5247次阅读
    如何<b class='flag-5'>实现</b><b class='flag-5'>模拟</b><b class='flag-5'>看门狗</b>?

    stm32看门狗的特点是什么

    stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。
    的头像 发表于 07-22 11:08 4006次阅读

    STM32 ADC模拟看门狗及其应用

    STM32 ADC模拟看门狗及其应用(电源技术期刊是什么级别期刊)-模拟看门狗特性允许应用程序检测输入
    发表于 08-04 18:12 29次下载
    <b class='flag-5'>STM32</b> ADC<b class='flag-5'>模拟</b><b class='flag-5'>看门狗</b>及其应用

    STM32:独立看门狗、窗口看门狗的配置

    STM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同。
    发表于 02-08 16:15 18次下载
    <b class='flag-5'>STM32</b>:独立<b class='flag-5'>看门狗</b>、窗口<b class='flag-5'>看门狗</b>的配置

    STM32中的独立看门狗和窗口看门狗

    一、前言 在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立
    的头像 发表于 12-22 16:58 2022次阅读

    详解独立看门狗实现原理

    这里以大家熟悉的STM32为例给大家讲解一下独立看门狗的配置以及工作过程。STM32F10xxx内置两个看门狗:独立看门狗和窗口
    发表于 12-22 17:01 3128次阅读

    STM32中的独立看门狗和窗口看门狗

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 01-30 14:38 1299次阅读
    <b class='flag-5'>STM32</b>中的独立<b class='flag-5'>看门狗</b>和窗口<b class='flag-5'>看门狗</b>