一種arinc664板卡數(shù)據(jù)輸入輸出方法
【專利摘要】本發(fā)明公開了一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,包括如下步驟:步驟一:參數(shù)配置,即通過ARINC664自定義設(shè)備界面完成初始化參數(shù)的定義;步驟二:初始化ARINC664板卡;步驟三:啟動ARINC664板卡服務(wù);步驟四:ARINC664板卡從硬件讀取數(shù)據(jù);步驟五:ARINC664板卡往硬件寫入數(shù)據(jù);步驟六:關(guān)閉ARINC664板卡。本發(fā)明的一種ARINC664板卡數(shù)據(jù)輸入輸出方法可以直接在NIVeriStand配置界面中通過本程序?qū)RINC664總線IO板卡進行激勵通道和接收通道的創(chuàng)建與設(shè)置,然后部署到實時操作系統(tǒng)中,實現(xiàn)對ARINC664的支持。
【專利說明】—種ARINC664板卡數(shù)據(jù)輸入輸出方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種ARINC664板卡數(shù)據(jù)輸入輸出方法,具體涉及一種一種基于NIVeriStand實時引擎的ARINC664板卡的數(shù)據(jù)輸入輸出方法。
【背景技術(shù)】
[0002]NI VeriStand為美國國家儀器公司的一個款配置實時測試應(yīng)用程序的軟件環(huán)境,使用NI VeriStand實時測試與仿真軟件,可以使用基于配置的方法,快速地創(chuàng)建硬件在環(huán)測試系統(tǒng)應(yīng)用,這將降低開發(fā)成本和風(fēng)險。NI VeriStand提供了靈活的為多核優(yōu)化的配置與應(yīng)用程序體系結(jié)構(gòu),能夠確保硬件在環(huán)測試系統(tǒng)開發(fā)的成功。使用NI VeriStand構(gòu)建實時測試系統(tǒng),可以減少開發(fā)時間和應(yīng)用程序維護成本,并且利用產(chǎn)品的每個修訂版本實現(xiàn)功能和性能改進。然而原版的NI VeriStand只有針對DAQ卡、FPGA卡和CAN卡的支持。
[0003]ARINC664 板卡是 ARINC (Aeronautical Radio Inc.,航空無線電通信公司)開發(fā)的一種航空總線接口板卡,現(xiàn)有的利用NI VeriStand搭建涉及航空總線的實時測試系統(tǒng)中,由于軟件本身缺少對航空總線IO板卡的支持,無法在NI VeriStand中識別和配置硬件板卡,需要用戶開發(fā)針對ARINC664等航空總線接口板卡的支持程序,花費時間長、成本高,無法實現(xiàn)快速配置搭建硬件在環(huán)的實時測試平臺,違背了選擇使用NI VeriStand的初衷。
【發(fā)明內(nèi)容】
[0004]為解決現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種ARINC664板卡數(shù)據(jù)輸入輸出方法。
[0005]為了實現(xiàn)上述目標(biāo),本發(fā)明采用如下的技術(shù)方案:
一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,包括如下步驟:
步驟一:參數(shù)配置,即通過ARINC664自定義設(shè)備界面完成初始化參數(shù)的定義;
步驟二:初始化ARINC664板卡;
步驟三:啟動ARINC664板卡服務(wù);
步驟四:ARINC664板卡從硬件讀取數(shù)據(jù);
步驟五:ARINC664板卡往硬件寫入數(shù)據(jù);
步驟六:關(guān)閉ARINC664板卡。
[0006]前述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述初始化參數(shù)包括ARINC664板卡的板卡序列號、ARINC664數(shù)據(jù)庫文件、數(shù)據(jù)讀取速率、ARINC664消息中數(shù)據(jù)的開始位和長度。
[0007]前述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述ARINC664數(shù)據(jù)庫為一個XML文件,定義了發(fā)送通道屬性、接收通道屬性、發(fā)送參數(shù)屬性、接收參數(shù)屬性,用戶將消息數(shù)據(jù)庫文件導(dǎo)入到ARINC664自定義設(shè)備以完成對發(fā)送通道、接收通道、發(fā)送參數(shù)及接收參數(shù)的配置。
[0008]前述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟二包括:步驟2a:將導(dǎo)入的ARINC664數(shù)據(jù)庫文件從XML格式轉(zhuǎn)換成在LabVIEW RT實時操作系統(tǒng)下支持的binconfig文件然后寫入板卡驅(qū)動函數(shù)完成板卡的初始化;
步驟2b --從VeriStand的SDF文件(現(xiàn)有技術(shù)已有,本發(fā)明不再具體描述)中讀取配置信息,進行初始化數(shù)據(jù)操作。
[0009]前述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟三包括:調(diào)用板卡函數(shù),啟動ARINC664板卡服務(wù)。
[0010]前述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟四包括:在VeriStand主循環(huán)執(zhí)行的開始階段,ARINC664自定義設(shè)備循環(huán)從ARINC664板卡讀取數(shù)據(jù)然后將數(shù)據(jù)傳送至硬件輸入緩存,再將數(shù)據(jù)從硬件輸入緩存?zhèn)魉椭劣布斎隖IFO,再將數(shù)據(jù)通過硬件輸入FIFO傳送至主循環(huán),主循環(huán)最后把數(shù)據(jù)放到通道中供上位機用戶調(diào)用API查看。
[0011]前述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟五包括:往硬件寫入數(shù)據(jù),即上位機用戶調(diào)用API對通道進行賦值,主循環(huán)首先獲取通道上的值然后寫入到硬件輸出通道緩存,然后通過硬件輸出FIFO將數(shù)據(jù)傳送至ARINC664自定義設(shè)備循環(huán),ARINC664自定義設(shè)備循環(huán)將FIFO中的值再傳送至硬件輸出緩存,最后調(diào)用板卡驅(qū)動將緩存的數(shù)據(jù)寫到ARINC664板卡發(fā)送出去。
[0012]前述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟六包括:調(diào)用板卡函數(shù)完成關(guān)閉AR INC664板卡服務(wù),釋放內(nèi)存。
[0013]本發(fā)明的有益之處在于:本發(fā)明的一種ARINC664板卡數(shù)據(jù)輸入輸出方法利用NIVeriStand的自定義設(shè)備功能,無縫的加載在引擎中,用戶可以直接在NI VeriStand配置界面中通過本程序?qū)RINC664總線10板卡進行激勵通道和接收通道的創(chuàng)建與設(shè)置,然后部署到實時操作系統(tǒng)中,實現(xiàn)對ARINC664的支持。
【專利附圖】
【附圖說明】
[0014]圖1是本發(fā)明一種ARINC664板卡數(shù)據(jù)輸入輸出方法的流程圖;
圖2是本發(fā)明一種ARINC664板卡數(shù)據(jù)輸入輸出方法的更詳細(xì)流程圖;
圖3是本發(fā)明ARINC664數(shù)據(jù)格式。
【具體實施方式】
[0015]以下結(jié)合附圖和具體實施例對本發(fā)明作具體的介紹。
[0016]參照圖1和圖2所不,本發(fā)明一種ARINC664板卡數(shù)據(jù)輸入輸出方法利用NIVeriStand的自定義設(shè)備功能,無縫的加載在引擎中,用戶可以直接在NI VeriStand配置界面中通過本程序?qū)RINC664板卡進行激勵通道和接收通道的創(chuàng)建與設(shè)置,然后部署到實時操作系統(tǒng)中,實現(xiàn)對ARINC664板卡的支持。
[0017]NI VeriStand提供的一個名為自定義設(shè)備的擴展接口,用戶可以在NI LabVIEff(NI LabVIEW是美國國家儀器公司推出的一款基于圖形化編程的程序開發(fā)環(huán)境,產(chǎn)生的程序稱為VI。)上創(chuàng)建這樣的自定義設(shè)備并加載在NI VeriStand引擎中,從而增加對第三方硬件10接口或執(zhí)行自定義功能的支持。本程序便是基于這個框架,利用NI LabVIEW開發(fā)支持ARINC664板卡的自定義設(shè)備程序。[0018]本發(fā)明支持符合ARINC664協(xié)議的數(shù)據(jù)發(fā)送和接收,在開發(fā)中,程序傳輸原始數(shù)據(jù),數(shù)據(jù)解碼、轉(zhuǎn)換和顯示需要用戶根據(jù)不同的ICD版本自行解析。ARINC664板卡的傳輸數(shù)據(jù)按照圖3格式進行。
[0019]本發(fā)明ARINC664板卡支持錯誤數(shù)據(jù)注入功能,支持消息的單次發(fā)送和周期發(fā)送。支持AB冗余網(wǎng)絡(luò)傳輸,發(fā)送和接收可以選擇A網(wǎng)絡(luò)或者B網(wǎng)絡(luò)或者AB網(wǎng)絡(luò)。本第一步:參數(shù)配置
在部署前,通過ARINC664自定義設(shè)備界面完成程序初始化參數(shù)的定義,主要分為以下幾項:
1.板卡序列號;每塊ARINC664接口卡有一個唯一的序列號,配置板卡序列號用于指明當(dāng)前ARINC664自定義設(shè)備程序作用于哪塊板卡。
[0020]2.ARINC664數(shù)據(jù)庫文件(也可稱為ARINC664消息數(shù)據(jù)庫);ARINC664數(shù)據(jù)庫文件為一個XML文件,定義了發(fā)送通道屬性(VL號、BAG、最長幀長度、port號、port類型等)、接收通道屬性(VL號、BAG、最長幀長度、port號、port類型等)、發(fā)送參數(shù)屬性(參數(shù)名稱、參數(shù)缺省值、參數(shù)開始位及長度等)、接收參數(shù)屬性(參數(shù)名稱、參數(shù)開始位及長度等)。用戶將消息數(shù)據(jù)庫文件導(dǎo)入到ARINC664自定義設(shè)備以完成對發(fā)送通道、接收通道、發(fā)送參數(shù)及接收參數(shù)的配置。port號即所謂端口號。
[0021]3.數(shù)據(jù)讀取速率;用戶可以設(shè)定數(shù)據(jù)讀取速率,此速率決定了 ARINC664自定義設(shè)備接收通道從板卡硬件通道上讀取數(shù)據(jù)的速率。
[0022]4.ARINC664消息中數(shù)據(jù)的開始位和長度;用戶可以進一步修改導(dǎo)入消息數(shù)據(jù)庫文件后產(chǎn)生的消息屬性。
[0023]第二步:初始化
完成程序部署后首先進入到程序初始化步驟,初始化中完成2個工作:
將導(dǎo)入的ARINC664數(shù)據(jù)庫文件從XML格式轉(zhuǎn)換成在LabVIEW RT實時操作系統(tǒng)下支持的binconfig文件然后寫入板卡驅(qū)動函數(shù)完成板卡的初始化;
從VeriStand SDF文件中讀取配置信息(如輸入、輸出通道等),進行初始化數(shù)據(jù)操作,如創(chuàng)建隊列,分配標(biāo)簽緩存位置等;
第三步:開始
在初始化完成后,調(diào)用板卡函數(shù),啟動ARINC664板卡服務(wù);
第四步:從硬件讀取數(shù)據(jù)
在VeriStand主循環(huán)執(zhí)行的開始階段,ARINC664自定義設(shè)備循環(huán)從ARINC664板卡讀取消息然后傳送至硬件輸入緩存再到硬件輸入FIF0,然后通過硬件輸入FIFO傳送至主循環(huán),主循環(huán)最后把數(shù)據(jù)放到通道中供上位機用戶調(diào)用API查看。
[0024]第五步:往硬件寫入數(shù)據(jù)
上位機用戶調(diào)用API對通道進行賦值,主循環(huán)首先獲取通道上的值然后寫入到硬件輸出通道緩存,然后通過硬件輸出FIFO將數(shù)據(jù)傳送至ARINC664自定義設(shè)備循環(huán),ARINC664自定義設(shè)備循環(huán)將FIFO中的值再傳送至硬件輸出緩存,最后調(diào)用板卡驅(qū)動將緩存的數(shù)據(jù)寫到ARINC664板卡發(fā)送出去。
[0025]第六步:關(guān)閉
當(dāng)用戶停止程序時,調(diào)用板卡函數(shù)完成關(guān)閉ARINC664板卡服務(wù),釋放內(nèi)存等。[0026]本發(fā)明利用ARINC664自定義設(shè)備循環(huán)和NI VeriStand引擎主循環(huán)相結(jié)合的方式完成ARINC664數(shù)據(jù)的激勵和接收;在NI VeriStand中增加ARINC664自定義設(shè)備以擴展它的應(yīng)用范圍。
[0027]現(xiàn)有的NI VeriStand無法快速搭建涉及航空總線ARINC664的測試系統(tǒng),而本發(fā)明基于NI VeriStand擴展接口,利用NI LabVIEW開發(fā)的ARINC664自定義設(shè)備只需加載到NI VeriStand中通過簡單的配置即完成了對ARINC664板卡的支持,擴大了 NI VeriStand的使用范圍。
[0028]以上顯示和描述了本發(fā)明的基本原理、主要特征和優(yōu)點。本行業(yè)的技術(shù)人員應(yīng)該了解,上述實施例不以任何形式限制本發(fā)明,凡采用等同替換或等效變換的方式所獲得的技術(shù)方案,均落在本發(fā)明的保護范圍內(nèi)。
【權(quán)利要求】
1.一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,包括如下步驟: 步驟一:參數(shù)配置,即通過ARINC664自定義設(shè)備界面完成初始化參數(shù)的定義; 步驟二:初始化ARINC664板卡; 步驟三:啟動ARINC664板卡服務(wù); 步驟四:ARINC664板卡從硬件讀取數(shù)據(jù); 步驟五:ARINC664板卡往硬件寫入數(shù)據(jù); 步驟六:關(guān)閉ARINC664板卡。
2.根據(jù)權(quán)利要求1所述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述初始化參數(shù)包括ARINC664板卡的板卡序列號、ARINC664數(shù)據(jù)庫文件、數(shù)據(jù)讀取速率、ARINC664消息中數(shù)據(jù)的開始位和長度。
3.根據(jù)權(quán)利要求2所述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述ARINC664數(shù)據(jù)庫文件為一個XML文件,定義了發(fā)送通道屬性、接收通道屬性、發(fā)送參數(shù)屬性、接收參數(shù)屬性,用戶將ARINC664數(shù)據(jù)庫文件導(dǎo)入到ARINC664自定義設(shè)備以完成對發(fā)送通道、接收通道、發(fā)送參數(shù)及接收參數(shù)的配置。
4.根據(jù)權(quán)利要求3所述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟二包括: 步驟2a:將導(dǎo)入的ARINC664數(shù)據(jù)庫文件從XML格式轉(zhuǎn)換成在LabVIEW RT實時操作系統(tǒng)下支持的binconfig文件,然后寫入板卡驅(qū)動函數(shù)完成板卡的初始化; 步驟2b:從VeriStand SDF文件中讀取配置信息,進行初始化數(shù)據(jù)操作。
5.根據(jù)權(quán)利要求4所述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟三包括:調(diào)用板卡函數(shù),啟動ARINC664板卡服務(wù)。
6.根據(jù)權(quán)利要求5所述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟四包括:在VeriStand主循環(huán)執(zhí)行的開始階段,ARINC664自定義設(shè)備循環(huán)從ARINC664板卡讀取數(shù)據(jù),然后將數(shù)據(jù)傳送至硬件輸入緩存,再將數(shù)據(jù)從硬件輸入緩存?zhèn)魉椭劣布斎隖IFO,再將數(shù)據(jù)通過硬件輸入FIFO傳送至主循環(huán),主循環(huán)最后把數(shù)據(jù)放到通道中供上位機用戶調(diào)用API查看。
7.根據(jù)權(quán)利要求6所述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟五包括:上位機用戶調(diào)用API對通道進行賦值,主循環(huán)首先獲取通道上的值然后寫入到硬件輸出通道緩存,然后通過硬件輸出FIFO將數(shù)據(jù)傳送至ARINC664自定義設(shè)備循環(huán),ARINC664自定義設(shè)備循環(huán)將FIFO中的值再傳送至硬件輸出緩存,最后調(diào)用板卡驅(qū)動將緩存的數(shù)據(jù)寫到ARINC664板卡發(fā)送出去。
8.根據(jù)權(quán)利要求7所述的一種ARINC664板卡數(shù)據(jù)輸入輸出方法,其特征在于,所述步驟六包括:調(diào)用板卡函數(shù)完成關(guān)閉ARINC664板卡服務(wù),釋放內(nèi)存。
【文檔編號】G06F9/445GK103761116SQ201310710799
【公開日】2014年4月30日 申請日期:2013年12月20日 優(yōu)先權(quán)日:2013年12月20日
【發(fā)明者】夏高明, 侯明宇, 蘭積錢, 敖小華 申請人:江蘇銳天信息科技有限公司