色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

實戰經驗 | STM32U5 ADC 自校準不成功的問題分析

STM32單片機 ? 來源:未知 ? 2023-12-10 16:45 ? 次閱讀

wKgZomV1e7qAZlHJAAHUHXdxAL4922.gif

關鍵詞:STM32U5,ADC

目錄預覽

1、引言

2、問題

3、問題解決

4、小結

01

引言

很多 STM32 系列中的 ADC 都帶有自校準的功能。它提供了一個自動校準的過程,用于驅動包括 ADC 上電/掉電序列在內的所有校準動作。在這個過程中,ADC 計算出一個校準因子,并在內部應用到此 ADC 模塊,直到下一次 ADC 掉電。在執行任何 ADC 操作之前必須校準,以消除芯片之間 ADC 結果的偏差。

02

問題

2.1. 問題詳情

客戶使用 STM32U575ZIT6Q 驗證 ADC4 時,使用 STM32CubeMX 配置后生成工程項目。因為使用 ADC 進行采樣轉換前,必須要做 ADC 的自校準。于是在 main 函數中加入自校準代碼,如圖 1 所示。

wKgZomV1e7qAY1wgAABT0CW0xu8134.jpg

圖1.代碼:ADC 自校準

然而,在運行代碼的情況下,發現 PC 指針最后跑到這個 Calibration Error 的Error_Handler()里。也就是說,執行自校準失敗了!

再檢查進入 Error_Handler()發生的問題,發現在執行HAL_ADCEx_Calibration_Start()時陷在了下面這個 Loop 當中,如圖 2 所示。

wKgZomV1e7qATXCCAACJk9sCAkM641.jpg

圖2.代碼:等待 ADC 自校準完成

也就是說,ADCAL 位被置 1 后,始終沒有被硬件清 0,代表自校準始終不成功。

2.2. 問題分析

查看 STM32U5 的參考手冊 RM0456 中關于自校準的描述。考慮到校準沒有成功,那么應該看看是不是自校準需要哪些條件,而這些條件并沒有成立。

于是,在 ADC 章節中的 Calibration 小節找到了這么一段話,如圖 3 所示。

wKgZomV1e7uAdIIgAACWubvvays217.jpg

圖3.ADC 自校準要求條件

也就是說,在初始化自校準之前,需要保證 3 個條件:

1) ADC 的電壓調整器已經使能并正常工作(ADVREGEN = 1 且 LDORDY =1)

2) ADC 沒有打開(ADEN=0)

3) 自動掉電模式沒有使能(AUTOFF = 0)

回到剛才等待 ADC 自校準完成的代碼,當指針停留到這邊時,在線調試檢查各個標志位情況,發現 ADVREGEN=1,ADEN=0,AUTOFF=0,LDORDY=0。所以,可以肯定的是就是 LDORDY 不為 1,也就是說 ADC 的電壓調整器還沒有準備好,導致了自校準無法成功并退出。

在 STM32U5 中,引入了一個新的 ADC 特性,叫 ADC 電壓調整器(ADC voltageregulator)。在使用 ADC 之前,這個電壓調整器必須被使能并且能夠穩定工作。可以通過將 ADC_CR 寄存器中的 ADVREGEN 位置 1 來使能它,然后必須要等這個電壓調整器的啟動時間之后,才可以正常啟動自校準或者使用 ADC。這個 LDO 有沒有準備好,可以通過 ADC_ISR 寄存器中的 LDORDY 這個位來判斷。LDORDY=1 才代表了 LDO 已經準備好了。

回到客戶的問題,可以知道即使 ADVREGEN 置 1 了,LDORDY 始終沒有置起來,電壓調整器沒有啟動工作,難道是 ADC 的這個電壓調整器壞掉了?

別急,想到電源的問題,還不能忘了參考手冊的另一個章節 :電源控制 PWR。翻到PWR 這一章,先要考慮到,與 ADC 相關的電源為 VDDA,所以要重點查看 VDDA 的內容。找到 Independent analog peripherals supply 這一小節,可以看以下關鍵的句子,如圖 4。

wKgZomV1e7uAZofaAAG5GJGPf38431.jpg

圖4.獨立的模擬外設供電

從圖中黃色高亮的文字,我們可以了解到,STM32U5 的 VDDA 在控制上還跟其他系列不一樣,它有一個開關來選擇是否隔離。芯片復位后,VDDA 提供的 ADC 和模擬開關控制在邏輯和電氣上是隔離的,因此不可用。一旦 VDDA 電源存在,就必須在使用模擬外設之前,通過在 PWR_SVMCR 寄存器中將 ASV 置位來消除隔離。也就是說,要想使用ADC,必須先將 ASV 置位來消除隔離。

在 PWR_SVMCR 寄存器的解釋中,也可以看到 ASV 位的描述中要求將此位強制置 1才可以使用模擬外設,如圖 5。

