• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      多線程串口通信技術(shù)在北斗導(dǎo)航中的運用分析

      2017-08-28 01:32:18陳讓琛
      無線互聯(lián)科技 2017年15期
      關(guān)鍵詞:控件線程導(dǎo)航系統(tǒng)

      陳讓琛

      (廣州海格通信集團股份有限公司,廣東 廣州 510650)

      多線程串口通信技術(shù)在北斗導(dǎo)航中的運用分析

      陳讓琛

      (廣州海格通信集團股份有限公司,廣東 廣州 510650)

      北斗導(dǎo)航系統(tǒng)作為國家戰(zhàn)略性空間基礎(chǔ)設(shè)施,不僅對國防安全意義重大,在民用領(lǐng)域的精準(zhǔn)化應(yīng)用也越來越廣泛。多線程串口通信技術(shù)應(yīng)用在北斗導(dǎo)航系統(tǒng)中,可以通過此技術(shù)來實時獲取接收機串口的定位數(shù)據(jù),同步輸出到多個通信串口中,實現(xiàn)位置、時間、速度等信息的實時更新,同時還可以多設(shè)備聯(lián)合操作,以供用戶完成多重需要,大大提升了北斗導(dǎo)航系統(tǒng)的使用效益。文章對北斗導(dǎo)航系統(tǒng)的功能和多線程串口通信技術(shù)進行了分析,闡述了多線程串口通信技術(shù)在北斗導(dǎo)航中的具體運用。

      多線程;串口通信技術(shù);北斗導(dǎo)航;運用

      北斗衛(wèi)星導(dǎo)航系統(tǒng)是我國自主研發(fā),獨立運行的全球衛(wèi)星導(dǎo)航系統(tǒng)。此系統(tǒng)建設(shè)主要是為國民經(jīng)濟發(fā)展而服務(wù),可應(yīng)用于中國的交通運輸、氣象、石油、海洋、通信、公安和國家安全等多個領(lǐng)域的導(dǎo)航定位服務(wù)。2012年,我國北斗衛(wèi)星系統(tǒng)中已經(jīng)有16顆衛(wèi)星,定位精度達到了亞米級,實現(xiàn)了我國及周邊地區(qū)信號的全面覆蓋。2020年左右,我國將建成覆蓋全球的北斗衛(wèi)星導(dǎo)航系統(tǒng)。

      1 多線程技術(shù)概述

      在WinCE中,線程主要是通過時間片作為單位來運行實現(xiàn)的,根據(jù)時間片段的優(yōu)先程度將其分配到每個線程中,并且每個線程可以在自己所在的時間片段中進行內(nèi)容共享。優(yōu)先等級較高的線程先運行,然后優(yōu)先等級較低的線程再運行。在對特定優(yōu)先級線程調(diào)度以前,必須將所有的高優(yōu)先級線程進行阻塞。而對于相同等級的優(yōu)先級線程運行,都是使用循環(huán)的方式來進行調(diào)度的。如果低優(yōu)先級線程正在運行,停止高優(yōu)先級線程的阻塞,就會導(dǎo)致低優(yōu)先級線程被立刻掛起。與此同時,高優(yōu)先級線程就會被立刻調(diào)度。高優(yōu)先級的線程永遠都是處于優(yōu)先地位,不會被低優(yōu)先級線程所占用,這種方式為搶占式多任務(wù)處理提供良好的條件,從而提高數(shù)據(jù)傳輸量,保證通信的實時暢通。對于線程來說,其也具有一定特殊性:線程本身存在優(yōu)先級,永遠不會被強占。同時,有可能會出現(xiàn)優(yōu)先級倒置的情況,這種情況出現(xiàn)的原因是低優(yōu)先級的線程擁有高優(yōu)先級線程沒有的資源,從而發(fā)生上述情況。

      2 線程實現(xiàn)方式

      在整體系統(tǒng)中,會存在多個線程同步運行,才能完成用戶需求。在WinCE中,一般通過使用事件同步對象的方法來實現(xiàn)。在事件創(chuàng)建完成后,事件對象會以“已標(biāo)示”和“未標(biāo)示”兩種狀態(tài)存在,如果設(shè)置為“已標(biāo)示”,說明任務(wù)可以進行同步操作;如果處于“未標(biāo)示”狀態(tài),必須等到狀態(tài)變?yōu)椤耙褬?biāo)示”后,才能進行同步操作。一個線程可以被事件對象允許將運行減緩,然后對指定事件進行等待。也就是說線程此時處于阻塞狀態(tài),這種情況下,線程只需要少量的電能和CPU處理能力來進行維護,同時提高了應(yīng)用程序中CPU的利用效率,使信息處理的速度有所提高,加大了信息數(shù)據(jù)的吞吐量和通信程序的暢通。如果串口中出現(xiàn)預(yù)定事件時,就可以利用消息通知主線程并請求給予相應(yīng)的處理,在主線程接收到信息后,將相應(yīng)的線程處理程序喚醒,每個線程之間可以通過事件同步對象來完成程序同步,從而將監(jiān)視串口和讀寫串口同步進行。

      3 WinCE下串口通信技術(shù)的原理和優(yōu)勢分析

      串行端口在Windows和WinCE中的通信函數(shù)大部分都是相同的,但是也有一定的差異。在Windows系統(tǒng)中,串行端口屬于流接口設(shè)備,它是建立在常規(guī)I/O驅(qū)動程序基礎(chǔ)之上,來對與通信相關(guān)的具體函數(shù)進行調(diào)用。而在WinCE設(shè)備中,存在較少的設(shè)備資源,而存儲器和顯示器的內(nèi)容量較小,接口也不多,并受實際情況影響變化較大。同時,由于WinCE系統(tǒng)是建立在Unicode基礎(chǔ)之上的,它的API函數(shù)屬于Unicode格式,所以字符串的函數(shù)都必須以Unicode 格式提供給API函數(shù)。另外,WinCE系統(tǒng)中,設(shè)備名稱必須以“XXXn :”的形式來進行書寫,而n的范圍為0~9之間的數(shù);串口要以“COM n :”的形式來命名,這里的冒號是必須存在的。WinCE系統(tǒng)不支持I/O的重疊,如果在主線程中同時進行多個串口的讀寫,就會導(dǎo)致整個程序減慢并處于串口等待狀態(tài)。所以,WinCE系讀寫串口的操作都是通過多線程方式來完成。

      現(xiàn)階段,WinCE系統(tǒng)在進行編程時,ActiveX控件中的MSComm通信控件,WindowsAPI和第三方通信控件進行編程是最為常用的串口通信控件。在WinCE系統(tǒng)中應(yīng)用MSComm通信控件時,因為這些控件已經(jīng)被封裝,簡單地配置串口就可以了。但是在此情況下,大大降低了編程的靈活性和可控性。而在編程時如果使用Windows API 函數(shù),要求工作人員必須掌握更多的底層編程知識和更高的多線程技術(shù),增加了開發(fā)的難度。當(dāng)使用第三方串口通信控件進行編程時,可以提高編程效率,也可以對程序進行更好的控制。其中最常用的此類控件為CComPort類,它將CSeriPort類CRead-ComThread類和CWriteComThread類進行了封裝,此類控件是建立在多線程基礎(chǔ)之上的,很容易操作串口,從而使得多線程串口通信得以實現(xiàn)。根據(jù)以上3種串口通信技術(shù)的對比,第三方串口通信中CComPort類是WinCE系統(tǒng)中進行多線程編寫的最佳選擇。

      4 多線程串口通信技術(shù)在北斗導(dǎo)航中的應(yīng)用

      北斗導(dǎo)航都是通過衛(wèi)星來進行定位作業(yè)的,然后將相應(yīng)的數(shù)據(jù)傳輸給用戶。為了達到定位需求,北斗導(dǎo)航接收機解算的位置信息等數(shù)據(jù)需要通過串口來提供給用戶實時的數(shù)據(jù)。接收機在接收數(shù)據(jù)的同時,要對數(shù)據(jù)進行實時監(jiān)控,存儲和顯示,這些作業(yè)都可以使用多線程串口通信技術(shù)來完成。所以,北斗導(dǎo)航系統(tǒng)程序在使用此技術(shù)時,首先要確定一個主線程,這主要是用來處理用戶信息,然后再使用已經(jīng)預(yù)定好的預(yù)流程來對其他的支線程進行調(diào)度并進行數(shù)據(jù)的處理。其次,串口堅實的線程,是對數(shù)據(jù)處理的滯留期,入庫線程在處理滯留期的數(shù)據(jù)后對其進行儲存。最后,顯示線程。其主要是將已處理的數(shù)據(jù)對用戶進行顯示,其顯示出來的狀態(tài)都會與地圖相一致,使得用戶可以讀懂這些數(shù)據(jù)。具體的操作流程如圖1所示。

      隨著科學(xué)技術(shù)的發(fā)展,北斗導(dǎo)航技術(shù)也得到了不斷完善。多線程串口通信技術(shù)在程序中的應(yīng)用可以分為以下幾個部分:(1)確定用戶主界面線程。它主要是用來處理用戶界面的消息,根據(jù)預(yù)定義流程來對其他線程數(shù)據(jù)進行處理和調(diào)整。(2)串口監(jiān)聽線程。它主要是用來對串口的監(jiān)聽,檢查是否有數(shù)據(jù)傳輸過來,如果有數(shù)據(jù),需要將敘述發(fā)送給讀線程。(3)讀線程。它主要是用來接收串口監(jiān)聽線程的消息,并將其保存到緩沖區(qū)中。(4)寫線程。主要是對緩沖區(qū)的數(shù)據(jù)進行讀取和處理,并將處理好的數(shù)據(jù)存入數(shù)據(jù)庫。(5)顯示線程。結(jié)合地圖,使用科學(xué)合理的計算方法對用戶實時地址在電子地圖上進行顯示。具體流程如圖2所示。

      圖1 北斗一號導(dǎo)航系統(tǒng)程序

      圖2 北斗二號導(dǎo)航系統(tǒng)程序

      5 結(jié)語

      北斗導(dǎo)航在我國國民經(jīng)濟發(fā)展中占據(jù)著重要位置,不僅對人們?nèi)粘Ia(chǎn)和生活產(chǎn)生巨大影響,在各行業(yè)研發(fā)和運行中也發(fā)揮著關(guān)鍵的作用。所以,北斗導(dǎo)航具有很高的社會價值。而多線程接口通信技術(shù)在北斗導(dǎo)航系統(tǒng)中的應(yīng)用,實現(xiàn)了數(shù)據(jù)共享和分發(fā)的作用,解決了用戶多路數(shù)據(jù)并發(fā)的需求,為導(dǎo)航產(chǎn)品提供全方位的服務(wù),最大程度地提升設(shè)備的使用效率。實際使用中,由于軟件的成熟度和每個人的編程風(fēng)格不同,多線程串口通信技術(shù)還存在許多可以挖掘和完善的地方,相信在以后的科研工作中通過對實際效果的評估和積累,能進一步增強多線程串口通信的穩(wěn)定性和實用性。

      [1]趙素林.利用多線程實現(xiàn)串口數(shù)據(jù)的實時圖形化顯示[J].計算機技術(shù)與發(fā)展,2016(6):124-126.

      [2]馮正,韓焱,王黎明.多線程串口通信技術(shù)在GPS導(dǎo)航中的應(yīng)用[J].現(xiàn)代電子技術(shù),2013(8):28-30,33.

      [3]張九宴.VC多線程串口通訊編程技術(shù)在GPS導(dǎo)航的應(yīng)用介紹[J].全球定位系統(tǒng),2012(3):21-23,53.

      [4]熊志昂,李紅瑞,賴順香.GPS技術(shù)與工程應(yīng)用[M].北京:國防工業(yè)出版社,2015(6):12-13.

      Analysis on the use of multi-threaded serial communication technology in Beidou navigation

      Chen Rangchen
      (Guangzhou Haige Communications Group Limited by Share Ltd., Guangzhou 510650, China)

      The Beidou navigation system as a national strategic space infrastructure, it is not only of great significance for national security, but also enjoys wider and more accurate application in civil field. The application of multi thread serial communication technology in Beidou navigation system can be used to acquire real time positioning data of the receiver serial ports, synchronization output to multiple communication serial ports, and realize real-time updates of location, time, speed and other information, at the same time, multiple devices can also be combined to enable users to perform multiple requirements, which greatly enhance the use of Beidou navigation system benefits. This paper analyzes the function of Beidou navigation system and the technology of multi thread serial communication, and expounds the speci fi c application of multi thread serial communication technology in Beidou navigation.

      multi thread; serial communication technology; Beidou navigation; application

      陳讓琛(1980— ),男,廣東汕尾,工程師;研究方向:高級數(shù)字電路設(shè)計師。

      猜你喜歡
      控件線程導(dǎo)航系統(tǒng)
      說說“北斗導(dǎo)航系統(tǒng)”
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      “北斗”導(dǎo)航系統(tǒng)是怎樣煉成的
      一種GNSS/SINS容錯深組合導(dǎo)航系統(tǒng)設(shè)計
      淺談linux多線程協(xié)作
      解讀全球第四大導(dǎo)航系統(tǒng)
      Linux線程實現(xiàn)技術(shù)研究
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      么移動中間件線程池并發(fā)機制優(yōu)化改進
      在PowerBuUder中利用WinSock控件制作簡單的Web服務(wù)器
      屏山县| 商洛市| 蓬溪县| 榆树市| 建平县| 博湖县| 嘉峪关市| 福贡县| 瑞昌市| 伊金霍洛旗| 满城县| 汉川市| 章丘市| 健康| 邢台县| 油尖旺区| 昌图县| 惠来县| 察雅县| 鄢陵县| 岑溪市| 舞钢市| 都江堰市| 东光县| 兴仁县| 奇台县| 怀安县| 庆元县| 修水县| 绥江县| 怀柔区| 阿拉善盟| 卫辉市| 本溪| 沁阳市| 平阴县| 思茅市| 二手房| 建瓯市| 都匀市| 恩施市|