chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

實(shí)戰(zhàn)經(jīng)驗(yàn) | STM32U5 ADC 自校準(zhǔn)不成功的問題分析

STM32單片機(jī) ? 來源:未知 ? 2023-12-10 16:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

wKgZomV1e7qAZlHJAAHUHXdxAL4922.gif

關(guān)鍵詞:STM32U5,ADC

目錄預(yù)覽

1、引言

2、問題

3、問題解決

4、小結(jié)

01

引言

很多 STM32 系列中的 ADC 都帶有自校準(zhǔn)的功能。它提供了一個(gè)自動(dòng)校準(zhǔn)的過程,用于驅(qū)動(dòng)包括 ADC 上電/掉電序列在內(nèi)的所有校準(zhǔn)動(dòng)作。在這個(gè)過程中,ADC 計(jì)算出一個(gè)校準(zhǔn)因子,并在內(nèi)部應(yīng)用到此 ADC 模塊,直到下一次 ADC 掉電。在執(zhí)行任何 ADC 操作之前必須校準(zhǔn),以消除芯片之間 ADC 結(jié)果的偏差。

02

問題

2.1. 問題詳情

客戶使用 STM32U575ZIT6Q 驗(yàn)證 ADC4 時(shí),使用 STM32CubeMX 配置后生成工程項(xiàng)目。因?yàn)槭褂?ADC 進(jìn)行采樣轉(zhuǎn)換前,必須要做 ADC 的自校準(zhǔn)。于是在 main 函數(shù)中加入自校準(zhǔn)代碼,如圖 1 所示。

wKgZomV1e7qAY1wgAABT0CW0xu8134.jpg

圖1.代碼:ADC 自校準(zhǔn)

然而,在運(yùn)行代碼的情況下,發(fā)現(xiàn) PC 指針最后跑到這個(gè) Calibration Error 的Error_Handler()里。也就是說,執(zhí)行自校準(zhǔn)失敗了!

再檢查進(jìn)入 Error_Handler()發(fā)生的問題,發(fā)現(xiàn)在執(zhí)行HAL_ADCEx_Calibration_Start()時(shí)陷在了下面這個(gè) Loop 當(dāng)中,如圖 2 所示。

wKgZomV1e7qATXCCAACJk9sCAkM641.jpg

圖2.代碼:等待 ADC 自校準(zhǔn)完成

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

2.2. 問題分析

查看 STM32U5 的參考手冊 RM0456 中關(guān)于自校準(zhǔn)的描述??紤]到校準(zhǔn)沒有成功,那么應(yīng)該看看是不是自校準(zhǔn)需要哪些條件,而這些條件并沒有成立。

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

wKgZomV1e7uAdIIgAACWubvvays217.jpg

圖3.ADC 自校準(zhǔn)要求條件

也就是說,在初始化自校準(zhǔn)之前,需要保證 3 個(gè)條件:

1) ADC 的電壓調(diào)整器已經(jīng)使能并正常工作(ADVREGEN = 1 且 LDORDY =1)

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

3) 自動(dòng)掉電模式?jīng)]有使能(AUTOFF = 0)

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

在 STM32U5 中,引入了一個(gè)新的 ADC 特性,叫 ADC 電壓調(diào)整器(ADC voltageregulator)。在使用 ADC 之前,這個(gè)電壓調(diào)整器必須被使能并且能夠穩(wěn)定工作??梢酝ㄟ^將 ADC_CR 寄存器中的 ADVREGEN 位置 1 來使能它,然后必須要等這個(gè)電壓調(diào)整器的啟動(dòng)時(shí)間之后,才可以正常啟動(dòng)自校準(zhǔn)或者使用 ADC。這個(gè) LDO 有沒有準(zhǔn)備好,可以通過 ADC_ISR 寄存器中的 LDORDY 這個(gè)位來判斷。LDORDY=1 才代表了 LDO 已經(jīng)準(zhǔn)備好了。

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

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

wKgZomV1e7uAZofaAAG5GJGPf38431.jpg

圖4.獨(dú)立的模擬外設(shè)供電

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

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

