《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的1553B通信模塊的設計
基于FPGA的1553B通信模塊的設計
張晴暉1,李俊萩1,段芙蓉2,徐安排1,張宏翔1
1.西南林學院 計算機科學系,云南 昆明650224;2.成都縱橫測控技術有限公司,四川 成都610
摘要: 提出一種將FPGA與PowerPC芯片結合,實現MIL-STD-1553B通信模塊的技術方案。詳細討論了該系統的結構、1553B總線協議在FPGA上的實現以及系統的軟件結構等關鍵技術。該系統方案與采用專用的協議芯片實現1553總線接口的方法相比,具有更靈活、成本更低、可移植性好等特點。
中圖分類號: TP336
文獻標識碼: A
Design of 1553B communication module based on FPGA
ZHANG Qing Hui1,LI Jun Qiu1,DUAN Fu Rong2,XU An Pai1,ZHANG Hong Xiang1
1.Dept.of Computer and Information Science, Southwest Forestry College, Kunming 650224,China;2.Chengdu Jovian Measurement & Control Technology Co., Ltd,Chengdu 610041,China
Abstract: A realization technique of the MIL-STD-1553B communication module is presented, which is a combination of FPGA and PowerPC chip. And the key technologies such as the system structure, the implementation of 1553B bus protocol on FPGA and software architecture are discussed in detail. This method is more flexible, lower cost and portability compared with method using 1553B ASIC chips.
Key words : MIL-STD-1553B;FPGA;PowerPC

    MIL-STD-1553總線是美國國防部制定的一種具有可確定性且傳輸可靠的數據總線,被廣泛應用于軍用飛機、軍用車輛以及艦載等領域中。目前,1553B總線接口模塊的實現主要有2種方式:一種是采用專用的協議芯片(如DDC公司的BU-61580、HOLT公司的HI-6110等);另一種是采用FPGACPU結合實現1553B的協議模塊。
    本系統采用后一種方式,硬件上采用PowerPC芯片PPC405EP與Xilinx的FPGA芯片XC3S200為系統的核心芯片,使用VHDL語言實現1553B的總線協議。與采用專用的協議芯片實現1553總線接口的方法相比,該方案的成本很低,也很容易根據需要進行功能擴展,使用靈活。
1 1553總線分析
    在MIL-STD-1553總線上有總線控制器、遠程終端和監視器3種設備。其中,最重要的是總線控制器(BC-Bus Controller),總線上的任何操作都是由BC發起的(通過發不同的命令控制總線上的數據傳輸);遠程終端(RT-Remote Terminal)接收BC的命令,并按命令進行相應數據傳輸;總線監視器(BM-Bus Monitor)對總線上的數據進行接收和存儲。
    1553B總線上數據的交互是基于消息機制的。該標準定義了10種消息傳輸格式,而這10種傳輸格式都采用前述的3種字類型,總線上的數據傳輸就是采用這10種消息傳輸格式中的一種。其傳輸過程如下:BC通過總線發送某種命令字,所有的RT接收該命令字,并將命令字中的地址域與自己的地址相比較,相同則接收該命令字;隨后,RT對命令字進行解析,根據命令完成相應的操作(接收數據字、發送數據字、同步、自檢等)。這些操作都會產生相應的狀態字發送給BC。BC通過狀態字來判斷RT是否工作正常。如果RT接收到的命令字中的終端地址是廣播地址,則所有的RT都接收該命令,但都不返回狀態字給BC。
2 系統設計
2.1 系統結構

    系統結構如圖1所示。1553B的協議處理以及編解碼都由FPGA實現。在同一電路上集成BC、BM和R/T功能,可以通過軟件設置來選擇所需的功能。同時,其綜合了通信和測試功能,既能夠檢測出各種可能出現的錯誤,又能根據測試要求產生各種錯誤。

    CPU芯片采用AMCC公司的PowerPC405EP。該芯片不僅包括一個高性能的RISC處理器內核,還有SDRAM控制器、PCI總線接口、以太網接口、外部ROM和周邊資源控制及串行口、IIC接口、通用I/O口等,支持DMA功能。
    系統中的PXI接口是用PowerPC405EP的PCI接口與外部的開關電路擴展實現的。CPU通過EBC總線與1553模塊通信,其接口電路由FPGA實現。圖1所示接口電路主要完成通道選擇、數據環回等功能。

