大多數(shù)32位MCU都有一項非常實用的功能——內(nèi)部集成了一個溫度傳感器,這個溫度傳感器產(chǎn)生一個隨溫度線性變化的電壓VTS。
因為是內(nèi)置, 測試的當(dāng)然是芯片內(nèi)部溫度, 這對控制芯片發(fā)熱和保障MCU健康運(yùn)行非常重要。對于一些惡劣的應(yīng)用環(huán)境,可以通過檢測芯片內(nèi)部而感知設(shè)備的工作環(huán)境溫度, 如果溫度過高或者過低,就觸發(fā)進(jìn)入睡眠狀態(tài)或者停止運(yùn)轉(zhuǎn),以提高設(shè)備運(yùn)行的可靠性。
圖1. AT32單片機(jī)芯片內(nèi)含溫度傳感器
如果芯片外接負(fù)載不變,那么芯片的發(fā)熱也基本穩(wěn)定,相對于外界的溫度而言,溫度變化值也是基本穩(wěn)定的。就是說,也可以用MCU芯片的內(nèi)置傳感器來測量外界環(huán)境的溫度。以下以AT32 MCU為例,說明內(nèi)置溫度傳感器應(yīng)用和評估測試方法,并提供測試數(shù)據(jù)供使用者設(shè)計參考。
內(nèi)部傳感器特性
AT32單片機(jī)芯片內(nèi)含溫度傳感器,它產(chǎn)生一個隨溫度線性變化的電壓,在內(nèi)部被連接到ADC1_IN16的輸入通道上,用于將傳感器的輸出轉(zhuǎn)換到數(shù)字?jǐn)?shù)值。
圖2. AT32 MCU的溫度傳感器特性
以AT32F413為例,只要遵守以下公式,即可求得目前溫度傳感器量測出的溫度:
溫度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25
這里:V25 = VSENSE在25 °C時的數(shù)值,Avg_Slope = 溫度與VSENSE曲線的平均斜率(單位為mV/°C),VSENSE為溫度傳感器經(jīng)由ADC轉(zhuǎn)換出的電壓換算成mV,再依照上述公式,只要將V25帶入典型值1280mV,Avg_Slope帶入-4.20mV/°C即可求得。
圖3為套用典型值計算出的溫度與傳感器輸出電壓(VSENSE)的特性曲線。
圖3. VSENSE對溫度理想曲線圖
應(yīng)用此溫度傳感器需注意因生產(chǎn)過程的變化,每個芯片的溫度傳感器V25具有相對大的偏移,若以Avg_Slope典型值來換算相當(dāng)于47.6°C,最小值與最大值一般會有最多200mV的誤差。因此,內(nèi)部溫度傳感器更適合于檢測溫度的變化,而不是測量絕對的溫度。
內(nèi)部溫度傳感器的使用
AT32芯片的溫度傳感器在內(nèi)部被連接到ADC1_IN16的輸入通道上,用于將傳感器的輸出轉(zhuǎn)換到數(shù)字?jǐn)?shù)值。這個數(shù)值為溫度的變化數(shù),而非絕對溫度。
AT32芯片溫度傳感器為內(nèi)部弱電壓源,ADC進(jìn)行采樣時需要足夠時間讓VSENSE輸出為采樣電路達(dá)到充放電平衡而穩(wěn)定,使用者需確實遵照數(shù)據(jù)手冊中的TS_TEMP參數(shù)為內(nèi)部溫度傳感器設(shè)置足夠的采樣時間,以獲得正確的轉(zhuǎn)換數(shù)值。
在3.6V、3.3V和2.6V操作電壓下,不同AT32溫度傳感器的Avg_Slope在各電壓條件下幾乎一致。但細(xì)部分析,就發(fā)現(xiàn)各芯片V25參數(shù)之間具有相對較大的差異,這是造成AT32溫度傳感器量測與實際溫度徧差的主要原因。若以軟件校正偏移量(offset)后或僅作為相對溫度量測時,在芯片全溫度-40到105°C操作范圍內(nèi),溫度誤差(線性度)可以達(dá)到±2°C之內(nèi)。
但若未做偏移校正或用以量測絕對溫度,因溫度傳感器本身架構(gòu)于芯片生產(chǎn)過程的變化,溫度變化曲線的偏移在不同芯片上會有明顯差異。因此,建議AT32芯片內(nèi)部溫度傳感器僅用作檢測溫度的變化,而不是測量絕對的溫度。如果需要測量精確的溫度值,應(yīng)該使用一個外置的溫度傳感器。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17229瀏覽量
351967 -
溫度傳感器
+關(guān)注
關(guān)注
48文章
2963瀏覽量
156241
發(fā)布評論請先 登錄
相關(guān)推薦
評論