0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32 ADC模擬看門狗應(yīng)用演示過(guò)程

茶話MCU ? 來(lái)源:茶話MCU ? 2023-07-08 14:30 ? 次閱讀

我們?cè)谧?a href="http://ttokpm.com/tags/adc/" target="_blank">ADC應(yīng)用時(shí),有些場(chǎng)合需要精確測(cè)量出待測(cè)信號(hào)的數(shù)據(jù),有時(shí)可能并不關(guān)心ADC結(jié)果多準(zhǔn)確,只要滿足某個(gè)范圍即可,這時(shí)我們就可以考慮使用STM32ADC看門狗功能了。

STM32 ADC基本上都支持模擬看門狗功能,即ADC模塊對(duì)被檢測(cè)的模擬通道的轉(zhuǎn)換結(jié)果基于硬件對(duì)其合法性、安全性進(jìn)行監(jiān)測(cè)。我們可以設(shè)置被監(jiān)測(cè)通道的轉(zhuǎn)換結(jié)果合法性檢查的上下閾值,若結(jié)果處于閾值之外則視為異常,并可以觸發(fā)中斷。

尤其有些場(chǎng)合,我們可能使用到數(shù)個(gè)ADC通道,8個(gè)、10個(gè)甚至更多,同時(shí)程序還需要基于各通道的轉(zhuǎn)換結(jié)果進(jìn)行合法性或安全性監(jiān)測(cè),此時(shí)使用ADC模擬看門狗功能就很方便。我們可以先讓模擬看門狗做第一步把關(guān),只有出現(xiàn)異常數(shù)據(jù)時(shí)才去進(jìn)一步檢查確認(rèn)。不然的話,每次一批數(shù)據(jù)出來(lái)后,我們得逐個(gè)去檢查合法性。

一般來(lái)講,多數(shù)情況下異??赡苤皇桥紶枴€(gè)別通道發(fā)生,這樣每次轉(zhuǎn)換完成后總是不分青紅皂白地去逐一檢查、確認(rèn),顯然有點(diǎn)浪費(fèi)時(shí)間,啰嗦無(wú)益,這也會(huì)影響系統(tǒng)性能。

我這里使用STM32L4開(kāi)發(fā)板,簡(jiǎn)單演示下實(shí)現(xiàn)過(guò)程,供有需要的人士參考。

這里只開(kāi)啟ADC1模塊的8個(gè)規(guī)則通道,使用DMA傳送轉(zhuǎn)換結(jié)果,并設(shè)置模擬看門狗。使用CubeMx圖形化配置工具進(jìn)行工程配置。

30eb9818-1d58-11ee-962d-dac502259ad0.png

我只啟用了模擬看門狗1,針對(duì)8個(gè)規(guī)則通道的轉(zhuǎn)換結(jié)果進(jìn)行實(shí)時(shí)監(jiān)測(cè)。

【當(dāng)然你可以有其它更為靈活的設(shè)計(jì)。各個(gè)STM32系列這個(gè)地方不完全一樣。】

313abb3c-1d58-11ee-962d-dac502259ad0.png

開(kāi)啟ADC模擬看門狗的中斷。

315c063e-1d58-11ee-962d-dac502259ad0.png

代碼里設(shè)置一個(gè)記錄ADC結(jié)果異常的標(biāo)志Flag_ADC_Abnormal,若發(fā)生結(jié)果異常會(huì)在ADC中斷對(duì)該標(biāo)志變量賦非0值。

31b81e60-1d58-11ee-962d-dac502259ad0.png

在主循環(huán)里若發(fā)現(xiàn)異常標(biāo)志非0,然后去進(jìn)一步做所有ADC結(jié)果的確認(rèn)。

31f44110-1d58-11ee-962d-dac502259ad0.png

上面演示過(guò)程中監(jiān)測(cè)到一個(gè)異常數(shù)據(jù),觸發(fā)了模擬看門狗中斷,ADC結(jié)果異常標(biāo)志被賦0xff值,會(huì)做進(jìn)一步異常數(shù)據(jù)的確認(rèn)。

我在上面采樣的一個(gè)模擬看門狗對(duì)8個(gè)通道的結(jié)果進(jìn)行監(jiān)測(cè),如果一輪掃描轉(zhuǎn)換下來(lái)出現(xiàn)多個(gè)異常數(shù)據(jù),會(huì)觸發(fā)幾次中斷呢?

不妨基于同一開(kāi)發(fā)板驗(yàn)證下。我加個(gè)ADC中斷次數(shù)累計(jì)變量ADC_Res_CNT,并把閾值下限調(diào)整為1200,其它不動(dòng)。【見(jiàn)下圖】

3221d634-1d58-11ee-962d-dac502259ad0.png

然后進(jìn)行測(cè)試,得到下面結(jié)果。

324cb728-1d58-11ee-962d-dac502259ad0.png

從結(jié)果看,除了2個(gè)數(shù)據(jù)正常外其它均異常,故一輪轉(zhuǎn)換下來(lái)發(fā)生了6次中斷,顯然我們可以根據(jù)中斷次數(shù)進(jìn)一步判斷一輪轉(zhuǎn)換下來(lái)的異常通道數(shù)。

【注:這里ADC配置為單次掃描模式,DMA配置為Normal模式。】






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    558

    瀏覽量

    70713
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354314
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    558

    瀏覽量

    100348
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    862

    瀏覽量

    43130
  • ADC采樣
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    12818

原文標(biāo)題:STM32 ADC模擬看門狗應(yīng)用演示