2.2 總體方案
    1553B總線協議由硬件和軟件配合實現。整體設計思路是:硬件和軟件采用中斷和查詢2種方式,通過一個共享的數據Buffer進行信息交互。下面介紹系統整體數據收發流程。本系統的軟硬件功能就是根據該流程進行分工和實現的。
2.2.1 數據發送流程
    上層軟件以數據結構的形式將控制和數據信息傳輸給硬件邏輯電路,硬件電路自動地將數據按照控制信息發送到1553B總線上。CPU向硬件邏輯發送數據時,首先應檢測上次的發送是否已經結束。具體方法是:讀通道狀態寄存器發送完成位,如果有效,表示上次發送已經結束了。只有檢測到上次發送結束了,才能進行數據的發送操作。硬件電路在將數據發送完之后,會產生中斷請求。軟件根據中斷請求去查詢狀態寄存器,決定下一步的操作。傳輸流程簡述如下:
    (1)CPU向數據發送FIFO寫入1個指令字/狀態字和錯誤控制信息;
    (2)CPU向通道控制寄存器寫入發送使能信號;
    (3)CPU向數據發送FIFO寫入0~32次數據和錯誤控制信息;
    (4)硬件邏輯檢測到發送使能信號;
    (5)硬件邏輯自動將存儲在FIFO中的數據順序取出;
    (6)硬件邏輯根據錯誤控制信息對數據進行相應處理后將數據發送到1553B總線上;
    (7)硬件邏輯在發送消息結束2 μs后,置發送完成狀態位,并產生中斷信號。
2.2.2 數據接收流程
    硬件邏輯接收到1553B總線上的數據后,對該數據進行錯誤檢測,并將相應的狀態信息和數據組合起來一起存入到接收FIFO中。當接收FIFO達到一定容量后,便向CPU產生中斷信號。CPU對FIFO進行讀操作,將數據和狀態取出。接收步驟如下:
    (1)硬件邏輯接收總線上的數據;
    (2)硬件邏輯對數據進行錯誤檢測,產生狀態信息;
    (3)硬件邏輯將數據和狀態信息寫入接收FIFO中;
    (4)當接收FIFO達到一定容量時便產生中斷信號;
    (5)CPU響應外部中斷;
    (6)CPU對FIFO進行讀操作,將狀態信息和數據取走;
    (7)CPU對狀態信息進行解析,決定對數據的處理。
3 總線編解碼的FPGA實現
    本系統中的FPGA芯片采用Xilinx公司的Spartan-3A XC3S200。該系列產品采用了90 nm工藝,支持業界最廣泛的I/O標準(26種),具備獨特的功耗和配置功能以及防克隆(anti-cloning)安全性優勢。
    FPGA的功能全部采用VHDL語言實現,其功能框圖如圖2所示。其主要完成的工作有:(1)曼徹斯特碼的編解碼,包括串/并轉換。(2)1553B協議的消息的解析,包括同步頭的識別,以及各種錯誤的識別、奇偶校驗等。(3)1553B協議的消息發生,包括同步頭的產生、各種狀態位的產生以及各種錯誤信息的產生。(4)與CPU接口的實現。(5)各種中斷信號的實現。(6)定時和超時控制電路等。
