基于FPGA的CAN總線控制器設(shè)計
2 系統(tǒng)驗證
整個系統(tǒng)的功能仿真和時序仿真是借助Modelsim軟件完成的。圖4所示是對控制器發(fā)送數(shù)據(jù)的驗證,測試用的發(fā)送數(shù)據(jù)為隨意選擇的:00101001,仲裁場和控制場也是任選的,分別為:110100101110、110001,設(shè)置好寄存器組后,控制器計算出對應(yīng)的CRC碼為:110111001111 011,之后控制器將數(shù)據(jù)按CAN協(xié)議的幀格式打包逐位發(fā)送出去。本文引用地址:http://butianyuan.cn/article/191153.htm
控制器最初處于總線脫離模式,復位結(jié)束后進入總線啟動模式,當控制器檢測到總線上的1次連續(xù)11個隱性位時,進入總線空閑模式,接著當控制器檢測到總線出現(xiàn)第一個顯性位時,進入模式選擇模式,在此模式下,控制器進行的操作就是總線仲裁,確定本節(jié)點是否獲得總線控制權(quán),由于本測試采用的是控制器自測模式,即輸出線與輸入線連在一起,所以仲裁時間為12個位時間,仲裁成功后,控制器會進入發(fā)送模式,若無錯誤產(chǎn)生,數(shù)據(jù)發(fā)送完成后控制器進入間歇模式,最后進入總線空閑模式。
經(jīng)過一系列的測試驗證后,表明本CAN總線控制器能夠發(fā)送或接收所有符合CAN2.0A協(xié)議的報文幀。
3 結(jié)束語
本設(shè)計實現(xiàn)了所有符合CAN2.0A協(xié)議的CAN總線控制器功能,最高工作頻率為139.43MHz,這也達到了最初的設(shè)計目的??刂破鞯臅r序分析如圖5所示。
本文作者創(chuàng)新點為:首先控制器的外圍接口采用Avalon總線接口,這使得本設(shè)計的通用性更強:其次是本設(shè)計的最高工作頻率達到了139.43MHz,能夠適應(yīng)高速通信的要求。
評論