近年來,嵌入式技術(shù)發(fā)展迅速,。嵌入式系統(tǒng)是指以應(yīng)用為中心,,以計算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁減,,適合應(yīng)用系統(tǒng)對功能,、可靠性、成本,、體積,、功耗等嚴(yán)格要求的專用計算機(jī)系統(tǒng)。在數(shù)據(jù)傳輸領(lǐng)域,,嵌入式系統(tǒng)具有傳統(tǒng)的微機(jī)系統(tǒng)無法比擬的優(yōu)勢,。首先,硬件集成度高,,程序可固化在FLASH/ROM等芯片中,,不易破壞,因此系統(tǒng)可靠性大大提高,;其次,,隨著集成電路技術(shù)的飛速發(fā)展,,高端微型處理器和SoC廣泛應(yīng)用,嵌入式系統(tǒng)的體積不斷減小,,攜帶和使用非常方便,;再次,嵌入式系統(tǒng)易擴(kuò)展出輸入/輸出(I/O)接口來實(shí)現(xiàn)各種功能,;最后,,嵌入式系統(tǒng)具有成本低、開發(fā)周期短的特點(diǎn),。
遠(yuǎn)程數(shù)據(jù)通信可以采用多種形式,,但主要的有兩大類:專用網(wǎng)絡(luò)和公用網(wǎng)絡(luò)。公用網(wǎng)絡(luò)由商業(yè)網(wǎng)絡(luò)運(yùn)營公司建設(shè)和經(jīng)營,,向用戶提供各種網(wǎng)絡(luò)接入服務(wù),,特別適合構(gòu)建低成本、高性能數(shù)據(jù)通信系統(tǒng),。公用網(wǎng)絡(luò)又分為有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò),,而無線網(wǎng)絡(luò)具有接入方便等獨(dú)特的優(yōu)勢,因而可以非常方便地構(gòu)建移動數(shù)據(jù)通信系統(tǒng),。
隨著我國電網(wǎng)的不斷擴(kuò)大,,輸電線路越來越多、越來越復(fù)雜,,給線路運(yùn)檢人員日常維護(hù)和檢修造成了一定的困難,。輸電線路運(yùn)檢人員一般工作在野外,需要用導(dǎo)航系統(tǒng)來識別路徑,,當(dāng)遇到危險情況下尋求救援時也需要將自己的位置信息傳輸給監(jiān)控中心,。而目前普遍使用的手持定位系統(tǒng)和車載定位系統(tǒng)只能實(shí)現(xiàn)市區(qū)和主干道上的導(dǎo)航,不能滿足輸電線路運(yùn)檢導(dǎo)航的需要,。輸電線路運(yùn)檢導(dǎo)航系統(tǒng)的設(shè)計有效地解決了目前導(dǎo)航系統(tǒng)的弊端。
本文重點(diǎn)是解決輸電線路運(yùn)檢導(dǎo)航系統(tǒng)的數(shù)據(jù)傳輸問題,,采用GPRS技術(shù)結(jié)合Linux操作系統(tǒng)實(shí)現(xiàn),。關(guān)于應(yīng)用嵌入式技術(shù)和無線移動網(wǎng)絡(luò)技術(shù)的融合,實(shí)現(xiàn)遠(yuǎn)程的數(shù)據(jù)傳輸已經(jīng)出現(xiàn)了不同的研究方案,,并充分展現(xiàn)了其廣闊的應(yīng)用領(lǐng)域和前景,。
1 系統(tǒng)總體設(shè)計
整個系統(tǒng)由手持終端和遠(yuǎn)端服務(wù)器構(gòu)成,系統(tǒng)整體結(jié)構(gòu)如圖1所示,。手持終端設(shè)備通過GPRS無線網(wǎng)絡(luò)實(shí)現(xiàn)與監(jiān)控中心服務(wù)器之間的通信,,使得當(dāng)監(jiān)控中心接入Internet網(wǎng)絡(luò)時能夠接收來自手持終端的數(shù)據(jù),并在監(jiān)控中心大屏幕上顯示,。
手持終端采用ARM-Linux系統(tǒng),。系統(tǒng)的核心部件ARM(AdvancedRISC Machines)處理器是專門針對嵌入式設(shè)備設(shè)計的,,是目前構(gòu)造嵌入式系統(tǒng)硬件平臺的首選,采用RISC(精簡指令集計算機(jī))架構(gòu)的ARM微處理器具有體積小,、低功耗,、低成本、高性能的特點(diǎn),。而Linux操作系統(tǒng)可公開獲得的源代碼已經(jīng)在性能,、功能、驅(qū)動開發(fā)和可移植性等方面經(jīng)歷了無數(shù)的改進(jìn),、增強(qiáng)及擴(kuò)充,,其操作系統(tǒng)代碼可裁減,所以采用嵌入式Linux操作系統(tǒng)可以大大提高系統(tǒng)的可靠性,,充分發(fā)揮處理器的多任務(wù)潛力,,提高開發(fā)效率和縮短開發(fā)周期。
2 系統(tǒng)硬件實(shí)現(xiàn)
手持終端硬件結(jié)構(gòu)主要分為以下幾個部分:ARM處理器及其擴(kuò)展接口,、觸摸屏,、電源、GPS模塊,、GPRS模塊等,。手持終端硬件平臺以S3C2410控制器為核心,其他模塊通過它的內(nèi)部接口,,輔助以設(shè)計的外部電路來完成相應(yīng)的功能,。
S3C2410 自帶3通道UART,這里使用的串口2與GPRS模塊相連,,如圖2所示,。由圖中可以看出GPB6~8代替了串口2的CTS,DCD和DTR握手信號,,因此要在串口驅(qū)動中將原來對于串口2“DCD,,DTR,CTS”信號操作的地方,,改成相應(yīng)對“GPB6~8”的操作,;此外,因?yàn)橐oMC35i模塊“IGT” 引腳至少100 ms的低脈沖用于啟動MC35i模塊,,而這個脈沖是通過由軟件的方法對-GPB9腳寫0和1來產(chǎn)生,,因此要在驅(qū)動中串口初始化的部分添加這個脈沖產(chǎn)生的代碼,用于啟動GPRS模塊,。
系統(tǒng)使用的嵌入式Linux內(nèi)核版本是2.6.14,,其中串口驅(qū)動的部分位于ARM板內(nèi)核的 kernel/driv-ers/serial和/kernel/drivers/char/目錄下。其中串口初始化部分位于/kernel/drivers/serial/serials3c2410.c文件中,。對其進(jìn)行如下修改:
對于握手信號的處理位于/home/guoguo/kernel/drivers/char/serial.c文件中,。主要需要修改的函數(shù)有:check_modem_status(),,get_modem_info(),block_til_ready(),,line_info(),,autoconfig() 等函數(shù)。
上述的函數(shù)中都有涉及到讀握手信號的狀態(tài)進(jìn)行判斷操作,,而讀握手信號值主要是通過讀modem狀態(tài)寄存器的值來實(shí)現(xiàn),,在內(nèi)核中 modem狀態(tài)寄存器被定義為UART_MSR,UART_MSR共8 b,,從高到低每個bit依次代表的是DCD,,RI,DSR,,CTS,,DDCD,TERI,,DDSR,,DCTS的值(高低電平),因此要將這些函數(shù)中對 UART MSR的狀態(tài)值status進(jìn)行判斷處理前,,相應(yīng)的位賦上正確的值,,這個值從相應(yīng)的GPIO腳來獲取。
3 系統(tǒng)通信程序?qū)崿F(xiàn)
在Linux下要完成與掛接在Internet上的通信服務(wù)器通信,,首先需要經(jīng)過GPRS模塊初始化和GPRS網(wǎng)絡(luò)連接,,然后才能使用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸。
GPRS 模塊初始化程序功能:實(shí)現(xiàn)MC35i模塊初始化并完成MC35i與S3C2410的邏輯連接,。在該程序內(nèi)部使STB選通信號變?yōu)楦唠娖?,并持續(xù)規(guī)定時間,然后恢復(fù)成低電平,,完成對MC35i的初始化工作,,緊接著通過有關(guān)控制信號實(shí)現(xiàn)S3(22410與MC35i的邏輯連接。初始化程序可直接在Linux命令行下執(zhí)行命令I(lǐng)n-smodigto即可完成,。
GPRS網(wǎng)絡(luò)連接程序功能:使Mc35i以某種通信協(xié)議連接到GPRS網(wǎng)絡(luò)上,。網(wǎng)絡(luò)連接使用第三方提供的內(nèi)置PPP通信協(xié)議的軟件,其命令如下:
/connect
當(dāng)連接成功后,,由于GPRS網(wǎng)絡(luò)通過中國移動網(wǎng)關(guān)連接到了Internet網(wǎng),因此就可以利用TCP/IP協(xié)議與Internet上的任何IP地址進(jìn)行通信了,。
由于Linux操作系統(tǒng)已內(nèi)置TCP/IP協(xié)議棧,,因此可以直接使用套接字編程實(shí)現(xiàn)TCP/IP的數(shù)據(jù)傳輸。套接字的基本模式是C/S(客戶/服務(wù)器),,內(nèi)置GPRS模塊的設(shè)備工作在客戶模式,,而遠(yuǎn)程Internet網(wǎng)上的通信服務(wù)器工作在服務(wù)器模式,。客戶端程序基本流程是:創(chuàng)建套接字,,綁定套接字到已知端口上,,然后請求連接,最后調(diào)用數(shù)據(jù)收發(fā)函數(shù)進(jìn)行數(shù)據(jù)的發(fā)送,。在客戶端通信程序執(zhí)行前,,服務(wù)器端的程序必須完成初始化并開始偵聽。
客戶端程序如下:
4 監(jiān)控中心軟件設(shè)計
監(jiān)控中心程序負(fù)責(zé)整個工作區(qū)域畫面的顯示,,特殊區(qū)域劃分的繪制和管理以及對所有運(yùn)檢人員的跟蹤,。根據(jù)電力部門對各工作區(qū)域的特殊區(qū)域劃分,將其用不同的顏色顯示,,方便監(jiān)控人員的監(jiān)視及管理,。
監(jiān)控中心軟件利用MapXMobile控件實(shí)現(xiàn)GIS的基本功能,以Microsoft公司的可視化開發(fā)環(huán)境VC為開發(fā)平臺,,進(jìn)行二次開發(fā),。
手持終端系統(tǒng)通過綁定操作綁定到目標(biāo)主機(jī)(上位機(jī)服務(wù)器)IP地址和某一端口(本系統(tǒng)設(shè)置為5200),并通過TCP進(jìn)行數(shù)據(jù)交換,。運(yùn)用網(wǎng)絡(luò)編程的方法實(shí)現(xiàn)監(jiān)控中心軟件讀取端口5200接收到的數(shù)據(jù),,并實(shí)時地在監(jiān)控畫面上顯示出來,從而實(shí)現(xiàn)位置監(jiān)控,。
目前廣泛應(yīng)用的監(jiān)控中心電子地圖,,一般只能顯示主要城市市區(qū)和主干道地圖,不能顯示縣級以下電子地圖,,而本系統(tǒng)繪制了縣級以下電子地圖,,從而實(shí)現(xiàn)了對輸電線路運(yùn)檢人員位置的有效監(jiān)控。
監(jiān)控中心軟件電子地圖的主要創(chuàng)新點(diǎn)在于:
縣級以下公路的顯示 這部分主要是利用采集的地圖數(shù)據(jù),,結(jié)合SQL數(shù)據(jù)庫或MSACCESS數(shù)據(jù)庫,,以VC為開發(fā)平臺進(jìn)行繪制;
路徑軌跡的記錄與回放 利用GIS控件中的函數(shù),,通過對數(shù)據(jù)庫中路徑軌跡數(shù)據(jù)的操作,,實(shí)現(xiàn)路徑軌跡的回放。
5 結(jié) 語
該研究設(shè)計了基于Linux和GPRS的數(shù)據(jù)通訊系統(tǒng),,并介紹了數(shù)據(jù)通訊系統(tǒng)的硬件組成,、硬件連接方案及串口驅(qū)動的修改,同時列出了軟件的實(shí)現(xiàn)方法,。本研究還結(jié)合該系統(tǒng)在輸電線路運(yùn)檢導(dǎo)航系統(tǒng)中的應(yīng)用,,闡述了系統(tǒng)的組成、功能和特點(diǎn)。
該系統(tǒng)在科學(xué)研究和實(shí)際應(yīng)用方面的網(wǎng)絡(luò)功能優(yōu)勢明顯,。在輸電線路運(yùn)檢中,,運(yùn)行班組相對固定的情況下,該系統(tǒng)使得其他參與檢修人員在線路年度大修和故障搶修時不需要運(yùn)行班組專人帶路,,節(jié)省人力也提高了效率,;同時監(jiān)控中心又可以對檢修人員的位置進(jìn)行實(shí)時監(jiān)控。
GPRS數(shù)據(jù)傳輸方式的快速性和實(shí)時性能夠滿足傳輸定位數(shù)據(jù)的需求,,而且能夠直接與互聯(lián)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,,應(yīng)用靈活方便。測試結(jié)果表明,,本系統(tǒng)能夠?qū)崿F(xiàn)信號的可靠傳輸,。但該系統(tǒng)在機(jī)密數(shù)據(jù)傳輸保密上,還有待進(jìn)一步完善,。