基于AVR的CAN總線通信協議分析技術
時間:2008-12-15 15:55:31來源:dujing
導語:?介紹了一種基于AVR單片機的CAN總線通信協議分析技術.采用邏輯分析儀先分析 CAN總線上主機對各節點進行控制所產生的不同問答數據的含義
摘 要 介紹了一種基于AVR單片機的CAN總線通信協議分析技術.采用邏輯分析儀先分析 CAN總線上主機對各節點進行控制所產生的不同問答數據的含義.再使用 AVR單片機 ATmega168L控制獨立的 CAN控制器 MCP2510對 CAN總線上的報文進行監聽,并通過上位機傳輸給 Pc機顯示.結合 CAN總線規范及先前分析的問答數據的定義,通過 Pc機上顯示的 報文對協議進行完整的分析.
關鍵詞 CAN總線;AVR;上位機 SPI
1 CAN總線規范概述
CAN(controller area network),即控制器局域網,是一種串行通信協議,具有較高的安全性能及錯誤處理能力.作為一種可靠,高效及經濟的平臺,CAN總線憑借諸多優點廣泛應用于汽車系統、機械設備、工業控制等分布實時系統中,取代了傳統控制系統中復雜的接線配線.成為目前廣泛使用的現場 總線之一.但是,國內一些廠家在開發網絡產品時缺乏 CAN總線標準化的指導,導致不同網絡產品互不兼容,削弱了不同產品之間的互操作性¨J.特別是在 CAN總線的應用最為廣泛汽車行業,由于不同汽車生產廠家對產品的CAN總線上數據含義的定義各不相同且不對外公開,使得對不同汽車的性能進行診斷變得異常困難.因此對 CAN總線通信協議進行分析尤為重要.
目前所使用的CAN總線規范V2.0版本主要由A,B兩部分組成.A部分即CAN規范VI.2版本,其采用的地址范圍由 11個識別位定義,即標準格式, B部分包括標準格式和擴展格式,后者為應對地址范圍擴大而制定的29個識別位格式.標準格式與擴展格式的區別在于擴展格式使用了 CAN1.2版本中的第一個保留位,因而擴展格式仍是有效的.為了兼容 CAN2.0,規定 CAN設備應采用 CAN2.0中的A或 B部分 引.
2 CAN總線通信協議分析
2.1 協議分析原理
CAN總線被細分為三個不 同的層次:對象層 (object layer)、傳輸層(transfer layer)和物理層(phy— ical layer).對象層和傳輸層相當于 ISO/OSI模型定義的數據鏈路層.對象層的作用包括:查找被發送的報文;確定由實際要使用的傳輸層接收哪一個撤文;為應用層相關硬件提供接口.這里的定義對象處理較為靈活.傳輸層的作用主要是傳送規則,也就是控制幀結構、執行仲裁、錯誤檢測、出錯標定、故障界定.總線上什么時候開始發送新報文及什么時候 開始接收報文,均在傳輸層里確定.所以傳輸層的修 改是受到限制的.物理層的作用是在不同節點之間根據其電氣屬性進行位信息的實際傳輸.在選擇物理層方面比較自由 J.
對CAN總線的協議分析主要有以下三個步驟:
1)使用邏輯分析儀對特定網絡產品的 CAN總線上主機對各節點控制所產生的問答數據進行分析.從中可以獲得主機與節點之間通信的波特率,及數據所表示的含義.如在汽車系統中,那個數據表示引擎,那個數據表示出現故障等.
2)設計出基于AVR的單片機系統.AVR單片機對 CAN總線上的報文進行監聽.并通過上位機送 Pc機顯示.獲取主機與各節點的所有問答數據.
3)對獲取的問答數據根據 CAN總線規范及先前用邏輯分析儀所獲取的數據含義表進行完整分析該系統的 CAN總線協議.
全文
基于AVR的CAN總線通信協議分析技術.pdf