隨著Internet技術的飛速發展,煤礦井下光纖環網是近年來研究與應用的熱點,它在煤礦井下安全監控中起著越來越重要的作用。本文在煤礦井下光纖環網的框架下,設計了光纖以太網轉工業RS 485總線的網關,該網關可將井下人員定位基站入網,實現人員定位信息的網絡查詢、跟蹤以及安全檢測與監控等功能。 由于單芯片嵌入式網關具有成本低、體積小、可靠性高、功耗低、環境適應能力強等諸多優點,在通信和工業控制等領域得到了日益廣泛的應用。 1 嵌入式網關構架 基于以太網的TCP/IP轉換為工業RS 485和RS 232協議的基本構架如圖1所示。根據嵌入式網關的功能,本設計實現了以下協議:HTTP,TCP,UDP,IP,ICMP,ARP。 (1)HTTP是嵌入式WEB服務器的主要構架,屬于應用層協議,本文主要實現網關系統參數設置與查詢、基站系統參數的設置與查詢。 (2)TCP協議是面對連接的,在本文中實現井下基站與遠程以太網終端數據的通信:提供TCP Server功能,負責終端電腦主動連接網關,實現數據通信;實現TCP Client功能,提供網關主動發起的數據傳輸,比如網關中有數據需要通信的時候(注:圖1中的TCP S/C代表用戶基于TCP Server以及TCP Client的應用程序,下同)。 (3)UDP協議是面對連接的網絡數據傳輸,數據傳輸不可靠,但是在某些場合,比如數據的鏈路比較少,那么可以采用基于UDP的數據傳輸協議。在本設計中保留了基于UDP的數據傳輸協議。 (4)IP協議是網絡通信協議的主要協議,由圖1可知,UDP和TCP協議就是在此層之上實現的。 (5)ICMP和ARP協議實現網絡的一些基本配置,ARP為地址解析協議,是將IP地址轉換到硬件地址的協議,ICMP是IP的附件,用于實現網絡上節點的診斷,并返回錯誤消息,也就是我們最常用的ping協議。 2 硬件結構設計 硬件的系統框圖如圖2所示,光纖轉電模塊實現光纖到電的RJ45轉換,RJ45實現光纖轉換模塊和MC9S12NE64(以下簡稱NE64)的連接,4個SPE485實現該網關與基站的RS 485連接,MAX232實現調試輸出或基站的RS 232連接。本系統的光纖轉電模塊采用netLINK公司的HTB-1100S-25,該轉換器為自適應光纖收發器,用于將100 Mb/s的光網轉換為速度為:10/100 Mb/s的雙絞線RJ45接口。 2.1 MC9S12NE64以太網單芯片簡介 NE64是Freescale公司于2004年9月推出的高性價比、業內首個嵌入式單芯片以太網微控制器,內核為HCS12。由標準的內置外設構成,主要包括一個16 b的中央處理器單元(HCS12 CPU),64 kB的FLASHE2PROM,8 kB的RAM(EMAC共享),集成了10/100 Mb/s以太網物理層收發器(EPHY)的以太網媒體訪問控制器(EMAC),2個異步串行通訊接口模塊(SCI),1個4通道16 b定時器模塊(TIM)以及多達21個管腳可用于鍵盤喚醒輸入(KWU)等。內置的PLL電路允許對功耗和性能進行調節來滿足運行要求。此外,內置的帶隙基準穩壓器,用于將3.15~3.45 V的外部工作電壓轉換成2.5 V的內部數字電源電壓(VDD)。 2.2 網絡接口設計 NE64內部集成了用于連接以太網的EMAC和EPHY協議層,因此省了外接的PHY,只需連接少許的外部電阻和電容以及一個RJ45接口就可以實現網絡的物理連接,接口電路如圖3所示。 2.3 RS 485和RS 232接口設計 NE64本身具有雙串口,因此本文將串口0(SCI0) 設計為RS 485通信,將串口1(SCIl)設計為RS 232通信。 在煤礦井下人員定位系統中,該網關通過RS 485(串口0)與本地基站相連以獲取人員信息。為增加系統中RS 485的驅動能力,設計了4路接口,原理圖如圖4所示。 在圖4(a)中,只畫了一路的RS 485接口電路,其他的3路基本一樣。在接收腳RXD00串聯電阻和LED指示燈,用于指示電路的接收狀態,發送狀態的LED指示燈沒有在圖中畫出,原理同接收電路。WD1~WD3及串聯的20 Ω小電阻,具有防雷擊功能。圖4(b)中的RXD01~RXD03是另外3路RS 485的接收端,要注意的是圖中74HC09是集電極開路輸出,因此在輸出時需接一個上拉電阻,RXD0直接連接NE64的串口0的接收端,而4路RS 485的發送端TXD0連接在一起并和NE64的串口0的發送端相連。 3 軟件實現 嵌入式網關的軟件系統完成系統的協議轉換以及wEB服務器的構建,基于TCP/IP的網絡協議棧有很多,但是針對嵌入式系統,必須考慮到硬件和軟件資源,從而需對其進行精簡使之應用于嵌入式系統。考慮到硬件資源和軟件的開發,本文選用了源碼開放的OpenTCP協議棧,該協議棧由芬蘭的Viola Systems公司開發,實現了大多數的基于vIP4的網絡協議,如HTTP,DHCP,SMTP,TFTP,TCP/IP,DNS,ARP,ICMP等協議,并由美國的SourceForge公司根據NE64的硬件資源將其移植過來,實現了在16位低成本嵌入式系統上的網絡化。本文根據項目的需要,只移植了HTTP,TCPUDP,IP,ARP,ICMP協議,程序的流程如圖5所示。 3.1 基于TCP服務端和客戶端的建立 基于TCP服務器端和客戶端程序是本設計的主要應用程序,負責整個定位數據的傳輸。考慮到上位機主監控軟件的設計,本文采用OpenTCP協議棧提供的API函數來建立TCP服務程序。在程序中,遠程主控端可以通過客戶端程序主動撥號與本網關設備的服務器端建立連接,并獲取基站人員定位信息;如果該網關設備中已存放有大量數據(取決于本地存儲器),那么它將通過本地客戶端主動撥號與遠程主控端服務器建立連接,并上傳數據。 服務器端程序包括初始化函數void tcps_init(void)、主回調函數void tcps_run(void)以及事件監聽函數INT32 tcps_eventlistener(INT8,UINT8,UINT32,UINT32)。客戶端程序類似于服務器端程序,由于篇幅所限,本文僅列舉了服務器端的初始化函數: 3.2 其他網絡協議的實現 其他網絡協議包括嵌入式WEB服務器、UDP、ARP協議、DNS協議以及ICMP協議。WEB服務器是基于HTTP網絡協議而構建的,在本文主要用來實現系統參數的查詢和設置,包括TCP的套接字的初始化、HTTP的初始化以及HTTP回調函數。基于UDP的數據傳輸是該網關的擴展功能,運用于大量數據傳輸,并且某些數據可以被丟掉的,如將該網關運用在井下人員的語音傳輸系統中。由于篇幅所限,對于ARP協議、DNS協議以及ICMP協議本文不再詳細討論。 3.3 RS 485以及RS 232數據傳輸 RS 485和RS 232是該網關設備與井下人員定位基站通信的主渠道,軟件設計主要包括兩部分:初始化和數據通信。初始化程序主要設置通信波特率以及有關的狀態,數據通信主要包括串口中斷處理(發送和接收)以及對收到的基站數據處理(轉發遠程主機某些命令、通過以太網發送人員信息等)。 4 單芯片嵌入式網關在煤礦井下人員定位中的應用 在現場安裝了5個網關設備,每個網關分別連接6臺基站,安裝距離最遠為600 m。PC機端的主控軟件用VC++6.0設計,主界面包括簡單服務器和客戶端撥號程序。以太網采用自動協商協議,網速為100 Mb/s。以太網數據緩沖區設置為1 kB,實際上有用的字節數為804 B,除去數據長度、校驗和一些特殊信息,最后可用的最大字節數為796 B,即一次傳送的最大數據量為796 B。經驗證該網關可以同時滿足6臺基站波特率在9 600 b/s的滿負載情況下工作。 5 結 語 基于單芯片的MC9S12NE64的嵌入式以太網網關,完成了光纖環網到井下基站的數據轉換,實現了低成本、高速率的嵌入式WEB服務器、簡化的基于TCP服務器和客戶端用戶應用程序以及UDP的數據傳輸的系統。該網關可以廣泛應用于工業生產和其他控制領域,實現小型工業網絡監測系統,具有良好的應用前景。 |