文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32中的獨(dú)立看門狗和窗口看門狗是什么

    在早期的MCU中是沒(méi)有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨(dú)立看門狗
    的頭像 發(fā)表于 02-20 17:47 ?2641次閱讀
    <b class='flag-5'>STM32</b>中的獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>是什么

    什么是模擬看門狗模擬看門狗有什么用處?

    看門狗大家應(yīng)該再熟悉不過(guò)了,一旦忘記喂狗就會(huì)導(dǎo)致單片機(jī)復(fù)位,而在大部分stm32中都存在兩種類型的看門狗,Independent watchdog (IWDG)獨(dú)立看門狗和Window
    的頭像 發(fā)表于 11-22 09:40 ?1631次閱讀
    什么是<b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b>?<b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b>有什么用處?

    模擬看門狗是什么

    如下:??下面直接通過(guò)代碼來(lái)演示一下這個(gè)模擬看門狗的功能:#include "adc.h"#includ
    發(fā)表于 01-27 07:19

    stm32看門狗時(shí)間計(jì)算 獨(dú)立看門狗和窗口看門狗的特性是什么

    本文為您講解STM看門狗時(shí)間計(jì)算(時(shí)限)與頻率計(jì)算,獨(dú)立看門狗和窗口看門狗的特性、區(qū)別與聯(lián)系。
    發(fā)表于 10-10 10:41 ?8722次閱讀

    什么是stm32看門狗?獨(dú)立看門狗和窗口看門狗工作原理解析

    stm32有兩個(gè)看門狗,獨(dú)立看門狗和窗口看門狗,其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。 獨(dú)立看門狗
    的頭像 發(fā)表于 11-06 11:48 ?2.7w次閱讀
    什么是<b class='flag-5'>stm32</b><b class='flag-5'>看門狗</b>?獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>工作原理解析

    STM32看門狗配置(獨(dú)立看門狗IWDG和窗口看門狗WWDG)

    stm32自帶兩個(gè)看門狗模塊,獨(dú)立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來(lái)檢測(cè)和解決由軟件錯(cuò)誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定
    發(fā)表于 11-09 17:17 ?8389次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>看門狗</b>配置(獨(dú)立<b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)

    STM32看門狗配置詳情解說(shuō)

     stm32有兩個(gè)看門狗,獨(dú)立看門狗和窗口看門狗,其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。獨(dú)立看門狗有自己獨(dú)立的40Khz時(shí)鐘,不存
    發(fā)表于 11-13 11:17 ?4397次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>看門狗</b>配置詳情解說(shuō)

    基于STM32、FreeRTOS 實(shí)現(xiàn)硬件看門狗+軟件看門狗監(jiān)測(cè)多任務(wù)的方法

    基于STM32、FreeRTOS實(shí)現(xiàn)硬件看門狗+軟件看門狗監(jiān)測(cè)多任務(wù)的方法
    的頭像 發(fā)表于 03-12 10:11 ?9263次閱讀

    STM32芯片如何使用片內(nèi)參考電壓實(shí)現(xiàn)模擬看門狗

    STM32芯片的ADC模塊往往都支持模擬看門狗功能,即可以對(duì)單個(gè)或多個(gè)通道開(kāi)啟模擬轉(zhuǎn)換值的監(jiān)測(cè)。當(dāng)模擬
    的頭像 發(fā)表于 08-29 16:16 ?6843次閱讀
    <b class='flag-5'>STM32</b>芯片如何使用片內(nèi)參考電壓實(shí)現(xiàn)<b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b>

    如何實(shí)現(xiàn)模擬看門狗?

    作者:逸珺 轉(zhuǎn)自:STM32 對(duì)于看門狗大家或許不陌生,但對(duì)于模擬看門狗有的朋友可能就不甚了解了。本文來(lái)聊聊模擬
    的頭像 發(fā)表于 10-23 14:51 ?5258次閱讀
    如何實(shí)現(xiàn)<b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b>?

    stm32看門狗的特點(diǎn)是什么

    stm32有兩個(gè)看門狗,獨(dú)立看門狗和窗口看門狗,其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。
    的頭像 發(fā)表于 07-22 11:08 ?4012次閱讀

    STM32 ADC模擬看門狗及其應(yīng)用

    STM32 ADC模擬看門狗及其應(yīng)用(電源技術(shù)期刊是什么級(jí)別期刊)-模擬看門狗特性允許應(yīng)用程序檢
    發(fā)表于 08-04 18:12 ?29次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>ADC</b><b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b>及其應(yīng)用

    STM32:獨(dú)立看門狗、窗口看門狗的配置

    STM32單片機(jī)的看門狗有獨(dú)立看門狗和窗口看門狗之分,這兩者的工作原理卻完全不同。
    發(fā)表于 02-08 16:15 ?18次下載
    <b class='flag-5'>STM32</b>:獨(dú)立<b class='flag-5'>看門狗</b>、窗口<b class='flag-5'>看門狗</b>的配置

    STM32中的獨(dú)立看門狗和窗口看門狗

    一、前言 在早期的MCU中是沒(méi)有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨(dú)立
    的頭像 發(fā)表于 12-22 16:58 ?2033次閱讀

    STM32 ADC模擬看門狗過(guò)程實(shí)現(xiàn)

    我們?cè)谧?b class='flag-5'>ADC應(yīng)用時(shí),有些場(chǎng)合需要精確測(cè)量出待測(cè)信號(hào)的數(shù)據(jù),有時(shí)可能并不關(guān)心ADC結(jié)果多準(zhǔn)確,只要滿足某個(gè)范圍即可,這時(shí)我們就可以考慮使用STM32ADC看門狗功能了。
    的頭像 發(fā)表于 07-13 10:28 ?3228次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>ADC</b><b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b><b class='flag-5'>過(guò)程</b>實(shí)現(xiàn)