wKgZomV1e7uAQJKdAAC6z9jcInY958.jpg

圖5.ASV 位描述

ASV 的配置是沒有在 STM32CubeMX 中進行配置的,所以需要在后期添加。所以,很可能就是因為沒有將 ASV 置位以使能 VDDA,導致 ADC 外設被隔離,并沒有得到供電,所以 ADC 的電壓調整器不可能正常工作,LDORDY 也不可能為 1。

03

問題解決

在工程項目中搜索 ASV,可以找到兩個 API,如圖 6。

wKgZomV1e7uAe3w2AADPvGnknRw460.jpg

圖6.VDDA 使能或禁用 API

也就是說,我們需要先將 HAL_PWREx_EnableVddA()添加到代碼中。因為其屬于MSP 硬件配置,所以將其加到 HAL_MspInit()函數,如圖 7 所示。

wKgZomV1e7uACC1ZAACpY3G4lvA520.jpg

圖7.修改過的 HAL_MspInit()函數

再重新編譯,然后執行指令代碼,就可以看到 ADC 的自校準可以正常完成,PC 指針已經可以正常跑到自校準后面的代碼了。

04

小結

在 STM32U5 中,為了更好地控制功耗,ADC 中加入電壓調整器和 VDDA 隔離功能。這與以往的 STM32 有所不同,需要注意一下。使用 ADC 等模擬外設前,需要注意將PWR_SVMCR 寄存器中將 ASV 置位來消除隔離。

其實不僅僅是 VDDA 可以隔離,VDDIO2 也是可以的,通過 PWR_SVMCR 寄存器的IO2SV 位進行控制。

如果仔細看過 STM32U5 的 ADC 例程,可以看到 HAL_MspInit()的內容是這么寫的,如圖 8 所示。

wKgZomV1e7yAZ9XYAAC98ziGubc031.jpg

圖8.例程的 HAL_MspInit()函數

可以看到,在 MSP 初始化里,不僅使能了 VDDA,還使能了 VDDIO2。所以要使用VDDIO2 相關 I/O 的,也需要注意一下。

wKgZomV1e7yACjBNAAHiBpzEGaQ725.png

完整內容請點擊“閱讀原文”下載原文檔。


原文標題:實戰經驗 | STM32U5 ADC 自校準不成功的問題分析

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6065

    文章

    44946

    瀏覽量

    648003
  • STM32
    +關注

    關注

    2290

    文章

    11018

    瀏覽量

    362943

