數據通訊系統在輸電線(xiàn)路運檢導航中的應用
近年來(lái),嵌入式技術(shù)發(fā)展迅速。嵌入式系統是指以應用為中心,以計算機技術(shù)為基礎,軟硬件可裁減,適合應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專(zhuān)用計算機系統。在數據傳輸領(lǐng)域,嵌入式系統具有傳統的微機系統無(wú)法比擬的優(yōu)勢。首先,硬件集成度高,程序可固化在FLASH/ROM等芯片中,不易破壞,因此系統可靠性大大提高;其次,隨著(zhù)集成電路技術(shù)的飛速發(fā)展,高端微型處理器和SoC廣泛應用,嵌入式系統的體積不斷減小,攜帶和使用非常方便;再次,嵌入式系統易擴展出輸入/輸出(I/O)接口來(lái)實(shí)現各種功能;最后,嵌入式系統具有成本低、開(kāi)發(fā)周期短的特點(diǎn)。
遠程數據通信可以采用多種形式,但主要的有兩大類(lèi):專(zhuān)用網(wǎng)絡(luò )和公用網(wǎng)絡(luò )。公用網(wǎng)絡(luò )由商業(yè)網(wǎng)絡(luò )運營(yíng)公司建設和經(jīng)營(yíng),向用戶(hù)提供各種網(wǎng)絡(luò )接入服務(wù),特別適合構建低成本、高性能數據通信系統。公用網(wǎng)絡(luò )又分為有線(xiàn)網(wǎng)絡(luò )和無(wú)線(xiàn)網(wǎng)絡(luò ),而無(wú)線(xiàn)網(wǎng)絡(luò )具有接入方便等獨特的優(yōu)勢,因而可以非常方便地構建移動(dòng)數據通信系統。
隨著(zhù)我國電網(wǎng)的不斷擴大,輸電線(xiàn)路越來(lái)越多、越來(lái)越復雜,給線(xiàn)路運檢人員日常維護和檢修造成了一定的困難。輸電線(xiàn)路運檢人員一般工作在野外,需要用導航系統來(lái)識別路徑,當遇到危險情況下尋求救援時(shí)也需要將自己的位置信息傳輸給監控中心。而目前普遍使用的手持定位系統和車(chē)載定位系統只能實(shí)現市區和主干道上的導航,不能滿(mǎn)足輸電線(xiàn)路運檢導航的需要。輸電線(xiàn)路運檢導航系統的設計有效地解決了目前導航系統的弊端。
本文重點(diǎn)是解決輸電線(xiàn)路運檢導航系統的數據傳輸問(wèn)題,采用GPRS技術(shù)結合Linux操作系統實(shí)現。關(guān)于應用嵌入式技術(shù)和無(wú)線(xiàn)移動(dòng)網(wǎng)絡(luò )技術(shù)的融合,實(shí)現遠程的數據傳輸已經(jīng)出現了不同的研究方案,并充分展現了其廣闊的應用領(lǐng)域和前景。
1 系統總體設計
整個(gè)系統由手持終端和遠端服務(wù)器構成,系統整體結構如圖1所示。手持終端設備通過(guò)GPRS無(wú)線(xiàn)網(wǎng)絡(luò )實(shí)現與監控中心服務(wù)器之間的通信,使得當監控中心接入Internet網(wǎng)絡(luò )時(shí)能夠接收來(lái)自手持終端的數據,并在監控中心大屏幕上顯示。
手持終端采用ARM-Linux系統。系統的核心部件ARM(AdvancedRISC Machines)處理器是專(zhuān)門(mén)針對嵌入式設備設計的,是目前構造嵌入式系統硬件平臺的首選,采用RISC(精簡(jiǎn)指令集計算機)架構的ARM微處理器具有體積小、低功耗、低成本、高性能的特點(diǎn)。而Linux操作系統可公開(kāi)獲得的源代碼已經(jīng)在性能、功能、驅動(dòng)開(kāi)發(fā)和可移植性等方面經(jīng)歷了無(wú)數的改進(jìn)、增強及擴充,其操作系統代碼可裁減,所以采用嵌入式Linux操作系統可以大大提高系統的可靠性,充分發(fā)揮處理器的多任務(wù)潛力,提高開(kāi)發(fā)效率和縮短開(kāi)發(fā)周期。
2 系統硬件實(shí)現
手持終端硬件結構主要分為以下幾個(gè)部分:ARM處理器及其擴展接口、觸摸屏、電源、GPS模塊、GPRS模塊等。手持終端硬件平臺以S3C2410控制器為核心,其他模塊通過(guò)它的內部接口,輔助以設計的外部電路來(lái)完成相應的功能。
S3C2410自帶3通道UART,這里使用的串口2與GPRS模塊相連,如圖2所示。由圖中可以看出GPB6~8代替了串口2的CTS,DCD和DTR握手信號,因此要在串口驅動(dòng)中將原來(lái)對于串口2“DCD,DTR,CTS”信號操作的地方,改成相應對“GPB6~8”的操作;此外,因為要給MC35i模塊“IGT”引腳至少100 ms的低脈沖用于啟動(dòng)MC35i模塊,而這個(gè)脈沖是通過(guò)由軟件的方法對-GPB9腳寫(xiě)0和1來(lái)產(chǎn)生,因此要在驅動(dòng)中串口初始化的部分添加這個(gè)脈沖產(chǎn)生的代碼,用于啟動(dòng)GPRS模塊。
系統使用的嵌入式Linux內核版本是2.6.14,其中串口驅動(dòng)的部分位于A(yíng)RM板內核的kernel/driv-ers/serial和/kernel/drivers/char/目錄下。其中串口初始化部分位于/kernel/drivers/serial/serials3c2410.c文件中。對其進(jìn)行如下修改:
對于握手信號的處理位于/home/guoguo/kernel/drivers/char/serial.c文件中。主要需要修改的函數有:check_modem_status(),get_modem_info(),block_til_ready(),line_info(),autoconfig()等函數。
上述的函數中都有涉及到讀握手信號的狀態(tài)進(jìn)行判斷操作,而讀握手信號值主要是通過(guò)讀modem狀態(tài)寄存器的值來(lái)實(shí)現,在內核中modem狀態(tài)寄存器被定義為UART_MSR,UART_MSR共8 b,從高到低每個(gè)bit依次代表的是DCD,RI,DSR,CTS,DDCD,TERI,DDSR,DCTS的值(高低電平),因此要將這些函數中對UART MSR的狀態(tài)值status進(jìn)行判斷處理前,相應的位賦上正確的值,這個(gè)值從相應的GPIO腳來(lái)獲取。
評論