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