新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于1553B總線遠程終端的FPGA程序設計

基于1553B總線遠程終端的FPGA程序設計

作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

0 引言

本文引用地址:http://m.butianyuan.cn/article/201609/303476.htm

1553B總線是MIL-STD-1553美國軍用標準總線的簡稱,在飛機的航電系統(tǒng)中應用廣泛.為了提高可靠性,1553B 總線一般采用雙余度總線結(jié)構(gòu),在1553B 總線上可掛接三種終端類型:總線控制器(BC).(RT)和總線監(jiān)視器(BM).總線網(wǎng)絡上可掛接32 個終端,在這32 個終端中,的數(shù)量往往最多.目前,為實現(xiàn)1553B 總線通信,大都是開發(fā)獨立的通信接口模塊,不但成本高,整個系統(tǒng)的重量也會因此增加,不利于航空領域的使用.隨著電子技術(shù)的發(fā)展,F(xiàn)PGA已經(jīng)迅速應用于各個領域,系統(tǒng)中的各個電路模塊大都包含F(xiàn)PGA 芯片.本文介紹一種使用FPGA 編程,實現(xiàn)1553B總線通信中的方法,本方法具有開發(fā)周期短.方法簡單.可移植性強的特點,可大大降低系統(tǒng)的開發(fā)成本,縮短開發(fā)周期.

1簡介

現(xiàn)代飛機典型的航電系統(tǒng)及1553B 總線應用框圖如圖1所示.1553B總線采用指令/ 響應型通信協(xié)議,構(gòu)成1553B 總線傳輸協(xié)議有三要素:命令字.數(shù)據(jù)字和狀態(tài)字,每個字的長度為20 b,且由3部分組成:同步頭(3 b).數(shù)據(jù)段(16 b)和奇偶位(1 b),如圖2所示.

1.jpg

2.jpg

命令字由總線控制器(BC)發(fā)出,共包含20位的長度,前3位是同步頭,最后一位是奇偶校驗位,有效信息為16位,有效信息位中,前5位為RT 的地址場,該場指出了被尋址的終端地址.有1位是發(fā)送/接收(T/R)位,當此位為“1”時,命令被尋址的終端發(fā)送消息,為“0”時,則命令被尋址的終端接收消息.另外5位為子地址/方式代碼場,一般情況下,按指示向被尋址終端某一個分地址進行通信,當這5位全為“0”或全為“1”時定義為方式代碼場.有效信息中的最后5位為計數(shù)/方式碼場,通常情況下,它定義了與該指令相關的數(shù)據(jù)字數(shù),但在前5位為方式場時,它就成了方式控制碼.

數(shù)據(jù)字有20 位長,其中16 位有效信息是總線上傳輸?shù)臄?shù)據(jù)信息.

狀態(tài)字僅僅對指令字響應,被尋址的遠程終端發(fā)出,并包括5位本RT地址場和8位指示了通信狀態(tài)和本RT及子系統(tǒng)狀態(tài)的信息位.

2 硬件構(gòu)成

信號調(diào)制解調(diào)所需的隔離變壓器和收發(fā)器需單獨購買,本文采用HOLT 公司的PM-DB2745D 芯片和HI-

1573 芯片,從而曼徹斯特編碼解碼往后的部分都可以在一片F(xiàn)PGA芯片內(nèi)實現(xiàn).本文是將1553B總線的遠程終端集成到海軍某型號飛機航電子系統(tǒng)的一塊計算機板上,計算機板采用的是Altera 公司的Cyclone Ⅲ系列FPGA芯片,硬件連接關系如圖3所示.

3 FPGA內(nèi)部模塊構(gòu)成

