張 帥,徐 偉,王克家,曹巍巍
(哈爾濱工程大學,信息與通信工程學院,哈爾濱 150001)
隨著現代化技術的不斷發展,在檢測領域中經常要對溫度進行實時監測,如何找到一種高精度,穩定性好的檢測溫度值的方法是當前的研究熱點,傳統的檢測方法如采用熱敏電阻或者熱電偶的方法進行測量時,設計者須考慮的線路環節較多,相應測溫裝置中元器件數量難以下降,隨之影響產品的可靠性以及體積的微小化,由此會造成整個檢測系統有較大的偏差,穩定性和抗干擾性能都較差.針對傳統方法測量溫度數值的缺陷,使用 DS18B20數字式溫度傳感器采集溫度值,主控芯片采用 TI公司 MSP430F149單片機,DS18B20數字式溫度傳感器直接得到溫度的數字量,在其內部完成了模擬到數字的轉換,處理后的數字信號直接與單片機的數字 IO連接,不存在由于傳輸等因素而造成的誤差與損失,其穩定性和抗干擾性能與傳統的測量方法相比有較大的提高,且系統結構簡單,MSP430F149的多組數字 IO使系統的擴展性得到顯著的增強[1].上位機顯示部分,采用 NI的作為顯示界面開發平臺,LabVIEW是一個劃時代的圖形化編程系統,應用于數據采集與控制、信號分析,提供了一個便捷、輕松的圖形化設計環境,由于其靈活、簡單易用、開發效率高等特點,正逐漸成為科技工作者進行儀器應用與開發的得力工具,通過MSP430F149串口與虛擬儀器進行通訊可以大大降低產品的成本,提高虛擬儀器的利用率,本文通過計算機串口與上位機進行串行通信,實現溫度的實時測量與控制.
圖1為系統硬件組成框圖,由 DS18B20數字溫度傳感器,混合信號處理器 MSP430F149,RS-232以及上位機組成.利用溫度傳感器測量出的溫度值轉換成數字量,單片機對溫度信號進行采集,處理和轉換,通過 RS-232串口將處理后的數據送給計算機,上位機 LabVIEW對傳送的數據進行處理及溫度的顯示.

圖1 系統硬件組成框圖
DS18B20是美國 DALLAS公司推出的一款可組網數字式溫度傳感器.采用 1-Wire總線接口,測溫范圍為 -55~+125℃,精度可達 0.067 5℃,最大轉換時間為 200 ms.DS18B20數字溫度傳感器的內部結構如圖2所示,其主要由 4部分組成:

圖2 DS18B 20內部結構圖
1)64位 ROM.64位激光 ROM,開始 8位是產品類型編碼,接著的 48位是每個器件惟一的序號,最后 8位是前面 56位的 CRC(循環冗余校驗)碼.
2)溫度靈敏元件.
3)非易失性溫度報警觸發器 TH與 TL.可通過軟件寫入用戶報警的上下限值.
4)配置寄存器.配置寄存器為中間結果暫存器中的字節.配置寄存器可以設置 DS18B20溫度轉換的精度.可以設置成精度為 9位、10位、11位、12位.上電缺省的分辨率為 12位精度.用戶可根據需要改寫配置寄存器以獲得合適的分辨率,因此它的實用性和可靠性比同類產品更高.
MSP430F14X微控制器是德州儀器公司新開發的一類具有 16位總線的單片機,它基于真正的正交 16位 RISCCPU內核,具有 16個可單周期全尋址的 16位寄存器,僅 27條的精簡指令以及 7種均采用雙重取數據技術(DDFT)的一致性尋址方式.DDFT技術利用每個時鐘脈沖對存儲器進行兩次數據存取操作,從而不再需要復雜的時鐘乘法和指令流水線方案.MSP430F14X系列 MCU具有豐富的片上外圍模塊,片內包括精密硬件乘法器、多達 60KB的 FLASH,2KB的 RAM、1個看門狗、6個IO口(P1和 P2還具有中斷功能)、12位 A/D轉換器、2個 16位定時器、高精度比較器、高速的 USART通信端口,1個 DCO內部振蕩器和 2個外部時鐘等常用資源,可實現對液晶顯示器的檢測、解調和顯示.與現代程序設計技術以及高級語言(如C語言)結合使用,使得 MSP430的體系結構更加高效,使其在工程技術得以廣泛應用[2].
圖3為溫度檢測電路的原理圖,其中MSP430F149和 DS18B20同時由 Vcc供電,XT2IN和 XT2OUT采用 8MHz的晶振提供系統時鐘源,單片機 P2.4端口采集 DS18B20處理后的數字信號,并通過 P3.4端口利用串口傳輸到上位機 PC,利用虛擬儀器 LabVIEW8.5進行溫度的實時顯示.