3.1 總線發送電路實現
    如果沒有注入錯誤的要求,編碼器的實現就比較簡單,只需要用若干倍1553B的傳輸速率(本設計采用12倍頻)將并行數據轉換為串行數據,加上相應的同步頭即可。在硬件上數據發送電路主要由一個狀態機、雙口FIFO、注入錯誤標志寄存器以及控制電路組成。狀態機的狀態圖如圖3所示。復位之后,該狀態機在每個時鐘的上升沿都檢測FIFO中是否有數據,若為空則停留在空閑狀態。一旦上層軟件通過EBC接口向FIFO寫入數據后, 硬件電路自動將數據讀出。進入到同步頭發送狀態,硬件電路根據命令寄存器的控制字送出相應的串行同步頭,隨后進入數據發送狀態。在每個時鐘沿,移位寄存器將數據寄存器的數據移出,進行曼碼編碼后發出,同時,數據計數器自動加1。當計數值為16時,則轉入到奇偶校驗狀態,將異或得到的檢驗位編碼后發出。

    本系統要求具有測試功能,主要有以下注入錯誤的要求:
    (1)EI_BITCOUNT:消息中指定數據的位數錯誤(不為16位);
    (2)EI_PARITY:消息中指定數據的校驗位錯誤;
    (3)EI_SYNC:錯誤的同步頭;
    (4)EI_WORDCOUNT:使消息中的數據長度不等于命令字中的長度;
    (5)EI_MIDBIT:指定數據位過零點錯誤,比期望位置延時300 ns;
    (6)EI_MIDSYNC:同步頭的過零點錯誤,比期望位置延時300 ns;
    (7)EI_BIPHASE:整個位時無過零點。
    硬件電路要求在狀態機中加入對應的電路,檢測錯誤寄存器中的標志位,并產生對應的錯誤。
3.2 總線接收電路實現
    無論是BC還是RT都需要對收到的數據進行解析。接收電路的主要功能有:曼碼的解碼、串并轉換、同步頭檢測、奇偶校驗以及各種錯誤的檢測。如圖4所示,狀態機復位之后進入同步頭搜索狀態。硬件電路以12倍1553總線傳輸速率的頻率去檢測幾種同步頭。若收到同步頭,則將狀態寄存器中的對應位置位,并轉入數據接收狀態;否則,停留在該狀態下。數據接收狀態下,移位寄存器在時鐘沿將經過解碼的數據移入。在數據計數器計數到16之后轉入到奇偶校驗狀態;之后,將數據和狀態寫入到FIFO中。硬件電路在狀態機的每個階段都要檢測各種錯誤,如果出錯則回到同步頭搜索狀態。同時,產生錯誤標志和中斷信號。

3.3 硬件中斷功能的實現
    如上所述,本系統軟件和硬件的通信主要通過中斷和查詢的方式進行信息交互。硬件電路實現了如下中斷功能:
    (1)每收到1個命令/狀態字產生中斷;
    (2)數據長度計數器中斷和使能。軟件對收到的命令/狀態字進行解析,如果有數據準備接收,將數據長度值寫入數據長度計數器,同時使能計數器。硬件收到1個數據字,遞減計數器,直到0產生中斷,同時禁止該數據計數器中斷;
    (3)接收FIFO半滿或3/4滿產生中斷;
    (4)接收FIFO全滿(overflow)產生中斷;
    (5)發送FIFO為空產生中斷;
    (6)中斷狀態/使能寄存器;
    (7)等待超時中斷(接收數據長度不夠);
    (8)數據計數器中斷處,打上時間戳;收到每個命令/狀態字打上時間戳;發送的命令/狀態字的同步頭過零點打上時間戳。
4 軟件設計
    軟件設計包括板載嵌入程序、主機驅動程序設計。板載嵌入程序和主機驅動程序通過共享PPC外掛內存來完成數據交互,板載嵌入式程序通過訪問FPGA的寄存器和FIFO來完成硬件操作和數據收發。其結構如圖5所示。

    主機驅動程序的開發平臺是LabWindows/CVI,為用戶提供方便實用的API接口函數及其定義。
    嵌入式程序的開發平臺是Tornado2.2。該程序主要完成模塊的初始化、各通道BC\RT\BM的消息解析、中斷服務處理、與主機交互等功能。其中消息解析是嵌入式程序的核心部分。
    當模塊選項為多功能模塊時,要求各通道在同一個工作時期可同時作為BC、BM和最多31個RT進行工作。當被測系統的可得終端有限時,又希望獲得充足完備的測試,多功能模塊將提供充足的終端用以測試。為了能同時且正確充當BC、BM、RT 3個不同的角色,模塊的嵌入式程序設計引入了可編程邏輯設計的狀態機設計思想。BC、BM、RT各自擁有自己的狀態機。
