<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

3 軟件實(shí)現

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

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

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

服務(wù)器端程序包括初始化函數void tcps_init(void)、主回調函數void tcps_run(void)以及事件監聽(tīng)函數INT32 tcps_eventlistener(INT8,UINT8,UINT32,UINT32)??蛻?hù)端程序類(lèi)似于服務(wù)器端程序,由于篇幅所限,本文僅列舉了服務(wù)器端的初始化函數:

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

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

3.3 RS 485以及RS 232數據傳輸

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

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

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

5 結 語(yǔ)

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

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>