ZHCAAO7A May 2020 – August 2021 ADS1015 , TLA2024 , TMP61
| 溫度 (°C) | 電阻電壓 (mV) | TLA2024 數字輸出代碼 | TMP61 電壓 (mV) | TLA2024 數字輸出代碼 |
|---|---|---|---|---|
| -40 | 3012.5 | 3E1h | 1987.5 | 5E2h |
| 125 | 1781.1 | 649h | 3218.9 | 37Ah |
| 電源 | ||
|---|---|---|
| VDD | GND | |
| 5V | 0V | |
設計說明
該電路設計描述了一種使用線性熱敏電阻和 12 位 ADC 的溫度測量電路。TMP61 線性熱敏電阻的阻值在 –40°C 至 125°C 范圍內隨溫度變化而變化,并且在遠離 ADC 放置時可用于遠程測量。TLA2024 ADC 用于測量 TMP61 和精密電阻器兩端的電壓。利用 ADC 的內部電壓基準,該電路可作為一種緊湊的低成本、低功耗解決方案來測量溫度。該設計包含用于配置器件的 ADC 寄存器設置以及用于配置和讀取器件的偽代碼。此電路可用于 PLC 模擬輸入模塊、實驗室和現場儀表 以及工廠自動化和控制 等應用中。

設計說明
元件選型
TMP61 的溫度測量范圍為 –40°C 至 125°C。在此溫度范圍內,TMP61 的電阻在 6537Ω 至 17853Ω 之間變化,具有正溫度斜率。該范圍用于在 ADC 的滿量程范圍條件下,最大限度地提高測量的分辨率。
下圖顯示了 TMP61 電阻的傳遞函數。

雖然該傳遞函數不是完全線性的,但它比標準 PTC 熱敏電阻具有更高的線性度。如前所述,需要使用查找表或多項式方程來根據電阻確定溫度。
更多有關 TMP61 熱敏電阻溫度轉換的信息,請下載熱敏電阻設計工具。該工具包含電阻表、示例溫度轉換方法和代碼示例。
為進行測量,由 TMP61 和精密電阻器 (R1) 組成一個分壓器并使用電源。

首先,ADC 使用 TLA2024 多路復用器的一個通道測量 R1 兩端的電壓。在兩次測量中,先測量已知電阻,依此確定 TMP61 的阻值。然后,ADC 使用第二個通道測量 TMP61 兩端的電壓。這兩次測量會產生兩個輸出 ADC 代碼。
由于 R1 電阻是已知的,TMP61 的電阻可以根據兩次 ADC 測量的輸出代碼之比計算得出。R1 用作熱敏電阻阻值的比較基準,因此該電阻必須準確。電阻有任何誤差都會導致測量 TMP61 電阻時出現誤差。
為方便起見,選擇 R1 的基準電阻值作為 10kΩ。TMP61 在 25°C 時的室溫電阻也約為 10kΩ。在此溫度下,熱敏電阻接近溫度范圍的中點。如果 25°C 是中點,則電阻測量值和 TMP61 在整個溫度范圍內都具有類似的電壓幅度。下圖顯示了 R1 和 TMP61 兩端的電壓與溫度的關系。

