<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > ARINC429總線信號(hào)仿真和測(cè)試方案

          ARINC429總線信號(hào)仿真和測(cè)試方案

          作者: 時(shí)間:2008-01-07 來源:網(wǎng)絡(luò) 收藏

            ARINC429是美國(guó)航空無線電公司(ARINC)制定的航空數(shù)字傳輸標(biāo)準(zhǔn),定義了航空電子設(shè)備和系統(tǒng)之間相互通信的一種規(guī)范。隨著國(guó)內(nèi)航空業(yè)的發(fā)展,ARINC429的應(yīng)用日益廣泛,已推廣到許多航空設(shè)備中。與此同時(shí)在許多航空機(jī)載設(shè)備的檢測(cè)維修中出現(xiàn)了大量對(duì)429信號(hào)的檢測(cè)需求。這就使得對(duì)429信號(hào)的仿真和顯得十分關(guān)鍵。本文使用目前市場(chǎng)上技術(shù)成熟的基于的429收發(fā),以/作為開發(fā)環(huán)境,設(shè)計(jì)實(shí)現(xiàn)了對(duì)429信號(hào)的仿真和,達(dá)到了使用個(gè)人電腦完成429信號(hào)檢測(cè)任務(wù)的目的。

            ARINC429總線簡(jiǎn)介

            ARINC429協(xié)議規(guī)定使用雙絞屏蔽線以串行方式傳輸數(shù)字?jǐn)?shù)據(jù)信息,信息為單向傳輸,即總線上只允許有1個(gè)發(fā)送設(shè)備,可以有多個(gè)(≤20個(gè))接收設(shè)備??偩€的數(shù)據(jù)傳輸率為12.5~100kbps,傳輸字為32位。線路上的碼型為雙極性歸零碼。每條線上的信號(hào)電壓范圍為+5V到-5V之間。一條線稱為A(或+),而另一條線稱為B(或-)。兩條線路的差分信號(hào)的邏輯關(guān)系有三種:當(dāng)A-B 的差分電壓為7.25V~11V時(shí),表示邏輯1,即HI;當(dāng)A-

            B的差分電壓為-0.5V~0.5V 時(shí),表示NULL;當(dāng)A-B的差分電壓為-11V~-7.25V 時(shí),表示邏輯0,即LO。具體編碼方式如圖1所示。

            

            

            圖1 ARINC429雙極性歸零編碼方式圖

            按照規(guī)定ARINC429字的32個(gè)數(shù)據(jù)位分為5個(gè)基本區(qū)域,分別為Parity、SSM、DATA、SDI、LABEL,如圖2所示。1~8位是標(biāo)號(hào)位(LABEL),標(biāo)記出包括在這個(gè)傳送字內(nèi)的信息的類型。通過這些數(shù)據(jù)標(biāo)號(hào),接收設(shè)備可以很容易地判斷出所接收到的字的用途。9~10位是源終端識(shí)別位(SDI),它指示信息的來源或信息的終端。11~28或29位是數(shù)據(jù)位(Data Field),是所確定的用于傳輸?shù)男畔ⅰ?29到30或31位為符號(hào)狀態(tài)矩陣位(SSM),表示數(shù)據(jù)的特性或字類型,也可表示發(fā)送設(shè)備的狀態(tài)信息。32位為奇偶校驗(yàn)位(P),實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)校驗(yàn)功能。

            

            

            圖2 429 信號(hào)32位字格式

            基本設(shè)計(jì)思想

            設(shè)計(jì)航空429總線信號(hào)的仿真和檢測(cè)采用了的設(shè)計(jì)思路。簡(jiǎn)單的說,就是通用計(jì)算機(jī)加上和硬件。硬件用來解決信號(hào)的輸入輸出問題,用來實(shí)現(xiàn)對(duì)信號(hào)的處理、顯示等功能。它利用計(jì)算機(jī)的強(qiáng)大支持,使用戶可以很方便地對(duì)其維護(hù)、擴(kuò)展和升級(jí)。與傳統(tǒng)儀器相比,具有很高的靈活性,可以通過編制軟件來定義功能。目前在這一領(lǐng)域內(nèi),使用較為廣泛的軟件包括NI公司的LabVIEW 和/,HP公司的VEE等。

            設(shè)計(jì)中,硬件方面使用基于的429信號(hào)收發(fā),將其插入通用電腦達(dá)到了的硬件要求,實(shí)現(xiàn)429信號(hào)的發(fā)送和接收;軟件方面使用NI公司的/作為開發(fā)平臺(tái),主要用來完成發(fā)送前的數(shù)據(jù)準(zhǔn)備、對(duì)接收數(shù)據(jù)的處理和顯示等工作。

            設(shè)計(jì)實(shí)現(xiàn)方法

            硬件介紹

            選用西安方元明公司代理的EXC_M4K429RTx模塊。該板卡的基本結(jié)構(gòu)如圖3所示。

            

            

            圖3 M4K429RTx板卡結(jié)構(gòu)原理圖

            其主要性能參數(shù)包括:支持5~10通道,每個(gè)通道均支持接收發(fā)送自定義;信號(hào)傳輸率為12.5~100Kbps編程可調(diào);4K×8雙端口RAM作為數(shù)據(jù)收發(fā)緩存;支持奇偶校驗(yàn)和可編程輸出硬件觸發(fā),中斷和選擇模式;發(fā)送通道支持單個(gè)發(fā)送,單次發(fā)送和循環(huán)發(fā)送三種發(fā)送模式;接收通道支持查詢接收,單通道連續(xù)接收和多通道連續(xù)接收三種模式;發(fā)送字間隔編程可調(diào);支持添加時(shí)間標(biāo)簽;有糾錯(cuò)功能。

            軟件支持:提供windows下運(yùn)行的C驅(qū)動(dòng);支持VC、LabVIEW、Delphi、LabWindows/CVI等軟件進(jìn)行開發(fā)。

            軟件設(shè)計(jì)

            軟件設(shè)計(jì)主要包括兩方面的工作,一是設(shè)計(jì)實(shí)現(xiàn)29信號(hào)的發(fā)送,即信號(hào)的仿真;另一個(gè)是實(shí)現(xiàn)接收429信號(hào)并以合適的方式處理,包括如何顯示等,即信號(hào)的檢測(cè)。

            ·發(fā)送部分

            發(fā)送部分設(shè)計(jì)流程如圖4所示,設(shè)計(jì)的工作界面參見圖5。

            

            

            圖4 發(fā)送數(shù)據(jù)流程圖

            

            

            圖5 發(fā)送界面

            首先,輸入設(shè)備號(hào)、模塊號(hào)和選擇發(fā)送通道,通過調(diào)用板卡函數(shù)Init_Module_RTx對(duì)板卡初始化,獲得對(duì)板卡進(jìn)行操作的句柄,點(diǎn)擊“打開板卡”按鈕可以完成這一步工作。然后調(diào)用板卡的屬性設(shè)置函數(shù)Setup_Transmit_Channel_RTx設(shè)置發(fā)送通道的發(fā)送屬性,包括發(fā)送方式,發(fā)送數(shù)據(jù)速率,發(fā)送時(shí)間間隔和奇偶校驗(yàn),通過面板控件獲得這些屬性值,如發(fā)送方式可選擇單次,單個(gè)和循環(huán)發(fā)送三種發(fā)送模式。發(fā)送速率12.5~100Kbps可選。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();