單芯片嵌入式網(wǎng)關(guān)在煤井下人員定位中的應用
3 軟件實(shí)現
嵌入式網(wǎng)關(guān)的軟件系統完成系統的協(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ǎng)關(guān)設備的服務(wù)器端建立連接,并獲取基站人員定位信息;如果該網(wǎng)關(guān)設備中已存放有大量數據(取決于本地存儲器),那么它將通過(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不再難懂)相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論