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

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

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

基于STM32U5片內(nèi)溫度傳感器正確測算溫度實(shí)戰(zhàn)經(jīng)驗(yàn)分享

STM32單片機(jī) ? 來源:STM32單片機(jī) ? 2024-02-22 17:27 ? 次閱讀

01

引言

STM32 在內(nèi)部都集成了一個溫度傳感器,STM32U5 也不例外。這個位于晶圓上的溫度傳感器雖然不太適合用來測量外部環(huán)境的溫度,但是用于監(jiān)控晶圓上的溫度還是挺好的,以防止芯片過溫運(yùn)行。

02

問題

2.1.問題詳情

某客戶在使用 STM32U575ZIT6Q 時,使用 ADC4 對內(nèi)部溫度傳感器 VSENSE進(jìn)行采樣計算,但是總覺得溫度值不對。那么,應(yīng)該如何對內(nèi)部溫度傳感器信號ADC 采樣進(jìn)行計算以得到正確溫度值呢?

2.2. 問題分析

首先,我們應(yīng)該看一下參考手冊如何描述內(nèi)部溫度傳感器的。參考手冊說明了,未經(jīng)校準(zhǔn)的內(nèi)部溫度傳感器更適用于對溫度變化而非絕對溫度進(jìn)行測量的應(yīng)用。為了提高溫度傳感器測量的準(zhǔn)確性,ST 在生產(chǎn)過程中將校準(zhǔn)值存儲在每個器件的系統(tǒng)存儲器中,用戶可以在應(yīng)用中去讀取這些數(shù)據(jù)。

這個校準(zhǔn)值是寫在數(shù)據(jù)手冊的,如圖 1 所示。

5b14c82e-d164-11ee-a297-92fbcf53809c.jpg

圖1. 內(nèi)部溫度傳感器

這張表格告訴我們,校準(zhǔn)值 TS_CAL1 的數(shù)值位于存儲器地址 0x0BFA0710 和0x0BFA0711,也就是它是一個 16-bit 的數(shù)據(jù);同理,校準(zhǔn)值 TS_CAL2 的數(shù)值位于存儲器地址 0x0BFA0742 和 0x0BFA0743。

再回過頭來看一下參考手冊是如何描述怎么讀取內(nèi)部溫度傳感器的溫度的,如圖 2 所示。

5b1f05f0-d164-11ee-a297-92fbcf53809c.jpg

圖2. 讀取溫度傳感器

這里描述的是如何讀取內(nèi)部溫度傳感器的溫度,前面主要介紹 ADC 的配置和對溫度傳感器的采樣,最后根據(jù)得到的數(shù)據(jù)使用公式進(jìn)行計算,得到溫度值。前面的 ADC 的配置和采樣就不說了,我們主要來看一下公式的使用。

5b296b3a-d164-11ee-a297-92fbcf53809c.jpg

其中,

Temperature (in ℃) 就是內(nèi)部傳感器的當(dāng)前溫度結(jié)果;

TS_DATA 為內(nèi)部傳感器當(dāng)前溫度對應(yīng)的采樣值;

TS_CAL2_TEMP 為校準(zhǔn)值 2 的溫度值,TS_CAL2 為對應(yīng)的采樣值,對于 STM32U5來說,TS_CAL2_TEMP 為 130℃,對應(yīng)的采樣值存儲在 0x0BFA0742 和 0x0BFA0743;

TS_CAL1_TEMP 為校準(zhǔn)值 1 的溫度值,TS_CAL1 為對應(yīng)的采樣值,對于 STM32U5來說,TS_CAL1_TEMP 為 30℃,對應(yīng)的采樣值存儲在 0x0BFA0710 和 0x0BFA0711;

對于 STM32U5 來說,公式可簡化為:

5b369260-d164-11ee-a297-92fbcf53809c.jpg

那么,是不是直接讀取了 TS_CAL2 和 TS_CAL1,放到公式里,然后通過 ADC 得到TS_DATA,就可以直接算溫度了呢?接著往下看。

2.3. 問題解決

在室溫下使用 NUCLEO-U575ZI-Q 做個實(shí)驗(yàn):

讀取 0x0BFA0742 和 0x0BFA0743 得到 TS_CAL2 為 0x155D,也就是 0d5469;讀取 0x0BFA0710 和 0x0BFA0711 得到 TS_CAL1 的值為 0x102F,也就是 0d4143。

此時,由 ADC1 對內(nèi)部溫度傳感器進(jìn)行采樣轉(zhuǎn)換,得到 TS_DATA 為 0xEAA,也就是0d3754。

那么,如果直接放進(jìn)去算:

5b499586-d164-11ee-a297-92fbcf53809c.jpg

室溫下,這個 0.66℃顯然不對。

2.3.1. 使用 ADC1 測量內(nèi)部溫度傳感器的溫度值

再來看數(shù)據(jù)手冊里對校準(zhǔn)值的描述,如圖 3 所示。

5b57131e-d164-11ee-a297-92fbcf53809c.jpg

