<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > ARINC429總線(xiàn)收發(fā)器芯片DEI1016的原理及應用

ARINC429總線(xiàn)收發(fā)器芯片DEI1016的原理及應用

作者: 時(shí)間:2004-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:簡(jiǎn)要介紹了Device Engineering公司的芯片的功能,詳細說(shuō)明了利用芯片實(shí)現協(xié)議數據通訊系統的設計方法,給出了比較具體的電路設計及軟件解決方法。

關(guān)鍵詞:;差分輸出;FIFO;可編程器件

1 概述

目前,ARINC429收發(fā)器主要以Device Engineering公司的DEI1016及BD429來(lái)配套使用。其中DEI1016提供有標準航空串行數據和16bit寬數據總線(xiàn)接口。該接口電路包括一個(gè)單通道發(fā)送器、兩個(gè)獨立的接收通道和可選擇操作方式的可編程控制器。

發(fā)送器電路包括一個(gè)發(fā)送緩存器和一個(gè)控制邏輯,發(fā)送緩存器是一個(gè)832bit的FIFO,而控制邏輯則允許主機給發(fā)送器寫(xiě)數據塊,并通過(guò)主機使能發(fā)送器來(lái)使該數據塊自動(dòng)發(fā)送出去。數據在TTL電平格式下經(jīng)過(guò)BD429電平轉換器后發(fā)送出去。而每一個(gè)接收通道都可以直接連接到ARINC429數據總線(xiàn),而不需要電平轉換。

2 引腳功能

DEI1016芯片的引腳圖如圖1所示。下面是DEI1016的主要特點(diǎn):

●兩路接收和一路發(fā)送;

●環(huán)繞自測試模式;

●數據字長(cháng)為25bits或32bits格式;

●接收數據時(shí)進(jìn)行校驗,發(fā)送數據時(shí)產(chǎn)生校驗;

●具有832bit的發(fā)送緩存;

●采用低電源工作;

●支持多路復用ARINC數據總線(xiàn)(如429、571、575、706)。

3 電路原理

DEI1016的復位是低電平有效,外部工作時(shí)鐘為1MHz。具有二路接收(第一路接收和第二路接收)和一路發(fā)送。要使電路正常工作,發(fā)送時(shí)需要和BD429配合。BD429是滿(mǎn)足ARINC429規范的、雙極數據輸入線(xiàn)驅動(dòng)器。DEI1016為前級輸出,BD429為差分輸出。設計時(shí),BD429地周?chē)觾蓚€(gè)68pF的電容才能正常工作,而且這兩個(gè)電容至關(guān)重要。DEI1016由三個(gè)基本單元組成,第一部分為接收通道,第二部分為發(fā)送通道,第三部分為主機接口。其電路結構框圖見(jiàn)圖2所示。

3.1 接收通道

接收通道包括線(xiàn)接收器、數據接收、數據時(shí)鐘、源/目標碼譯碼器、校驗控制位、數據通道和數據錯誤條件等電路。

線(xiàn)接收器的前端是一個(gè)電平轉換器,最常用的就是BD429。它可以把10V的數據信號轉換為5V內部邏輯電平。

接收數據時(shí),接收到的每一位數據的開(kāi)始位首先被檢測,外部提供的工作時(shí)鐘(1MCK)為1MHz,內部接收和發(fā)送速率可以設置為十分之一或八十分之一(即100kbps或12.5kbps)。讀接收器的任一個(gè)字時(shí),一般都需要檢測收到的信息數據的校驗位。初始化時(shí),可以設置字長(cháng)為32Bit或25Bit。其32Bit字長(cháng)格式如圖3所示。

