時間:2009-04-21 12:36:18來源:hesp
ARINC429總線是美國航空無線電公司(ARINC)制定的航空數(shù)字總線傳輸標(biāo)準(zhǔn),定義了航空電子設(shè)備和系統(tǒng)之間相互通信的一種規(guī)范。隨著國內(nèi)航空業(yè)的發(fā)展,ARINC429總線的應(yīng)用日益廣泛,已推廣到許多航空設(shè)備中。與此同時在許多航空機載設(shè)備的檢測維修中出現(xiàn)了大量對429信號的檢測需求。這就使得對429信號的仿真和測試顯得十分關(guān)鍵。本文使用目前市場上技術(shù)成熟的基于PCI接口的429收發(fā)板卡,以LabWindows/CVI作為軟件開發(fā)環(huán)境,設(shè)計實現(xiàn)了對429信號的仿真和測試,達(dá)到了使用個人電腦完成429信號檢測任務(wù)的目的。 ARINC429總線簡介 ARINC429協(xié)議規(guī)定使用雙絞屏蔽線以串行方式傳輸數(shù)字?jǐn)?shù)據(jù)信息,信息為單向傳輸,即總線上只允許有1個發(fā)送設(shè)備,可以有多個(≤20個)接收設(shè)備??偩€的數(shù)據(jù)傳輸率為12.5~100kbps,傳輸字為32位。線路上的碼型為雙極性歸零碼。每條線上的信號電壓范圍為+5V到-5V之間。一條線稱為A(或+),而另一條線稱為B(或-)。兩條線路的差分信號的邏輯關(guān)系有三種:當(dāng)A-B 的差分電壓為7.25V~11V時,表示邏輯1,即HI;當(dāng)A-B的差分電壓為-0.5V~0.5V 時,表示NULL;當(dāng)A-B的差分電壓為-11V~-7.25V 時,表示邏輯0,即LO。具體編碼方式如圖1所示。
[align=center]圖1 ARINC429雙極性歸零編碼方式圖 [/align] 按照規(guī)定ARINC429字的32個數(shù)據(jù)位分為5個基本區(qū)域,分別為Parity、SSM、DATA、SDI、LABEL,如圖2所示。1~8位是標(biāo)號位(LABEL),標(biāo)記出包括在這個傳送字內(nèi)的信息的類型。通過這些數(shù)據(jù)標(biāo)號,接收設(shè)備可以很容易地判斷出所接收到的字的用途。9~10位是源終端識別位(SDI),它指示信息的來源或信息的終端。11~28或29位是數(shù)據(jù)位(Data Field),是所確定的用于傳輸?shù)男畔ⅰ?29到30或31位為符號狀態(tài)矩陣位(SSM),表示數(shù)據(jù)的特性或字類型,也可表示發(fā)送設(shè)備的狀態(tài)信息。32位為奇偶校驗位(P),實現(xiàn)簡單的數(shù)據(jù)校驗功能。
[align=center]圖2 429 信號32位字格式 [/align] 基本設(shè)計思想 設(shè)計航空429總線信號的仿真和檢測采用了虛擬儀器的設(shè)計思路。簡單的說,虛擬儀器就是通用計算機加上軟件和硬件。硬件用來解決信號的輸入輸出問題,軟件用來實現(xiàn)對信號的處理、顯示等功能。它利用計算機的強大支持,使用戶可以很方便地對其維護、擴展和升級。與傳統(tǒng)儀器相比,虛擬儀器具有很高的靈活性,可以通過編制軟件來定義功能。目前在這一領(lǐng)域內(nèi),使用較為廣泛的軟件包括NI公司的LabVIEW 和LabWindows/CVI,HP公司的VEE等。 設(shè)計中,硬件方面使用基于PCI插槽的429信號收發(fā)板卡,將其插入通用電腦PCI插槽達(dá)到了測試的硬件要求,實現(xiàn)429信號的發(fā)送和接收;軟件方面使用NI公司的LabWindows/CVI作為開發(fā)平臺,主要用來完成發(fā)送前的數(shù)據(jù)準(zhǔn)備、對接收數(shù)據(jù)的處理和顯示等工作。 設(shè)計實現(xiàn)方法 硬件介紹 選用西安方元明公司代理的EXC_M4K429RTx模塊板卡。該板卡的基本結(jié)構(gòu)如圖3所示。
[align=center]圖3 M4K429RTx板卡結(jié)構(gòu)原理圖 [/align][align=left] 其主要性能參數(shù)包括:支持5~10通道,每個通道均支持接收發(fā)送自定義;信號傳輸率為12.5~100Kbps編程可調(diào);4K×8雙端口RAM作為數(shù)據(jù)收發(fā)緩存;支持奇偶校驗和可編程輸出硬件觸發(fā),中斷和選擇模式;發(fā)送通道支持單個發(fā)送,單次發(fā)送和循環(huán)發(fā)送三種發(fā)送模式;接收通道支持查詢接收,單通道連續(xù)接收和多通道連續(xù)接收種模式;發(fā)送字間隔編程可調(diào);支持添加時間標(biāo)簽;有糾錯功能。 軟件支持:提供windows下運行的C驅(qū)動;支持VC、LabVIEW、Delphi、LabWindows/CVI等軟件進行開發(fā)。 [/align][align=left]軟件設(shè)計 軟件設(shè)計主要包括兩方面的工作,一是設(shè)計實現(xiàn)29信號的發(fā)送,即信號的仿真;另一個是實現(xiàn)接收429信號并以合適的方式處理,包括如何顯示等,即信號的檢測。 ·發(fā)送部分 發(fā)送部分設(shè)計流程如圖4所示,設(shè)計的工作界面參見圖5。 [/align]
首先,輸入設(shè)備號、模塊號和選擇發(fā)送通道,通過調(diào)用板卡函數(shù)Init_Module_RTx對板卡初始化,獲得對板卡進行操作的句柄,點擊“打開板卡”按鈕可以完成這一步工作。然后調(diào)用板卡的屬性設(shè)置函數(shù)Setup_Transmit_Channel_RTx設(shè)置發(fā)送通道的發(fā)送屬性,包括發(fā)送方式,發(fā)送數(shù)據(jù)速率,發(fā)送時間間隔和奇偶校驗,通過面板控件獲得這些屬性值,如發(fā)送方式可選擇單次,單個和循環(huán)發(fā)送三種發(fā)送模式。發(fā)送速率12.5~100Kbps可選。 實現(xiàn)設(shè)計的關(guān)鍵是如何得到標(biāo)準(zhǔn)格式的32位429碼,并按照板卡硬件規(guī)定的格式將其放入發(fā)送寄存器中。如圖5在發(fā)送數(shù)據(jù)區(qū)中對應(yīng)輸入所要發(fā)送的數(shù)據(jù)信息。由于429 信號數(shù)據(jù)位碼的填充方式根據(jù)數(shù)據(jù)類型的不同分為兩種,一種是按照BCD碼填充,一種是按照BNR碼填充,因此編寫軟件時,首先需要判斷l(xiāng)abel類型,確定數(shù)據(jù)的填充方式,然后將它們合并成符合其數(shù)據(jù)類型的32位429碼信息,再按照圖6所示的發(fā)送格式,將其分為高16位和低16位兩組碼分別放入發(fā)送寄存器的高位和低位中,才能被正確發(fā)送出去。
下面給出了以BNR方式填充數(shù)據(jù)區(qū)的部分代碼。主要采用位操作完成了32位碼的生成和拆分。 int generat32 (int tr_data,int lab,int ssm, int sdi)//生成32位碼 { int data,i,j=0; tr_data =tr_data<<10; ssm =ssm<<29; sdi =sdi<<8; data =tr_data|lab|ssm|sdi; return data32; } Lo=(data 32&0x 00ffff00)>>8; //生成低16位碼 for(i=0;i<8;i++) //顛倒lable位 { real_lab=(lab>>i)%2; temp_lab=temp_lab|(real_lab<<(7-i)); real_lab=0; } Hi=((data32& 0xff00000 0)>>24)|(temp_lab<<8); //生成高16位碼 調(diào)試證明,通過以上的數(shù)據(jù)準(zhǔn)備工作,就可以發(fā)出符合規(guī)范的429碼。 ·接收部分 接收部分的前端設(shè)計與發(fā)送部分相同,圖7是設(shè)計的接收界面。開始也要進行板卡初始化和設(shè)置接收屬性,調(diào)用Setup_Receive_Channel_RTx函數(shù)設(shè)置完成。
當(dāng)開始接收數(shù)據(jù)時,接收寄存器會得到高16位和低16位兩組碼(數(shù)據(jù)格式與發(fā)送部分完全相同,可參見圖6,同時在板卡的標(biāo)準(zhǔn)模式下,還會得到用兩個16位碼表示的時間標(biāo)號以及1個16位碼的板卡狀態(tài)返回值。要正確識別各段碼的信息。關(guān)鍵是對于數(shù)據(jù)位的處理。要根據(jù)數(shù)據(jù)不同的填充方式編寫不同的代碼。仍然以BNR碼填充為例,給出讀取32位碼各段信息的代碼。按照同樣的思路,可以得到以BCD碼填充數(shù)據(jù)區(qū)的識別程序和對時間標(biāo)號的識別。 data=((hi&0x0000001f)<<14)|(lo>>2); //合并兩端數(shù)據(jù)代碼,讀取數(shù)據(jù) lab=(hi&0xff00)>>8; //讀取label for(i=0;i<8;i++) l {real_lab=(lab>>i)%2; temp_lab=temp_lab|(real_lab<<(7-i)); real_lab=0;} lab=temp_lab; ssm=(hi&0x00000060)>>5; //讀取ssm sdi=lo&0x00000003; //讀取sdi 由以上程序可以讀出429碼的各段碼信息,對于這些信息,CVI編程支持的顯示方式包括表格循環(huán)顯示、表盤顯示等。 ·觸發(fā)和中斷的處理 對于信號發(fā)送和接收中存在的觸發(fā)和中斷的問題,板卡本身支持硬件觸發(fā)和中斷。同時還可以利用CVI提供的Timer控件實現(xiàn),通過面板控件可以設(shè)置Timer的時間間隔來控制觸發(fā)時間,通過設(shè)置Timer的關(guān)閉,來實現(xiàn)中斷。 結(jié)語 本設(shè)計采用虛擬儀器設(shè)計思想,在針對某型飛機研發(fā)的自動檢測系統(tǒng)中很好地完成了對各類429總線信號的仿真和檢測任務(wù)。另外,使用這種方法還可以根據(jù)需要選擇多個通道同時工作,并發(fā)揮虛擬儀器靈活的特點對429信號進行多種處理和顯示。 參考文獻: 1. 張毅,周紹磊等,虛擬儀器技術(shù)分析與設(shè)計[M],機械工業(yè)出版社,2004 2. 429RTx&Discrete Software Tools Programmer’s Reference[M].Excalibur System Inc..2003 3. M4K429RTx User’s Manual[M].Excalibur System Inc..2006 4. 王建新,楊世鳳等,LabWindows/CVI測試技術(shù)及工程應(yīng)用[M],化學(xué)工業(yè)出版社,2006 編輯:何世平
標(biāo)簽:
上一篇:論變頻器常見干擾故障分析及對策
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20