wKgZomV1e7uAQJKdAAC6z9jcInY958.jpg

圖5.ASV 位描述

ASV 的配置是沒有在 STM32CubeMX 中進(jìn)行配置的,所以需要在后期添加。所以,很可能就是因?yàn)闆]有將 ASV 置位以使能 VDDA,導(dǎo)致 ADC 外設(shè)被隔離,并沒有得到供電,所以 ADC 的電壓調(diào)整器不可能正常工作,LDORDY 也不可能為 1。

03

問題解決

在工程項(xiàng)目中搜索 ASV,可以找到兩個(gè) API,如圖 6。

wKgZomV1e7uAe3w2AADPvGnknRw460.jpg

圖6.VDDA 使能或禁用 API

也就是說,我們需要先將 HAL_PWREx_EnableVddA()添加到代碼中。因?yàn)槠鋵儆贛SP 硬件配置,所以將其加到 HAL_MspInit()函數(shù),如圖 7 所示。

wKgZomV1e7uACC1ZAACpY3G4lvA520.jpg

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

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

04

小結(jié)

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

其實(shí)不僅僅是 VDDA 可以隔離,VDDIO2 也是可以的,通過 PWR_SVMCR 寄存器的IO2SV 位進(jìn)行控制。

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

wKgZomV1e7yAZ9XYAAC98ziGubc031.jpg

圖8.例程的 HAL_MspInit()函數(shù)

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

wKgZomV1e7yACjBNAAHiBpzEGaQ725.png

完整內(nèi)容請點(diǎn)擊“閱讀原文”下載原文檔。


原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | STM32U5 ADC 自校準(zhǔn)不成功的問題分析

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    6074

    文章

    45361

    瀏覽量

    664399
  • STM32
    +關(guān)注

    關(guān)注

    2307

    文章

    11128

    瀏覽量

    371421

