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

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

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

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

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

我們?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)確,只要滿(mǎn)足某個(gè)范圍即可,這時(shí)我們就可以考慮使用STM32ADC看門(mén)狗功能了。

STM32
ADC基本上都支持模擬看門(mén)狗功能,即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模擬看門(mén)狗功能就很方便。我們可以先讓模擬看門(mén)狗做第一步把關(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è)置模擬看門(mén)狗。使用CubeMx圖形化配置工具進(jìn)行工程配置。

圖片

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

圖片

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

圖片

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

圖片

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

圖片

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

我在上面采用的一個(gè)模擬看門(mén)狗對(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)下圖】

圖片

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

圖片

從結(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16900

    瀏覽量

    349948
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6396

    瀏覽量

    543807
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354314
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

    stm32自帶兩個(gè)看門(mén)狗模塊,獨(dú)立看門(mén)狗IWDG和窗口看門(mén)狗WWDG。看門(mén)狗主要作用是可用來(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'>看門(mén)狗</b>配置(獨(dú)立<b class='flag-5'>看門(mén)狗</b>IWDG和窗口<b class='flag-5'>看門(mén)狗</b>WWDG)

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

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

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

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

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

    STM32芯片的ADC模塊往往都支持模擬看門(mén)狗功能,即可以對(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)參考電壓<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>模擬</b><b class='flag-5'>看門(mén)狗</b>

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

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

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

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

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

    STM32 ADC模擬看門(mén)狗及其應(yīng)用(電源技術(shù)期刊是什么級(jí)別期刊)-模擬看門(mén)狗特性允許應(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'>看門(mén)狗</b>及其應(yīng)用

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

    實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)STM32CubeMX進(jìn)行簡(jiǎn)單配置生成HAL庫(kù)實(shí)現(xiàn)ADC模擬看門(mén)狗,以達(dá)到單片機(jī)掉電保存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'>看門(mén)狗</b><b class='flag-5'>實(shí)現(xiàn)</b>掉電保存——基于(<b class='flag-5'>STM32G070+STM32</b>CubeMX+HAL庫(kù)+<b class='flag-5'>ADC</b><b class='flag-5'>模擬</b><b class='flag-5'>看門(mén)狗</b>)

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

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

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

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

    詳解獨(dú)立看門(mén)狗實(shí)現(xiàn)原理

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

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

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