R1 和 TMP61 的電壓在大約 1.8V 到 3.2V 之間變化。即使 R1 的電壓發生變化,已知電阻仍保持 10kΩ 的恒定值。將該電壓的測量值與 TMP61 電壓的測量值進行比較,以計算電阻之間的比率。
TLA2024 具有通過縮放電容采樣實現的可編程增益放大器 (PGA),這并非真正的放大器。通過此 PGA,輸入范圍可擴展為整個電源范圍,并為 ADC 提供六個不同的滿量程范圍 (FSR) 設置選項。為了最大限度地提高分辨率,請選擇包含溫度測量范圍的最小 ADC 滿量程范圍。
根據 –40°C 至 125°C 的溫度范圍,您可以確定兩個電阻元件兩端的電壓。第一次測量的 10kΩ 電阻兩端電壓在 3012.5mV 至 1781.1mV 范圍內。相反,第二次測量的 TMP61 電壓在 1987.5mV 至 3218.9mV 范圍內。在這些電壓范圍內,±4.096V FSR 可用于同時測量電阻器和 TMP61。兩者使用相同的 ADC 和 FSR,因此測量間的增益誤差差異非常小。使用此設置,R1 和 TMP61 的溫度測量范圍涵蓋 616 個代碼。由此得出的基本分辨率近似為每個代碼 0.27°C。
電阻器具有相同的電流,因此 ADC 輸出代碼與電阻成正比。不需要計算輸出電壓,TMP61 的電阻可以根據兩次測量的 ADC 代碼之比計算得出。
TLA2024 16 位 ADC 會以差分方式報告數據。即使使用 ADC 進行單端測量,ADC 也會將數據報告為差分數據。單端測量具有 15 位的分辨率。
配置寄存器設置
配置寄存器會設置 ADC 的操作模式和配置。配置包括前面各節中描述的所有設置。在 16 個位之間使用六個字段來配置器件。下表顯示了配置寄存器字段描述以及位名稱和位置、讀寫用法和復位值。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
|---|---|---|---|---|---|---|---|
| 操作系統 | MUX[2:0] | PGA[2:0] | MODE | ||||
| R/W-1h | R/W-0h | R/W-2h | R/W-1h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DR[2:0] | 保留 | ||||||
| R/W-4h | 始終寫入 03h | ||||||
OS 位會設置操作狀態并啟動單次轉換。MUX[2:0] 位會設置輸入多路復用器以選擇模擬輸入。MODE 位會將器件設置為單沖轉換模式。DR[2:0] 位會設置器件的數據速率。有關配置寄存器的詳細信息,請參閱《TLA202x 成本經優化的超小型、12 位、系統監控 ADC》數據表。
對于此應用,首先設置 ADC 來測量 R1 兩端的電壓,并使用多路復用器在 AIN0 和 AIN1 之間測量。FSR 設為 ±4.096V,數據速率為 1600SPS。TLA2024 中配置寄存器字段的設置如下表所示。
| 位 | 字段 | 設置 | 說明 |
|---|---|---|---|
| 15 | 操作系統 | 1 | 開始轉換 |
| 14:12 | MUX[2:0] | 000 101 |
單端輸入測量,AINP – AINN = AIN0 – AIN1,首次測量 R1 差分輸入測量,AINP – AINN = AIN1 – GND,第二次測量 TMP61 |
| 11:9 | PGA[2:0] | 001 | FSR = ±4.096V,將 ADC 設置為能夠測量 0V 至 VDD 的整個電源范圍 |
| 8 | MODE | 1 | 單沖轉換模式下的運行 |
| 7:5 | DR[2:0] | 100 | 數據速率 = 1600SPS |
| 4:0 | 保留 | 00011 | 始終寫入 03h |
結合字段描述中的這些位,配置寄存器值為 1000 0011 1000 0011 或 8383h。這會配置對 R1 電阻器的第一次測量。
然后在第二次測量中,將多路復用器設置為測量 TMP61 兩端的電壓。在這次測量中,唯一的變化是將輸入設置為在 AIN1 和 GND 之間測量,作為單端測量。配置寄存器設置為 1101 0011 1000 0011 或 D383h。
TLA2024 的通道循環
TLA2024 具有四個模擬輸入通道,它們來自連接到 ADC 的可配置多路復用器。溫度測量只需在 TLA2024 的 AIN0 和 AIN1 輸入進行即可(一次差分測量和一次單端測量)。但是,也可以添加最后兩個通道來循環執行所有測量。
為進行上述測量,ADC 經編程可循環使用所有通道,啟動每一轉換過程,等待轉換完成,然后讀回數據。然后,開始下個通道的轉換過程。在移動到下一個通道之前,對四個單端輸入通道重復每次測量。
在系統中重復此序列會循環使用所有通道。寫入配置寄存器會啟動轉換并將 ADC 配置為正確的運行模式。通信從寫入器件的 I2C 從器件地址開始。I2C 寫入后跟三個字節。第一個字節是 01h,用以指示配置寄存器。接下來的兩個字節是寫入配置寄存器的數據。下表中顯示了設置 R1 電阻器測量的四個字節的完整通信。
| I2C 地址: 1001000 寫入 |
地址指針: 配置寄存器 |
配置 MSB:開始轉換、設置輸入、FSR、單沖模式 | 配置 LSB:128SPS, 比較器已禁用 |
|---|---|---|---|
| 1001 0000 | 0000 0001 | 1000 0011 | 1000 0011 |
然后,主器件等待轉換完成。在本示例中,TLA2024 器件設置為默認數據速率 1600SPS。該器件使用內部振蕩器,因此數據速率存在一些變化。為確保在 ADC 完成轉換后讀取器件,微控制器需等待轉換完成所需的最長時間。該等待時間是標稱數據周期加上 10%(用以補償器件的內部振蕩器變化)。對于每次單沖轉換,ADC 喚醒時間都額外增加 20μs。使用以下公式計算總等待時間。
例如,如果器件以 1600SPS 運行,則標稱數據周期為 625μs。所需的等待時間將為:
讀取器件從寫入轉換寄存器 (00h) 的寄存器指針開始,然后從同一 I2C 地址再次讀取兩個字節。下面顯示了在首次配置 ADC 之后讀取 R1 電阻器測量數據。五個字節的完整通信如下表所示。
| I2C 地址: 1001000 寫入 |
地址指針: 轉換數據寄存器 |
I2C 地址: 1001000 讀取 |
讀取轉換數據 MSB | 讀取轉換數據 LSB |
|---|---|---|---|---|
| 1001 0000 | 0000 0000 | 1001 0001 | xxxx xxxx | xxxx xxxx |
收集 R1 的數據后,TLA2024 被配置為測量 TMP61 兩端的電壓。下表中顯示了設置 TMP61 測量的四個字節的通信。
| I2C 地址: 1001000 寫入 |
地址指針: 配置寄存器 |
配置 MSB:開始轉換、設置輸入、FSR、單沖模式 | 配置 LSB:128SPS, 比較器已禁用 |
|---|---|---|---|
| 1001 0000 | 0000 0001 | 1101 0011 | 1000 0011 |
等待 ADC 完成轉換后,使用相同的前五個字節讀取轉換數據寄存器來檢索上表中所示的數據。剩余的其他 TLA2024 通道可以通過重復此序列以任意順序循環。
測量轉換
如前所述,ADC 數據不需要轉換為電壓。ADC 輸出代碼之比相當于 R1 和 TMP61 電阻之比。使用從 R1 測量獲得的 OutputCode1 和從 TMP61 測量獲得的 OutputCode2,可以通過以下公式計算 TMP61 電阻:
請注意,對于 TLA2024,數據格式為 12 位,右側填充了 4 位零。滿量程讀數為 7FFh,將從轉換寄存器 7FF0h 中讀取。
若要將 TMP61 從電阻轉換為溫度,請下載熱敏電阻設計工具。使用該工具,可以通過查找表、四階多項式或 Steinhart-Hart 方程進行計算,從而進行轉換。
偽代碼示例
以下示例顯示了偽代碼序列以及設置器件和微控制器所需的步驟,該微控制器與 ADC 相連,以便在單沖轉換模式下從 TLA2024 獲取后續讀數。ADC 首先讀取的是基準電阻器 R1,使用 AIN0 和 AIN1 的差分測量。使用最大數據周期獲取數據,留出喚醒器件、配置 ADC、進行單次轉換和設置其他 ADC 測量的時間。然后使用類似方法對 TMP61 使用單端測量 AIN1,以進行第二次測量。其他測量通道以類似方式用于寫入配置寄存器和開始轉換,等待轉換完成,然后回讀轉換。
Configure microcontroller for I2C communication, I2C address=1001000 (48h)
Loop
{
Send 90h 01h 83h 83h // Measure R1 voltage as Data1
// 開始寫入地址 48h,寫第 0 位 (90h)
// 配置寄存器 01h
// 設置 8383h,AIN0-AIN1,FSR=±4.096V,單沖轉換,DR=1600SPS,停止
Wait 708us // 等待數據周期,+10% 補償內部振蕩器變化,+20us
Send 90h 00h 91h xxh xxh // Read back ADC conversion data
// 開始寫入地址 48h,寫第 0 位 (90h)
// 轉換寄存器 00h,停止
// 開始從地址 48h 讀取,讀第 1 位 (91h)
// 讀回 2 個字節,停止
Send 90h 01h 83h 83h // Measure TMP61 voltage as Data2
// 開始寫入地址 48h,寫第 0 位 (90h)
// 配置寄存器 01h
// 設置 D383h,AIN1-GND,FSR=±4.096V,單沖轉換,DR=1600SPS,停止
Wait 708us // 等待數據周期,+10% 補償內部振蕩器變化,+20us
Send 90h 00h 91h xxh xxh // Read back ADC conversion data
// 開始寫入地址 48h,寫第 0 位 (90h)
// 轉換寄存器 00h,停止
// 開始從地址 48h 讀取,讀第 1 位 (91h)
// 讀回 2 個字節,停止
// 將 TMP61 的電阻計算為 R_TMP61
Calculate R_TMP61 from 10kOhms*Data2/Data1
// 使用熱敏電阻設計工具中的示例代碼將 R_TMP61 轉換為溫度
// 從 AIN2 和 AIN3 的測量(可選)
Send configuration for channel 2
Wait for conversion to complete
Read channel 2
Send configuration for channel 3
Wait for conversion to complete
Read channel 3
}
布局示例
下面顯示了 TLA2024 器件和 TMP61 的布局示例。使用 0402 電容器為 ADC 放置旁路電容。生成的布局約為 200mil×225mil。此測量未考慮 I2C 上拉電阻器。
布局示例設計中采用的器件
| 器件 | 關鍵特性 | 鏈接 | 其他可能的器件 |
|---|---|---|---|
| TLA2024 | TLA202x 成本經優化的超小型、12 位、系統監控 ADC | http://www.cqwzaes.cn/product/cn/TLA2024 | 指向類似器件的鏈接 指向類似 SPI 器件的鏈接 |
| TMP61 | TMP61 ±1% 10-kΩ 線性熱敏電阻,帶 0402 和 0603 封裝選件 | http://www.cqwzaes.cn/product/cn/TMP61 |
設計參考資料
請參閱《模擬工程師電路設計指導手冊》,了解 TI 的綜合電路庫。
其他資源
如需 TI 工程師提供直接支持,請登陸 E2E 社區:
TI e2e.ti.com