新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的飛行模擬器通信接口設計是什么樣的?

        基于FPGA的飛行模擬器通信接口設計是什么樣的?

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

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

        2.2 數據發送邏輯

        數據發送邏輯需要FPGA通過模擬總線的方法對SJA1000進行控制,SJA1000的發送緩沖區的寄存器共有11個字節,其中前3個字節分別是幀信息字節和兩個標識碼,后8個字節是數據。發送時,用戶需要將待發送的數據按特定的格式組合成一幀報文,送入SJA1000的發送緩沖區中,然后啟動 SJA1000發送即可。需要注意的是,在向SJA1000發送緩存區送報文之前,必須先判斷發送緩沖區是否鎖定,如果鎖定則等待;判斷上次發送是否完成,如未完成則需等待發送完成??偩€控制器寫周期的時序圖如圖2所示。


        2.3 數據接收邏輯

        與數據發送邏輯類似,從接收緩沖區中讀取一條報文也需要連續讀取11個字節,數據接收邏輯除了正常的報文數據接收,還要實現其他情況的處理。對接收緩沖區的數據讀取完畢后要釋放CAN接收緩沖區。圖3所示為總線控制器讀周期的時序圖。


        在FPGA程序編寫時,采用狀態機完成邏輯的設計,分別包括初始化狀態、空閑狀態、查詢狀態、數據接收狀態、數據發送狀態。

        3 結論

        在系統設計過程中,采用ALTERA公司的型FPGA進行設計,在Quartus II環境中利用Verilog HDL編程產生SJA1000的片選信號、地址鎖存信號以及讀寫信號等,這些信號共同驅動SJA1000完成數據的發送和接收。在采用FPGA實現對 SJA1000的邏輯控制過程中,采用Quartus II中的SignalTap II Logic Analyzer工具對FPGA各接口信號進行了測量,經檢查各種邏輯均符合SJA1000的接口時序要求。

        基于FPGA的通信接口設計主要由Verilog語言進行描述,易于修改和移植,同時由于FPGA的I/O豐富,還可以將模擬器中一些常用的開關量連接到FPGA上,這樣就可以將多種功能集成在一個FPGA上,相較于采用單片機控制SJA1000實現通信,本設計方案可擴展性好,穩定性高,能降低成本、系統體積及功耗,在領域中具有廣泛的應用前景。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 威远县| 安福县| 益阳市| 正阳县| 德惠市| 巩义市| 尖扎县| 邢台市| 丰台区| 大埔区| 沙湾县| 商水县| 安福县| 麻阳| 墨玉县| 云浮市| 沿河| 台湾省| 安塞县| 闽侯县| 临夏市| 松原市| 乌什县| 桦川县| 六盘水市| 汾阳市| 栖霞市| 灵宝市| 奉节县| 西昌市| 广河县| 汾阳市| 育儿| 龙井市| 友谊县| 松桃| 临高县| 盐边县| 余江县| 视频| 兴宁市|