圖3. 溫度傳感器校準(zhǔn)值重要參數(shù)

這個表格有一個非常重要的參數(shù),就是 ADC1 的參考電壓,它是 3.0V,而 NUCLEOU575ZI-Q 板子的 ADC 參考電壓為 3.3V。所以,這兩個 TS_CAL1 和 TS_CAL2 對于NUCLEO-U575ZI-Q 中的 STM32U575ZIT6Q 的內(nèi)部溫度傳感器肯定是不能直接用的,需要先換算為 3.3V 參考電壓的值才行。

所以,新的值計算如下:

TS_CAL2 = 5469 × 3 / 3.3 = 4972

TS_CAL1 = 4143 × 3 / 3.3 = 3766

再回到剛才的實(shí)驗(yàn)中,計算的公式如下:

5b63e27e-d164-11ee-a297-92fbcf53809c.jpg

這次算出來的結(jié)果為 29℃就對了。

2.3.2. 使用 ADC4 測量內(nèi)部溫度傳感器的溫度值

那對于 ADC4 是否也是一樣的呢?

首先,要知道在 STM32U5 中,ADC1 為 14-bit SAR ADC,而 ADC4 為 12-bit SARADC。同樣的這塊板子,同樣的室溫下,由 ADC4 對內(nèi)部溫度傳感器進(jìn)行采樣轉(zhuǎn)換得到的值是 0x3AA,也就是 0d938。

要使用 0d938 計算溫度值,TS_CAL1 和 TS_CAL2 也要相應(yīng)轉(zhuǎn)為 12 位的數(shù)據(jù)才行。將它們由 14 位數(shù)據(jù)轉(zhuǎn)為 12 位的數(shù)據(jù),相當(dāng)于就是右移 2 位,也相當(dāng)于除以 4。

由于參考電壓仍然是 3.3V,所以針對 ADC4 的 TS_CAL2 和 TS_CAL1 應(yīng)該計算如下:

TS_CAL2 :由讀取到的 0x155D 右移 2 位,得到 0x557,也就是 0d1367,再換算成3.3V 的 。

TS_CAL2 = 1367 × 3 / 3.3 = 1243也可以直接使用上面 ADC1 例子的值來計算。

TS_CAL2 = 4972 / 4 = 1243

TS_CAL1 :由讀取到的 0x102F 右移 2 位,得到 0x40B,也就是 0d1035,再換算成3.3V 的 。

TS_CAL2 = 1035 × 3 / 3.3 = 941

也可以直接使用上面 ADC1 例子的值來計算。

TS_CAL2 = 3766 / 4 = 941

計算的公式如下:

5b758358-d164-11ee-a297-92fbcf53809c.jpg

算出來的結(jié)果也是 29℃。

03

小結(jié)

當(dāng)我們使用芯片的內(nèi)部溫度傳感器計算內(nèi)部溫度時,需注意校準(zhǔn)值是使用哪個 ADC、在什么參考電壓下得到的。當(dāng)實(shí)際應(yīng)用與內(nèi)部溫度傳感器校準(zhǔn)時所使用 ADC 及條件不一樣時,應(yīng)該對存儲單元里的校準(zhǔn)值先做計算轉(zhuǎn)化,然后才可以使用參考手冊所提供的公式進(jìn)行計算,否則將會得到錯誤值。




審核編輯:劉清

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

    關(guān)注

    48

    文章

    2892

    瀏覽量

    155784
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7430

    瀏覽量

    163514
  • 晶圓
    +關(guān)注

    關(guān)注

    52

    文章

    4815

    瀏覽量

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

    關(guān)注

    98

    文章

    6391

    瀏覽量

    543762
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

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

    關(guān)注

    0

    文章

    134

    瀏覽量

    12818

原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | 基于 STM32U5 片內(nèi)溫度傳感器正確測算溫度

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

