• 
    

    
    

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

      基于并行多串口的潛艇數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

      2013-09-12 01:49:50王黎明張永峰
      微處理機(jī) 2013年1期
      關(guān)鍵詞:源碼線程潛艇

      鄭 健,王黎明,張永峰

      (中國人民解放軍91388部隊(duì),湛江 524022)

      1 引言

      國外主流潛艇作戰(zhàn)系統(tǒng)皆采用分布式體系架構(gòu),實(shí)現(xiàn)了從傳感器探測至指揮決策到武器發(fā)控的功能流程,并向綜合化、智能化、開放式、軟件化、網(wǎng)絡(luò)化等方向發(fā)展[1]。我國潛艇作戰(zhàn)系統(tǒng)目前還處于集中式發(fā)展階段,盡管各分系統(tǒng)在地理和形式上是分散的,但是從目標(biāo)探測、信息搜集、數(shù)據(jù)處理乃至指令發(fā)送等方面,其傳輸?shù)木W(wǎng)絡(luò)還是樹狀結(jié)構(gòu),沒有形成完整的封閉系統(tǒng)[2]。因此,數(shù)據(jù)采集不可能像分布式網(wǎng)絡(luò)一樣接入交換機(jī)即可,只能采取點(diǎn)對點(diǎn)的方式進(jìn)行。盡管部分主戰(zhàn)潛艇更換了新型設(shè)備(如指控設(shè)備等),但各系統(tǒng)間數(shù)據(jù)傳輸接口受限于設(shè)計(jì)布局而無法更改,部分仍然采用串口作為主要的傳輸接口。對潛艇作戰(zhàn)系統(tǒng)各個通道進(jìn)行數(shù)據(jù)采集,主要包括聲納、導(dǎo)航、以及指控系統(tǒng)與各分系統(tǒng)的交互信息,不可避免造成數(shù)據(jù)采集點(diǎn)較多的問題,傳統(tǒng)的方法是對每個數(shù)據(jù)通道配備一臺數(shù)據(jù)采集計(jì)算機(jī)。這里設(shè)計(jì)了一種基于并行多串口的數(shù)據(jù)采集系統(tǒng),可在一臺數(shù)據(jù)采集機(jī)上同時采集潛艇作戰(zhàn)系統(tǒng)多個通道的信息,解決了由于潛艇空間狹小而造成數(shù)據(jù)采集設(shè)備的安放問題,同時可節(jié)約設(shè)備購置成本。

      2 系統(tǒng)組成

      系統(tǒng)硬件設(shè)計(jì)采用成熟的MOXA公司的UPort1400系列協(xié)議轉(zhuǎn)換器(以下簡稱MOXA協(xié)議轉(zhuǎn)換器),它以異步串行通信方式工作,可以同時將4路RS232/RS422/RS485串口信息轉(zhuǎn)換為USB接口信息。各數(shù)據(jù)采集點(diǎn)的三通線纜制作根據(jù)航空插座相關(guān)芯線定義進(jìn)行,接入MOXA協(xié)議轉(zhuǎn)換器端的接口采用9針串口,嚴(yán)格按照協(xié)議轉(zhuǎn)換器芯線定義進(jìn)行焊接制作。

      針對潛艇數(shù)據(jù)采集的實(shí)際情況,采集點(diǎn)主要分布在指揮艙以及武器發(fā)控艙,2個艙室分別配置1臺加固筆記本作為數(shù)據(jù)采集機(jī),前端配備多個MOXA協(xié)議轉(zhuǎn)換器連接各采集點(diǎn),協(xié)議轉(zhuǎn)換器與數(shù)據(jù)采集機(jī)用USB線纜連接。具體系統(tǒng)組成見圖3系統(tǒng)測試部署圖中的系統(tǒng)主體部分。

      3 系統(tǒng)設(shè)計(jì)

      在32位Windows系統(tǒng)中,多任務(wù)是指系統(tǒng)可以同時運(yùn)行多個進(jìn)程,每個進(jìn)程也可以同時執(zhí)行多個線程,系統(tǒng)不停的在多個線程之間切換。由于時間很短,看上去多個線程在同時運(yùn)行。每個進(jìn)程都有一個主線程,線程是并行執(zhí)行的,可以把線程看作是操作系統(tǒng)分配CPU時間的基本實(shí)體,系統(tǒng)不停的在各個線程之間切換。系統(tǒng)為每一個線程分配一個CPU時間段,某個線程只有在分配的CPU時間段內(nèi)才擁有對CPU的控制權(quán)[3]。

      多線程技術(shù)能很好地解決各種邏輯并發(fā)性和物理并行性,改善系統(tǒng)的各項(xiàng)性能,如吞吐量、計(jì)算速度、響應(yīng)時間等,提高系統(tǒng)的執(zhí)行效率和資源利用率,同時也大大提升了程序的可讀性和穩(wěn)定性[4]。

      本系統(tǒng)在WindowsXP操作系統(tǒng)下,利用多線程技術(shù)在Visual Studio2010平臺上進(jìn)行軟件開發(fā)。軟件流程圖如圖1所示。

      圖1 數(shù)據(jù)采集軟件流程圖

      軟件運(yùn)行后需要對連接各采集點(diǎn)的協(xié)議轉(zhuǎn)換器串口進(jìn)行參數(shù)設(shè)置,包括波特率、奇偶校驗(yàn)位以及停止位等。設(shè)置完成后打開相應(yīng)串口,利用多線程技術(shù)實(shí)時監(jiān)聽串口,分別對接收到的有效數(shù)據(jù)進(jìn)行分離與解析,疊加時標(biāo)后存盤,并在程序監(jiān)控界面實(shí)時顯示解析的數(shù)據(jù)。

      程序根據(jù)需要監(jiān)控的串口通道數(shù)建立多個線程,每個線程中包含一個串口對象用于通道數(shù)據(jù)讀取,一個數(shù)據(jù)解析函數(shù)用于源碼解析與存盤。主要數(shù)據(jù)結(jié)構(gòu)如下:

      (1)每個串口對象各擁有一個緩沖區(qū)gPort-Buffer,用于保存從串口獲得的數(shù)據(jù)。CMainFrame::Analyze(int port)從中取出若干字節(jié)數(shù)據(jù)解析,解析后將用于解析的數(shù)據(jù)從緩沖區(qū)中刪除。

      (2)其他全局?jǐn)?shù)據(jù)

      Contents:每種數(shù)據(jù)的最新源碼及解析結(jié)果;

      int g_nTypeSelected=0;選擇的數(shù)據(jù)類型。

      串口類主動監(jiān)視串口,當(dāng)檢測到有數(shù)據(jù)到達(dá)時,將數(shù)據(jù)保存,并發(fā)送WM_COMM_Display消息通知CMainFrame處理(相應(yīng)的函數(shù)為 BOOL CMain-Frame::Analyze(int port))。數(shù)據(jù)解析函數(shù)CMain-Frame::Analyze(int port)的功能流程見圖2所示。

      圖2 數(shù)據(jù)解析功能流程

      4 系統(tǒng)性能測試

      考慮到實(shí)際應(yīng)用場景中數(shù)據(jù)采集點(diǎn)較多的情況,需要用到多個MOXA協(xié)議轉(zhuǎn)換器。根據(jù)實(shí)際需求以及可擴(kuò)展性分析,潛艇各艙室最多同時需采集16個串口通道,因此MOXA協(xié)議轉(zhuǎn)換器需4臺。在實(shí)驗(yàn)室環(huán)境下系統(tǒng)測試部署圖如圖3所示。

      圖3 系統(tǒng)測試部署圖

      另外,在測試過程中查看CPU使用率以及數(shù)據(jù)傳輸吞吐量。系統(tǒng)CPU使用率在整個過程中比較均衡,平均 CPU使用率為67%,數(shù)據(jù)吞吐量為8.6Mb/S。在系統(tǒng)采集過程中CPU時間主要用于源碼數(shù)據(jù)解析以及I/O存儲,串口的數(shù)據(jù)吞吐率較低,一般上限為1Mb/S,即使多個串口并發(fā)傳輸也遠(yuǎn)遠(yuǎn)達(dá)不到USB接口數(shù)據(jù)傳輸率的上限(480Mb/S),因此,系統(tǒng)仍有較大的可擴(kuò)展性。

      5 結(jié) 束 語

      虛線框內(nèi)為數(shù)據(jù)采集系統(tǒng)的主體部分,串口數(shù)據(jù)采集機(jī)采用松下CF30加固筆記本(2.4G雙核CPU,4G內(nèi)存),屬于目前較主流的配置,可以應(yīng)付日常普通的數(shù)據(jù)計(jì)算及處理。虛線框外為數(shù)據(jù)發(fā)送端,利用實(shí)驗(yàn)室現(xiàn)有的PC機(jī),分別與MOXA協(xié)議轉(zhuǎn)換器連接,MOXA協(xié)議轉(zhuǎn)換器有串口—USB雙向轉(zhuǎn)換功能,這里是將USB信息轉(zhuǎn)換為標(biāo)準(zhǔn)RS422串口信息。分別在每臺PC機(jī)上運(yùn)行4個串口調(diào)試助手進(jìn)程,分別設(shè)置好串口參數(shù)后,同時發(fā)送在潛艇上實(shí)際采集的不同類型的數(shù)據(jù)源碼(共16種)。串口數(shù)據(jù)采集機(jī)運(yùn)行數(shù)據(jù)采集軟件,實(shí)時監(jiān)控?cái)?shù)據(jù)解析情況,結(jié)束后查看解析存儲后的數(shù)據(jù)文件。數(shù)據(jù)采集過程中程序互操作響應(yīng)與監(jiān)控顯示正常,沒有發(fā)現(xiàn)系統(tǒng)響應(yīng)較慢或無法響應(yīng)的情況,系統(tǒng)穩(wěn)定性與處理能力較強(qiáng),解析后的數(shù)據(jù)能正常存儲。

      以上介紹了一種基于并行多串口的潛艇數(shù)據(jù)采集系統(tǒng),該系統(tǒng)較好的利用了成熟的MOXA多串口—USB協(xié)議轉(zhuǎn)換器,用于實(shí)現(xiàn)多串口并行數(shù)據(jù)采集。重點(diǎn)闡述了該系統(tǒng)軟件流程以及主要的數(shù)據(jù)結(jié)構(gòu)。通過在實(shí)驗(yàn)室環(huán)境下的系統(tǒng)性能測試,證明該系統(tǒng)穩(wěn)定、處理能力強(qiáng)、系統(tǒng)總體開銷小,滿足目前部分主戰(zhàn)潛艇作戰(zhàn)系統(tǒng)數(shù)據(jù)采集的需要,并有較強(qiáng)的系統(tǒng)可擴(kuò)展性。

      [1]蔡勇,呂云飛,黃牛.潛艇新型作戰(zhàn)系統(tǒng)發(fā)展構(gòu)想[J].船電技術(shù),2011,31(2):1 -6.

      [2]郭傳福,夏惠誠.分布式作戰(zhàn)系統(tǒng)集成方案構(gòu)想[J].艦船電子工程,2001(1):16-19.

      [3]胡乃平,趙振.基于 VC6.0串口通信動態(tài)鏈接庫(DLL)的設(shè)計(jì)與應(yīng)用[J].微計(jì)算機(jī)信息,2007,23(3-3):214-216.

      [4]賈廣雷,劉培玉,耿長欣.多線程技術(shù)及其在串口通信中的應(yīng)用[J].計(jì)算機(jī)工程,2003,29(1):247-249.

      猜你喜歡
      源碼線程潛艇
      基于網(wǎng)頁源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲代碼生成方法
      基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測方法
      十分鐘讀懂潛艇史(下)
      潛艇哥別撞我
      十分鐘讀懂潛艇史(上)
      潛艇躍進(jìn)之黃金時代
      企業(yè)如何保護(hù)源碼
      淺談linux多線程協(xié)作
      基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實(shí)驗(yàn)課程改革
      Linux線程實(shí)現(xiàn)技術(shù)研究
      泰安市| 南川市| 察哈| 长白| 铜山县| 偃师市| 秦皇岛市| 鹰潭市| 寿阳县| 郯城县| 余江县| 长寿区| 泽普县| 怀仁县| 天台县| 民县| 楚雄市| 大同县| 吴江市| 江津市| 平度市| 绥化市| 永修县| 柘城县| 息烽县| 渭南市| 攀枝花市| 郁南县| 平塘县| 当阳市| 县级市| 清镇市| 海宁市| 和龙市| 罗江县| 浦北县| 麻阳| 新巴尔虎左旗| 阜新市| 乡城县| 双城市|