新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于FPGA的接口電路設計

        一種基于FPGA的接口電路設計

        作者: 時間:2013-05-08 來源:網絡 收藏

        摘 要:在航空電子系統中,經常需要對1553B總線和ARINC429總線進行雙向數據轉換以適應不同電子設備的要求。由于兩種總線標準傳輸協議不同,傳輸速率和數據格式有較大差異,常規系統需要多種專業數據轉換芯片以滿足數據轉換要求。本文介紹一種的通用數據轉換模塊設計。

        本文引用地址:http://www.104case.com/article/148033.htm

        引言

        在航空領域,1553B總線和ARINC429總線是應用較為廣泛的兩種總線標準,載機航電系統較多應用1553B總線,而機載武器系統則較多應用ARINC429總線,作為武器系統和航電系統通信控制中介的發射裝置則需對兩種總線標準進行數據轉換。現將兩種總線數據格式進行簡單介紹。

        1)GJB1553B總線簡介

        GJB1553B數據總線采用Manchester編碼解碼協議,以異步、命令/響應方式執行數據傳輸,通常采用半雙工方式,其傳輸速率為1Mbit/s.Manchester碼與常用的不歸零碼(NRZ)的編碼不同,在電路中,NRZ碼的“0”用低電平表示;Manchester碼的“0”用由低到高的電平跳變表示。同理,NRZ碼的“1”用高電平表示;Manchester碼的“1”用由高到低的電平跳變表示。在實際應用中采用差分Manchester碼。差分Manchester碼與不歸零(NRZ)的波形對照如圖1所示。

        差分Manchester碼與不歸零(NRZ)的波形對照

        2)ARINC 429 簡介

        ARINC429總線是目前應用較多的機載航空總線之一,它是一種單向是一種單向廣播式總線,其信息傳輸速率為12.5~100kbit/s[2].ARINC429規定數據傳輸采用雙極性歸零碼(如圖2所示),即調制信號有“高”、“零”、“低”狀態組成,傳輸介質為雙絞屏蔽電纜。

        ARINC429規定數據傳輸采用雙極性歸零碼

        1 的轉換電路硬件設計

        數據轉換核心工作是對各種總線標準的數據進行編解碼。在傳統數據轉換電路中,一般先由各種總線標準的專業編輯碼芯片對數據進行編解碼,再對數據進行處理,傳統的轉換較為簡單,但功耗較高,可編程邏輯的資源未能充分利用。現介紹一種的數據轉換

        數據轉換硬件

        數據轉換電路主要包括FPGA、DSP和外圍驅動調理電路。其中DSP控制各模塊工作時序,FPGA負責曼碼編解碼、DSP外圍控制邏輯、數據格式轉換、時鐘信號產生及數據暫存等功能實現,數據存儲在高速低功耗的CMOS靜態RAM中。數據轉換電路硬件設計框圖如圖3所示。

        數據轉換電路硬件設計框圖

        考慮到電路各模塊間數據通訊,數據線需要占用大面積的PCB空間,切高速信號間可能產生串擾。故在此處我們將1553B芯片的編解碼部分集成到FPGA中,外圍通過模式變壓器和簡單的整形電路將數據電平調理到適合FPGA接收的范圍。這樣可以降低整個數據轉換電路的功耗,提高CPU控制板的集成度,減小發熱量,簡化PCB板的布線,提高整個系統的穩定性。

        2 系統仿真驗證

        整個FPGA功能模塊采用Verilog語言進行集成,利用FPGA仿真工具對設計中的關鍵信號和模塊進行仿真可極大節省開發時間,提高系統運行的穩定性,降低開發成本。

        1)GJB1533B數據轉換實現

        GJB1553B數據采用曼徹斯特編碼,要實現數據轉換必須對曼碼進行解碼,曼徹斯特編碼解碼邏輯電路由同步頭識別邏輯電路、數據采樣邏輯電路和譯碼邏輯電路構成。同步頭的識別較為關鍵,如果不能正確的識別可能導致命令丟失或者參數設置錯誤。在此我們采用的技術是:數據采樣邏輯電路時鐘監測數據輸入線路,把數據輸入線路上的電平的跳變作為一個觸發事件,這個觸發事件是否有效由以下條件決定:

        如果在后來采集到的數據隊列中連續存在1.5位的低電平和兩個有效的Manchester碼位,就認為命令字同步頭有效;如果在后來采集到的數據隊列中連續存在1.5位的高電平和兩個有效的Manchester碼位,就認為數據字同步頭有效。在隨后連續收到17位Manchester碼,最后一位是奇校驗位,如果奇校驗位正確,說明收到一個正確完整的字,這個十六位字是命令字還是數據字由同步頭的格式確定。

        在FPGA中進行仿真,其波形如圖4所示。

        FPGA中進行仿真波形

        由圖可以看出,在FPGA內部曼徹斯特碼順利轉換了計算機通用的二進制數據。

        2)ARINC429數據轉換實現

        ARINC429數據的基本信息單元是由32位構成的一個數據字,每個數據字被分為5組,即: 第1~8位為標志位(LABEL)、第9~10位為源/目的識別位(SDI)、第11~29位為數據區(DATA)、第30~31位為符號位(SSM)、第32位為奇偶校驗位(PARITY)。實際上,ARINC429對數據位的使用在很大程度上可以由系統設計者自己定義,在32bit串行傳輸的基本特征下,只要收發雙方使用相同的約定即可。根據429數據格式在FPGA中用Verilog語言對編解碼格式進行集成,其仿真波形如圖5所示。

        根據429數據格式在FPGA中用Verilog語言對編解碼格式進行集成仿真波形

        由圖可以看出, 在F P G A 內部ARINC429數據順利轉換了計算機通用的二進制數據。

        3 結語

        通過仿真可以看到, G J B 1 5 5 3 B 和ARINC429在FPGA內部經過各自編解碼模塊解碼后都準確穩定地轉換為二進制數據,由于Verilog語言的強移植性,編解碼模塊可直接移植到其他模塊達到兩種總線數據的通信傳輸

        電氣符號相關文章:電氣符號大全


        電路相關文章:電路分析基礎


        fpga相關文章:fpga是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安图县| 江西省| 柏乡县| 全州县| 湘潭县| 兴化市| 大竹县| 滦平县| 象州县| 丹凤县| 闽侯县| 洛宁县| 贞丰县| 富源县| 蓝山县| 孝感市| 纳雍县| 麦盖提县| 铜山县| 体育| 秦皇岛市| 苍南县| 历史| 石渠县| 宜州市| 衢州市| 台东市| 浦县| 鹤岗市| 万全县| 芷江| 莆田市| 巧家县| 石城县| 红原县| 旅游| 虹口区| 石门县| 左贡县| 元谋县| 沙河市|