5 測試與結論
    圖6所示為1553收發器仿真波形圖。由于篇幅原因,只顯示了部分功能。該仿真主要驗證了如下過程:軟件通過EBC總線接口將3個待傳輸數據以及對應的控制字寫入到FIFO中,經過硬件電路轉換為串行數據輸出到差分輸出端;輸出再環回到差分輸入端,經過解碼電路再寫入到FIFO中,產生中斷信號,并被軟件通過EBC總線將數據和狀態讀回。

    經過仿真和實際驗證,本系統滿足1553B總線協議的要求。同時,該設計已經成為產品,在實際中得到了應用。
參考文獻
[1] Condor Engineering Inc.MIL-STD-1 553 Tutorial[Z].2000.
[2] Data Device Corporation.MIL-STD-1 553 DESIGNER′S GUIDE[Z].1998.
[3] Applied Micro Circuits Corporation.PowerPC 405EP Embedded Processor datasheet[EB/OL].http://www.appliedmicro. com/MyAMCC/retrieveDocument/PowerPC/405EP/PPC405EP_DS2003.pdf,2003.
[4] Xilinx INC.Spartan-3 FPGA Family:Complete Data Sheet [EB/OL].http://www.xilinx.com/support/documentation/data_sheets/ds099.pdf,2008.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
免费成人性网站| 国产精品毛片在线看| 一区二区三区欧美在线| 91久久精品国产91久久性色tv| 亚洲欧美日韩精品一区二区 | 性欧美暴力猛交另类hd| 亚洲午夜国产成人av电影男同| 日韩小视频在线观看| 亚洲欧洲偷拍精品| 亚洲激情电影中文字幕| 亚洲国产导航| 91久久精品国产91久久| 亚洲精品久久| aa级大片欧美三级| 亚洲免费观看高清完整版在线观看熊| 亚洲级视频在线观看免费1级| 亚洲国产日韩在线| 亚洲精品在线视频| 一区二区三区高清不卡| 亚洲制服丝袜在线| 欧美影院成年免费版| 久久精品在线视频| 久久影视精品| 欧美高清自拍一区| 欧美日韩一区二区三区| 国产精品视频一区二区三区| 国产免费一区二区三区香蕉精| 国产精自产拍久久久久久蜜| 国产综合18久久久久久| 在线观看91精品国产入口| 亚洲欧洲精品一区二区三区| 一本色道久久综合亚洲精品按摩| 亚洲视频在线观看| 欧美亚洲日本网站| 亚洲国产精品悠悠久久琪琪| 日韩视频免费看| 亚洲一区久久| 久久激情视频| 欧美jizz19hd性欧美| 欧美日韩国产色站一区二区三区| 国产精品成人免费精品自在线观看 | 欧美人体xx| 国产精品扒开腿爽爽爽视频 | 中文国产一区| 欧美影院一区| 99热免费精品在线观看| 午夜精品视频一区| 麻豆av一区二区三区久久| 欧美色另类天堂2015| 国产日韩亚洲欧美综合| 91久久在线观看| 亚洲欧美日韩精品久久久久| 亚洲精品乱码久久久久久| 亚洲欧美久久久久一区二区三区| 久久久久成人精品| 欧美日韩国产在线观看| 国产亚洲一区在线| 亚洲理论在线| 性欧美暴力猛交69hd| 亚洲人精品午夜| 午夜一区二区三视频在线观看 | 欧美一区二区三区四区视频| 亚洲乱码一区二区| 久久精品国产精品亚洲| 欧美日韩精品免费观看视一区二区| 国产伦精品一区二区三区免费迷 | 久久综合综合久久综合| 欧美午夜久久| 在线日本高清免费不卡| 亚洲欧美日韩国产精品| 一本久久综合亚洲鲁鲁| 久久人人爽人人爽爽久久| 欧美天堂亚洲电影院在线播放| 国产一区二区三区在线播放免费观看| 日韩视频中文字幕| 亚洲国产精品一区二区第四页av | 亚洲国产一成人久久精品| 亚洲一区二区三区免费视频| 蜜臀久久久99精品久久久久久| 国产精品乱人伦一区二区| 亚洲国产精品久久91精品| 欧美一级大片在线免费观看| 99re6热只有精品免费观看 | 亚洲一区黄色| 欧美精品aa| 又紧又大又爽精品一区二区| 香蕉久久夜色精品国产| 亚洲资源av| 欧美人成网站| 亚洲国产综合在线看不卡| 欧美在线电影| 欧美中文在线观看国产| 欧美四级在线观看| 亚洲精品免费一二三区| 亚洲激情国产| 老司机一区二区三区| 国产午夜一区二区三区| 亚洲婷婷综合色高清在线| av成人福利| 欧美国产视频在线| 亚洲福利视频二区| 亚洲大胆在线| 久久久夜精品| 国产综合久久| 欧美一区激情| 久久精品日产第一区二区| 国产精品女人久久久久久| 99在线|亚洲一区二区| 99综合在线| 欧美精品日韩综合在线| 91久久精品美女| 亚洲精品乱码久久久久久日本蜜臀| 毛片一区二区三区| 在线欧美不卡| 亚洲日本电影| 欧美激情一区二区三区不卡| 亚洲高清自拍| 亚洲精品在线三区| 欧美理论电影在线观看| 亚洲美女中文字幕| 亚洲午夜精品| 国产精品女人毛片| 欧美一级一区| 久久亚洲欧美国产精品乐播| 激情婷婷欧美| 亚洲精品国产精品乱码不99按摩| 欧美国产一区二区| 日韩网站在线| 亚洲一区二区高清| 国产精品主播| 欧美一区二视频| 老司机午夜免费精品视频| 亚洲国产成人精品视频 | 亚洲午夜精品久久久久久浪潮 | 久久国产一区二区三区| 国产一区二区成人| 亚洲国产精品久久人人爱蜜臀 | 欧美在线在线| 另类激情亚洲| 亚洲精品影视在线观看| 亚洲视频免费看| 国产欧美日韩另类视频免费观看| 欧美一区1区三区3区公司| 久久深夜福利免费观看| 亚洲国产1区| 亚洲一二三区在线观看| 国产欧美日韩| 亚洲黄色视屏| 欧美三级黄美女| 午夜免费在线观看精品视频| 久久婷婷色综合| 亚洲精品日韩激情在线电影 | 国内精品**久久毛片app| 亚洲精品男同| 国产精品多人| 亚洲电影免费观看高清| 欧美日本精品| 亚洲免费伊人电影在线观看av| 久久久久久网址| 亚洲精品午夜| 久久国产精品99久久久久久老狼| 在线免费日韩片| 亚洲欧美影音先锋| 在线观看日韩av电影| 亚洲在线观看| 亚洲承认在线| 亚洲欧美在线看| 亚洲国产成人精品久久久国产成人一区 | 国产一区二区欧美| 亚洲伦理在线免费看| 国产精品欧美一区喷水| 亚洲国产精品视频| 国产精品国码视频| 91久久久久久久久久久久久| 国产精品成人一区二区| 亚洲国产精品传媒在线观看 | 国产精品一区二区a| 亚洲欧洲视频| 国产欧美日韩亚洲一区二区三区| 亚洲人成在线播放网站岛国| 国产精品一区一区| 99国产精品视频免费观看| 国产婷婷一区二区| 亚洲视频一区二区| 在线观看亚洲视频啊啊啊啊| 亚洲欧美在线x视频| 亚洲人成亚洲人成在线观看| 久久久久久电影| 一区二区三区蜜桃网| 欧美va亚洲va香蕉在线| 午夜一区不卡| 国产精品国产三级国产 | 久久婷婷人人澡人人喊人人爽| 一区二区三区视频在线播放| 免费视频一区| 午夜欧美精品久久久久久久| 欧美三级视频在线播放| 亚洲精品乱码视频| 韩国一区二区三区美女美女秀| 亚洲影院污污.|