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