為了訪(fǎng)問(wèn)接收器的數據,首先應設置接收器數據選擇輸入端(SEL)為邏輯“0”,并通過(guò)脈沖使輸出使能端?OEn?也置為“0”,以使得數據字1被送入到數據總線(xiàn)上;同樣,數據字2也被放到數據總線(xiàn)上。當字1、字2被讀走以后,數據準備好信號?DRn?被復位,復位后,該信號處于三態(tài);如果新數據到了,而以前的數據又沒(méi)有被讀取,此時(shí)如果數據準備好信號沒(méi)有復位,則新數據不能覆蓋FIFO中的數據;如果一個(gè)完整的數據沒(méi)有讀完就出現錯誤,接收器將復位,同時(shí)忽略該數據或者該幀數據。如果希望測試該芯片是否正常工作,也可以通過(guò)設置為自測試模式,即將DEI1016的發(fā)送直接在內部接到第一路接收,并將反相接到第二路,然后發(fā)送數據,并比較發(fā)送和接收,以判斷DEI1016的工作狀況。3.2 發(fā)送通道

發(fā)送通道包括832bit FIFO、校驗產(chǎn)生器、發(fā)送器定時(shí)器和一個(gè)TTL輸出電路。其中832bit FIFO 可由用戶(hù)進(jìn)行操作(如裝載、使能、非使能等);通過(guò)裝載發(fā)送器數據字(LD1)或者(LD2)脈沖沿可以把第一個(gè)16位字(字1)或第二個(gè)16位字(字2)放到數據線(xiàn)上;LD1總是先于LD2。如果緩存已滿(mǎn)且新數據已被LD1和LD2脈沖沿打入,緩存里的最后一個(gè)32位字將被覆蓋;而當ENTX為邏輯“1”時(shí),FIFO時(shí)鐘被激活,同時(shí),數據被串行移到發(fā)送器驅動(dòng)器上;然后在發(fā)送時(shí)鐘(TXCLK)1MHz下通過(guò)DO?A?和DO?B?差分輸出,DEI1016和BD429連接見(jiàn)圖4所示。

3.3 主機接口

CPU外圍I/O設備的接口芯片一般都有片選、讀、寫(xiě)信號和選擇片內寄存器的若干地址線(xiàn)。但DEI1016有點(diǎn)特殊,它的每一個(gè)寄存器操作信號都需要對CPU信號進(jìn)行譯碼產(chǎn)生。因此,選擇CPU時(shí),最好直接選擇外部數據總線(xiàn)為16Bit以上的CPU,如TI公司的TMS320F240等。

4?。模牛桑保埃保兜膽?/B>

4.1 DEI1016與BD429HW的連接

DEI1016的應用主要是數據通訊。它一般和CPU、可編程器件一起形成智能通訊模塊,圖5是由DEI1016構成的數據通訊系統原理圖。該數據通訊模塊的控制邏輯以CPU提供的I/O操作信號IS和讀寫(xiě)信號RD、WR以及地址A2、A1為輸入來(lái)為DEI1016產(chǎn)生操作信號,如讀第一路接收數據寄存器信號 RD429A、第二路 RD429B、發(fā)送低字選通信號 WR429LW、高字 WR429HW、發(fā)送使能控制 TX429EN等??刂七壿嫼停茫校胀瑫r(shí)監視DEI1016的3個(gè)狀態(tài)信號,包括第一路接收準備好信號 Rx1RDY、第二路Rx2RDY和發(fā)送準備好Tx429RDY。這些狀態(tài)信號一方面可供軟件查詢(xún),另一方面可由控制邏輯產(chǎn)生 INT中斷請求。DEI1016和CPU接口比較簡(jiǎn)單,發(fā)送時(shí)經(jīng)常和BD429配合使用。

