引言
LonWorks(Local Operating Networks,,局部操作網(wǎng)絡(luò))總線是由美國Echelon公司推出的一種現(xiàn)場總線技術(shù)。由于LonWorks控制網(wǎng)絡(luò)的開放性,、高速性和互操作性,,它已廣泛用于工業(yè),、樓宇、家庭,、辦公設(shè)備,、交通運輸、能源等自動化領(lǐng)域,。EIA RS-232-C/RS-485通信網(wǎng)絡(luò)在控制系統(tǒng)中應(yīng)用最為普及,許多設(shè)備大都只提供RS-232或RS-485/422接口,,不能直接接入LonWorks網(wǎng)絡(luò),。因此,需要將現(xiàn)場LON網(wǎng)絡(luò)介質(zhì)上的信息轉(zhuǎn)換為RS-232-C/RS-485標準的信號,,或?qū)S-232-C/RS-485標準信號轉(zhuǎn)換為包含LonTalk協(xié)議的數(shù)據(jù),,從而實現(xiàn)不同網(wǎng)絡(luò)間的數(shù)據(jù)傳輸,同時也為上位PC機,、底層工作站提供轉(zhuǎn)換接口,。本文所設(shè)計的LonWorks智能通信節(jié)點方便地與EIA RS-232-C/RS-485標準的串行I/O設(shè)備進行通信,輕松實現(xiàn)現(xiàn)場節(jié)點與上位PC機或其它RS-232-C/RS-485控制設(shè)備之間的可靠,、準確,、快捷數(shù)據(jù)傳遞。
1 LonWorks智能通信節(jié)點的硬件結(jié)構(gòu)
1.1 節(jié)點硬件電路設(shè)計
智能節(jié)點以Neuron神經(jīng)元處理器芯片為核心,,其硬件電路還包括收發(fā)器,、EEPROM、雙口RAM,、譯碼電路和service電路等,。以神經(jīng)元芯片構(gòu)成網(wǎng)絡(luò)接口,由它通過LonTalk協(xié)議與網(wǎng)上的其它智能節(jié)點通信,,并通過雙口RAM的訪問實現(xiàn)與其它網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)交換,。節(jié)點中用雙口RAM充當(dāng)不同網(wǎng)絡(luò)通信過程中現(xiàn)場信息的接收、發(fā)送緩沖區(qū),,完成最近發(fā)送到達的交換數(shù)據(jù)的存儲轉(zhuǎn)發(fā)功能,,緩解和避免系統(tǒng)緩存緊張和瓶頸的產(chǎn)生,。用非易失性存儲器EEPROM存放LonTalk網(wǎng)絡(luò)協(xié)議固件,、多任務(wù)調(diào)度程序、網(wǎng)絡(luò)適配器通信管理程序以及網(wǎng)絡(luò)配置信息等,。節(jié)點的硬件組成結(jié)構(gòu)如圖1所示,。
智能節(jié)點的基本結(jié)構(gòu)可分為兩部分:以Neuron 3150神經(jīng)元芯片主構(gòu)成的LonWorks現(xiàn)場總線一側(cè),其基本功能是實現(xiàn)LON網(wǎng)絡(luò)上的智能節(jié)點功能,;另一側(cè)是由單片機系統(tǒng)構(gòu)成的串行通信接口,,其功能是實現(xiàn)EIA RS-232-C/RS-485標準的串行通信,。在這兩部分間采用了雙口RAM CY7C130芯片作為數(shù)據(jù)共享區(qū)。CY7C130通信接口電路的左端口與Neuron 3150芯片連接,,右端口與8051單片機系統(tǒng)連接,,如圖2所示。雙口RAM的兩端都有獨立的數(shù)據(jù)線,、地址線和控制線,,兩端都可對雙口RAM的任意單元進行操作。只要兩端不同時對同一地址單元進行操作就不會發(fā)生沖突,。BUSY顯示本端口想要存取的地址正在被另一個端口操作,,發(fā)生硬件沖突時,后操作一端的BUSY信號有效,。 程序中,,節(jié)點Neuron 3150側(cè)使用顯示報文通信,能有效實現(xiàn)智能節(jié)點與單片機進行雙向通信的功能,。用Neuron C語言進行節(jié)點設(shè)計編程時,,必須首先查詢IO_6和IO_7的內(nèi)容。定義兩個比特類型的輸入變量INTL和BUSYL,,通過查詢這兩個變量的內(nèi)容來確定程序的運行流程,。編程如下:
在應(yīng)用中分別對雙口RAM 1KB的存儲空間進行定義,即CY7C130的同一存儲單元對于Neuron3150芯片及8051單片機系統(tǒng)各有一個地址,,這樣兩個系統(tǒng)均能對其進行存取操作,。在智能節(jié)點中,Neuron3150芯片對1KB空間的地址為D000H~D3FFH,。8051單片機系統(tǒng)對它的定義為0000H~03FFH,。值得注意的是,CY7C130芯片3FFH和3FEH兩個單元被用作固定用途:當(dāng)左端Neuron3150芯片向3FFH單元寫入數(shù)據(jù)時,,將產(chǎn)生中斷信號INTR,;同理,當(dāng)右端8051單片機向3FEH單元寫入數(shù)據(jù)時,,將產(chǎn)生中斷信號INTL,。利用這兩個信號,可以將系統(tǒng)設(shè)置為中斷工作方式,,達到節(jié)省通信時間的目的,。由于雙向數(shù)據(jù)信息的交換,可以這樣來劃分雙口RAM存儲區(qū)間:000H~01FFH單元存入Neuron 3150芯片向8051傳送的信息,,而200H~3FFH單元存放由8051向Neuron 3150發(fā)送的信息,,并將同類但不同次的信息放在固定的存儲單元,每次都以新的數(shù)據(jù)覆蓋上次的數(shù)據(jù)。這樣就不必進行標志的判斷,,只需要固定單元取數(shù)據(jù)就可以進行處理,,既節(jié)省時間,又安全可靠,。
1.2 硬件的抗干擾
LonWorks設(shè)備往往工作在復(fù)雜的電磁環(huán)境中,,其自身各部分與周圍其它電子設(shè)備之間,都不可避免地存在各種形式的電磁干擾和靜電放電,。為了保證通信的準確無誤,,延長硬件使用壽命,該通信節(jié)點在設(shè)計上結(jié)合LonWorks電路自身特點,,采用有關(guān)接地,、屏蔽和濾波的適當(dāng)處理,有效減小了電磁干擾的影響,。針對收發(fā)器FTT-10A,,設(shè)計抗干擾電路時,應(yīng)主要圍繞印刷電路板上星形地結(jié)構(gòu)和火花隙的設(shè)計,。對于靜電放電(ESD),,在印刷電路板(PCB)設(shè)計中,采用火花放電隙,,能夠削弱到達收發(fā)器和后續(xù)緩沖器電路的ESD能量,,使用箝位二極管,能大大增強節(jié)點承受來自網(wǎng)絡(luò)連接端的ESD能力,。對于電磁干擾,,應(yīng)盡量保證強噪聲源(如DC/DC變換器、時鐘電路等)遠離收發(fā)器FTT-10A,。
2 LonWorks智能通信節(jié)點的軟件設(shè)計
在LON網(wǎng)程序設(shè)計中使用Neuron C語言,。Neuron C是一種基于ANSI C且?guī)в芯W(wǎng)絡(luò)通信和高級硬件設(shè)備接口擴展語句的高級不應(yīng)該。它增加了對I/O,、事件處理,、消息傳遞和分散數(shù)據(jù)目標的支持,擴充了包括軟件定時器,、網(wǎng)絡(luò)變量,、顯示消息、一個多任務(wù)調(diào)度程序以及其它各具特點的函數(shù)等,。采用Neuron C語言開發(fā)的應(yīng)用程序,,可直接在Lonbuilder神經(jīng)元仿真器上進行調(diào)試,因此應(yīng)用程序的開發(fā)可獨立于硬件設(shè)計進行,。智能節(jié)點通信流程如圖3所示,。
3 結(jié)論
實際運用證明,該智能通信節(jié)點能實現(xiàn)與其它多種常規(guī)智能節(jié)點(如模擬量I/O節(jié)點,、開關(guān)量I/O節(jié)點等)構(gòu)成現(xiàn)場總線控制網(wǎng)絡(luò),,實現(xiàn)了RS-232-C/RS-485到LonWorks網(wǎng)絡(luò)網(wǎng)關(guān)的關(guān)鍵技術(shù),保證了網(wǎng)絡(luò)接口的高速數(shù)據(jù)傳送,。特別在當(dāng)前樓宇自動化DCS控制系統(tǒng)中,,基于控制器串口的小型主從式RS-485控制網(wǎng)絡(luò)系統(tǒng)仍然應(yīng)用得相當(dāng)普遍。將Lonworks和RS-485兩種控制網(wǎng)絡(luò)進行網(wǎng)絡(luò)集成,,就可以充分發(fā)揮LonWorks技術(shù)在通信上的優(yōu)勢,,構(gòu)成節(jié)點的主從式RS-485網(wǎng)絡(luò)的分級混合控制網(wǎng)絡(luò)設(shè)計方案,因此有很高的推廣應(yīng)用價值,。