<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

基于STM32U5片內溫度傳感器正確測算溫度實戰經驗分享

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

01

引言

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

02

問題

2.1.問題詳情

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

2.2. 問題分析

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

這個校準值是寫在數據手冊的,如圖 1 所示。

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

圖1. 內部溫度傳感器

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

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

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

圖2. 讀取溫度傳感器

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

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

其中,

Temperature (in ℃) 就是內部傳感器的當前溫度結果;

TS_DATA 為內部傳感器當前溫度對應的采樣值;

TS_CAL2_TEMP 為校準值 2 的溫度值,TS_CAL2 為對應的采樣值,對于 STM32U5來說,TS_CAL2_TEMP 為 130℃,對應的采樣值存儲在 0x0BFA0742 和 0x0BFA0743;

TS_CAL1_TEMP 為校準值 1 的溫度值,TS_CAL1 為對應的采樣值,對于 STM32U5來說,TS_CAL1_TEMP 為 30℃,對應的采樣值存儲在 0x0BFA0710 和 0x0BFA0711;

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

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

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

2.3. 問題解決

在室溫下使用 NUCLEO-U575ZI-Q 做個實驗:

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

此時,由 ADC1 對內部溫度傳感器進行采樣轉換,得到 TS_DATA 為 0xEAA,也就是0d3754。

那么,如果直接放進去算:

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

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

2.3.1. 使用 ADC1 測量內部溫度傳感器的溫度值

再來看數據手冊里對校準值的描述,如圖 3 所示。

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

圖3. 溫度傳感器校準值重要參數

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

所以,新的值計算如下:

TS_CAL2 = 5469 × 3 / 3.3 = 4972

TS_CAL1 = 4143 × 3 / 3.3 = 3766

再回到剛才的實驗中,計算的公式如下:

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

這次算出來的結果為 29℃就對了。

2.3.2. 使用 ADC4 測量內部溫度傳感器的溫度值

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

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

要使用 0d938 計算溫度值,TS_CAL1 和 TS_CAL2 也要相應轉為 12 位的數據才行。將它們由 14 位數據轉為 12 位的數據,相當于就是右移 2 位,也相當于除以 4。

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

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

算出來的結果也是 29℃。

03

小結

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




審核編輯:劉清

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

    關注

    48

    文章

    2667

    瀏覽量

    154592
  • 存儲器
    +關注

    關注

    38

    文章

    7212

    瀏覽量

    162306
  • 晶圓
    +關注

    關注

    52

    文章

    4616

    瀏覽量

    126600
  • adc
    adc
    +關注

    關注

    95

    文章

    5670

    瀏覽量

    540121
  • STM32
    +關注

    關注

    2245

    文章

    10685

    瀏覽量

    349499
  • ADC采樣
    +關注

    關注

    0

    文章

    134

    瀏覽量

    12730

原文標題:實戰經驗 | 基于 STM32U5 片內溫度傳感器正確測算溫度

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

收藏 人收藏

    評論

    相關推薦

    如何挑選正確溫度傳感器

    ℃的高溫?! ?b class='flag-5'>5 結語  我們已討論了各類常用溫度傳感器的優點和缺點。如果您了解必須的權衡,為您的應用仔細選擇正確傳感器,您就能避免常見的
    發表于 07-14 08:54

    溫度傳感器概述

      熱敏電阻式溫度傳感器是用陶瓷半導體材料摻人適量氧化物,根據所需要的形狀,在高溫下燒結而成的溫度系數很大的電阻體制成。在工作范圍,按陶瓷半導體的電阻與
    發表于 10-30 15:59

    如何挑選正確溫度傳感器?

    ,并可能造成熱負載?!  ぐ?b class='flag-5'>溫度IC用于接近室溫的場合。這是它最流行的應用。雖然測量范圍有限,但也能測量150℃的高溫?! ?b class='flag-5'>5 結語  我們已討論了各類常用溫度傳感器的優點和缺點。如果
    發表于 11-13 10:42

    怎么讀取51溫度傳感器溫度?

    我采用的是新華龍的c8051f413,現在想要讀取溫度傳感器溫度,現在已經把ad都配置好了,然后我配置了
    發表于 08-09 04:35

    數字溫度傳感器芯片HX710

    器件。HX710A 的數字溫度傳感器可直接讀出芯片,即系統
    發表于 06-06 10:39

    STM32內部溫度傳感器簡介

    STM32 內部溫度傳感器1、 STM32 內部溫度傳感器簡介
    發表于 12-06 06:40

    STM32內部溫度傳感器概述

    記錄一下,方便以后翻閱~主要內容:1)STM32內部溫度傳感器概述;2)相關實驗代碼解讀。實驗功能:系統啟動后,實時將內部溫度傳感器的值傳至
    發表于 12-10 06:11

    STM32內部溫度傳感器簡介

    .概述內部ADC及溫度傳感器采集MCU內部電壓及溫度:MCU內部ADC及傳感器獲取電壓及溫度值使用數碼管或LED點陣或串口等顯示獲取到的電壓
    發表于 12-17 06:21

    STM32內部溫度傳感器的相關資料分享

    推薦采樣時間是17.1 u s。STM32的內部溫度傳感器支持的溫度范圍為:-40~125度。精度比較差,為±1.5°C左右。注:V25在
    發表于 01-10 08:12

    基于STM32+TC77溫度傳感器的設計資料分享

    【項目分享】基于STM32設計溫度傳感器本次設計涉及的一些器件STM32103R6TC77溫度傳感器
    發表于 02-22 07:50

    振動傳感器項目外包,有實戰經驗的電子工程師聯系我。

    振動傳感器項目外包,有實戰經驗的電子工程師聯系我。
    發表于 12-01 12:28

    為您的應用選擇正確溫度傳感器的技巧

    如果您要進行可靠的溫度測量,就需要為您的應用選擇正確溫度傳感器。了解各種溫度傳感器的優缺點,就
    發表于 08-05 09:47 ?37次下載

    開關電源維修方法和實戰經驗

    開關電源維修方法和實戰經驗開關電源維修方法和實戰經驗
    發表于 01-15 16:38 ?47次下載

    STM32 應用實戰經驗篇推薦閱讀

    近日,ST官方技術部門又推出了3篇針對STM32應用開發的實戰經驗篇,分享給各位ST MCU使用者。在此我對這三篇文章內容作個簡介,細節可自行去ST官方相關網站下載,文章結尾會介紹。 第一篇是介紹
    發表于 11-29 17:42 ?399次閱讀

    嵌入式項目實戰經驗

    嵌入式項目實戰經驗分享,C/C++、Linux、STM32、51單片機、FPGA、IoT、OpenCV、數字圖像處理、通信、算法!
    發表于 11-03 12:36 ?23次下載
    嵌入式項目<b class='flag-5'>實戰經驗</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>