[摘 要]:采用先進(jìn)的單總線數(shù)字式溫度傳感器DS18B20設(shè)計了一種低成本的大規(guī)模測溫網(wǎng)絡(luò)系統(tǒng),并給出了軟硬件設(shè)計方法。由于該系統(tǒng)采用了單總線技術(shù),溫度信號在測量現(xiàn)場被轉(zhuǎn)換為數(shù)字信號,能夠遠(yuǎn)距離測量,具有很高的測量精度和應(yīng)用價值。
[關(guān)鍵詞]:溫室 單總線 控制系統(tǒng)
0引言
在測溫網(wǎng)絡(luò)系統(tǒng)中,采用單總線數(shù)字溫度傳感器芯片 DS18B20 實現(xiàn)遠(yuǎn)距離多點空氣溫度和土壤溫度的測量,通過單總線驅(qū)動器 DS2480B 輸送給微處理器,系統(tǒng)具有一定智能化。
1 單總線器件及其工作原理
系統(tǒng)主要用到了溫度傳感器 DS18B20和單總線驅(qū)動器 DS2480B。單總線器件內(nèi)部 ROM 中都有光刻的 64位序列號,它是該器件的地址序列碼;64 位光刻 ROM 的排列是:開始 8 位(DS18B20 為28H)是產(chǎn)品類型標(biāo)號,也就是所謂的家族碼,接下來的 48 位是該自身的序列號,最后 8 位是前面 56 位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻 ROM 的作用是使每一個單總線器件的地址都各不相同,都是唯一的,以便實現(xiàn)一根總線上掛接多個單總線器件。單總線驅(qū)動器 DS2480B 完成到單總線的轉(zhuǎn)換,提高了單總線的驅(qū)動能力。微處理器可以通過控制 DS2480B 驅(qū)動在線所有的單總線器件。
2 系統(tǒng)硬件設(shè)計
2.1 數(shù)字溫度傳感器 DS18B20
DS18B20 是美國 Dallas Semiconductor公司推出的數(shù)字式溫度傳感器,遵循單線協(xié)議,
其工作原理是利用溫度敏感振蕩器的頻率隨溫度變化的關(guān)系,通過對振蕩周期計數(shù)來實
現(xiàn)溫度測量。其支持 3V~5.5V 的電壓范圍,可以與處理器進(jìn)行雙向數(shù)字通信,測溫度范圍寬(-55℃~+125℃),工作溫度范圍寬(-10℃~+85℃),分辨率高(當(dāng)設(shè)定為 12 位轉(zhuǎn)換模式可以達(dá)到 0.0625℃)。現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸。DS18b20 內(nèi)部有 2 個字節(jié) RAM 單元用來存放轉(zhuǎn)換后的溫度值,后1 個字節(jié)為溫度值低8 位的補(bǔ)碼(稱作 A),前 1 個字節(jié)為符號位和溫度值的補(bǔ)碼高 3 位(稱作 B)。
2.2 單總線驅(qū)動器 DS2480B
DS2480B 是從串行接口到 1-Wire 網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換的橋接器。只要主機(jī)具有普通的串行通信 UART,就可以通過該橋接器產(chǎn)生嚴(yán)格定時和電壓擺率控制的 1-Wire 波形。DS2480B 接受所要發(fā)送的指令和數(shù)據(jù),執(zhí)行 1-Wire 操作,并將結(jié)果返回至主機(jī)(詳細(xì)資料間參考文獻(xiàn)[2])。
2.3 系統(tǒng)原理
考慮到單總線的驅(qū)動能力,采用星型結(jié)構(gòu),就是在若干個單總線上分別掛若干個單總線
器件。硬件以 AT89C55WD為核心,主要包括按鍵模塊、顯示模塊、信號輸入、控制輸出、時鐘、串口擴(kuò)展和存儲等電路。LED 用來循環(huán)顯示個測量點的參數(shù),按鍵用來設(shè)置給定參數(shù),AT24C256 用來存儲各個測量點單總線器件的序列號(測量點的器件地址)及一些重要的參數(shù)。GM 用來擴(kuò)展串口,擴(kuò)展后的三個串口分別用于轉(zhuǎn)換為 1-Wire
網(wǎng)絡(luò)協(xié)議、LED顯示和與上位機(jī)通信。
3 軟件設(shè)計
3.1 總線結(jié)構(gòu)軟件設(shè)計
在該系統(tǒng)中,多個單總線器件掛于一單總線上,欲想操作任何一個單總線器件,必須首
先獲得該器件的地址,即序列號。獲得器件的地址的方法一般有兩種方法,第一種方法是:
調(diào)試程序時,編寫一單獨程序依次讀出每個測控點器件的地址并存于單片機(jī)程序表格中[3],但當(dāng)該測控點的某個器件損壞時,需要讀新的單總線器件地址,替換壞器件,并要修改主程序,重新固化主程序;第二種方法是:通過二叉樹算法完成在線所有的單總線器件地址,但系統(tǒng)無法具體確定每個測量點的單總線器件地址。該系統(tǒng)采用依次上電的方法,通過二叉樹算法(見參考文獻(xiàn)[4])完成每個測量點的在線單總線器件地址,維護(hù)方便,方法如下:
(1)打開測控點1單總線器件電源,關(guān)閉其它測控點電源,通過“Search”鍵啟動在
線搜索地址操作,LED顯示“1” ,表示正在搜索測控點 1 單總線器件的地址。存儲測控點 1單總線器件地址于 AT24C256。
(2)測量點1搜索完畢后,LED顯示“2” ,打開測控點 2單總線器件電源,系統(tǒng)根據(jù)二叉樹算法在線搜索測控點 2 單總線器件的地址,存儲測控點 2 單總線器件地址于AT24C256。
(3)測量點 2 搜索完畢后,LED 顯示“3” ,如有測控點 3,打開測控點單總線器件電源,搜索測控點 3 的器件地址,依次類推;如沒有,按“OK”按鍵。
3.2 抗干擾軟件設(shè)計
系統(tǒng)采用三種抗干擾方法:
(1)應(yīng)用 AT89C55WD片上看門狗;
(2)采用 CRC 容錯技術(shù)。
4 結(jié)論
本文作者的創(chuàng)新點(軟硬件):
(1)硬件均為可裁剪結(jié)構(gòu),組態(tài)靈活,各模塊可以不依賴其他模塊獨立運(yùn)行,運(yùn)行方式
既可以自動又可以手動,該系統(tǒng)可以利用 485 異步串行通信總線聯(lián)網(wǎng),以適應(yīng)各類不同檔次用戶的不同需要,根據(jù)不同組態(tài),系統(tǒng)既可以適應(yīng)高自動化程度的具有集散特征的大規(guī)模用戶,又可適應(yīng)各類中小散戶應(yīng)用。
(2)現(xiàn)場的單總線結(jié)構(gòu),所有的信號采集都可以掛在只有兩條導(dǎo)線組成的單總線上,由
于農(nóng)業(yè)溫室各類參數(shù)變化均較緩慢,故可以采用串行分時復(fù)用的方式解決大量現(xiàn)場信息的傳輸問題,這就使得現(xiàn)場前向通道電路結(jié)構(gòu)大大簡化。
參考文獻(xiàn):
[1]Dallas Semiconductor Data Books.Dallas Semiconductor Corporation 1995
[2]李華驛,汪道輝.應(yīng)用 DS2480 實現(xiàn) RS—232 與單總線的串行接口[J],微計算機(jī)信息,2002.12:45-46
[3]文哲雄,羅中良.單總線多點分布式溫度監(jiān)控系統(tǒng)的設(shè)計[J],微計算機(jī)信息,2005.06s:63-65
[4]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)庫結(jié)構(gòu)[M].清華大學(xué)出版社,1998