一般情況下,作為I/O外設的DEI1016的讀寫(xiě)速度要比CPU慢,因此,應該用一個(gè)狀態(tài)機進(jìn)行速度匹配以便為CPU產(chǎn)生READY信號。在發(fā)送使能信號TX429EN的控制下可以簡(jiǎn)單地把發(fā)送準備好信號 TX429RDY反相后輸出。亦即只要DEI1016發(fā)送器有空閑,就允許發(fā)送。DEI1016的發(fā)送器包括一個(gè)FIFO,它可以存儲8個(gè)32-Bit的429數據字。當CPU填充DEI1016的發(fā)送FIFO字數達到自定數目?如8個(gè)?時(shí),系統將使能發(fā)送以發(fā)出FIFO中的數據。其實(shí)現邏輯用Abel語(yǔ)言簡(jiǎn)寫(xiě)如下?

IS,RD,WR pin;

// CPU方的I/O操作、讀寫(xiě)信號,皆為低有效.

IOAddr=[A2,A1,X];

// CPU方I/O地址

ENTX429A=?。裕兀矗玻梗粒遥模?;

// ARINC429 發(fā)送使能.

// 讀 第一路 ARCIN429 接收寄存器 高低字.

?。遥模矗玻梗?=?。桑?& ?。遥?& ((IOAddr == RX429ALW) # (IOAddr == RX429AHW));

// 讀 第二路 ARCIN429 接收寄存器 高低字.

?。遥模矗玻梗?= ?。桑?& ?。遥?& (IOAddr == RX429BLW) # ?IOAddr == RX429BHW);

// 寫(xiě) 第一路 ARCIN429 發(fā)送寄存器 高低字.

?。祝遥矗玻梗粒?= ?。桑?& ?。祝?& (IOAddr == TX429ALW);?

?。祝遥矗玻梗粒?= ?。桑?& ?。祝?& (IOAddr == TX429AHW);

// 寫(xiě) DEI1016 控制寄存器.

?。祝遥矗玻梗粒茫?= ?。桑?& ?。祝?& (IOAddr == CR429A);

?。桑危?= ?。遥兀保遥模?# ?。遥兀玻遥模?;

// 2路接收準備好?共享中斷請求.

……

4.2 兩路接收中斷共享算法

該模塊有一路發(fā)送和兩路接收。發(fā)送數據不需要用中斷來(lái)解決。而當2路接收共享一個(gè)中斷時(shí),可能會(huì )出現覆蓋而丟掉某一路數據的情況,也可能使邊沿觸發(fā)的中斷失效而不再接收任何數據。其波形示意圖如圖6所示。圖中,在A點(diǎn),當第一路準備好Rx1RDY為低時(shí) (L),XINT有效以引起中斷,CPU響應中斷處理,同時(shí)在AB之間判定為第一路有效并開(kāi)始處理。當處理到B點(diǎn)時(shí),第二路接收準備好引起中斷。但此時(shí)XINT已經(jīng)有效,故不會(huì )引起電平變化,中斷響應程序繼續進(jìn)行,并在C點(diǎn)退出,此時(shí)并沒(méi)有處理第二路接收。如果中斷請求是電平 ?Level? 敏感,中斷處理退出后還可以再次進(jìn)入,但這會(huì )有相當的系統開(kāi)銷(xiāo)。若中斷請求是邊沿?edge?觸發(fā),那么在C點(diǎn)退出之后,由于未處理第二路接收,所以中斷請求 INT一直保持電平有效,但不能產(chǎn)生邊沿跳變翻轉,中斷觸發(fā)條件永遠不能滿(mǎn)足,系統處于死鎖狀態(tài),從而使兩路數據全部丟失。

對于這一問(wèn)題,其實(shí)質(zhì)性的解決辦法需要“軟硬兼施”??梢詫D4 中DEI1016的Rx1RDY、Rx2RDY等狀態(tài)信號同時(shí)送達CPU以組成只讀“狀態(tài)寄存器”,供CPU中斷響應時(shí)查詢(xún)。

由以上分析可知,對于ARINC429數據通訊系統,在具體的電路設計及軟件算法中均應考慮收發(fā)數據的丟失問(wèn)題。



關(guān)鍵詞: ARINC 1016 429 DEI

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>