圖3 溫度檢測電路
上位機的軟件設計主要完成數據的采集和對應數據的溫度值的轉換,以及對數據的分析,保存和溫度數值的實時顯示,上位機 LabVIEW測控系統軟件采用模塊化的思想來編寫,程序面板檢測界面就是由 LabVIEW的各功能模塊組成,該系統主要有數據采集,數據轉換,數據存儲和數據顯示共四部分組成,圖4為程序面板的數據采集框圖.首先利用 VISA配置串口模塊配置串口屬性,分別設定串口名為 1,波特率為 9 600,傳輸 8位數據,并且設定相應的奇偶校驗位和停止位,利用 VISA寫入模塊接收到相應設置好的來自單片機發送過來的數據,并通過字符串與數值轉換模塊將接收到的字符串轉換為相對性的數值,最后由 VISA讀取模塊將轉換好的數值進行讀取和數值顯示[3].

圖4 LabV IEW數據采集框圖
上位機接收來自下位機所采集到的數字量,由于溫度傳感器 DS18B20檢測到的數據,經過模數轉換后其溫度與數據的對應關系為 16位的數字量,所以在傳輸過程中,將數據保存在 4個包含 4位大小空間的字符型數組中,并將每個數組由 MSP430F149向計算機的串口發送數據,將所檢測到的數據發送到 LabVIEW的串口配置接收端,接收到的 4個字符型數組在逐一經過 LabVIEW字符型至數值轉換模塊,最終將溫度顯示在上位機的程序面板中,下位機軟件的程序流程圖如圖5所示[4-5].

圖5 M SP430F149程序流程圖

圖6 MSP430與LabVIEW溫度控制實驗
圖6顯示了上位機 LabVIEW前面板所接收到的溫度數值的實時顯示.本實驗由 MSP430單片機P2.4端口接收溫度傳感器 DS18B20采集到的數據,接收到的數據通過串口發送到上位機 Lab-VIEW,實現溫度值的實時顯示和存儲,檢測精度為0.0625℃,隨著被測溫度的變化,可以在前面板的波形中對溫度值進行讀取和存儲[6-8].由于混合信號處理器 MSP430F149具有超低功耗的特性,使得它特別適合野外檢測和手持型設備的開發和研制,利用其低功耗的特點,MSP430F149在實地檢測和控制系統中發揮巨大的節能優勢,上位機采用虛擬儀器 LabVIEW,由于其強大的圖形化處理功能和模塊化設計思想,在加上友好的前面板顯示窗口,通過串口與單片機之間進行數據的采集與處理,可以實時的顯示所檢測環境的溫度值變化,檢測精度達,在此基礎上可以在
MSP430F149的其余端口上外設多個 DS18B20,實現多點的溫度檢測,超低功耗單片機與虛擬儀器的配合使用,實現了在內部供電的條件下長時間檢測周圍環境溫度變化的系統的建立,與傳統的測量系統相比較,測量精度高,顯示界面直觀,系統功耗低,系統長時間運行穩定.
[1] 胡大可.MSP430系列FLASH型超低功耗 16位單片機[M].北京:航空航天大學出版社,2001:48-53.
[2] 胡大可.MSP430系列單片機 C語言程序設計與開發[M].北京:航空航天大學出版社,2003:95-98.
[3] 艾錦云,何振江,邱 健,等.基于 LabV IEW的多路儀器溫度測控系統[J].國外電子測量技術,2004(1):6-8.
[4] 王雪文,張志勇.傳感器原理及應用[M].北京:北京航空航天大學,2004(2):10-13.
[5] 周鴻仁,劉秀蓉,杜曉松,等.溫度傳感器與快速測溫[J].世界電子元器件,1999(7):58-59.
[6] POONW.ISX Web Server Implementation With Ethernet As The Physical Layer[R].[S.l.]:Scenix Semiconductor,Inc,2000:1-11.
[7] MSP430F149.Datasheet[EB/OL].2003.http://microcontroller.ti.com,2003.
[8] LabV IEW User Manual[M].USA:National Instruments Corporation,1998.