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

        ?

        基于總線技術(shù)的實時通信方法研究與應(yīng)用

        2018-11-28 09:07:50,,,
        計算機測量與控制 2018年11期
        關(guān)鍵詞:程序方法系統(tǒng)

        ,, ,

        (1.海軍航空大學(xué) 岸防兵學(xué)院,山東 煙臺 264001; 2.中國人民解放軍 91115部隊,浙江 舟山 316000;3.北京航天測控技術(shù)有限公司,北京 100411)

        0 引言

        隨著軍事技術(shù)發(fā)展,武器系統(tǒng)中數(shù)字化程度越來越高,RS485、RS422、MIL-1553B等通信總線也逐步成熟運用。其中,ARINC429總線因其可靠度高、誤碼率低等優(yōu)點,近年來在多種武器平臺中得到廣泛應(yīng)用。而武器系統(tǒng)的技術(shù)發(fā)展對裝備測試設(shè)備的研制提出了更高的技術(shù)要求,特別是通信總線的實時性要求。但是目前常用的實時控制系統(tǒng)實現(xiàn)過程比較復(fù)雜,開發(fā)成本較高,兼容性較差。[1-4]

        目前自動測試技術(shù)飛速發(fā)展,PXI總線已經(jīng)取代VXI總線廣泛應(yīng)用于武器裝備的自動測試領(lǐng)域。PXI總線由PCI總線擴展而來,保留了PCI總線帶寬高,速度快等優(yōu)點,性能指標遠優(yōu)于GPIB總線和VXI總線,體積上又比LXI總線更有優(yōu)勢,因此廣受開發(fā)人員歡迎,可以預(yù)見在下一代自動測試系統(tǒng)中PXI總線仍有一席之地。而且,基于PXI總線的ARINC429通信板卡也已經(jīng)比較成熟,總線轉(zhuǎn)換速度快、誤碼低,已有多款貨架產(chǎn)品可供選用。

        本文針對某型裝備ARINC429總線實時通信要求,研究了基于RTX的PXI總線ARINC429板卡實時通信方法,通過雙系統(tǒng)的方法實現(xiàn)了PXI總線板卡的硬實時控制,保證了ARINC429總線的通信效果。

        1 基礎(chǔ)知識

        1.1 ARINC429總線

        為了使航空電子設(shè)備的技術(shù)指標、電器性能、外形和插接件的規(guī)范統(tǒng)一,1977年美國官方頒布由美國航空無線電公司(ARINC)制定的民用航空數(shù)字總線傳輸標準ARINC429,它是機載電子設(shè)備之間進行數(shù)據(jù)傳輸約定的一種標準。ARINC429為單向串行總線設(shè)計,它為在航空電子設(shè)備之間傳輸數(shù)字信息制定了航空運輸工業(yè)標準。ARINC429屬廣播方式單總線,每個總線連接有一個發(fā)送者和最多20個接收者。一個終端可以在多個總線上有許多發(fā)送者和接收者。源帶負載能力最大為400歐姆,接收端最小有效輸入阻抗為8 K歐姆。ARINC 429規(guī)范沒有總線長度要求,大多數(shù)系統(tǒng)設(shè)計連接方式為兩種:星型和線型方式。ARINC429有兩種速度:12.5 KHz(12.5 KHz到14.5 KHz),100 KHz。32位數(shù)據(jù)以RZ格式、3種狀態(tài)、LSB優(yōu)先方式傳輸,字與字之間間隔至少4位字長。

        如圖1所示,ARINC 429數(shù)據(jù)傳輸是以電脈沖形式發(fā)送的,一個電脈沖就是1位。1個字(有32位)被分為5段,即:標志段,第1~8位;源目的地識別碼,第9~10位;數(shù)據(jù)區(qū),第11~28位;符號狀態(tài)碼,第29~31位;奇偶校驗位,第32位。一個數(shù)字字傳輸1個參數(shù),如速度、溫度等。兩個數(shù)字字之間有4位間隔,這個間隔也作為字同步用,跟在這一間隔后面發(fā)送的第1位,就表示另一個新的數(shù)字字的開始。每個數(shù)字字的32位數(shù)據(jù)是以雙極歸零碼的形式發(fā)送出去的,如圖1所示。所謂雙極歸零調(diào)制就是指發(fā)送出去的脈沖串有3個電平,即高電平,邏輯1(+10 V);中電平(0 V);低電平,邏輯0(-10 V);中電平為發(fā)送自身時鐘脈沖。

        圖1 ARINC 429數(shù)據(jù)傳輸

        1.2 RTX系統(tǒng)

        隨著工業(yè)技術(shù)不斷發(fā)展,實時性要求越來越高,目前常用的實時操作系統(tǒng)有VxWorks、RtLinux等,但大多實現(xiàn)成本較高,領(lǐng)域受限,而RTX(real-time extension實時擴展)系統(tǒng)作為Windows下的硬實時操作系統(tǒng),可以將windows擴展到實時測控領(lǐng)域,擁有著不可比擬的優(yōu)勢。RTX的時鐘分辨率100納秒,定時器最小周期100微秒[5-6]。

        RTX進程工作原理如圖2所示,RTX系統(tǒng)可以和Windows共存,在Windows系統(tǒng)內(nèi)安裝,卻又通過RTX HAL實現(xiàn)了強實時性,同時保留了Windows程序與RTX程序的相互操作與調(diào)用[7-9]。Windows程序通過調(diào)用Windows的內(nèi)核與驅(qū)動,進而分時占用CPU資源,而這種多任務(wù)分時復(fù)用機制必然會帶來時間上的不確定性,使得工業(yè)控制上的一些實時性指標無法得到滿足。RTX程序通過Rtapi_w32庫占用CPU資源,與Windows不同的是,RTX系統(tǒng)是個單任務(wù)系統(tǒng),通過內(nèi)核及驅(qū)動與Windows在一定程度上的隔離來單獨占用CPU。單任務(wù)獨占CPU的模式使得RTX系統(tǒng)具備一定程度的實時性。

        圖2 RTX進程工作原理

        在具體應(yīng)用中,針對用戶往往基于Windows平臺編寫可視化應(yīng)用程序,而基于RTX編寫底層控制程序的問題,一般采用共享內(nèi)存進行兩個程序間數(shù)據(jù)交互的解決方案。雙方程序通過同一個互斥量的判讀,分時操作共享內(nèi)存,即實現(xiàn)了數(shù)據(jù)交互,又避免了程序報錯。

        2 硬件設(shè)計

        本文方法基于PXI總線設(shè)計實現(xiàn),PXI總線是目前自動測試領(lǐng)域最為流行的總線形式,其板卡體積小、速度快、通用化標準化程度高,在系統(tǒng)集成領(lǐng)域具有一定的優(yōu)勢。

        通常一個PXI系統(tǒng)由PXI機箱、控制器、功能板卡組成,其中本項目選擇了使用嵌入式零槽控制器,如圖3所示??紤]到通信總線控制的實時性要求,本文方法為了達到理想的響應(yīng)速度和時間精度,零槽控制器安裝了Windows和RTX雙系統(tǒng),Windows系統(tǒng)作為基礎(chǔ)負責其他模塊的控制及對外數(shù)據(jù)傳遞,RTX系統(tǒng)完成429模塊的實時控制。

        2.1 PXI機箱

        機箱本項目選用NI公司的PXI-1045,PXI-1045是18槽通用AC PXI機箱,專為各種測試和測量應(yīng)用而設(shè)計。該模塊具有很寬的工作溫度范圍、兩個外部參考時鐘BNC連接器,以及采用通用交流輸入的可移動高性能電源。

        2.2 零槽控制器

        零槽控制器選用NI公司的PXI-8115控制器,PIX-8155是一款針對PXI系統(tǒng)的Intel Core i5嵌入式控制器,適用于處理器密集型、模塊化儀器和數(shù)據(jù)采集、通信等高速應(yīng)用。PXI-8115包含兩個10/100/1000BASE-TX以太網(wǎng)端口和6個高速USB端口以及一個集成硬盤驅(qū)動器、一個串行端口和其他外設(shè)IO,可以提供高達8GB/s的系統(tǒng)吞吐量和2GB/s的插槽吞吐量。

        2.3 ARINC429模塊

        本項目選用北京航天測控AMC5206B-J作為ARINC429總線通信模塊。AMC5206B-J ARINC429通訊接口模塊就是一種符合ARINC 429標準PXI總線產(chǎn)品,它可以將PXI測試系統(tǒng)作為一個終端連接到ARINC429總線上實現(xiàn)與其它設(shè)備或系統(tǒng)的通訊。AMC5206B-J模塊提供由軟件控制的3種速率,可選擇的數(shù)據(jù)字間隙時間,可設(shè)定的數(shù)據(jù)幀間隔時間,循環(huán)發(fā)送控制以及雙向緩沖FIFO功能,可滿足目前測試系統(tǒng)的不同應(yīng)用需求。

        AMC5206B-J ARINC 429通訊接口模塊采用HS-3282和HS-3182實現(xiàn)ARINC 429電平驅(qū)動及協(xié)議轉(zhuǎn)換電路功能,F(xiàn)PGA作為嵌入式處理器實現(xiàn)部分處理控制功能,SDRAM實現(xiàn)接收128 KB和發(fā)送128 KB的緩沖器電路功能,F(xiàn)PGA內(nèi)部的PXI軟核IP實現(xiàn)PXI總線接口電路功能。

        3 軟件設(shè)計

        為了保證通信板卡的實時性,本文方法使用Windows和RTX雙系統(tǒng),兩個系統(tǒng)中各有一個應(yīng)用程序,Windows下為exe文件,RTX系統(tǒng)下為RTSS文件。

        3.1 組成

        考慮到一個測試系統(tǒng)中不可能只有AMC5206B一塊板卡,而其他板卡還是要再Windows下進行控制的,因此,本文方法軟件由Windows應(yīng)用程序和RTX應(yīng)用程序兩部分組成。這種設(shè)計方案以Windows為基礎(chǔ),RTX僅作為429通信的控制程序,升級能力和擴展性都更佳,也使得本文方法可以簡單移植融合入其他系統(tǒng)中。

        如圖3所示,在一套測試系統(tǒng)中Windows應(yīng)用程序應(yīng)是核心測試程序,其功能包括界面顯示、人機交互、測試板卡控制、測試流程調(diào)度等,本文方法僅涉及AMC5206B板卡部分,其組成由顯示、RTSS程序的啟動、數(shù)據(jù)處理、共享內(nèi)存控制等模塊。為了實現(xiàn)強實時性,本文方法對AMC5206B的控制、數(shù)據(jù)存儲等均有RTX系統(tǒng)完成,因此開發(fā)RTX應(yīng)用程序,其包括應(yīng)用、初始化、驅(qū)動、共享內(nèi)存控制等模塊。

        圖3 軟件組成

        3.2 共享內(nèi)存

        共享內(nèi)存是進程間通信最高效的一種方法,本文方法將其作為Windows程序與RTX程序交互的橋梁,可以很方便的在多個進程間交換信息,Windows程序和RTX程序分別將共享內(nèi)存映射到自己的私有地址空間,直接進行讀取操作。同時,為了避免沖突操作,引入互斥量。

        (1)定義共享內(nèi)存變量:

        typedef struct _ShMemStr

        {

        unsigned short obmen0;

        unsigned short obmen1;

        DWORD obmen2;

        unsigned short obmen3;

        } ShMemStruct,*PShMemStruct;

        PshMemStruct obmen;

        定義了一個共享內(nèi)存結(jié)構(gòu)體obmen,其中含有4個共享內(nèi)存變量obmen0,obmen1,obmen2,obmen3。

        (2)創(chuàng)建共享內(nèi)存:

        hMyMem=RtOpenSharedMemory(SHM_MAP_WRITE,0,(LPCTSTR)SH_MEMORY_NAME,(VOID**)&obmen);

        打開共享內(nèi)存,屬性設(shè)置為可讀寫,返回共享內(nèi)存地址到obmen,此函數(shù)在Windows程序和RTX程序中都要運行,返回變量名稱需保持一致,讀寫屬性可分別設(shè)置。

        (3)創(chuàng)建互斥量:

        MyMutex= RtCreateMutex( NULL,FALSE,FALSE(LPCTSTR)MUTEX_NAME);

        需要在兩個程序中創(chuàng)建統(tǒng)一的互斥量,用來避免兩邊同時對共享內(nèi)存進行操作而帶來的沖突問題。

        (4)判斷互斥量:

        RtWaitForSingleObject(hMyMutex, INFINITE);

        用以在流程中判讀互斥量的狀態(tài),進而得到共享內(nèi)存的狀態(tài),判斷為空閑狀態(tài)后才可進行讀寫操作。

        (5)釋放互斥量:

        RtReleaseMutex( hMyMutex);

        對共享內(nèi)存讀寫操作完成后,釋放互斥量,另一個操作系統(tǒng)下的程序才可以操作,避免沖突。

        3.3 驅(qū)動

        首先需要將PXI總線的AMC5206B在Windows下的驅(qū)動程序轉(zhuǎn)換為RTX系統(tǒng)下的驅(qū)動程序。

        儀器驅(qū)動層分為初始化、發(fā)送數(shù)據(jù)、讀取數(shù)據(jù)、中斷服務(wù)等函數(shù),其中主要難點在于中斷服務(wù)函數(shù)的設(shè)計,具體流程如圖4所示。

        圖4 中斷服務(wù)程序

        PXI總線是一種即插即用總線,在板卡初始化時首先通過驅(qū)動程序進行PCI總線尋址,通過PCI地址空間的映射找到AMC5206B板卡,h獲得句柄和ID。為了進行中斷操作還需要獲得中斷號和中斷級別,PXI總線的中斷號每個機箱一般分配4個,采用菊花鏈的形式分配。然后加載中斷服務(wù)函數(shù),在流程中根據(jù)需要是能中斷,再順序進行其他函數(shù)操作不影響中斷的發(fā)生。當中斷請求發(fā)生時,停止正在進行的流程,中斷響應(yīng)函數(shù)自動運行,首先獲取中斷標識符判斷中斷源。AMC5206B不同通道觸發(fā)中斷都會返回不同的標識符。根據(jù)標識符讀取相應(yīng)通道的數(shù)據(jù)個數(shù),然后讀取數(shù)據(jù)個數(shù),將數(shù)據(jù)存儲到設(shè)計好的數(shù)組格式中,完成這些后返回主程序模塊。主程序模塊會對讀取的數(shù)據(jù)有進一步的處理應(yīng)用。

        AMC5206ADriverIST是中斷服務(wù)程序,在中斷使能之前通過中斷配置函數(shù)加載至內(nèi)存

        RtAttachInterruptVector(NULL, 0, AMC5206ADriverIST, mh, RT_PRIORITY_MAX, PCIBus,intbusnumb,IrqLevel,IrqLevel);

        設(shè)置中斷觸發(fā)的字個數(shù)為nIntCount,在硬件板卡存儲器接收到nIntCount個字后,中斷服務(wù)程序啟動依次操作。

        1) 判斷中斷源:

        AMC5206B_readInterFlag(mh,&bInter00,&bInter01,&bInter10, &bInter11);

        判斷中斷源,bInter00、bInter01、bInter10 bInter11分別表示4個接受通道,為1表示有中斷請求,0表示沒有。

        2) 獲取存儲器中的數(shù)據(jù)個數(shù),讀取數(shù)據(jù),數(shù)據(jù)處理:

        if(bInter00)

        {

        AMC5206B_getDataCount(mh,GROUP0_RX0, &size);

        AMC5206B_MsgDataRd(mh,GROUP0_RX0, RXdata, size);

        for (i=0; i

        {

        //數(shù)據(jù)處理

        }

        首先獲取中斷通道數(shù)據(jù)寄存器中數(shù)據(jù)個數(shù),然后讀取相應(yīng)個數(shù)的數(shù)據(jù)存入RXdata。

        3) 清除中斷標識:

        AMC5206B_clearInterFlag (mh,GROUP0_RX0);

        中斷處理程序結(jié)束后要清除中斷標示,回到正常狀態(tài)。

        其他中斷源同樣模式處理。

        3.4 Windows應(yīng)用程序

        Windows應(yīng)用程序如圖5所示,GPIO_IN、GPIO_OUT兩個按鈕完成板載IO的控制,服務(wù)端程序調(diào)用AMC5206B_GPIO_IN.RTSS、AMC5206B_GPIO_OUT.RTSS兩個RTX程序。start_pk按鈕實現(xiàn)429總線通信功能,遠程客戶端啟動,服務(wù)端程序調(diào)用AMC5206B_start_pk.RTSS程序。

        圖5 Windows應(yīng)用程序

        4 系統(tǒng)實現(xiàn)與驗證

        本文方法的實時性保證依靠的是RTX操作系統(tǒng)的獨特優(yōu)勢,而劉曉川、樊子明指出“實時”并不意味著“快”,而是指系統(tǒng)的響應(yīng)時間確定性。對實時性最重要的測量因素不是平均響應(yīng)時間,而是最大響應(yīng)時間。衡量操作系統(tǒng)實時性最重要的兩個性能指標是中斷響應(yīng)時間和上下文切換時間[10]。

        本文方法著眼于ARINC429總線的數(shù)據(jù)傳輸,其上下文切換時間體現(xiàn)在發(fā)送數(shù)據(jù)的字間隔,而AMC5206B具備強大的數(shù)據(jù)存儲能力,數(shù)據(jù)發(fā)送是先下載后觸發(fā)的,并且字間隔可編程控制,因此實驗僅需驗證其中斷響應(yīng)時間。AMC5206B是為俄標429總線設(shè)計的一款PXI總線通信板,板上配置了16路數(shù)字IO用以做握手信號線,因此本文以IO的輸入作為中斷觸發(fā)源,設(shè)計外部觸發(fā)與計時電路,其效果與數(shù)據(jù)觸發(fā)應(yīng)為等同的,而在實際應(yīng)用場景中也是以IO作為發(fā)送和接收的中斷觸發(fā)源的。

        本文根據(jù)文獻[10]提供的方法對本文方法進行了驗證,設(shè)計實驗如圖6所示。采用100 M晶振作為時鐘源,分頻后產(chǎn)生1次/1 000 ns的中斷和10 ns的計數(shù)器時鐘。實驗外圍電路1 000 ns產(chǎn)生一次中斷,通過觸發(fā)AMC5206B的數(shù)字量輸入通道1引起RTSS程序中斷服務(wù),中斷服務(wù)程序控制DO輸出高電平,此兩個信號輸入起??刂破?,事件作為計時的起點與終點。同樣,按照文獻[10]要求,測試過程中運行復(fù)雜顯示程序和頻繁的磁盤讀寫程序。

        圖6 實時性驗證

        多次測試后的統(tǒng)計結(jié)果為:中斷響應(yīng)時間最大值9.33 μs,最小值4.24 μs,可以認為本文方法達到了μs級的實時性水平。

        5 結(jié)束語

        本文針對武器裝備ARINC429總線實時性要求,提出了一種基于RTX系統(tǒng)的ARINC429總線實時通信方法,通過雙操作系統(tǒng)的設(shè)計既保持了Windows下的擴展性又通過RTX操作系統(tǒng)擴展了系統(tǒng)的實時性能,編寫了RTX下的驅(qū)動程序,通過共享內(nèi)存實現(xiàn)了對板卡的有效控制。實驗結(jié)果表明,本文方法實時性強,擴展性好。

        猜你喜歡
        程序方法系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        試論我國未決羈押程序的立法完善
        “程序猿”的生活什么樣
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        英國與歐盟正式啟動“離婚”程序程序
        可能是方法不對
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        創(chuàng)衛(wèi)暗訪程序有待改進
        欧美伊人久久大香线蕉在观| 韩国无码精品人妻一区二 | 日本少妇又色又爽又高潮| 午夜天堂精品久久久久| 少妇被猛男粗大的猛进出| 国模精品无码一区二区二区| 在线无码精品秘 在线观看| 亚洲中文字幕一区高清在线 | 强d乱码中文字幕熟女免费| 亚洲国产精品一区二区www| 成熟丰满熟妇高潮xxxxx| 免费人成再在线观看网站| 亚洲五月激情综合图片区| 中文字幕中乱码一区无线精品| av在线高清观看亚洲| 一本色道久久88加勒比—综合| 老师脱了内裤让我进去| 精品无码AⅤ片| 亚洲中文字幕不卡一区二区三区 | 男人天堂这里只有精品| 99热爱久久99热爱九九热爱| 亚洲精品suv精品一区二区| 99热这里只有精品国产99热门精品| 国产经典免费视频在线观看| 毛片在线视频成人亚洲| 午夜不卡无码中文字幕影院| 久久九九久精品国产| 国产成人免费一区二区三区| 日本中文字幕人妻精品| 午夜精品男人天堂av| 色狠狠色狠狠综合天天| 亚洲av永久无码天堂网手机版| 欧美 亚洲 国产 日韩 综AⅤ| 日本中文字幕人妻精品| 亚洲av成人一区二区三区本码| 久久久久久国产精品mv| 亚洲免费观看网站| 日韩av他人妻中文字幕| 国产精品黑丝美女啪啪啪| 国产无套内射久久久国产| 欧美在线a|