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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

麥辣雞腿堡 ? 來源:茶話MCU ? 作者:茶話MCU ? 2023-07-13 10:28 ? 次閱讀

我們在做ADC應用時,有些場合需要精確測量出待測信號的數(shù)據(jù),有時可能并不關心ADC結(jié)果多準確,只要滿足某個范圍即可,這時我們就可以考慮使用STM32ADC看門狗功能了。

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

尤其有些場合,我們可能使用到數(shù)個ADC通道,8個、10個甚至更多,同時程序還需要基于各通道的轉(zhuǎn)換結(jié)果進行合法性或安全性監(jiān)測,此時使用ADC模擬看門狗功能就很方便。我們可以先讓模擬看門狗做第一步把關,只有出現(xiàn)異常數(shù)據(jù)時才去進一步檢查確認。不然的話,每次一批數(shù)據(jù)出來后,我們得逐個去檢查合法性。一般來講,多數(shù)情況下異??赡苤皇桥紶枴€別通道發(fā)生,這樣每次轉(zhuǎn)換完成后總是不分青紅皂白地去逐一檢查、確認,顯然有點浪費時間,啰嗦無益,這也會影響系統(tǒng)性能。

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

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

圖片

我只啟用了模擬看門狗1,針對8個規(guī)則通道的轉(zhuǎn)換結(jié)果進行實時監(jiān)測。【當然你可以有其它更為靈活的設計。各個STM32系列這個地方不完全一樣?!?/p>

圖片

開啟ADC模擬看門狗的中斷。

圖片

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

圖片

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

圖片

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

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

不妨基于同一開發(fā)板驗證下。我加個ADC中斷次數(shù)累計變量ADC_Res_CNT,并把閾值下限調(diào)整為1200,其它不動?!疽娤聢D】

圖片

然后進行測試,得到下面結(jié)果。

圖片

從結(jié)果看,除了2個數(shù)據(jù)正常外其它均異常,故一輪轉(zhuǎn)換下來發(fā)生了6次中斷,顯然我們可以根據(jù)中斷次數(shù)進一步判斷一輪轉(zhuǎn)換下來的異常通道數(shù)?!咀ⅲ哼@里ADC配置為單次掃描模式,DMA配置為Normal模式?!?/p>

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

    關注

    146

    文章

    16810

    瀏覽量

    349414
  • adc
    adc
    +關注

    關注

    97

    文章

    6349

    瀏覽量

    543399
  • STM32
    +關注

    關注

    2263

    文章

    10849

    瀏覽量

    353826
收藏 人收藏

    評論

    相關推薦

    STM32中的獨立看門狗和窗口看門狗是什么

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

    stm32看門狗時間計算 獨立看門狗和窗口看門狗的特性是什么

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

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

    stm32有兩個看門狗,獨立看門狗和窗口看門狗,其實兩者的功能是類似的,只是喂狗的限制時間不同。 獨立看門狗
    的頭像 發(fā)表于 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。看門狗主要作用是可用來檢測和解決由軟件錯誤引起的故障;當計數(shù)器達到給定
    發(fā)表于 11-09 17:17 ?8359次閱讀
    <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時鐘,不存
    發(fā)表于 11-13 11:17 ?4370次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>看門狗</b>配置詳情解說

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

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

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

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

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

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

    stm32看門狗的特點是什么

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

    STM32 ADC模擬看門狗及其應用

    STM32 ADC模擬看門狗及其應用(電源技術(shù)期刊是什么級別期刊)-模擬看門狗特性允許應用程序檢
    發(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>及其應用

    STM32CubeMX配置ADC模擬看門狗實現(xiàn)掉電保存——基于(STM32G070+STM32CubeMX+HAL庫+ADC模擬看門狗

    實驗目的:通過STM32CubeMX進行簡單配置生成HAL庫實現(xiàn)ADC模擬看門狗,以達到單片機掉電保存Flash。一、
    發(fā)表于 12-03 09:36 ?10次下載
    <b class='flag-5'>STM32</b>CubeMX配置<b class='flag-5'>ADC</b><b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b><b class='flag-5'>實現(xiàn)</b>掉電保存——基于(<b class='flag-5'>STM32G070+STM32</b>CubeMX+HAL庫+<b class='flag-5'>ADC</b><b class='flag-5'>模擬</b><b class='flag-5'>看門狗</b>)

    STM32:獨立看門狗、窗口看門狗的配置

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

    STM32中的獨立看門狗和窗口看門狗

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

    詳解獨立看門狗實現(xiàn)原理

    這里以大家熟悉的STM32為例給大家講解一下獨立看門狗的配置以及工作過程。STM32F10xxx內(nèi)置兩個看門狗:獨立
    發(fā)表于 12-22 17:01 ?3074次閱讀

    STM32 ADC模擬看門狗應用演示過程

    我們在做ADC應用時,有些場合需要精確測量出待測信號的數(shù)據(jù),有時可能并不關心ADC結(jié)果多準確,只要滿足某個范圍即可,這時我們就可以考慮使用STM32ADC看門狗功能了。
    的頭像 發(fā)表于 07-08 14:30 ?2599次閱讀
    <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'>過程</b>