亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Windows平臺的實時信息處理方法

        2020-06-29 12:14:06段紅亮劉天博邵春收朱元元
        計算機測量與控制 2020年6期
        關鍵詞:納秒測試軟件實時性

        段紅亮,2,劉天博,邵春收,王 鵬,朱元元

        (1.北京航天長征飛行器研究所,北京 100076;2.西北工業(yè)大學 機電學院,西安 710072)

        0 引言

        大部分武器系統(tǒng)設備都是強實時性的,設備之間信息交互都有嚴格的時間限制,要求毫秒級或微秒級,甚至是納秒級,所以主流的彈上設備均基于DSP、FPGA、單片機等架構或者是組合架構實現(xiàn),也有少部分采用實時操作系統(tǒng)平臺。地面測試設備用于武器設備的開發(fā)測試、出廠測試、上彈總裝前后或者年度定檢等等一系列測試工作,是所有武器必配設備,地面測試設備是武器設備的“診斷醫(yī)生”,只有經(jīng)過地面測試設備認證為“健康”的彈上設備才允許使用,地面測試設備的研制開發(fā)甚至要早于彈上設備。

        地面測試設備與彈上設備進行通信和指令交互,完成功能測試等。微軟的Windows操作系統(tǒng)由于具備良好通用性、圖形用戶界面以及眾多的技術支持基礎而成為武器地面測試設備的首選解決方案。目前絕大部分型號的地面測試設備為了兼顧成本和開發(fā)難度等因素,采用Windows+x86架構實現(xiàn)。但基于搶占式多任務調度策略就決定了Windows系統(tǒng)的非實時性屬性,作為通用高性能操作系統(tǒng)而設計的操作系統(tǒng),不能保證中斷響應時間的確定性,也沒有提供讓線程獲得確定執(zhí)行時間的機制。在測試時地面測試軟件上偶爾會出現(xiàn)某條指令超時的現(xiàn)象,這時就很難判斷是彈上設備指令確實超時,還是由于地面測試設備非實時性而造成的時間誤判。

        針對Windows平臺的非實時性問題,工業(yè)控制上一般采用RTX硬實時解決方案[1-2],RTX(Real-Time eXtension)是由美國IntervalZero公司開發(fā)的基于Windows平臺擴展的實時控制解決方案,但需要單獨購買RTX軟件擴展包,且RTX信息處理軟件獨立于Windows平臺需求單獨開發(fā),而武器地面測試設備由于生產(chǎn)量少、需求變化快等特點,成本與周期上不適于采用RTX[3]。文獻[4]中提出了一種循環(huán)緩存處理方法來提高Windows系統(tǒng)的實時性,這種用空間換時間的方法在操作系統(tǒng)負載較小時一定程度上提高了實時性,但由于對緩存讀寫線程仍為操作系統(tǒng)的一個普通線程,在操作系統(tǒng)負載較大時,循環(huán)緩存處理方法的實時性不能得到保證。

        文獻[5]提出了一種Windows操作系統(tǒng)中的排他性線程獨占技術,使用該線程可以獨占一個CPU邏輯核,而不再受Windows任務管理器的調度,物理上將該邏輯核等效DSP使用,保證了信息處理的實時性?;谖墨I[5-7]的研究成果,面向武器地面測試設備,本文提出了一種實用的實時信息處理方法,可以實時處理以太網(wǎng)、串口等有線或無線I/O信息,該方法開發(fā)難度低、周期短且不增加設備成本。

        論文結構如下:第1部分簡要分析了Windows非實時性機理,第2部分詳細闡述高精度軟時鐘技術及實現(xiàn)方法,第3部分地面測試軟件的實時測試方法,第4部分介紹對本方法的有效性試驗分析,最后一部分對全文進行了總結。

        1 Windows非實時性機理

        1.1 x86的指令集

        x86的GPP架構本身不能實現(xiàn)納秒級強實時性要求,這是通用CPU的CISC指令集決定的,有兩個層次原因,首先是CISC指令集長短不一,所以占用CPU時鐘周期不一;二是Intel在指令集中有很多優(yōu)化算法,同一條匯編指令在同一個CPU的不同負載下可能會被編譯成不同的匯編指令,目前Intel的CPU的時鐘周期都是亞納秒級,所以x86 CPU難以實現(xiàn)納秒級的高精度定時,用于十納秒級定時精度是普遍可以接受的。從目前的彈上設備所要求的毫秒級或微秒級實時性要求來看,x86 CPU架構本身的定時精度是可以忽略不計。

        1.2 調度原理

        Windows操作系統(tǒng)調度及響應時延的不確定性。以串口通信為例(并口、以太網(wǎng)口類似),地面測試設備與彈上設備的信息交互流程如圖1所示,忽略彈上設備處理時延(或者假定為一個確定值)。

        圖1 信息流示意圖

        例如,有條指令要求彈上設備在100 ms內回復指令,那么處理過程如下:

        1)測試軟件打開某個串口,或在軟件初始化時即打開這個串口,并配置串口參數(shù);

        2)當有個指令發(fā)送時,測試軟件調用WinAPI串口函數(shù),發(fā)送該指令,同時啟動計時器,設置100 ms的超時值;

        3)數(shù)據(jù)由用戶態(tài)進入內核態(tài),操作系統(tǒng)調度器需要將串口發(fā)送API指令調入到CPU任務隊列中,當占用CPU當前時間片時,CPU執(zhí)行該指令;

        4)CPU將發(fā)送數(shù)據(jù)寫入到串口Tx寄存器中,同時通知串口有數(shù)據(jù)到達,請發(fā)送;

        5)串口通過物理層鏈路發(fā)送給DS設備,DS設備響應該指令后發(fā)送回令給串口;

        6)串口接收回令數(shù)據(jù),放入到Rx寄存器中,同時通知操作系統(tǒng)有數(shù)據(jù)到達,通知消息本身是放入到操作系統(tǒng)的消息隊列中;

        7)操作系統(tǒng)調度器在消息隊列中讀到串口的通知后,需要將串口接收API指令調入到CPU任務隊列中,當占用CPU當前時間片時,CPU執(zhí)行該指令;

        8)CPU從串口Rx寄存器讀取數(shù)據(jù),交給測試軟件,由內核態(tài)進入用戶態(tài);

        9)測試軟件根據(jù)數(shù)據(jù)協(xié)議解析該數(shù)據(jù),確認為當前指令的有效回令后,停止計時器,同時判斷計時器是否超100 ms。至此一個完整的信息交互結束。

        Windows是基于消息響應機制的多線程的非實時性操作系統(tǒng),盡管微軟沒有公開Windows操作系統(tǒng)內核,當通過一些公開資料和微軟的技術文檔可知,一個線程一旦調入到CPU中,那么最少占有一個時間片的時間長度才會有可能被調出,而一個時間片長為1/16 s。

        在Windows的任務管理器的進程欄可以看到,假如用戶未打開任何一個應用程序,操作系統(tǒng)都會有約100個進程在運行,地面測試軟件運行時,也只是其中之一個進程。這些進程都有不同的優(yōu)先級,所以當一個進程從進入CPU調度隊列到占用CPU時間片,這個時間是不可預知的,這是Windows非實時性的最主要根源所在。具體到我們的串口收發(fā)數(shù)據(jù)流程中,第3)步和第7)步是時延不確定的最主要環(huán)節(jié)。

        1.3 試驗驗證

        本文進行了一項測試,當?shù)孛鏈y試設備只運行測試軟件,其他所有應用軟件都停止(包括殺毒軟件),程序循環(huán)發(fā)送指令,等待100 ms,若超時未收到回令則停止循環(huán)并報錯,若正常則繼續(xù)循環(huán)。測試6個小時左右,發(fā)生2次超時。

        作為對比測試,在運行測試軟件循環(huán)測試的同時,打開殺毒軟件,進行全盤查殺病毒,測試1個小時左右,發(fā)生了12次超時。主要原因是殺毒時頻繁的磁盤IO操作占用CPU資源,殺毒軟件進程也需要大量占用CPU時間片,從而提高了與地面測試軟件的碰撞沖突概率,造成了大量的超時現(xiàn)象。

        2 高精度軟時鐘

        高精度時鐘源是實現(xiàn)信息實時處理的前提和基準。例如通信設備上多采用外部時鐘源或衛(wèi)星授時方法,而在地面測試設備上外掛時鐘源或增加衛(wèi)星授時模塊的方法會顯著增加復雜度和成本,不易實現(xiàn)。

        為了使各種實時處理任務能在Windows平臺上正確地執(zhí)行,利用操作系統(tǒng)API函數(shù)實現(xiàn)軟時鐘是可行的。然而Windows目前提供的延時函數(shù)最小時間粒度都是ms級,且理想情況下精度僅能達到百ms級,所以直接調用API函數(shù)也不能保證時間精度。

        對于單核CPU,Intel匯編指令RDTSC可以獲得納秒級的精度[8]。然而,這項技術不再適用于多核環(huán)境[9]。為了構造高精度的軟件時鐘,本文采用了文獻[5]所提出的排他性線程獨占技術,它為輸出實時行為的特定任務分配一個獨占的處理器內核。一個線程被創(chuàng)建并專用于在一個獨占的CPU邏輯核上執(zhí)行。該線程所做的一切就是調用RDTSC來計算當前系統(tǒng)時間。由于線程是不可中斷的,這種方法為內核模式的實時過程獲得了一個高精度的時鐘實用程序。圖2為構造這種時鐘的偽代碼。

        圖2 高精度時鐘源偽代碼

        通過設置軟件時鐘,可以在每一個閾值時間段中執(zhí)行一次TIME_OUT事件。例如,將閾值定義為1 ms或1 μs,在主頻為2.8 GHz頻率的CPU上,觀察到實際的超時時間周期比閾值大幾納秒,這是合理的,因為在CPU中執(zhí)行單個匯編指令所需的時間為納秒級。所以本方法所生成的軟時鐘可以達到十納秒級精度。

        3 測試軟件實時信息處理方法

        3.1 測試軟件實時性設計

        為保證地面測試軟件實時性,信息交互線程也采用排他性線程獨占技術,獨占一個CPU邏輯核,由于Intel的i5系列之后都是至少包含了4個物理核(單核雙線程技術,等效為8個邏輯核),所以地面測試設備中被獨占2~3個邏輯核后并不會顯著操作系統(tǒng)的其他功能,如圖3所示。

        由圖3可以看到,邏輯核3、5、7分別被3個線程獨占,在運行中被獨占的邏輯核的CPU使用率始終為100%,不會被操作系統(tǒng)任務管理器中斷,從而保證了實時性。

        信息交互線程在與彈上設備發(fā)生信息交互時,使用本文第2章所設計的高精度時鐘源來作為時鐘基準,可以精確計算出彈上設備回令是否超時。

        3.2 測試軟件高速計算設計

        地面測試軟件與彈上設備接口分為有線和無線接口兩類,其中有線接口多為串口、并口、1553B接口和以太網(wǎng)口等,無線接口多為各類專用無線通信接口,如遙測系統(tǒng)無線接口等。

        一般來說,有線接口的計算量不大,若地面測試軟件與彈上設備接口為無線接口,無線通信協(xié)議的計算量是非常巨大的,尤其是物理層,包含了信道編碼與解調、FFT等。一般來說,GPP的運算能力是不能勝任基帶數(shù)字信號處理計算的,這也是為什么到目前為止商用無線通信都是用專用基帶芯片的原因。為了突破這個計算瓶頸,可充分借鑒FPGA的原理,地面測試軟件可將所有輸入與輸出結果映射為一個查找表(LUT),然后將LUT裝載到CPU的二級緩存中。一方面節(jié)省了計算的時間開銷,另一方面減少了查找的時間[10-14]。在通用CPU中,不同存儲器的典型容量和訪問時間如圖4所示。

        圖4 通用存儲器容量及訪問時間

        3.3 測試軟件低時延傳輸設計

        由圖1可以看到串口在Windows平臺下的信息流,是包含了多個環(huán)節(jié)。

        在信息流中,每一個環(huán)節(jié)意味著數(shù)據(jù)的轉移和傳遞,為了避免程度中內存拷貝所引入的處理時延,要在地面測試軟件設計開發(fā)時盡可能多地采用數(shù)據(jù)“零”拷貝,即利用MDL(memory descriptor list)來進行內存操作,這樣可顯著減小信息傳輸時延,避免造成地面測試設備向彈上設備回令時超時。

        4 實驗結果與分析

        用兩臺地面測試設備搭建試驗場景。為不失一般性,測試設備之間采用串口(RS422)通信,兩臺測試設備均是Windows平臺,安裝了采用了本文所述實時信息處理方法的軟件。試驗方法如下:

        1)測試設備1通過串口向測試設備2發(fā)送一個串口數(shù)據(jù)幀1,同時記錄時間戳T1;

        2)測試設備2收到數(shù)據(jù)幀1后,立即向測試設備1返回一個數(shù)據(jù)幀2;

        3)測試設備1收到數(shù)據(jù)幀2后,記錄時間戳T2,計算出時間差ΔT=T2-T1;

        4)重復上述步驟1)~ 3),記錄1 000次時間差數(shù)據(jù);

        5)打開測試設備1上殺毒軟件,執(zhí)行全盤掃描,重復上述步驟1)~4),記錄1 000次時間差數(shù)據(jù);

        6)關閉測試設備1上殺毒軟件,打開測試設備2上殺毒軟件,執(zhí)行全盤掃描,重復上述步驟1)~4),記錄1 000次時間差數(shù)據(jù);

        7)同時打開測試設備1和測試設備2上殺毒軟件,執(zhí)行全盤掃描,重復上述步驟1)~4),記錄1 000次時間差數(shù)據(jù)。

        4次測試結果分別如圖5所示。

        圖5 測試結果及對比

        由測試結果分析,4次測試均值依次為12.2 μs,12.5 μs,12.1 μs,12.0 μs,相差不大。由圖5可見,4次結果均方差也分布在2~4之間,數(shù)據(jù)一致性較好,從而證明了本方法的有效性。

        5 結束語

        面向Windows平臺下的地面測試設備,本文提出了一種基于排他性線程獨占技術和高精度軟時鐘技術的實時信息處理方法,可以實時處理以太網(wǎng)、串口等有線或無線I/O信息,該方法開發(fā)難度低、周期短且不增加設備成本。首先簡要分析了Windows非實時性機理,進而詳細闡述高精度軟時鐘技術和地面測試軟件的實時信息處理方法,最后對本方法的有效性試驗驗證分析,測試數(shù)據(jù)一致性較好。

        猜你喜歡
        納秒測試軟件實時性
        基于規(guī)則實時性的端云動態(tài)分配方法研究
        高技術通訊(2021年3期)2021-06-09 06:57:24
        網(wǎng)絡自適應測試軟件運行方法設計
        亞納秒前沿脈沖強電場集成光學測試技術
        電子測試(2018年15期)2018-09-26 06:01:26
        自動化檢測EPU10A板卡系統(tǒng)設計與實現(xiàn)
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡實時性仿真
        航空電子AFDX與AVB傳輸實時性抗干擾對比
        基于高速數(shù)字電路的PD UHF信號納秒級陡脈沖源研制
        電測與儀表(2016年2期)2016-04-12 00:24:46
        空氣中納秒脈沖均勻DBD增加聚合物的表面親水性
        玻璃氣體放電管與陶瓷氣體放電管的納秒脈沖響應特性比較
        遠程開放教育學生自主學習能力評價的研究
        日韩极品在线观看视频| 欧美人与动人物牲交免费观看| 亚洲精品理论电影在线观看| 亚洲一区二区三区偷拍自拍| 24小时免费在线观看av| 免费a级毛片18以上观看精品| 亚洲中久无码永久在线观看软件| 国产在线观看免费一级| 国产亚洲一本二本三道| 99久久免费只有精品国产| 久久精品夜夜夜夜夜久久| 最新福利姬在线视频国产观看| 女女同女同一区二区三区| 久久精品国产亚洲av影院| 免费一区二区三区久久| 人妻丰满少妇一二三区| 黄色av亚洲在线观看| 国产一区二区三区在线男友| 亚洲欧美日韩精品久久| 怡春院欧美一区二区三区免费| 成年人视频在线播放视频| 国内嫩模自拍诱惑免费视频 | 成人性生交大全免费看| 无码aⅴ免费中文字幕久久| 在线免费观看国产精品| 日本免费一区精品推荐| 中文字幕人成人乱码亚洲av| 中文字幕一区二区三区乱码| 色欧美与xxxxx| 乳乱中文字幕熟女熟妇 | 国产白丝无码视频在线观看| 午夜影院91| 成av人片一区二区久久| 久久久av波多野一区二区| 欧美伊人网| 国产精品三级国产精品高| 人人澡人人妻人人爽人人蜜桃麻豆 | 国产大屁股熟女流白浆一区二区| 成视频年人黄网站免费视频| 亚洲精品国产av天美传媒| 亚洲国产人在线播放首页|