<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 數(shù)據(jù)通訊系統(tǒng)在輸電線路運(yùn)檢導(dǎo)航中的應(yīng)用

          數(shù)據(jù)通訊系統(tǒng)在輸電線路運(yùn)檢導(dǎo)航中的應(yīng)用

          作者: 時(shí)間:2009-10-10 來源:網(wǎng)絡(luò) 收藏
          0 引 言
          近年來,嵌入式技術(shù)發(fā)展迅速。嵌入式系統(tǒng)是指以為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁減,適合系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。在傳輸領(lǐng)域,嵌入式系統(tǒng)具有傳統(tǒng)的微機(jī)系統(tǒng)無法比擬的優(yōu)勢。首先,硬件集成度高,程序可固化在FLASH/ROM等芯片中,不易破壞,因此系統(tǒng)可靠性大大提高;其次,隨著集成電路技術(shù)的飛速發(fā)展,高端微型處理器和SoC廣泛,嵌入式系統(tǒng)的體積不斷減小,攜帶和使用非常方便;再次,嵌入式系統(tǒng)易擴(kuò)展出輸入/輸出(I/O)接口來實(shí)現(xiàn)各種功能;最后,嵌入式系統(tǒng)具有成本低、開發(fā)周期短的特點(diǎn)。
          遠(yuǎn)程通信可以采用多種形式,但主要的有兩大類:專用網(wǎng)絡(luò)和公用網(wǎng)絡(luò)。公用網(wǎng)絡(luò)由商業(yè)網(wǎng)絡(luò)運(yùn)營公司建設(shè)和經(jīng)營,向用戶提供各種網(wǎng)絡(luò)接入服務(wù),特別適合構(gòu)建低成本、高性能通信系統(tǒng)。公用網(wǎng)絡(luò)又分為有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò),而無線網(wǎng)絡(luò)具有接入方便等獨(dú)特的優(yōu)勢,因而可以非常方便地構(gòu)建移動(dòng)數(shù)據(jù)通信系統(tǒng)。
          隨著我國電網(wǎng)的不斷擴(kuò)大,越來越多、越來越復(fù)雜,給運(yùn)檢人員日常維護(hù)和檢修造成了一定的困難。運(yùn)檢人員一般工作在野外,需要用系統(tǒng)來識別路徑,當(dāng)遇到危險(xiǎn)情況下尋求救援時(shí)也需要將自己的位置信息傳輸給監(jiān)控中心。而目前普遍使用的手持定位系統(tǒng)和車載定位系統(tǒng)只能實(shí)現(xiàn)市區(qū)和主干道上的,不能滿足線路運(yùn)檢的需要。輸電線路運(yùn)檢導(dǎo)航系統(tǒng)的設(shè)計(jì)有效地解決了目前導(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ù)和無線移動(dòng)網(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è)計(jì)
          整個(gè)系統(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í)能夠接收來自手持終端的數(shù)據(jù),并在監(jiān)控中心大屏幕上顯示。

          本文引用地址:http://www.ex-cimer.com/article/157826.htm

          手持終端采用ARM-Linux系統(tǒng)。系統(tǒng)的核心部件ARM(AdvancedRISC Machines)處理器是專門針對嵌入式設(shè)備設(shè)計(jì)的,是目前構(gòu)造嵌入式系統(tǒng)硬件平臺的首選,采用RISC(精簡指令集計(jì)算機(jī))架構(gòu)的ARM微處理器具有體積小、低功耗、低成本、高性能的特點(diǎn)。而Linux操作系統(tǒng)可公開獲得的源代碼已經(jīng)在性能、功能、驅(qū)動(dòng)開發(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)主要分為以下幾個(gè)部分:ARM處理器及其擴(kuò)展接口、觸摸屏、電源、GPS模塊、GPRS模塊等。手持終端硬件平臺以S3C2410控制器為核心,其他模塊通過它的內(nèi)部接口,輔助以設(shè)計(jì)的外部電路來完成相應(yīng)的功能。
          S3C2410自帶3通道UART,這里使用的串口2與GPRS模塊相連,如圖2所示。由圖中可以看出GPB6~8代替了串口2的CTS,DCD和DTR握手信號,因此要在串口驅(qū)動(dòng)中將原來對于串口2“DCD,DTR,CTS”信號操作的地方,改成相應(yīng)對“GPB6~8”的操作;此外,因?yàn)橐oMC35i模塊“IGT”引腳至少100 ms的低脈沖用于啟動(dòng)MC35i模塊,而這個(gè)脈沖是通過由軟件的方法對-GPB9腳寫0和1來產(chǎn)生,因此要在驅(qū)動(dòng)中串口初始化的部分添加這個(gè)脈沖產(chǎn)生的代碼,用于啟動(dòng)GPRS模塊。
          系統(tǒng)使用的嵌入式Linux內(nèi)核版本是2.6.14,其中串口驅(qū)動(dòng)的部分位于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,從高到低每個(gè)bit依次代表的是DCD,RI,DSR,CTS,DDCD,TERI,DDSR,DCTS的值(高低電平),因此要將這些函數(shù)中對UART MSR的狀態(tài)值status進(jìn)行判斷處理前,相應(yīng)的位賦上正確的值,這個(gè)值從相應(yīng)的GPIO腳來獲取。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();