收藏 人收藏

    評論

    相關(guān)推薦

    挑選正確溫度傳感器的方法

    引言 如果您要進(jìn)行可靠的溫度測量,就需要為您的應(yīng)用選擇正確溫度傳感器 。熱電偶、熱敏電阻、鉑電阻(RTD)和溫度IC是測試中最常用的
    發(fā)表于 10-10 14:34 ?2892次閱讀
    挑選<b class='flag-5'>正確</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>的方法

    基于STM32U5STM32CubeMX環(huán)境搭建

    基于STM32U5STM32CubeMX環(huán)境搭建
    的頭像 發(fā)表于 09-21 17:35 ?1424次閱讀
    基于<b class='flag-5'>STM32U5</b> 的 <b class='flag-5'>STM32</b>CubeMX環(huán)境搭建

    基于LL庫實(shí)現(xiàn)STM32U5 LPTIM功能

    有人打算使用STM32U5系列內(nèi)LPTIM做低功耗模式喚醒?;?b class='flag-5'>STM32 LL庫組織代碼,折騰幾天后似乎連中斷都進(jìn)不了,想找找是否有現(xiàn)存LL庫例程可以參考。
    的頭像 發(fā)表于 01-07 14:12 ?1414次閱讀
    基于LL庫實(shí)現(xiàn)<b class='flag-5'>STM32U5</b> LPTIM功能

    怎么讀取51內(nèi)溫度傳感器溫度?

    我采用的是新華龍的c8051f413,現(xiàn)在想要讀取內(nèi)溫度傳感器溫度,現(xiàn)在已經(jīng)把a(bǔ)d都配置好了,然后我配置了
    發(fā)表于 08-09 04:35

    振動傳感器項(xiàng)目外包,有實(shí)戰(zhàn)經(jīng)驗(yàn)的電子工程師聯(lián)系我。

    振動傳感器項(xiàng)目外包,有實(shí)戰(zhàn)經(jīng)驗(yàn)的電子工程師聯(lián)系我。
    發(fā)表于 12-01 12:28

    為您的應(yīng)用選擇正確溫度傳感器的技巧

    如果您要進(jìn)行可靠的溫度測量,就需要為您的應(yīng)用選擇正確溫度傳感器。了解各種溫度傳感器的優(yōu)缺點(diǎn),就
    發(fā)表于 08-05 09:47 ?37次下載

    開關(guān)電源維修方法和實(shí)戰(zhàn)經(jīng)驗(yàn)

    開關(guān)電源維修方法和實(shí)戰(zhàn)經(jīng)驗(yàn)開關(guān)電源維修方法和實(shí)戰(zhàn)經(jīng)驗(yàn)
    發(fā)表于 01-15 16:38 ?49次下載

    KE04在內(nèi)集成溫度傳感器使用方法

      KE04在內(nèi)集成了一個溫度傳感器,可以用于測量芯片本身的溫度,從而間接測量環(huán)境的溫度。
    發(fā)表于 09-15 16:37 ?16次下載
    KE04在<b class='flag-5'>片</b><b class='flag-5'>內(nèi)</b>集成<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>使用方法

    C8051單片機(jī)內(nèi)溫度傳感器測量環(huán)境溫度誤差的分析論文

    單片機(jī)內(nèi)溫度傳感器雖然成本較低:但其檢測到的是單片機(jī)的芯片溫度,如用其測量外部環(huán)境溫度,誤差較
    發(fā)表于 03-04 17:11 ?13次下載
    C8051單片機(jī)<b class='flag-5'>片</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>測量環(huán)境<b class='flag-5'>溫度</b>誤差的分析論文

    嵌入式項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)

    嵌入式項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)分享,C/C++、Linux、STM32、51單片機(jī)、FPGA、IoT、OpenCV、數(shù)字圖像處理、通信、算法!
    發(fā)表于 11-03 12:36 ?23次下載
    嵌入式項(xiàng)目<b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b>

    STM32U5系列采用LPBAM進(jìn)行電源優(yōu)化

    STM32U5系列采用LPBAM進(jìn)行電源優(yōu)化
    發(fā)表于 11-21 08:11 ?0次下載
    <b class='flag-5'>STM32U5</b>系列采用LPBAM進(jìn)行電源優(yōu)化

    STM32U5 LPBAM模式介紹

    STM32U5 LPBAM模式介紹
    的頭像 發(fā)表于 10-26 17:59 ?708次閱讀
    <b class='flag-5'>STM32U5</b> LPBAM模式介紹

    STM32U5介紹

    電子發(fā)燒友網(wǎng)站提供《STM32U5介紹.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:06 ?0次下載
    <b class='flag-5'>STM32U5</b>介紹

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

    關(guān)鍵詞:STM32U5,ADC 目錄預(yù)覽 1、引言 2、問題 3、問題解決 4、小結(jié) 01 引言 很多 STM32 系列中的 ADC 都帶有自校準(zhǔn)的功能。它提供了一個自動校準(zhǔn)的過程,用于驅(qū)動包括
    的頭像 發(fā)表于 12-10 16:45 ?1847次閱讀
    <b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b> | <b class='flag-5'>STM32U5</b> ADC 自校準(zhǔn)不成功的問題分析

    STM32項(xiàng)目實(shí)戰(zhàn):基于STM32U5的智能燈光控制系統(tǒng)(LVGL),附項(xiàng)目教程/源碼

    《智能燈光控制系統(tǒng)_STM32U5》項(xiàng)目完整文檔、項(xiàng)目源碼,點(diǎn)擊免費(fèi)領(lǐng)取。項(xiàng)目資料領(lǐng)?。篽ttps://s.c1ns.cn/F5XyUSTM32項(xiàng)目實(shí)戰(zhàn)之“智能燈光控制系統(tǒng)”(基于STM32U
    的頭像 發(fā)表于 11-07 18:50 ?269次閱讀
    <b class='flag-5'>STM32</b>項(xiàng)目<b class='flag-5'>實(shí)戰(zhàn)</b>:基于<b class='flag-5'>STM32U5</b>的智能燈光控制系統(tǒng)(LVGL),附項(xiàng)目教程/源碼