智能通信節點設計分析論文

時間:2022-06-26 09:12:00

導語:智能通信節點設計分析論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

智能通信節點設計分析論文

摘要:介紹一種基于雙口RAM的LonWorks現場總線智能通信節點的設計方法,并給出詳細的設計步驟、硬件及軟件實現。通過此LonWorks智能通信節點,能夠完成RS-232-C/RS-485標準與LonTalk協議間的轉換提供RS-232-C/RS-485網絡到LonWorks網絡的接口,因此,具有很高的應用價值。

關鍵詞:現場總線LonWorks智能節點神經元芯片雙口RAM

引言

LonWorks(LocalOperatingNetworks,局部操作網絡)總線是由美國Echelon公司推出的一種現場總線技術。由于LonWorks控制網絡的開放性、高速性和互操作性,它已廣泛用于工業、樓宇、家庭、辦公設備、交通運輸、能源等自動化領域。EIARS-232-C/RS-485通信網絡在控制系統中應用最為普及,許多設備大都只提供RS-232或RS-485/422接口,不能直接接入LonWorks網絡。因此,需要將現場LON網絡介質上的信息轉換為RS-232-C/RS-485標準的信號,或將RS-232-C/RS-485標準信號轉換為包含LonTalk協議的數據,從而實現不同網絡間的數據傳輸,同時也為上位PC機、底層工作站提供轉換接口。本文所設計的LonWorks智能通信節點方便地與EIARS-232-C/RS-485標準的串行I/O設備進行通信,輕松實現現場節點與上位PC機或其它RS-232-C/RS-485控制設備之間的可靠、準確、快捷數據傳遞。

1LonWorks智能通信節點的硬件結構

1.1節點硬件電路設計

智能節點以Neuron神經元處理器芯片為核心,其硬件電路還包括收發器、EEPROM、雙口RAM、譯碼電路和service電路等。以神經元芯片構成網絡接口,由它通過LonTalk協議與網上的其它智能節點通信,并通過雙口RAM的訪問實現與其它網絡系統的數據交換。節點中用雙口RAM充當不同網絡通信過程中現場信息的接收、發送緩沖區,完成最近發送到達的交換數據的存儲轉發功能,緩解和避免系統緩存緊張和瓶頸的產生。用非易失性存儲器EEPROM存放LonTalk網絡協議固件、多任務調度程序、網絡適配器通信管理程序以及網絡配置信息等。節點的硬件組成結構如圖1所示。

智能節點的基本結構可分為兩部分:以Neuron3150神經元芯片主構成的LonWorks現場總線一側,其基本功能是實現LON網絡上的智能節點功能;另一側是由單片機系統構成的串行通信接口,其功能是實現EIARS-232-C/RS-485標準的串行通信。在這兩部分間采用了雙口RAMCY7C130芯片作為數據共享區。CY7C130通信接口電路的左端口與Neuron3150芯片連接,右端口與8051單片機系統連接,如圖2所示。雙口RAM的兩端都有獨立的數據線、地址線和控制線,兩端都可對雙口RAM的任意單元進行操作。只要兩端不同時對同一地址單元進行操作就不會發生沖突。BUSY顯示本端口想要存取的地址正在被另一個端口操作,發生硬件沖突時,后操作一端的BUSY信號有效。

在應用中分別對雙口RAM1KB的存儲空間進行定義,即CY7C130的同一存儲單元對于Neuron3150芯片及8051單片機系統各有一個地址,這樣兩個系統均能對其進行存取操作。在智能節點中,Neuron3150芯片對1KB空間的地址為D000H~D3FFH。8051單片機系統對它的定義為0000H~03FFH。值得注意的是,CY7C130芯片3FFH和3FEH兩個單元被用作固定用途:當左端Neuron3150芯片向3FFH單元寫入數據時,將產生中斷信號INTR;同理,當右端8051單片機向3FEH單元寫入數據時,將產生中斷信號INTL。利用這兩個信號,可以將系統設置為中斷工作方式,達到節省通信時間的目的。由于雙向數據信息的交換,可以這樣來劃分雙口RAM存儲區間:000H~01FFH單元存入Neuron3150芯片向8051傳送的信息,而200H~3FFH單元存放由8051向Neuron3150發送的信息,并將同類但不同次的信息放在固定的存儲單元,每次都以新的數據覆蓋上次的數據。這樣就不必進行標志的判斷,只需要固定單元取數據就可以進行處理,既節省時間,又安全可靠。

