新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的1553B總線接口設計

        基于FPGA的1553B總線接口設計

        作者: 時間:2016-12-20 來源:網絡 收藏

        2.1 數字發送器

        (1)DSP將要發送的數據依次送到發送FIFO中進行存儲,硬件將根據狀態機運行情況產生FIFO讀時鐘讀取數據并送到同步頭產生器。

        (2)根據要發送的是狀態/命令字或數據字在同步頭產生器中加上相應的同步頭,若是狀態/命令字則在有效數據前加上3個二進制位,先正后負,正負電平各占1.5bit ,數據字則相反。

        (3)奇偶校驗器通過將有效數據位的各位進行異或即可實現。

        (4)硬件將經過奇偶校驗器的數據送到曼徹斯特編碼器進行編碼,編碼器的實現相對較簡單。編碼時鐘采用2MHz,有效數據位和奇偶校驗位都采用曼徹斯特碼的形式發送,加上同步頭共40bit二進制位,使用2MHz的時鐘發送到1553B數據總線上。

        在數字發送部分控制狀態機是保證時序的關鍵所在,狀態機不僅控制發送FIFO的時鐘,同時也有效地輸出編碼的觸發信號。狀態機的狀態轉移如圖3所示。

        點擊放大圖片

        圖3 狀態轉移圖

        FPGA中最重要的部分是發送器和接收器,現將這兩部分的工作過程做簡要分析。

        2.1 數字發送器

        (1)DSP將要發送的數據依次送到發送FIFO中進行存儲,硬件將根據狀態機運行情況產生FIFO讀時鐘讀取數據并送到同步頭產生器。

        (2)根據要發送的是狀態/命令字或數據字在同步頭產生器中加上相應的同步頭,若是狀態/命令字則在有效數據前加上3個二進制位,先正后負,正負電平各占1.5bit ,數據字則相反。

        (3)奇偶校驗器通過將有效數據位的各位進行異或即可實現。

        (4)硬件將經過奇偶校驗器的數據送到曼徹斯特編碼器進行編碼,編碼器的實現相對較簡單。編碼時鐘采用2MHz,有效數據位和奇偶校驗位都采用曼徹斯特碼的形式發送,加上同步頭共40bit二進制位,使用2MHz的時鐘發送到1553B數據總線上。

        在數字發送部分控制狀態機是保證時序的關鍵所在,狀態機不僅控制發送FIFO的時鐘,同時也有效地輸出編碼的觸發信號。狀態機的狀態轉移如圖3所示。

        3 功能仿真及試驗結果分析

        在研究分析了1553B總線接口模塊的功能及系統設計后,在實驗室經過PCB設計投產了兩塊板卡,搭建了實驗平臺并進行功能驗證。由于實驗室條件有限,功能驗證的設計流程是將發送模塊DSP發送的數據經過FPGA處理,得到曼徹斯特編碼,并經過模擬收發器、耦合變壓器后連接到接收模塊的輸入端,信號經過模擬電路部分送到FPGA解碼后送給DSP處理。

        在總線接口模塊中,曼徹斯特編解碼是實現功能的核心部分,所以編碼數據和解碼數據是進行功能驗證時觀察的重點。為了觀察曼徹斯特編解碼是否正確,這里采用Xilinx的Chip Scope邏輯分析儀觀察數據,serial_data是發送模塊經過編碼部分處理后的串行數據,rx_dword是接收模塊中經過解碼部分得到的16bit數據,對比這兩個數據的波形是否滿足曼徹斯特編碼標準即可驗證設計的準確性,用Chip Scope捕捉到的波形如圖4所示。

        點擊放大圖片

        圖4 調試波形圖

        從上面的波形圖中可以看到,busy信號在編碼的過程中一直為高電平,在編碼結束后的一個編碼時鐘周期內為低電平。rx_dval信號在解碼結束的一個解碼時鐘周期內為高電平,說明此時解碼結束,接收到的數據rx_dword為5678,對比發送的數據和編碼數據serial_data,說明編解碼均正確。

        同時,為了觀察DSP發送的數據與接收模塊DSP接收的數據是否正確,提高測試數據的直觀性,在這里加上串口調試助手,通過RS232總線傳輸接收數據,于PC機平臺上運行串口調試助手觀察接收數據。

        在分析了1553B總線接口模塊的功能后介紹了總線接口部分的FPGA系統設計,在搭建的平臺上進行了功能驗證,實驗過程中獲得的數據表明了論文中設計的接口模塊的功能達到了預期目標要求。


        上一頁 1 2 下一頁

        關鍵詞: 總線接口1553BFPG

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 海门市| 奉节县| 武义县| 沙坪坝区| 竹溪县| 福安市| 长垣县| 新和县| 城口县| 永城市| 海盐县| 昌黎县| 灵台县| 镇康县| 饶平县| 仪征市| 余庆县| 福州市| 蒲城县| 桦川县| 望谟县| 霍邱县| 广州市| 大石桥市| 太康县| 博罗县| 甘孜县| 丹棱县| 天峻县| 岳普湖县| 拜泉县| 南丰县| 武陟县| 义乌市| 界首市| 古交市| 望都县| 宜兰市| 石首市| 环江| 澄迈县|