遠程終端是用戶子系統(tǒng)到數(shù)據(jù)總線上的接口,它在BC 的控制下提取或吸收數(shù)據(jù),總線上的位傳輸速率為1.0 Mb/s,信號以串行數(shù)字脈沖調(diào)制方式在數(shù)據(jù)總線上傳輸,傳輸?shù)臄?shù)據(jù)碼為曼徹斯特Ⅱ型雙電平編碼,邏輯1為雙極編碼信號1/0(即一個正脈沖繼之以一個負脈沖),邏輯0 為雙極編碼信號0/1(即一個負脈沖繼之以一個正脈沖),過零跳變發(fā)生在每一位時的中點,如圖4所示.

3.jpg

總線系統(tǒng)中傳輸?shù)南⒏袷接?0種,本文涉及到的有三種消息傳輸方式,即總線控制器向遠程終端的傳輸.遠程終端向總線控制器的傳輸和遠程終端向遠程終端的傳輸.FPGA的主要編程思路如圖5所示.

4.jpg

實際編程時,對1553B總線數(shù)據(jù)的解析響應在數(shù)據(jù)解析模塊.數(shù)據(jù)編碼模塊.主控模塊和軟件接口模塊的協(xié)調(diào)工作下完成,F(xiàn)PGA 內(nèi)部各功能模塊的聯(lián)系如圖6所示.

5.jpg

FPGA中各模塊的詳細功能詳述如下:

(1)數(shù)據(jù)解析模塊:本模塊對總線上串行數(shù)字脈沖進行接收并解析,數(shù)據(jù)解析模塊負責檢測命令字.數(shù)據(jù)字.狀態(tài)字的同步頭,1553B 總線的每一條消息都是從命令字開始的,數(shù)據(jù)解析模塊在檢測到命令字同步頭后,將同步頭后邊的16位有效信息進行串并轉(zhuǎn)換,經(jīng)過解析后,判定是否對該命令做出響應,若此命令是發(fā)給本RT終端的,則根據(jù)命令做出接收數(shù)據(jù)或發(fā)送數(shù)據(jù)的響應,若此命令不是發(fā)給本RT 終端的,則不做出任何響應.

(2)數(shù)據(jù)編碼模塊:本模塊在接收到數(shù)據(jù)發(fā)送命令時進行工作,主要完成對發(fā)送數(shù)據(jù)的曼徹斯特Ⅱ型雙電平編碼.

(3)主控模塊:本模塊控制各模塊協(xié)調(diào)工作,為各模塊提供正常工作的時鐘信號,當數(shù)據(jù)解析模塊接收到的是接收數(shù)據(jù)命令時,將數(shù)據(jù)解析模塊解析得到的數(shù)據(jù)字存儲到一個雙口RAM中,記為RAM1,等待CPU前來讀取,RAM1 被劃分為32 個區(qū)域,對應此RT 終端的32 個子地址;當數(shù)據(jù)解析模塊接收到的是發(fā)送數(shù)據(jù)命令時,將CPU事先存儲在另一個雙口RAM中的數(shù)據(jù)發(fā)送給數(shù)據(jù)編碼模塊,此雙口RAM 記為RAM0?RAM0 同樣被劃分為32個區(qū)域,對應RT終端的32個子地址.

(4)軟件接口模塊:本模塊是與CPU 通信的接口,當RAM1中某個區(qū)域存儲新的數(shù)據(jù)時,通知軟件前來讀取,當軟件向RAM0中某個區(qū)域?qū)懭霐?shù)據(jù)后,通知FPGA軟件寫入數(shù)據(jù)完畢.

4 試驗

試驗時,將程序下載至FPGA中,使用Quartus Ⅱ軟件自帶的邏輯分析儀觀察FPGA的通信性能,采用上海旋極公司提供的成品1553B 板卡和配套測試軟件與本文開發(fā)的電路進行通信,試驗證實:兩者通信結(jié)果正確無誤,滿足1553B總線通信要求,其中,A路總線接收數(shù)據(jù)的邏輯關系如圖7所示.


上一頁 1 2 下一頁

評論


相關推薦

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

關閉