引言
目前,現(xiàn)場總線技術(shù)在數(shù)據(jù)采集與監(jiān)控系統(tǒng)(SCADA)、工業(yè)控制、樓宇自動化、智能交通等領(lǐng)域得到了廣泛的應(yīng)用。作為目前流行的現(xiàn)場總線技術(shù)之一Lonworks,以其突出的特點(diǎn)在國內(nèi)的應(yīng)用也越來越廣泛。本文通過Lonworks技術(shù)和無線通信的有機(jī)結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)了一種功能較強(qiáng)、可擴(kuò)展性好、安裝方便的數(shù)據(jù)采集與監(jiān)控系統(tǒng)。
系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
根據(jù)數(shù)據(jù)采集與監(jiān)控系統(tǒng)的要求、Lonworks現(xiàn)場總線技術(shù)的特點(diǎn)以及數(shù)據(jù)采集與監(jiān)控節(jié)點(diǎn)的現(xiàn)場環(huán)境,系統(tǒng)選用三級通信結(jié)構(gòu)(如圖1示)。根據(jù)需要本設(shè)計(jì)采用Lonworks網(wǎng)絡(luò)作為整個(gè)系統(tǒng)的主要通信方式之一,來組建整個(gè)SCADA系統(tǒng)。第一級通信出現(xiàn)在上位管理計(jì)算機(jī)與Lonworks網(wǎng)絡(luò)之間。實(shí)現(xiàn)二者之間的通信方式有多種,但是考慮到現(xiàn)成設(shè)備的高昂價(jià)格,本設(shè)計(jì)利用自行設(shè)計(jì)開發(fā)的LON—PC機(jī)ISA接口卡來實(shí)現(xiàn)上位管理計(jì)算機(jī)與Lonworks網(wǎng)絡(luò)之間的數(shù)據(jù)交換;第二級通信實(shí)現(xiàn)Lonworks網(wǎng)絡(luò)上智能節(jié)點(diǎn)之間的信息交互;第三級通信網(wǎng)絡(luò)是實(shí)現(xiàn)現(xiàn)場信息無線采集的關(guān)鍵。現(xiàn)場采集信息傳遞到Lonworks網(wǎng)絡(luò)有兩種不同的方式,一種是直接利用Lonworks智能節(jié)點(diǎn)進(jìn)行現(xiàn)場信息的采集,還有一種是通過無線通信將現(xiàn)場采集信息傳送至Lonworks網(wǎng)絡(luò),這是本文討論的重點(diǎn)。
系統(tǒng)的總體結(jié)構(gòu)主要由以下幾部分組成:主控機(jī),LON—PC機(jī)ISA接口卡,Lonworks無線通信模塊,單片機(jī)數(shù)據(jù)采集模塊,Lonworks數(shù)據(jù)采集控制模塊??傮w結(jié)構(gòu)框圖如圖1所示。
為了實(shí)現(xiàn)人機(jī)界面,并通過LON—PC機(jī)ISA接口卡向Lonworks總線上的其他模塊(Lonworks無線通信模塊或Lonworks數(shù)據(jù)采集控制模塊)發(fā)送控制命令或接收來自這些模塊轉(zhuǎn)發(fā)的采集數(shù)據(jù),系統(tǒng)設(shè)計(jì)采用VC++開發(fā)了一套簡單實(shí)用的管理軟件。該軟件可以方便的對LON—PC機(jī)ISA接口卡進(jìn)行讀寫操作,并將所得數(shù)據(jù)在界面進(jìn)行顯示的同時(shí)進(jìn)行存儲。
LON—PC機(jī)ISA接口卡的設(shè)計(jì),采用IDT7024雙口RAM來實(shí)現(xiàn)Lonworks神經(jīng)元芯片與計(jì)算機(jī)ISA端口之間的數(shù)據(jù)交換。
現(xiàn)場采集信息的無線傳輸是通過為Lonworks智能節(jié)點(diǎn)和單片機(jī)數(shù)據(jù)采集模塊分別添加設(shè)計(jì)nRF401無線通信電路來實(shí)現(xiàn)的。后面將對這兩部分電路的設(shè)計(jì)進(jìn)行詳細(xì)介紹。
Lonworks無線通信模塊主要接收總線上來自主控機(jī)的控制命令,通過射頻通信控制數(shù)據(jù)采集模塊進(jìn)行數(shù)據(jù)采集或發(fā)送控制信號,并將來自采集模塊的數(shù)據(jù)轉(zhuǎn)發(fā)至Lonworks總線上。
現(xiàn)場信息的采集主要由Lonworks數(shù)據(jù)采集控制模塊和單片機(jī)數(shù)據(jù)采集模塊完成。Lonworks數(shù)據(jù)采集控制模塊直接接收總線上來自主控機(jī)的控制命令,并按命令進(jìn)行數(shù)據(jù)采集、轉(zhuǎn)發(fā)(轉(zhuǎn)發(fā)至Lonworks總線)或?qū)ΜF(xiàn)場執(zhí)行機(jī)構(gòu)發(fā)送控制命令。而單片機(jī)數(shù)據(jù)采集模塊則通過射頻通信接收控制命令,并依據(jù)命令內(nèi)容完成數(shù)據(jù)采集、轉(zhuǎn)發(fā)(通過射頻無線通信)或?qū)ΜF(xiàn)場執(zhí)行機(jī)構(gòu)發(fā)送控制命令等功能。
系統(tǒng)無線通信的設(shè)計(jì)與實(shí)現(xiàn)
無線通信的實(shí)現(xiàn)是整個(gè)系統(tǒng)設(shè)計(jì)的關(guān)鍵。本系統(tǒng)分別為Lonworks智能節(jié)點(diǎn)和現(xiàn)場單片機(jī)數(shù)據(jù)采集模塊設(shè)計(jì)添加了無線通信接口以完成此部分功能,具體設(shè)計(jì)如圖2所示。
Lonworks無線通信模塊設(shè)計(jì)
Lonworks無線通信模塊電路中FT3150芯片定義IO8、IO10為異步串行對象,用來接收和發(fā)送來自nRF401的數(shù)據(jù)。IO1~IO3作為通信的控制端。
數(shù)據(jù)采集模塊的硬件框圖如圖3所示。AT89C52單片機(jī)也通過異步串口與nRF401通信,并用P1.1、P1.2、P1.3口作為通信的控制端。
在nRF401芯片使用時(shí),設(shè)定好工作頻率,進(jìn)入正常工作狀態(tài)后,通信控制器根據(jù)需要進(jìn)行收發(fā)轉(zhuǎn)換控制,發(fā)送/接收數(shù)據(jù)或進(jìn)行狀態(tài)轉(zhuǎn)換。
無線通信電路設(shè)計(jì)時(shí)應(yīng)注意以下問題:通信的可靠性、抗干擾性是無線通信電路設(shè)計(jì)所要解決的主要問題。因而需對整個(gè)電路的PCB設(shè)計(jì)進(jìn)行全局考慮。整個(gè)PCB板采用4層電路板設(shè)計(jì),增加電源層和地層,并在上、下表面進(jìn)行敷銅處理,以提高整個(gè)電路的抗干擾性。模擬部分與數(shù)字部分電路盡量分開;采用特性較好的鉭電容組成LC濾波電路,對nRF401的VCC進(jìn)行專門的濾波處理;nRF401和主控制芯片共用晶振,因而要十分注意晶振電路的走線,盡可能的短并遠(yuǎn)離數(shù)據(jù)線、控制線;無線射頻電路的所有元件以nRF401為中心并緊靠其擺放,其中VCO電感的布局對通信效果有著明顯的影響,匹配網(wǎng)絡(luò)的元器件最好靠近nRF401的ANT1和ANT2,以減小雜散電感和雜散電容;最后,系統(tǒng)還采用了高增益天線來提高通信的距離。
系統(tǒng)軟件設(shè)計(jì)
整個(gè)系統(tǒng)的軟件部分主要分為四大部分:主控機(jī)上位機(jī)軟件、LON—PC機(jī)ISA接口卡程序、Lonworks無線通信模塊程序以及數(shù)據(jù)采集模塊程序。
上位機(jī)軟件采用VC++語言編寫,主要完成通過人機(jī)界面的設(shè)計(jì),從ISA口接收采集數(shù)據(jù)或發(fā)送控制命令。LON—PC機(jī)ISA接口卡程序采用Neuron C并口編程,從而實(shí)現(xiàn)FT3150與ISA總線上的數(shù)據(jù)交換。下面主要對系統(tǒng)無線通信部分程序進(jìn)行詳細(xì)的介紹。
無線通信程序設(shè)計(jì)
在設(shè)計(jì)程序時(shí),要注意各狀態(tài)轉(zhuǎn)換的時(shí)延。nRF401的通訊速率最高為20kbit/s,發(fā)送數(shù)據(jù)之前需將電路置于發(fā)射模式;接收模式轉(zhuǎn)換為發(fā)射模式的轉(zhuǎn)換時(shí)間至少為1ms;可以發(fā)送任意長度的數(shù)據(jù);發(fā)射模式轉(zhuǎn)換為接收模式的轉(zhuǎn)換時(shí)間至少為3ms。在待機(jī)模式時(shí),電路不接收和發(fā)射數(shù)據(jù)。待機(jī)模式轉(zhuǎn)換為發(fā)射模式的轉(zhuǎn)換時(shí)間至少為4ms;待機(jī)模式轉(zhuǎn)換為接收模式的轉(zhuǎn)換時(shí)間至少為5.0ms。
Lonworks 無線通信模塊程序采用Neuron C語言編寫,程序運(yùn)行采用事件觸發(fā)方式。通過網(wǎng)絡(luò)變量把節(jié)點(diǎn)間數(shù)據(jù)的共享變?yōu)楹唵蔚木W(wǎng)絡(luò)變量連接。本系統(tǒng)采集模塊采用中斷方式實(shí)現(xiàn)串口通信,以提高效率。單片機(jī)串口中斷服務(wù)程序流程和Lonworks 無線通信模塊的通信流程圖分別如圖4、5所示。
軟件編程應(yīng)注意的問題
首先,為了保證nRF401的正常工作,軟件上應(yīng)當(dāng)注意在控制nRF401進(jìn)行狀態(tài)轉(zhuǎn)換時(shí)進(jìn)行適當(dāng)?shù)难訒r(shí)處理,因此單片機(jī)程序中需分別設(shè)計(jì)相應(yīng)的延時(shí)函數(shù)。而在FT3150中通過調(diào)用DELAY()函數(shù)便可進(jìn)行適當(dāng)?shù)难訒r(shí)。
其次,為了保證通信的可靠性,通信協(xié)議應(yīng)在軟件實(shí)現(xiàn)上對傳輸?shù)臄?shù)據(jù)進(jìn)行相應(yīng)的編碼處理,即為傳輸數(shù)據(jù)增添特殊的數(shù)據(jù)頭,具體的編解碼過程由于篇幅有限不做詳細(xì)描述。
結(jié)語
本文利用無線收發(fā)芯片nRF401實(shí)現(xiàn)了Lonworks 無線測控網(wǎng)絡(luò),系統(tǒng)通信可靠性高、實(shí)時(shí)性好,適于多種應(yīng)用領(lǐng)域,有較大推廣價(jià)值?!?/p>
參考文獻(xiàn)
1 陽憲惠,魏慶福等. 現(xiàn)場總線技術(shù)及其應(yīng)用. 北京:清華大學(xué)出版社
2 Echelon. FT3120/FT3150 Smart Transceiver Data Book
3 TOSHIBA ,Neuron Chip TMPN315/3120 DATA BOOK
4 余永權(quán) 編著.ATMEL89 系列單片機(jī)應(yīng)用技術(shù),北京航空航天大學(xué)出版社
5 Nordic公司. nRF401開發(fā)手冊