原文標題:實戰經驗 | STM32U5 ADC 自校準不成功的問題分析

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    請問STM32U5不支持ST-LINK v2怎么辦?

    STM32U5不支持ST-LINK v2怎么辦?
    發表于 06-09 07:59

    移動電源EMC整改:認證失敗到一次通過的實戰經驗

    深圳南柯電子|移動電源EMC整改:認證失敗到一次通過的實戰經驗
    的頭像 發表于 05-26 11:25 ?113次閱讀
    移動電源EMC整改:認證失敗到一次通過的<b class='flag-5'>實戰經驗</b>

    STM32U5?(超低功耗MCU,支持TinyML)全面解析

    :在電機或設備中部署STM32U5,通過振動傳感器數據訓練TinyML模型,預測設備故障,避免停機損失。智能傳感器 :集成14位ADC與MDF,實現高精度信號采集(如工業流量計),結合AI算法優化測量
    的頭像 發表于 04-08 17:38 ?1401次閱讀
    <b class='flag-5'>STM32U5</b>?(超低功耗MCU,支持TinyML)全面解析

    訓練好的ai模型導入cubemx不成功怎么處理?

    訓練好的ai模型導入cubemx不成功咋辦,試了好幾個模型壓縮了也不行,ram占用過大,有無解決方案?
    發表于 03-11 07:18

    提升開關電源效率的理論分析實戰經驗

    在這里有電源技術干貨、電源行業發展趨勢分析、最新電源產品介紹、眾多電源達人與您分享電源技術經驗,關注我們,與中國電源行業共成長! 提升開關電源效率的理論分析實戰經驗 引言 開關電源設
    的頭像 發表于 01-09 10:04 ?881次閱讀
    提升開關電源效率的理論<b class='flag-5'>分析</b>與<b class='flag-5'>實戰經驗</b>

    STM32項目實戰:基于STM32U5的智能大棚溫控系統(LVGL),附項目教程/源碼

    《智能大棚溫控系統_STM32U5》項目完整文檔、項目源碼,點擊下方鏈接免費領取。項目資料領取https://s.c1ns.cn/F5XyUSTM32項目實戰之“智能大棚溫控系統
    的頭像 發表于 11-13 17:08 ?1730次閱讀
    <b class='flag-5'>STM32</b>項目<b class='flag-5'>實戰</b>:基于<b class='flag-5'>STM32U5</b>的智能大棚溫控系統(LVGL),附項目教程/源碼

    STM32項目實戰:基于STM32U5的火災報警系統(LVGL),附項目教程/源碼

    《火災報警系統_STM32U5》項目完整文檔、項目源碼,點擊下方鏈接免費領取。項目資料領取https://s.c1ns.cn/F5XyUSTM32項目實戰之“火災報警系統”(基于STM32U5
    的頭像 發表于 11-13 14:18 ?1741次閱讀
    <b class='flag-5'>STM32</b>項目<b class='flag-5'>實戰</b>:基于<b class='flag-5'>STM32U5</b>的火災報警系統(LVGL),附項目教程/源碼

    ADS127L11配置ADC使用外部時鐘以及FILTER[4:0]都不成功,為什么?

    配置ADC使用外部時鐘以及FILTER[4:0]都不成功,spi的時序都是正常的,使用的是4線spi
    發表于 11-13 08:03

    STM32項目實戰:基于STM32U5的智能燈光控制系統(LVGL),附項目教程/源碼

    《智能燈光控制系統_STM32U5》項目完整文檔、項目源碼,點擊免費領取。項目資料領取:https://s.c1ns.cn/F5XyUSTM32項目實戰之“智能燈光控制系統”(基于STM32U
    的頭像 發表于 11-07 18:50 ?2204次閱讀
    <b class='flag-5'>STM32</b>項目<b class='flag-5'>實戰</b>:基于<b class='flag-5'>STM32U5</b>的智能燈光控制系統(LVGL),附項目教程/源碼

    VCA821輸出Vg4.2V仿真不成功是哪里出了問題?

    輸出Vg4.2V 仿真不成功
    發表于 08-12 06:46

    ESP-WROOM-02U用esptouch來配置路由器不成功怎么解決?

    我在官網上買了幾片 ESP-WROOM-02U模塊,用esptouch來配置路由器不成功,是不是需要重新下載ESP-WROOM-02U的固件?
    發表于 07-19 08:28

    rtt工程移植后線程創建不成功怎么解決?

    之前用l431的板子跑10k的采樣后來要提高到100k,更換了f446的芯片,但是根據新的內存地址從0x20000000開始寫入數據后,兩個線程創建不成功了,不知道是否是線程的的大小不夠還是內存分配不對,求指點
    發表于 07-18 06:44

    請問espconn_connect()不成功會自動調重連回調函數嗎?

    請問espconn_connect(),不成功會自動調重連回調函數嗎?
    發表于 07-12 10:38

    ESP8266 OTA升級不成功的原因?

    我正在使用最新的 RTOS SDK 版本 1.5 ESP8266。我使用自定義服務器進行OTA升級。 有時 OTA 升級成功,有時即使閃爍了正確的圖像,OTA 升級也不成功。 我看到圖像CRC和閃存
    發表于 07-10 06:14

    STM32H5STM32U5在trustzone上有哪些不同?

    我要做空調的空中升級FOTA的方案,需要加密,對于trustzone功能,采用那款芯片比較合適?STM32H5STM32U5在trustzone上有哪些不同?
    發表于 07-05 07:03
    主站蜘蛛池模板: 丝袜美腿美女被狂躁在线观看 | 色老汉网址导航 | 欧美丝袜女同 | 高hnp全肉 | 精品国产乱码久久久久久夜深人妻 | 亚洲第一国产 | 狼群资源网中文字幕 | 日日夜夜撸 在线影院 | 青青视频国产依人在线 | 日本艳妓BBW高潮一19 | 午夜理论在线观看不卡大地影院 | 竹菊影视一区二区三区 | 免费看大黄高清网站视频在线 | 亚洲一卡久久4卡5卡6卡7卡 | 日本最新免费区中文 | 最新男同鸭子ktv | 性生大片免费看 | av色天堂2018在线观看 | 伊人网中文字幕 | CHINA末成年VIDEO学生 | 亚洲欧美中文日韩v在线 | 亚洲成AV人电影在线观看 | 舔1V1高H糙汉| 真实处破女全过程完免费观看 | 九色PORNY真实丨国产免费 | 日本亚洲电影 | 久久免费黄色 | 97精品一区二区视频在线观看 | 国产精品野外AV久久久 | 日韩精品无码视频一区二区蜜桃 | 九九热这里都是精品 | 亚洲最大成人 | 亚洲熟伦熟女专区 | 99精品国产免费久久久久久下载 | 99re6在线视频国产精品欧美 | 日本大片免a费观看视频 | 久久国产精品永久免费网站 | 精品少妇爆AV无码专区 | 成年妇女免费播放 | 国产精品卡1卡2卡三卡四 | 不卡无线在一二三区 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品