摘要:介紹了lonworks現(xiàn)場總線和單線數(shù)字溫度傳感器ds18b20的特點及原理,利用cy53120和at89s52構(gòu)成了基于主機的neuron節(jié)點,設(shè)計了多點溫度測控系統(tǒng),給出了其硬件及軟件實現(xiàn)。
引言
現(xiàn)場總線控制系統(tǒng)fcs(fieldbuscontrolsystem)將系統(tǒng)的分散控制轉(zhuǎn)換到現(xiàn)場控制,形成開放性的控制網(wǎng)絡(luò),將其應(yīng)用在智能建筑的重要組成部分樓宇自動化系統(tǒng)bas(buildingautomaticsystem)中,將克服傳統(tǒng)方式因采用了rs-232、rs485等通信協(xié)議而帶來“自動化孤島”的嚴重不足。本文應(yīng)用lonworks現(xiàn)場總線技術(shù)和單總線(1-wire)數(shù)字溫度傳感器ds18b20,設(shè)計了樓宇自動化溫度測控的智能節(jié)點與系統(tǒng),有效地實現(xiàn)了對室內(nèi)溫度的實時監(jiān)控與調(diào)節(jié)。
1、1-wire數(shù)字溫度傳感器ds18b20
1.1ds18b20結(jié)構(gòu)
ds18b20是由dallas所生產(chǎn)的基于1-wire單總線新一代數(shù)字溫度傳感器,該系列產(chǎn)品有ds1820、ds1822、ds18s20、ds18b20等,ds18b20性能,其溫度轉(zhuǎn)換數(shù)據(jù)位數(shù)可編程到12位。ds18b20采用3腳to-92封裝為主,其外形如小功率三極管。因每一個ds18b20都有一個自己*的64位芯片id序列號,我們可以在一條信號線上掛接任意多個數(shù)字式傳感器。圖1示出了ds18b20的內(nèi)部結(jié)構(gòu)??偩€也可通過dq向所掛接的ds18b20寄生供電,而無需額外電源,此時vdd端必須接地,同時總線口在空閑的時候必須保持高電平,以便寄生充電。這使測溫電路變得十分簡單,無需任何外圍硬件,克服了模擬式傳感器與微機接口時需要的a/d轉(zhuǎn)換器及其它復(fù)雜外圍電路的缺點,因而溫度測控系統(tǒng)非常方便,成本低、體積小、可靠性高。ds18b20測溫范圍為-55~125℃,當溫度轉(zhuǎn)換數(shù)據(jù)編程到9位時精度為0.5℃(-10~85℃范圍內(nèi)),而12位時可分辨到0.0625℃,被測溫度與轉(zhuǎn)換后12位數(shù)字量為補碼表示,d0~d10表示大小,d11表示符號。溫度轉(zhuǎn)換時間zui多為750ms。用戶可自設(shè)定溫度報警上下限,報警搜索命令可識別哪片ds18b20超溫度界限。
1.2ds18b20單總線通信
單總線系統(tǒng)中主設(shè)備首先對ds18b20進行初始化,以確認總線上有ds18b20在線并做好了操作的準備,再可執(zhí)行rom功能命令(共5條),然后方可執(zhí)行存儲器功能命令(共6條)以進行啟動溫度轉(zhuǎn)換及存儲器操作等控制功能。ds18b20采用嚴格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號類型:復(fù)位脈沖、應(yīng)答脈沖、讀/寫0和讀/寫1。所有這些信號,除了應(yīng)答脈沖以外,都由主機發(fā)出同步信號。命令和數(shù)據(jù)都是字節(jié)的低位在前。初始化時序如圖2所示,主機先通過拉低總線至少480μs,產(chǎn)生(tx)復(fù)位脈沖信號,接著主機釋放總線,并進入接收模式(rx),上拉電阻將單總線拉高;之后,在單總線器件檢測到上升沿后,延時15~60μs,接著通過拉低總線60~240μs,以產(chǎn)生在線應(yīng)答脈沖。此外,ds18b20的讀/寫時序、測溫原理、rom命令和memory命令文獻[2]中有詳細的描述,在此不再贅述。
2、lonworks現(xiàn)場總線
2.1基本情況
lonworks技術(shù)是由美國echelon公司推出的局部操作網(wǎng)絡(luò)(localoperatingnetwork),它包含所有設(shè)計、配置和維護網(wǎng)絡(luò)所需要的技術(shù):3120/3150neuron芯片;neuronc編程語言;lontalk協(xié)議;lonworks收發(fā)器;lonbuilder和nodebuilder開發(fā)工具等。lonworks網(wǎng)絡(luò)系統(tǒng)由智能節(jié)點組成,節(jié)點包括神經(jīng)元芯片、傳感器、控制設(shè)備、收發(fā)器和電源等。節(jié)點之間通信支持雙絞線、電力線、光纖和紅外線等多種介質(zhì),遵守iso/osi的七層模型協(xié)議,并按照規(guī)范的lontalk協(xié)議進行通信,其通信速率范圍在300bps至1.5mbps之間。
2.2neuron3120/3150結(jié)構(gòu)與特點
neuron芯片是lonworks技術(shù)的核心,它既進行通信的管理,也同時具有輸入、輸出和控制的能力。3120與3150兩大系列芯片主要由motorola、toshiba、cypress三個公司生產(chǎn)。neuron芯片內(nèi)部框圖如圖3所示,內(nèi)有3個8位流水線作業(yè)的cpu。介質(zhì)訪問控制cpu處理lontalk7層協(xié)議的第1到第2層,包括驅(qū)動通信子系統(tǒng)硬件和執(zhí)行mac算法。網(wǎng)絡(luò)cpu處理lontalk協(xié)議的第3到第6層,包括處理網(wǎng)絡(luò)變量尋址事務(wù),權(quán)限證實,背景診斷,軟件計時器,網(wǎng)絡(luò)管理和路由等,同時還控制網(wǎng)絡(luò)通信端口,物理的發(fā)送和接收數(shù)據(jù)包。應(yīng)用cpu執(zhí)行用戶用neuronc語言編寫的代碼以及用戶代碼調(diào)用的操作系統(tǒng)命令。3個cpu分別通過片內(nèi)的網(wǎng)絡(luò)緩存器和應(yīng)用緩存器進行通信。芯片提供從i/o0~i/o10共11個管腳,通過對其編程可設(shè)定為34種不同的對象,可用于直接連接各傳感器、a/d、執(zhí)行器等。cp0-cp4組成的網(wǎng)絡(luò)通信端口用以連接收發(fā)器,實現(xiàn)網(wǎng)絡(luò)的通信功能。3120芯片中包含e2prom、ram、rom,其中在rom中已帶有l(wèi)ontalk通信協(xié)議固件,可非常方便構(gòu)成用戶應(yīng)用程序zui大不超過2kb的較小系統(tǒng);而3150則需外部擴展rom,其lontalk通信協(xié)議也需要由nodebuilder工具包配置,用于復(fù)雜的應(yīng)用系統(tǒng)。
3、溫度測控系統(tǒng)硬件設(shè)計
3.1網(wǎng)絡(luò)拓樸
本設(shè)計中樓宇自動化溫度測控系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。系統(tǒng)選用兩級計算機監(jiān)控系統(tǒng),即由上位管理機、lontalk適配器以及多個智能節(jié)點組成。中央pc機控制節(jié)點的接口采用echelon的pclta-10pclontalk適配卡,該卡是高性能的16位isa總線lonworks接口卡,系統(tǒng)中通信介質(zhì)為雙絞線。網(wǎng)絡(luò)采用基于lonworks總線的網(wǎng)絡(luò)模型,節(jié)點數(shù)量可根據(jù)監(jiān)控的需要進行開放增減。網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用總線方式,通信速率設(shè)為78.125kbps時,lonworks總線任意兩節(jié)點之間的通信距離可以達到2700m,*可以滿足樓宇自動化系統(tǒng)的通信要求。上位機通過lontalk適配器與lonworks總線相連,用于整個系統(tǒng)的集中監(jiān)控、管理、分析及網(wǎng)絡(luò)通信檢測等。
3.2智能溫度節(jié)點設(shè)計
系統(tǒng)采用基于主機的lonworks智能節(jié)點,圖4給出了節(jié)點1的結(jié)構(gòu)。選用atmel增強型flash單片機at89s52作為主處理器以完成主要的測控任務(wù),其內(nèi)嵌8kflashrom,軟硬件上兼容at89c52,但其zui大的特點是集成了isp接口,可直接在目標板上進行在系統(tǒng)編程,為用戶帶來了極大的方便;單總線上掛接的ds18b20采用外接vcc方式而未用寄生供電,以便除了正常測量各點室溫外,還可在火災(zāi)初期等異常情況下能準確工作;利用8155擴展i/o,以對顯示、鍵盤、超溫報警等電路進行接口,此外還通過溫控輸出單元對空調(diào)機組進行新回風(fēng)、送排風(fēng)、噴淋管等閥門進行控制,達到控溫的目的;neuron芯片采用cypress的cy53120,以其為核心再通過收發(fā)器fft-10a完成lontalk協(xié)議的數(shù)據(jù)傳輸,并通過事件調(diào)度完成用戶定義的各種計算、i/o事件處理及網(wǎng)絡(luò)報文處理等功能;收發(fā)器通過與lon網(wǎng)接口負責(zé)將節(jié)點連入網(wǎng)絡(luò)。單片機at89s52與neuron芯片cy53120采用并行通信。p1口與3120的i00~i07相連作為8位的數(shù)據(jù)總線。p3.2與3120的i08相連,作為單片機請求發(fā)送數(shù)據(jù)的信號線和接受3120溫度轉(zhuǎn)換命令的應(yīng)答線。p3.3與io9相連,作為3120接收數(shù)據(jù)的應(yīng)答信號。p3.4與io10相連,作為3120發(fā)送溫度轉(zhuǎn)換命令的信號線。這就保證了at89s52與3120通信的嚴格同步。
4、系統(tǒng)軟件設(shè)計
4.1軟件結(jié)構(gòu)設(shè)計
本系統(tǒng)軟件包括3個部分。第1部分是以pc機節(jié)點為管理中心的上位機的軟件設(shè)計,采用vb6.0開發(fā),既可使系統(tǒng)與lan進行鏈接,又實現(xiàn)了友好的人機操作界面,用戶可以在主控室內(nèi)設(shè)置大樓內(nèi)各房間的運行參數(shù),查詢各房間的溫度及控制設(shè)備的運行情況,查看歷史運行紀錄和實時運行費用等。第2部分是以at89s52為控制核心的下位機的軟件設(shè)計,采用匯編語言開發(fā),主要完成鍵盤掃描與輸出顯示,現(xiàn)場溫度數(shù)據(jù)的采集,超限聲光報警,配置3120的工作模式,at89s52與3120進行通信,溫度控制算法及對調(diào)溫設(shè)備的控制等。第3部分是以cy53120為核心的通信程序設(shè)計,采用neuronc開發(fā),完成節(jié)點外與網(wǎng)絡(luò)其它節(jié)點及上位機進行信息交互,內(nèi)與at89s52進行通信。
4.2部分程序流程圖及源程序
圖5給出了溫度測控軟件的流程圖。需要說明的是溫控子系統(tǒng)是現(xiàn)代建筑的耗能大戶,為了節(jié)能而在溫度控制算法模塊中采用了增量型pid控制算法與模糊控制算法相結(jié)合,當偏差較大時執(zhí)行前一算法,使溫度快速回到設(shè)定值附近,而當偏差較小時執(zhí)行后一算法,以避免控制裝置對被控溫度過于敏感而頻繁動作或振蕩,此外還采取了變新/回風(fēng)比例自動控制、變頻調(diào)速進行變風(fēng)量空調(diào)控制、舒適性空調(diào)溫度上限設(shè)定值提高等節(jié)能措施,以達節(jié)能目的。
對ds18b20進行寫操作的子程序如下。
write:;寫子程序,此前先執(zhí)行復(fù)位子程序
data_bitequp2.7
clrc;清ds18b20在線標志
movr1,#08h;8bits
wr1:clrdata_bit;發(fā)寫脈沖給p2.7
movr7,#01h;延時15μs
calldelay15
rrca;被寫字節(jié)從低位開始
movdata_bit,c;送1個bit到ds18b20
movr7,#01h;延時15μs
calldelay15
setbdata_bit;釋放數(shù)據(jù)線
nop
djnzr1,wr1;判8bits是否寫完
setbdata_bit;釋放數(shù)據(jù)線
ret
5、結(jié)束語
本系統(tǒng)由于采用lonworks現(xiàn)場總線技術(shù),使樓宇自動化系統(tǒng)中通信可靠、便捷;采用基于1-wire單總線新一代數(shù)字溫度傳感器ds18b20,使系統(tǒng)簡單、靈活、方便,在常溫測量中有較大優(yōu)勢;實際應(yīng)用在ds18b20采用9位數(shù)字量轉(zhuǎn)換時分辨能力達到±0.5℃,采用數(shù)字處理則更可達到±0.0625℃,滿足智能建筑的不同程度的控制要求,該系統(tǒng)在常溫測控應(yīng)用中具有明顯的優(yōu)勢。