色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 1553總線測(cè)試仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          1553總線測(cè)試仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-07-30 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:為了解決的測(cè)試和故障排查問(wèn)題,以AEC-PCI-FBC31RT-2-S2型B信號(hào)解調(diào)板為基礎(chǔ),設(shè)計(jì)、構(gòu)建了1553系統(tǒng),完成了系統(tǒng)軟件的設(shè)計(jì)、研制、調(diào)試和測(cè)試工作。系統(tǒng)軟件包括1553信號(hào)實(shí)時(shí)采集、實(shí)時(shí)分析處理、實(shí)時(shí)顯示和總線仿真等多個(gè)軟件模塊,采用多線程軟件設(shè)計(jì)技術(shù)保證了信號(hào)采集和數(shù)據(jù)轉(zhuǎn)換的實(shí)時(shí)性和可靠性。實(shí)際應(yīng)用表明,該系統(tǒng)縮短了排故周期,提高了效率試飛。
          關(guān)鍵詞:1553總線;信號(hào)解調(diào);實(shí)時(shí)處理;仿真

          0 引言
          飛行試驗(yàn)是飛機(jī)及相關(guān)航空產(chǎn)品設(shè)計(jì)定型中非常重要的階段,而飛行試驗(yàn)數(shù)據(jù)處理又是飛行試驗(yàn)過(guò)程中不可缺少的重要環(huán)節(jié)。隨著新型號(hào)的不斷出現(xiàn)和新技術(shù)的發(fā)展,航電系統(tǒng)的結(jié)構(gòu)越來(lái)越復(fù)雜,系統(tǒng)越復(fù)雜故障發(fā)生點(diǎn)就越多,這給試飛測(cè)試和試飛數(shù)據(jù)處理工作帶來(lái)了巨大的挑戰(zhàn),當(dāng)故障出現(xiàn)時(shí)如何在最短時(shí)間內(nèi)將故障定位,如何縮短數(shù)據(jù)處理周期,都是試飛測(cè)試和試飛數(shù)據(jù)處理必須解決的問(wèn)題。
          針對(duì)以上問(wèn)題,本文提出了飛行試驗(yàn)中1553總線測(cè)試和仿真系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法,該系統(tǒng)是基于MIL-STD-1553(GJB289A)數(shù)據(jù)總線標(biāo)準(zhǔn)開(kāi)發(fā)的,主要用于對(duì)1553B信號(hào)進(jìn)行測(cè)試和仿真。該系統(tǒng)能對(duì)飛機(jī)上的總線信號(hào)進(jìn)行實(shí)時(shí)采集、實(shí)時(shí)處理、實(shí)時(shí)監(jiān)測(cè)和記錄,能夠?qū)︼w行總線數(shù)據(jù)進(jìn)行事后分析和實(shí)驗(yàn)室1553總線信號(hào)仿真功能,可以加快用戶(hù)對(duì)總線錯(cuò)誤定位的速度,縮短數(shù)據(jù)處理周期,減少試驗(yàn)次數(shù)降低試驗(yàn)費(fèi)用。

          1
          1.1 統(tǒng)組成
          系統(tǒng)硬件由工控計(jì)算機(jī)和雙通道多功能1553B數(shù)據(jù)通信卡組成。系統(tǒng)的主要功能靠軟件來(lái)實(shí)現(xiàn),各軟件模塊問(wèn)的工作流程示意圖如圖1所示。系統(tǒng)軟件從結(jié)構(gòu)上主要分為2部分:1553B測(cè)試軟件和1553B仿真軟件,圖1中除仿真模塊之外的所有模塊都屬于測(cè)試軟件中的功能模塊。

          本文引用地址:http://cafeforensic.com/article/193490.htm

          a.JPG


          1.2 1553B信號(hào)實(shí)時(shí)測(cè)試軟件設(shè)計(jì)與實(shí)現(xiàn)
          1.2.1 軟件結(jié)構(gòu)設(shè)計(jì)
          1553B總線信號(hào)實(shí)時(shí)測(cè)試軟件,主要設(shè)計(jì)思想是根據(jù)功能需求,采用了模塊化設(shè)計(jì)。主要功能模塊有:總線信號(hào)實(shí)時(shí)采集模塊、實(shí)時(shí)分析處理模塊、數(shù)據(jù)回放模塊、實(shí)時(shí)顯示監(jiān)控模塊、原始數(shù)據(jù)記錄模塊和數(shù)據(jù)處理結(jié)果存儲(chǔ)模塊共6部分。
          為了提高1553B測(cè)試軟件的運(yùn)行效率,本系統(tǒng)軟件采用了多線程編程技術(shù)對(duì)1553B進(jìn)行信號(hào)采集和處理,主線程和子線程之間通過(guò)信號(hào)量實(shí)現(xiàn)同步。下面對(duì)多線程編程技術(shù)進(jìn)行簡(jiǎn)單介紹,給出使用多線程編程技術(shù)的必要性和對(duì)軟件運(yùn)行效率的影響。
          1.2.2 多線程編程技術(shù)
          Windows是一個(gè)多任務(wù)操作系統(tǒng),它們?cè)诿恳粫r(shí)刻中都可以有多個(gè)進(jìn)程同時(shí)工作,而一個(gè)正在執(zhí)行的程序就是一個(gè)進(jìn)程,每個(gè)進(jìn)程至少有一個(gè)線程,也可以有多個(gè)線程。
          每一個(gè)進(jìn)程至少有一個(gè)主執(zhí)行線程,它是由系統(tǒng)自動(dòng)創(chuàng)建的。用戶(hù)可以根據(jù)需要在應(yīng)用程序中創(chuàng)建其他線程,多個(gè)線程并發(fā)的運(yùn)行于同一進(jìn)程。這樣可以將一些占用時(shí)間長(zhǎng)的程序任務(wù)放到后臺(tái)去處理,提高程序的運(yùn)行速度,占用更少的資源等。對(duì)復(fù)雜的應(yīng)用程序來(lái)說(shuō),線程的應(yīng)用給應(yīng)用程序提供了高效、快速、安全的數(shù)據(jù)處理能力。
          要充分發(fā)揮多線程編程技術(shù)的優(yōu)勢(shì),必須要解決好線程之間的同步問(wèn)題,線程同步就是如何讓多個(gè)線程不要同時(shí)訪問(wèn)同一個(gè)數(shù)據(jù),讓多個(gè)線程能夠協(xié)調(diào)一致的工作,以免破壞數(shù)據(jù)的完整性和防止死鎖情況的發(fā)生。常用的線程同步技術(shù)有信號(hào)量(Semaphores)、互斥鎖(Mutex)和臨界段(Critical Sections)。
          1.2.3 實(shí)時(shí)測(cè)試軟件實(shí)現(xiàn)方法
          實(shí)時(shí)測(cè)試軟件中的總線數(shù)據(jù)實(shí)時(shí)分析處理是主線程,信號(hào)采集由單獨(dú)的子線程來(lái)完成,這樣可以保證總線能夠得到及時(shí)采集和分析處理,通過(guò)消息告訴主線程數(shù)據(jù)已經(jīng)采集好了,主線程收到消息之后開(kāi)始進(jìn)行解算、分析。
          在實(shí)時(shí)測(cè)試軟件中當(dāng)主線程運(yùn)行時(shí),首先要建立主線程和子線程之間,通信的消息,然后建立采集線程工作函數(shù)(定義采集線程的入口函數(shù)),定義創(chuàng)建ICD結(jié)構(gòu)樹(shù)的過(guò)程和一組消息分析函數(shù),然后對(duì)1553B多功能解調(diào)卡進(jìn)行初始化。總線信號(hào)采集系統(tǒng)在總線上相當(dāng)于是一個(gè)監(jiān)視器,因此要將采集卡設(shè)置在監(jiān)聽(tīng)模式。
          要對(duì)總線數(shù)據(jù)開(kāi)始進(jìn)行實(shí)時(shí)測(cè)試,首先要進(jìn)行采集總線信號(hào)。創(chuàng)建采集線程時(shí),將主線程與子線程的堆棧尺寸設(shè)為相同,并且其長(zhǎng)度會(huì)根據(jù)需要自動(dòng)變長(zhǎng),給出采集線程執(zhí)行時(shí)代碼所在函數(shù)的地址(線程工作函數(shù)),將采集線程設(shè)為創(chuàng)建后立即執(zhí)行的運(yùn)行模式,采集線程采滿(mǎn)數(shù)據(jù)之后通過(guò)消息通知主線程,主線程開(kāi)始對(duì)采集到的數(shù)據(jù)進(jìn)行分析處理。
          對(duì)采集到的數(shù)據(jù)進(jìn)行分析處理的內(nèi)容主要包括,將采集到的原始數(shù)據(jù),按照100%1553B事后處理軟件輸入數(shù)據(jù)的格式,寫(xiě)到存儲(chǔ)介質(zhì)上;將用戶(hù)需要實(shí)時(shí)監(jiān)控的參數(shù)按照GJB289A中的消息結(jié)構(gòu)和通信標(biāo)準(zhǔn)、1553總線中總線控制器、遠(yuǎn)程終端的地址、子地址、收/發(fā)等信息和ICD信息進(jìn)行實(shí)時(shí)處理,并將分析處理結(jié)果以數(shù)字、文字和曲線的形式進(jìn)行實(shí)時(shí)顯示,同時(shí)寫(xiě)入結(jié)果數(shù)據(jù)文件中,其格式和事后處理軟件的輸出格式完全相同。實(shí)時(shí)處理軟件模塊的程序邏輯流程圖,如圖2所示。

          b.JPG


          1.2.4 實(shí)時(shí)測(cè)試軟件界面設(shè)計(jì)
          實(shí)時(shí)測(cè)試軟件界面設(shè)計(jì)原則是界面友好,為用戶(hù)傳遞的信息準(zhǔn)確無(wú)二意性,可操作性要強(qiáng)。實(shí)時(shí)測(cè)試和事后回放主界面中右側(cè)表格中奇數(shù)行,顯示消息中每個(gè)元素的名稱(chēng),是從ICD數(shù)據(jù)庫(kù)中讀取的內(nèi)容,偶數(shù)行顯示每個(gè)元素總線數(shù)據(jù)的解算結(jié)果。由于采用了多線程設(shè)計(jì),用戶(hù)在測(cè)試和回放過(guò)程中可以隨時(shí)增加需要測(cè)試顯示的數(shù)據(jù)塊,處理軟件會(huì)立即響應(yīng),而不會(huì)出現(xiàn)單線程軟件中的死機(jī)現(xiàn)象。測(cè)試主界面如圖3所示。

          e.JPG


          1.3 1553B信號(hào)仿真軟件設(shè)計(jì)與實(shí)現(xiàn)
          1.3.1 仿真軟件結(jié)構(gòu)設(shè)計(jì)
          仿真軟件由消息配置、消息發(fā)送和停止發(fā)送3個(gè)模塊組成。其中,消息配置包括消息塊信息的增、刪、改等消息編輯功能,消息編輯包括消息名稱(chēng)定義、消息格式選擇、消息選項(xiàng)設(shè)置、指令字配置和數(shù)據(jù)字配置共5部分,軟件結(jié)構(gòu)示意圖如圖4所示。

          c.JPG


          仿真軟件的設(shè)計(jì)思想是要準(zhǔn)確地控制總線多功能解調(diào)卡,要深入了解并掌握每個(gè)API函數(shù)的意義和使用方法,如何將API函數(shù)和實(shí)驗(yàn)室需要的總線數(shù)據(jù)緊密結(jié)合,使板卡的功能發(fā)揮到極致,是在軟件設(shè)計(jì)中比較關(guān)鍵的技術(shù)環(huán)節(jié),該板卡的所有API函數(shù)都封裝在動(dòng)態(tài)鏈接庫(kù)(同時(shí)提供了常規(guī)函數(shù)庫(kù))中,因此在軟件設(shè)計(jì)時(shí)必須確定采用哪種函數(shù)庫(kù),和采用哪種調(diào)用方法,從而在軟件實(shí)現(xiàn)方法上實(shí)現(xiàn)突破。針對(duì)這些情況下,通過(guò)對(duì)動(dòng)態(tài)鏈接庫(kù)和常規(guī)函數(shù)庫(kù)的比較分析,調(diào)用方法的比較分析,最終確定本系統(tǒng)開(kāi)發(fā)所采用的API函數(shù)調(diào)用技術(shù)。
          1.3.2 動(dòng)態(tài)鏈接庫(kù)技術(shù)
          動(dòng)態(tài)鏈接庫(kù)與常規(guī)函數(shù)庫(kù)的區(qū)別在于:常規(guī)函數(shù)庫(kù),連接器復(fù)制它需要的所有庫(kù)函數(shù),并把確切的函數(shù)地址傳給調(diào)用這些函數(shù)的程序。而對(duì)于動(dòng)態(tài)鏈接庫(kù),函數(shù)存儲(chǔ)在一個(gè)獨(dú)立的DLL文件中。在創(chuàng)建Windows程序時(shí),鏈接過(guò)程并不把DLL鏈接到程序中。直到程序運(yùn)行并調(diào)用其中的一個(gè)函數(shù)時(shí),該程序才要求給出這個(gè)函數(shù)的地址。
          根據(jù)以上對(duì)2種不同函數(shù)庫(kù)技術(shù)特點(diǎn)的分析,本系統(tǒng)軟件在設(shè)計(jì)時(shí),采用了板卡供應(yīng)商所提供的API函數(shù)的動(dòng)態(tài)鏈接庫(kù)。
          調(diào)用一個(gè)存儲(chǔ)在動(dòng)態(tài)鏈接庫(kù)中的過(guò)程或函數(shù)有靜態(tài)和動(dòng)態(tài)2種方式。靜態(tài)調(diào)用指在單元的Interface部分用External指示字列出要從DLL中調(diào)用的過(guò)程,DLL和DLL中的函數(shù)在程序執(zhí)行前被加載。靜態(tài)調(diào)用所需要的代碼量少,但它有2個(gè)缺點(diǎn):一是當(dāng)要加載的動(dòng)態(tài)鏈接庫(kù)不存在或在動(dòng)態(tài)鏈接庫(kù)中沒(méi)有找到要調(diào)用的函數(shù)時(shí),程序就會(huì)停止運(yùn)行;二是一旦動(dòng)態(tài)鏈接庫(kù)加載,就一直停留在應(yīng)用程序的地址空間。
          動(dòng)態(tài)調(diào)用不需要單元的Interface部分把要調(diào)用的所有函數(shù)列出,只要調(diào)用前引入,用Loadlibrary函數(shù)指定需要加載的DLL,用GerProc Address函數(shù)指定需要調(diào)用的函數(shù)。如果指定的DLL出錯(cuò),最多時(shí)API調(diào)用失敗,不會(huì)導(dǎo)致程序終止。
          基于對(duì)動(dòng)態(tài)鏈接庫(kù)2種調(diào)用方式的分析、對(duì)比實(shí)驗(yàn),1553總線軟件采用動(dòng)態(tài)調(diào)用動(dòng)態(tài)鏈接庫(kù)的方式,實(shí)現(xiàn)API函數(shù)的調(diào)用。
          1.3.3 1553B仿真軟件實(shí)現(xiàn)方法
          仿真軟件算法根據(jù)國(guó)軍標(biāo)《飛機(jī)內(nèi)部時(shí)分制指令/響應(yīng)式多路傳輸數(shù)據(jù)總線》中的消息格式,以及不同格式的消息結(jié)構(gòu)特點(diǎn),仿真出總線控制器和各個(gè)遠(yuǎn)程終端之間的總線工作狀態(tài)??偩€系統(tǒng)中消息格式分為總線控制器向遠(yuǎn)程終端的傳輸BC RT,遠(yuǎn)程終端向總線控制器的傳輸RT BC,遠(yuǎn)程終端向遠(yuǎn)程終端的傳輸RTRT共3種格式。
          仿真軟件算法實(shí)現(xiàn)步驟如下:
          (1)采用動(dòng)態(tài)調(diào)用板卡控制函數(shù)的動(dòng)態(tài)鏈接庫(kù),用Loadlibrary進(jìn)行加載;
          (2)采用GerProcAddress函數(shù)指定需要調(diào)用函數(shù)的地址,仿真系統(tǒng)作為1553總線系統(tǒng)中的BC進(jìn)行信號(hào)仿真;
          (3)對(duì)1553B多功能卡進(jìn)行設(shè)置,包括板卡初始化、板卡;
          (4)根據(jù)用戶(hù)需要仿真的消息結(jié)構(gòu)、周期、時(shí)間間隔、通道號(hào)(A、B總線)和消息內(nèi)容組建消息包;
          (5)根據(jù)用戶(hù)需要仿真的總消息中各個(gè)消息包的結(jié)構(gòu),建立消息鏈標(biāo);
          (6)啟動(dòng)BC,對(duì)1553B信號(hào)進(jìn)行仿真輸出,如果是周期消息就一直輸出,直到用戶(hù)給出停止操作,如果是非周期函數(shù),執(zhí)行一次發(fā)送后就不再發(fā)送。
          仿真軟件的邏輯流程圖如圖5所示。

          d.JPG


          仿真軟件用戶(hù)界面主要是消息配置和消息編輯界面,分別如圖6,圖7所示。

          f.JPG

          g.JPG



          2 系統(tǒng)測(cè)試與結(jié)果分析
          2.1 系統(tǒng)測(cè)試方法
          系統(tǒng)功能和性能的測(cè)試是在實(shí)驗(yàn)室進(jìn)行的,利用成熟的1553B信號(hào)源,采取先進(jìn)行單獨(dú)的航電子系統(tǒng)測(cè)試,然后再進(jìn)行綜合航電系統(tǒng)測(cè)試的方法來(lái)進(jìn)行該系統(tǒng)的實(shí)時(shí)采集、實(shí)時(shí)處理、實(shí)時(shí)記錄等功能,用現(xiàn)有飛機(jī)的飛行數(shù)據(jù)測(cè)試了事后回放和事后處理模塊的性能。
          首選測(cè)試方法是與其他系統(tǒng)進(jìn)行實(shí)例對(duì)比,通過(guò)不同系統(tǒng)之間測(cè)試結(jié)果的一致性來(lái)判斷結(jié)果的準(zhǔn)確性,例如:總線控制器給雷達(dá)發(fā)一個(gè)消息,將本系統(tǒng)監(jiān)測(cè)到的消息與信號(hào)源發(fā)出的消息進(jìn)行一致性對(duì)比。
          第2種方法是采用理論衡量法,總線上的某個(gè)子系統(tǒng)執(zhí)行了某條指令之后,按照國(guó)標(biāo)軍標(biāo)的規(guī)定,理論上本系統(tǒng)應(yīng)該出現(xiàn)一種測(cè)試結(jié)果,然后將本系統(tǒng)實(shí)際的測(cè)試結(jié)果和理論測(cè)試結(jié)果進(jìn)行對(duì)比,確定雙方的一致性。
          第3種方法是采用不同的分析處理方式對(duì)總線數(shù)據(jù)進(jìn)行分析處理,將結(jié)果進(jìn)行對(duì)比,對(duì)于本系統(tǒng)來(lái)說(shuō),將實(shí)時(shí)測(cè)試模塊的測(cè)試結(jié)果與事后處理軟件的分析處理結(jié)果進(jìn)行對(duì)比。
          2.2 系統(tǒng)測(cè)試結(jié)果分析
          通過(guò)對(duì)整個(gè)系統(tǒng)性能進(jìn)行的測(cè)試,均達(dá)到了實(shí)際工作要求的指標(biāo),ICD管理軟件對(duì)ICD信息的分解和管理達(dá)到100%的準(zhǔn)確率,滿(mǎn)足用戶(hù)需求;系統(tǒng)時(shí)延的測(cè)試結(jié)果是小于等于60 ms,完全滿(mǎn)足用戶(hù)提出的系統(tǒng)小于等于70 ms的時(shí)延;在消息采集完整性測(cè)試中,通過(guò)對(duì)記錄數(shù)據(jù)進(jìn)行隨機(jī)查找指令字和事后分析處理的方法進(jìn)行測(cè)試,測(cè)試結(jié)果都表明,總線上的消息百分之百地的被采集并記錄下來(lái),沒(méi)有丟消息的現(xiàn)象。仿真消息能夠準(zhǔn)確地傳輸?shù)接脩?hù)所設(shè)定的實(shí)驗(yàn)室總線終端中,而且消息內(nèi)容準(zhǔn)確無(wú)誤;系統(tǒng)連續(xù)開(kāi)機(jī)8 h測(cè)試,系統(tǒng)運(yùn)行非常穩(wěn)定。

          3 結(jié)語(yǔ)
          根據(jù)試飛測(cè)試需求,選用以1553B總線信號(hào)解調(diào)板AEC1553-PCI-FBC31RT-2/S2為硬件基礎(chǔ),設(shè)計(jì)和開(kāi)發(fā)的1553B總線測(cè)試仿真系統(tǒng),采用通用化、標(biāo)準(zhǔn)化、模塊化的設(shè)計(jì)思想,具有良好的實(shí)用價(jià)值,可以作為運(yùn)輸機(jī)上百分之百地1553B信號(hào)采集、記錄裝置、試飛數(shù)據(jù)地面處理系統(tǒng)、作為進(jìn)行排故實(shí)驗(yàn)時(shí)的信號(hào)源,目前已應(yīng)用到各個(gè)重點(diǎn)型號(hào)中。具有良好的擴(kuò)展性,可以通過(guò)技術(shù)改造后,形成體積小巧的百分之百地1553B信號(hào)采集、記錄單元,應(yīng)用到殲擊機(jī)和直升機(jī)上。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