原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | STM32U5 ADC 自校準(zhǔn)不成功的問題分析

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    用Jlink連接E203不成功是什么原因?qū)е碌模?/a>

    用Jlink連接E203不成功,卡了3天了,求助!
    發(fā)表于 11-11 06:01

    【課程升級(jí)】STM32U5開發(fā)板《TouchGFX 圖形界面開發(fā)》,從快速入門到深度UI實(shí)戰(zhàn)教程

    好消息,華清遠(yuǎn)見STM32U5開發(fā)板配套課程升級(jí)通知!本次升級(jí)計(jì)劃,主要致力于為初學(xué)者提供更深入、更實(shí)用的TouchGFX圖形界面開發(fā)學(xué)習(xí)體驗(yàn)。01課程升級(jí)核心內(nèi)容快速入門,構(gòu)建完整學(xué)習(xí)路徑
    的頭像 發(fā)表于 11-04 11:05 ?228次閱讀
    【課程升級(jí)】<b class='flag-5'>STM32U5</b>開發(fā)板《TouchGFX 圖形界面開發(fā)》,從快速入門到深度UI<b class='flag-5'>實(shí)戰(zhàn)</b>教程

    立即在GitHub上搶先體驗(yàn)面向STM32U5的最新STM32Cube HAL更新

    其滿足您的需求。 如何獲取預(yù)覽版本 面向STM32U5系列的STM32Cube HAL2預(yù)覽版已在GitHub代碼庫STM32CubeU5-V2-Preview中開放。 更新后的HAL2有哪些新功能? HAL2在原有HAL的基礎(chǔ)
    的頭像 發(fā)表于 10-20 17:12 ?668次閱讀

    scons --target=mdk5編譯不成功如何解決?

    使用scons —target=mdk5編譯不成功,報(bào)錯(cuò)如下: scons --target=mdk5 scons: Reading SConscript files ... UV4.exe
    發(fā)表于 09-26 07:20

    數(shù)據(jù)庫慢查詢分析與SQL優(yōu)化實(shí)戰(zhàn)技巧

    今天,我將分享我在處理數(shù)千次數(shù)據(jù)庫性能問題中積累的實(shí)戰(zhàn)經(jīng)驗(yàn),幫助你系統(tǒng)掌握慢查詢分析與SQL優(yōu)化的核心技巧。無論你是剛?cè)腴T的運(yùn)維新手,還是有一定經(jīng)驗(yàn)的工程師,這篇文章都將為你提供實(shí)用的解決方案。
    的頭像 發(fā)表于 09-08 09:34 ?674次閱讀

    Linux服務(wù)器性能調(diào)優(yōu)的核心技巧和實(shí)戰(zhàn)經(jīng)驗(yàn)

    如果你正在為這些問題頭疼,那么這篇文章就是為你準(zhǔn)備的!作為一名擁有10年經(jīng)驗(yàn)的運(yùn)維工程師,我將毫無保留地分享Linux服務(wù)器性能調(diào)優(yōu)的核心技巧和實(shí)戰(zhàn)經(jīng)驗(yàn)。
    的頭像 發(fā)表于 08-27 14:36 ?743次閱讀

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

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

    移動(dòng)電源EMC整改:認(rèn)證失敗到一次通過的實(shí)戰(zhàn)經(jīng)驗(yàn)

    深圳南柯電子|移動(dòng)電源EMC整改:認(rèn)證失敗到一次通過的實(shí)戰(zhàn)經(jīng)驗(yàn)
    的頭像 發(fā)表于 05-26 11:25 ?599次閱讀
    移動(dòng)電源EMC整改:認(rèn)證失敗到一次通過的<b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b>

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

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

    訓(xùn)練好的ai模型導(dǎo)入cubemx不成功怎么處理?

    訓(xùn)練好的ai模型導(dǎo)入cubemx不成功咋辦,試了好幾個(gè)模型壓縮了也不行,ram占用過大,有無解決方案?
    發(fā)表于 03-11 07:18

    DLPC3478初始化不成功是什么原因?

    : https://www.ti.com/tool/DLP3010EVM-LC 啟動(dòng)時(shí)候系統(tǒng)上電成功 但是沒有VOFS,VRST,VBIAS均為0V,這是什么原因呢?初始化不成功 是怎么回事我們應(yīng)該怎么做呢 我們沒有接 3478 2005 3010,
    發(fā)表于 02-21 09:47

    燒錄DLP4500 FIRMWARE的過程中一直不成功,什么原因?

    我在燒錄DLP4500 FIRMWARE的過程中一直不成功,總是在最后一步停止不動(dòng),顯示download completed in xxxxxx,但進(jìn)度一直是0%不動(dòng),如圖,請問這個(gè)問題如何解決?
    發(fā)表于 02-21 07:57

    使用DAC7760的幀錯(cuò)誤檢查功能,試過幾次,一直不成功是哪里出了問題?

    想使用DAC7760的幀錯(cuò)誤檢查功能,試過幾次,一直不成功,有沒有好心的網(wǎng)友能提供一下DAC7760的CRC校驗(yàn)碼生成的算法,或者給出幾個(gè)普通的發(fā)送信息和它對應(yīng)的校驗(yàn)碼。
    發(fā)表于 01-15 07:20

    提升開關(guān)電源效率的理論分析實(shí)戰(zhàn)經(jīng)驗(yàn)

    在這里有電源技術(shù)干貨、電源行業(yè)發(fā)展趨勢分析、最新電源產(chǎn)品介紹、眾多電源達(dá)人與您分享電源技術(shù)經(jīng)驗(yàn),關(guān)注我們,與中國電源行業(yè)共成長! 提升開關(guān)電源效率的理論分析實(shí)戰(zhàn)經(jīng)驗(yàn) 引言 開關(guān)電源設(shè)
    的頭像 發(fā)表于 01-09 10:04 ?1855次閱讀
    提升開關(guān)電源效率的理論<b class='flag-5'>分析</b>與<b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b>

    ADS1262寄存器的寫入不成功是什么原因?

    最近在調(diào)ADS1262,spi通信時(shí)序用的就是之前調(diào)1248的時(shí)序,沒有問題。但是在調(diào)1262的時(shí)候,對寄存器的寫入不成功,設(shè)置以AINCOM作為恒流源輸出,1ma電流,然而流經(jīng)2.4k電阻后電壓
    發(fā)表于 12-30 07:46