新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單芯片嵌入式網(wǎng)關(guān)在煤井下人員定位中的應(yīng)用

單芯片嵌入式網(wǎng)關(guān)在煤井下人員定位中的應(yīng)用

作者: 時間:2009-07-23 來源:網(wǎng)絡(luò) 收藏

3 軟件實現(xiàn)

的軟件系統(tǒng)完成系統(tǒng)的協(xié)議轉(zhuǎn)換以及wEB服務(wù)器的構(gòu)建,基于TCP/IP的網(wǎng)絡(luò)協(xié)議棧有很多,但是針對系統(tǒng),必須考慮到硬件和軟件資源,從而需對其進(jìn)行精簡使之系統(tǒng)。考慮到硬件資源和軟件的開發(fā),本文選用了源碼開放的OpenTCP協(xié)議棧,該協(xié)議棧由芬蘭的Viola Systems公司開發(fā),實現(xiàn)了大多數(shù)的基于vIP4的網(wǎng)絡(luò)協(xié)議,如HTTP,DHCP,SMTP,TFTP,TCP/IP,DNS,ARP,ICMP等協(xié)議,并由美國的SourceForge公司根據(jù)NE64的硬件資源將其移植過來,實現(xiàn)了在16位低成本嵌入式系統(tǒng)上的網(wǎng)絡(luò)化。本文根據(jù)項目的需要,只移植了HTTP,TCPUDP,IP,ARP,ICMP協(xié)議,程序的流程如圖5所示。

3.1 基于TCP服務(wù)端和客戶端的建立

基于TCP服務(wù)器端和客戶端程序是本設(shè)計的主要程序,負(fù)責(zé)整個數(shù)據(jù)的傳輸??紤]到上位機主監(jiān)控軟件的設(shè)計,本文采用OpenTCP協(xié)議棧提供的API函數(shù)來建立TCP服務(wù)程序。在程序中,遠(yuǎn)程主控端可以通過客戶端程序主動撥號與本設(shè)備的服務(wù)器端建立連接,并獲取基站信息;如果該設(shè)備中已存放有大量數(shù)據(jù)(取決于本地存儲器),那么它將通過本地客戶端主動撥號與遠(yuǎn)程主控端服務(wù)器建立連接,并上傳數(shù)據(jù)。

服務(wù)器端程序包括初始化函數(shù)void tcps_init(void)、主回調(diào)函數(shù)void tcps_run(void)以及事件監(jiān)聽函數(shù)INT32 tcps_eventlistener(INT8,UINT8,UINT32,UINT32)??蛻舳顺绦蝾愃朴诜?wù)器端程序,由于篇幅所限,本文僅列舉了服務(wù)器端的初始化函數(shù):

3.2 其他網(wǎng)絡(luò)協(xié)議的實現(xiàn)

其他網(wǎng)絡(luò)協(xié)議包括嵌入式WEB服務(wù)器、UDP、ARP協(xié)議、DNS協(xié)議以及ICMP協(xié)議。WEB服務(wù)器是基于HTTP網(wǎng)絡(luò)協(xié)議而構(gòu)建的,在本文主要用來實現(xiàn)系統(tǒng)參數(shù)的查詢和設(shè)置,包括TCP的套接字的初始化、HTTP的初始化以及HTTP回調(diào)函數(shù)。基于UDP的數(shù)據(jù)傳輸是該網(wǎng)關(guān)的擴展功能,運用于大量數(shù)據(jù)傳輸,并且某些數(shù)據(jù)可以被丟掉的,如將該網(wǎng)關(guān)運用在的語音傳輸系統(tǒng)中。由于篇幅所限,對于ARP協(xié)議、DNS協(xié)議以及ICMP協(xié)議本文不再詳細(xì)討論。

3.3 RS 485以及RS 232數(shù)據(jù)傳輸

RS 485和RS 232是該網(wǎng)關(guān)設(shè)備與基站通信的主渠道,軟件設(shè)計主要包括兩部分:初始化和數(shù)據(jù)通信。初始化程序主要設(shè)置通信波特率以及有關(guān)的狀態(tài),數(shù)據(jù)通信主要包括串口中斷處理(發(fā)送和接收)以及對收到的基站數(shù)據(jù)處理(轉(zhuǎn)發(fā)遠(yuǎn)程主機某些命令、通過以太網(wǎng)發(fā)送人員信息等)。

4 嵌入式網(wǎng)關(guān)在煤礦人員定位中的

在現(xiàn)場安裝了5個網(wǎng)關(guān)設(shè)備,每個網(wǎng)關(guān)分別連接6臺基站,安裝距離最遠(yuǎn)為600 m。PC機端的主控軟件用VC++6.0設(shè)計,主界面包括簡單服務(wù)器和客戶端撥號程序。以太網(wǎng)采用自動協(xié)商協(xié)議,網(wǎng)速為100 Mb/s。以太網(wǎng)數(shù)據(jù)緩沖區(qū)設(shè)置為1 kB,實際上有用的字節(jié)數(shù)為804 B,除去數(shù)據(jù)長度、校驗和一些特殊信息,最后可用的最大字節(jié)數(shù)為796 B,即一次傳送的最大數(shù)據(jù)量為796 B。經(jīng)驗證該網(wǎng)關(guān)可以同時滿足6臺基站波特率在9 600 b/s的滿負(fù)載情況下工作。

5 結(jié) 語

基于的MC9S12NE64的嵌入式以太網(wǎng)網(wǎng)關(guān),完成了光纖環(huán)網(wǎng)到井下基站的數(shù)據(jù)轉(zhuǎn)換,實現(xiàn)了低成本、高速率的嵌入式WEB服務(wù)器、簡化的基于TCP服務(wù)器和客戶端用戶應(yīng)用程序以及UDP的數(shù)據(jù)傳輸?shù)南到y(tǒng)。該網(wǎng)關(guān)可以廣泛應(yīng)用于工業(yè)生產(chǎn)和其他控制領(lǐng)域,實現(xiàn)小型工業(yè)網(wǎng)絡(luò)監(jiān)測系統(tǒng),具有良好的應(yīng)用前景。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