新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的CAN總線控制器設計

        基于FPGA的CAN總線控制器設計

        作者: 時間:2011-06-15 來源:網絡 收藏


        2 系統驗證
        整個系統的功能仿真和時序仿真是借助Modelsim軟件完成的。圖4所示是對控制器發送數據的驗證,測試用的發送數據為隨意選擇的:00101001,仲裁場和控制場也是任選的,分別為:110100101110、110001,設置好寄存器組后,控制器計算出對應的CRC碼為:110111001111 011,之后控制器將數據按協議的幀格式打包逐位發送出去。

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

        e.JPG


        控制器最初處于總線脫離模式,復位結束后進入總線啟動模式,當控制器檢測到總線上的1次連續11個隱性位時,進入總線空閑模式,接著當控制器檢測到總線出現第一個顯性位時,進入模式選擇模式,在此模式下,控制器進行的操作就是總線仲裁,確定本節點是否獲得總制權,由于本測試采用的是控制器自測模式,即輸出線與輸入線連在一起,所以仲裁時間為12個位時間,仲裁成功后,控制器會進入發送模式,若無錯誤產生,數據發送完成后控制器進入間歇模式,最后進入總線空閑模式。
        經過一系列的測試驗證后,表明本制器能夠發送或接收所有符合2.0A協議的報文幀。

        3 結束語
        本設計實現了所有符合CAN2.0A協議的CAN總制器功能,最高工作頻率為139.43MHz,這也達到了最初的設計目的。控制器的時序分析如圖5所示。

        a.JPG


        本文作者創新點為:首先控制器的外圍接口采用Avalon總線接口,這使得本設計的通用性更強:其次是本設計的最高工作頻率達到了139.43MHz,能夠適應高速通信的要求。


        上一頁 1 2 3 4 下一頁

        關鍵詞: FPGA CAN 線控 制器設計

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄂托克前旗| 惠东县| 宁津县| 黑河市| 罗平县| 黄陵县| 和政县| 华宁县| 枣庄市| 庐江县| 杭锦后旗| 南投市| 吉水县| 永靖县| 昭通市| 宜兴市| 永州市| 从江县| 龙陵县| 临沭县| 革吉县| 宜兴市| 东明县| 中西区| 门头沟区| 岳西县| 临邑县| 常宁市| 深水埗区| 土默特右旗| 当阳市| 砚山县| 乌什县| 西安市| 贡山| 水城县| 长寿区| 姜堰市| 绥中县| 万荣县| 防城港市|