1.2硬件的抗干擾

LonWorks設備往往工作在復雜的電磁環境中,其自身各部分與周圍其它電子設備之間,都不可避免地存在各種形式的電磁干擾和靜電放電。為了保證通信的準確無誤,延長硬件使用壽命,該通信節點在設計上結合LonWorks電路自身特點,采用有關接地、屏蔽和濾波的適當處理,有效減小了電磁干擾的影響。針對收發器FTT-10A,設計抗干擾電路時,應主要圍繞印刷電路板上星形地結構和火花隙的設計。對于靜電放電(ESD),在印刷電路板(PCB)設計中,采用火花放電隙,能夠削弱到達收發器和后續緩沖器電路的ESD能量,使用箝位二極管,能大大增強節點承受來自網絡連接端的ESD能力。對于電磁干擾,應盡量保證強噪聲源(如DC/DC變換器、時鐘電路等)遠離收發器FTT-10A。

2LonWorks智能通信節點的軟件設計

在LON網程序設計中使用NeuronC語言。NeuronC是一種基于ANSIC且帶有網絡通信和高級硬件設備接口擴展語句的高級不應該。它增加了對I/O、事件處理、消息傳遞和分散數據目標的支持,擴充了包括軟件定時器、網絡變量、顯示消息、一個多任務調度程序以及其它各具特點的函數等。采用NeuronC語言開發的應用程序,可直接在Lonbuilder神經元仿真器上進行調試,因此應用程序的開發可獨立于硬件設計進行。智能節點通信流程如圖3所示。

程序中,節點Neuron3150側使用顯示報文通信,能有效實現智能節點與單片機進行雙向通信的功能。用NeuronC語言進行節點設計編程時,必須首先查詢IO_6和IO_7的內容。定義兩個比特類型的輸入變量INTL和BUSYL,通過查詢這兩個變量的內容來確定程序的運行流程。編程如下:

//*****包含文件*****

#include<string.h>

#include<control.h>

//*****公共變量聲明*****

#defineTlon_4850xd000//定義從LON網上所接收數據在雙口RAM存儲單元首址

#definT485_lon0xd0200//定義從單片機側所接收數據在雙口RAM存儲單元首址

IO_6inputbitINTL;//定義IO_6,IO_7為比特類型的輸入變量

IO_7inputbitBUSYL;

Msg_tagtag_out1;//定義輸出消息標簽

//****系統主程序********prioritywhen(msg_arrives)//顯示網絡消息事件

{unsignedint*p;//存儲從LON網上接收的數據

inti;

p=(unsignedint*)(Tlon_485);

for(i=0;I<30;i++)

{*p=msg_in.data[i];

p++;

}

}

}

when(io_in(INTL)==0)//當單片機側有數據時申請中斷

{when(io_in(BUSYL)==1)

{unsignedint*u;

intj;

u=(unsignedint*)(T485_lon);

msg_out.code=1;

msg_out.tag=tag_out1;

for(j=0;j<30;j++)

{msg_out.data[j]=*u;

u++;

}

msg_send();//向LON網其它相關節點發送數據

}

}

圖3

3結論

實際運用證明,該智能通信節點能實現與其它多種常規智能節點(如模擬量I/O節點、開關量I/O節點等)構成現場總線控制網絡,實現了RS-232-C/RS-485到LonWorks網絡網關的關鍵技術,保證了網絡接口的高速數據傳送。特別在當前樓宇自動化DCS控制系統中,基于控制器串口的小型主從式RS-485控制網絡系統仍然應用得相當普遍。將Lonworks和RS-485兩種控制網絡進行網絡集成,就可以充分發揮LonWorks技術在通信上的優勢,構成節點的主從式RS-485網絡的分級混合控制網絡設計方案,因此有很高的推廣應用價值。