摘要:數字溫度傳感器因其低成本、易使用、無需校準等特點近年來得到廣泛應用,其中以DS18B20為代表。目前常用的數字溫度傳感器與傳統的鉑溫度傳感器相比,測量精度還不夠高。本文介紹的TSic系列的精度可達到±0.07℃,并且具有長期穩定性。
引言
TSic是IST(InnovativeSensorTechnology)公司單總線溫度傳感器IC的注冊商標。TSic產品系列由集成芯片和已校準的溫度傳感器組成,內部集成了用于模擬或數字信號輸出的信號轉換器。TSic系列的測量精度為±0.5~±0.07℃,是目前精度*的數字溫度傳感器IC,優于DINY(1/3DINB)鉑傳感器的精度。信號分辨率為0.1~0.004℃。TSic不僅有出色的精度,而且具有長期穩定性。IST公司還提供TSic的精度范嗣偏移定制校準服務。
TSic系列有標準0~1V模擬電壓輸出、比例10%~90%V+電壓輸出和11位數字信號輸出3種方式,用戶可根據自己的需求選擇適用的型號。TSic的低功耗(典型值為30μA)使其非常適合移動應用。TSic還有無需校準、轉換速度快(100ms)和易使用等優點。
1、計算公式和通信協議
1.1TSic輸出信號的計算公式
◆數字輸出:T=(Digital_signal/2047×(HT~LT)+LT)℃
◆模擬輸出信號:T=(Sig[Volt]×(HT-LT)+LT)℃
◆比例輸出信號:T=((Sig[V]/VDD[V]-0.1)/0.8×(HT-LT)+LT)℃
不同的型號有不同的LT和HT,例如精度±0.1℃的TSic50x,其LT=-10,HT=60。
1.2用于TSic的ZACwire通信協議
ZACwire是一種單線雙向通信協議。位編碼類似于時鐘信號嵌入數據信號中的曼徹斯特編碼(信號的下降沿以固定周期產生)。這樣協議對兩個IC之間通信時波特率的差異就很不敏感。
在終端用戶應用中,TSic傳送溫度信息,另一個IC(通常是MCU)通過ZACwire讀溫度數據。
TSic發送長度為1字節的數據包。這些包由1個起始位、8個數據位和一個奇偶校驗位組成。常用的波特率是8kbps(125μs位寬)。信號的常態是高電平。當傳輸開始,起始信號發生,緊接著是數據位(先高后低),包的結尾是偶校驗位。ZACwire數據包如圖1所示。
Tsic提供11位分辨率的溫度數據,11位數據不能在單個包中傳遞。一個來自TSic的完整溫度數據包由2個包組成。第1個包包含高3位溫度信息,第2個包包含低8位溫度信息。在第1個傳輸包的末端和第2個傳輸包的開始之間有一個寬度為二分之一信號位寬的高信號,即停止位。來自TSic的全ZACwire溫度數據包如圖2所示。
ZAcwire的位格式是占空比編碼。起始位:50%占空比,用于設置閘門時間。邏輯1:75%占空比。邏輯0:25%占空比。停止位:信號高電平,持續半位寬度時間。在包中的字節之間有一個半停止位時間。ZACwire位編碼時序如圖3所示。
2、硬件設計
圖4是某個應用中與TSic相關部分的電路圖。
圖中溫度傳感器U2的圖標借用了晶體管的圖標,該設計兼容DS18B20和TSic,如果使用TSic則不接R2。引腳2是數據線,引腳3是傳感器的電源。
傳感器的電源沒有直接接到VCC,原因如下:MCU可以用中斷方式或查詢方式讀TSic的數據。當連接ZACwire信號到MCU的引腳時,能夠在起始位的下降沿引發一個中斷,使MCU轉向中斷服務程序ISR。當使用查詢方式時,MCU必須發起讀溫度操作,這可以用MCU的一個引腳提供電源到TSic來實現。當MCU要讀溫度時,該引腳首先給TSic供電,大約65~85ms后它將收到一個溫度數據包。這種開關TSic的方法有額外的好處,就像掉電模式,可以將靜態電流從通常的45μA減小到0。
TSic是一種混合信號IC,需要低噪聲供電。通過MCU的引腳供電易受MCU電源的數字噪聲的影響,因此要在MCU的供電引腳加一個RC濾波器,即圖4中的R1和C,C盡可能接近TSicV+和地。
在裝配時要特別注意安裝工藝會影響精度。SOP-8封裝適用于PCB自動組裝,但是回流焊工藝會影響已校準的精度。為了用這種封裝實現高精度,IST公司提供組裝后的校準。在小批量應用中應選用TO92封裝,使用冷連接工藝安裝。TO92封裝還可以裝在不銹鋼探頭中。
為TSic提供電源的MCU引腳要由一個強CMOS推挽驅動器來驅動,圖4中用P3.5為TSic供電。STC11L16XE是可以選擇端口工作模式的,可以將P3.5配置為強推挽輸出模式。經實驗ZACwire線用普通的8051端口就可以。
3、軟件設計
3.1怎樣讀包
測量起始位下降沿和上升沿之間的時間,該時間(Tstrobe)就是選通時間,其寬度為位寬度(bitwindow)的一半。再等待一個Tstrobe的時間,即在下一個下降沿,開始采樣ZACwire信號。因為每個位都以一個下降沿開始,所以每個位的采樣窗口都會復位。這意味著從起始位開始的比特流將不會發生誤差。
建議當捕獲起始位時,ZACwire信號的采樣率至少為正常波特率的16倍。因為正常波特率是8kHz,當捕獲Tstrobe時要求zui小128kHz的采樣速率。
當起始位的下降沿產生時,它引發MCU進入一個計數循環,遞增一個內存位置,直到看見ZACwire信號的上升沿。該計數值就是Tstrobe。在獲得Tstrobe后,MCU就可以簡單地等待下面9個下降沿(8個用于數據,1個用于奇偶校驗)。在每個下降沿之后,MCU等待Tstrobe期滿,然后采樣下一個位。
下面給出一個TSic506的應用例子,使用其他型號的傳感器時測量范圍和計算公式需要調整。
3.28051C語言代碼
代碼使用查詢方式讀TSic數據。代碼中對于選通時間并沒有進行測量,而是用延時函數估計。延時函數delay_10us是用邏輯分析儀對STC11L16XE標定的,使用其他MCU需要重新標定。
4、結語
Tsic溫度傳感器與其他單總線溫度傳感器相比,具有精度高、測量范圍寬、同等分辨率下轉換速度快、操作簡單、支持模擬輸出等優點。Tsic與鉑傳感器相比,在校準范圍內精度可以更高。Tsic系列溫度傳感器IC具有*的性價比,在需要高精度測溫的場合具有良好的應用前景。