CAN總線詳細教程_精心編制_不可錯過.ppt_第1頁
CAN總線詳細教程_精心編制_不可錯過.ppt_第2頁
CAN總線詳細教程_精心編制_不可錯過.ppt_第3頁
CAN總線詳細教程_精心編制_不可錯過.ppt_第4頁
CAN總線詳細教程_精心編制_不可錯過.ppt_第5頁
已閱讀5頁,還剩115頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

總線技術及應用 CAN數據總線 CANBUS 第4講 CAN通信技術概述 CAN ControllerAreaNetwork 即控制器局域網絡 由于其高性能 高可靠性 及獨特的設計 CAN越來越受到人們的重視 國外已有許多大公司的產品采用了這一技術 CAN最初是由德國的BOSCH公司為汽車監測 控制系統而設計的 現代汽車越來越多地采用電子裝置控制 如發動機的定時 注油控制 加速 剎車控制 ASC 及復雜的抗鎖定剎車系統 ABS 等 由于這些控制需檢測及交換大量數據 采用硬接信號線的方式不但煩瑣 昂貴 而且難以解決問題 采用CAN總線上述問題便得到很好地解決 1993年CAN成為國際標準ISO11898 高速應用 和ISO11519 低速應用 CAN的規范從CAN1 2規范 標準格式 發展為兼容CAN1 2規范的CAN2 0規范 CAN2 0A為標準格式 CAN2 0B為擴展格式 目前應用的CAN器件大多符合CAN2 0規范 CAN總線特點 CAN總線是一種串行數據通信協議 其通信接口中集成了CAN協議的物理層和數據鏈路層功能 可完成對通信數據的成幀處理 包括位填充 數據塊編碼 循環冗余檢驗 優先級判別等項工作 CAN總線特點如下 1 可以多主方式工作 網絡上任意一個節點均可以在任意時刻主動地向網絡上的其他節點發送信息 而不分主從 通信方式靈活 2 網絡上的節點 信息 可分成不同的優先級 可以滿足不同的實時要求 3 采用非破壞性位仲裁總線結構機制 當兩個節點同時向網絡上傳送信息時 優先級低的節點主動停止數據發送 而優先級高的節點可不受影響地繼續傳輸數據 4 可以點對點 一點對多點 成組 及全局廣播幾種傳送方式接收數據 5 直接通信距離最遠可達10km 速率5Kbps以下 6 通信速率最高可達1MB s 此時距離最長40m 7 節點數實際可達110個 8 采用短幀結構 每一幀的有效字節數為8個 9 每幀信息都有CRC校驗及其他檢錯措施 數據出錯率極低 10 通信介質可采用雙絞線 同軸電纜和光導纖維 一般采用廉價的雙絞線即可 無特殊要求 11 節點在錯誤嚴重的情況下 具有自動關閉總線的功能 切斷它與總線的聯系 以使總線上的其他操作不受影響 CAN的發展背景及其應用情況 CAN的起源現代社會對汽車的要求不斷提高 這些要求包括 極高的主動安全性和被動安全性 乘坐的舒適性 駕駛與使用的便捷和人性化 尤其是低排放和低油耗的要求等 在汽車設計中運用微處理器及其電控技術是滿足這些要求的最好方法 而且已經得到了廣泛的運用 目前這些系統有 ABS 防抱系統 EBD 制動力分配系統 EMS 發動機管理系統 多功能數字化儀表 主動懸架 導航系統 電子防盜系統 自動空調和自動CD機等 汽車電子技術發展的特點 汽車電子控制技術從單一的控制逐步發展到綜合控制 如點火時刻 燃油噴射 怠速控制 排氣再循環 電子技術從發動機控制擴展到汽車的各個組成部分 如制動防抱死系統 自動變速系統 信息顯示系統等 從汽車本身到融入外部社會環境 現代汽車電子技術的分類 單獨控制系統 由一個電子控制單元 ECU 控制一個工作裝置或系統的電子控制系統 如發動機控制系統 自動變速器等 集中控制系統 由一個電子控制單元 ECU 同時控制多個工作裝置或系統的電子控制系統 如汽車底盤控制系統 控制器局域網絡系統 CAN總線系統 由多個電子控制單元 ECU 同時控制多個工作裝置或系統 各控制單元 ECU 的共用信息通過總線互相傳遞 帶有中央控制單元的車 帶有三個中央控制單元的車 帶有三個中央控制單元和總線系統的車 帶有三個中央控制單元的CAN驅動網絡 車用網絡發展原因 電子技術發展 線束增加線控系統 X BY WIRE 計算機網絡的廣泛應用智能交通系統的應用 汽車發展帶來的問題 1 汽車電子技術的發展 汽車上電子裝置越來越多 汽車的整體布置空間縮小 2 傳統電器設備多為點到點通信 導致了龐大的線束 3 大量的連接器導致可靠性降低 粗大的線束與汽車中有限的可用空間之間的矛盾越來越尖銳 電纜的體積 可靠性和重量成為越來越突出的問題 而且也成為汽車輕量化和進一步電子化的最大障礙 汽車的制造和安裝也變得非常困難 4 存在冗余的傳感器 Volvo汽車近三十年來線束增長的情況 車用網絡 通過總線將汽車上的各種電子裝置與設備連成一個網絡 實現相互之間的信息共享 既減少了線束 又可更好地控制和協調汽車的各個系統 使汽車性能達到最佳 汽車網絡化的優點 布線簡單 設計簡化 節約銅材 降低成本 可靠性提高 可維護性大為提高實現信息共享 提高汽車性能滿足現代汽車電子設備種類功能越來越多的要求總之 使用汽車網絡不僅可以減少線束 而且能夠提高各控制系統的運行可靠性 減少冗余的傳感器及相應的軟硬件配置 實現各子系統之間的資源共享 便于集中實現各子系統的在線故障診斷 Canbus的發展歷史 大眾公司首次在97年PASSAT的舒適系統上采用了傳送速率為62 5Kbit m的Canbus 98年在PASSAT和GOLF的驅動系統上增加了Canbus 傳送速率為500Kbit m 2000年 大眾公司在PASSAT和GOLF采用了帶有網關的第二代Canbus 2001年 大眾公司提高了Canbus的設計標準 將舒適系統Canbus提高到100Kbit m 驅動系統提高到500Kbit m 2002年 大眾集團在新PQ24平臺上使用帶有車載網絡控制單元的第三代Canbus 2003年 大眾集團在新PQ35平臺上使用五重結構的Canbus系統 并且出現了單線的LIN BUS 20世紀80年代 Bosch的工程人員開始研究用于汽車的串行總線系統 因為當時還沒有一個網絡協議能完全滿足汽車工程的要求 參加研究的還有Mercedes Benz公司 Intel公司 還有德國兩所大學的教授 1986年 Bosch在SAE 汽車工程人員協會 大會上提出了CAN 1987年 INTEL就推出了第一片CAN控制芯片 82526 隨后Philips半導體推出了82C200 1993年 CAN的國際標準ISO11898公布從此CAN協議被廣泛的用于各類自動化控制領域 CAN技術的發展 1992年 CIA CANinAutomation 用戶組織成立 之后制定了第一個CAN應用層 CAL 1994年開始有了國際CAN學術年會 ICC 1994年美國汽車工程師協會以CAN為基礎制定了SAEJ1939標準 用于卡車和巴士控制和通信網絡 到今天 幾乎每一輛歐洲生產的轎車上都有CAN 高級客車上有兩套CAN 通過網關互聯 1999年一年就有近6千萬個CAN控制器投入使用 2000年銷售1億多CAN的芯片 2001年用在汽車上的CAN節點數目超過1億個 但是轎車上基于CAN的控制網絡至今仍是各大公司自成系統 沒有一個統一標準 基于CAN的應用層協議應用較通用的有兩種 DeviceNet 適合于工廠底層自動化 和CANopen 適合于機械控制的嵌入式應用 任何組織或個人都可以從DeviceNet供貨商協會 ODVA 獲得DeviceNet規范 購買者將得到無限制的 真正免費的開發DeviceNet產品的授權 DeviceNet自2002年被確立為中國國家標準以來 已在冶金 電力 水處理 乳品飲料 煙草 水泥 石化 礦山等各個行業得到成功應用 其低成本和高可靠性已經得到廣泛認同 基于CAN總線的汽車電器網絡結構 目前汽車上的網絡連接方式主要采用2條CAN 一條用于驅動系統的高速CAN 速率達到500kb s 主要面向實時性要求較高的控制單元 如發動機 電動機等另一條用于車身系統的低速CAN 速率是100kb s 主要是針對車身控制的 如車燈 車門 車窗等信號的采集以及反饋 其特征是信號多但實時性要求低 因此實現成本要求低 CAN總線布置 結構和基本特點 CAN總線系統上并聯有多個元件 這就要求整個系統的布置滿足以下要求 可靠性高 傳輸故障 不論是由內部還是外部引起的 應能準確識別出來 使用方便 如果某一控制單元出現故障 其余系統應盡可能保持原有功能 以便進行信息交換 數據密度大 所有控制單元在任一瞬時的信息狀態均相同 這樣就使得兩控制單元之間不會有數據偏差 如果系統的某一處有故障 那么總線上所有連接的元件都會得到通知 數據傳輸快 連成網絡的各元件之間的數據交換速率必須很快 這樣才能滿足實時要求 CAN總線布置 結構和基本特點 考慮到信號的重復率及產生出的數據量 CAN總線系統分為三個專門的系統 CAN驅動總線 高速 500Kbit s 可基本滿足實時要求 CAN舒適總線 低速 100Kbit s 用于對時間要求不高的情況 CAN infotainment 總線 低速 100Kbit s 用于對時間要求不高的情況 CAN BUS系統組成 CAN收發器 安裝在控制器內部 同時兼具接受和發送的功能 將控制器傳來的數據化為電信號并將其送入數據傳輸線 數據傳輸終端 是一個電阻 防止數據在線端被反射 以回聲的形式返回 影響數據的傳輸 數據傳輸線 雙向數據線 由高低雙絞線組成 Canbus上的控制器中發送信息的線路通過一個開路集電極和總線相連 Canbus的收發器如圖所示 使用一個電路進行控制 這樣也就是說控制單元在某一時間段只能進行發送或接受一項功能 邏輯 1 所有控制器的開關斷開 總線電平為5Vor3 5V Canbus未通訊 邏輯 0 某一控制器閉合 總線電平為0伏 Canbus進行通訊 Canbus的收發器 因此總線導線上就會出現兩種狀態 狀態1 截止狀態 晶體管截止 開關未接合 無源 總線電平 1 電阻高 狀態0 接通狀態 晶體管導通 開關已接合 有源 總線電平 0 電阻低 2個以上控制器所組成的Canbus系統當用2個以上的控制器連接在Canbus總線上 如圖所示 用邏輯1來表示斷開和用邏輯0表示閉合 不考慮其他總線規則情況下 總線會出現下圖的情況 1 任何開關閉合 總線上的電壓為0伏2 所有開關斷開 總線上的電壓為5伏 因此 1 只要任何一個控制器激活 則總線激活2 所有控制器關閉 總線處于未激活狀態激活的總線稱為顯性電平 未激活的總線電平稱為隱形電平 功能 CAN構件通過RX 線來檢查總線是否有源 是否正在交換別的信息 必要時會等待 直至總線空閑下來為止 某一時間段內的電平1 無源 如果總線空閑下來 發動機信息就會被發送出去 Canbus采用雙絞線自身校驗的結構 既可以防止電磁干擾對傳輸信息的影響 也可以防止本身對外界的干擾 系統中采用高低電平兩根數據線 控制器輸出的信號同時向兩根通訊線發送 高低電平互為鏡像 并且每一個控制器都增加了終端電阻 已減少數據傳送時的過調效應 基本構造 原則上CAN總線用一條導線就足以滿足功能要求了 但該總線系統上還是配備了第二條導線 在這個第二條導線上 信號是按相反順序傳送的 這樣可有效抑制外部干擾 CAN導線的特點 各個CAN系統的所有控制單元都并聯在CAN數據總線上 CAN數據總線的兩條導線分別叫CAN High和CAN Low線 兩條扭絞在一起的導線稱為雙絞線 雙絞線 CAN High和CAN Low線 CAN驅動數據總線 控制單元之間的數據交換就是通過這兩條導線來完成的 這些數據可能是發動機轉速 油箱油面高度及車速等 為了清楚起見CAN導線分別用單顏色來表示CAN High線總是黃色 CAN Low 線總是綠色 由于汽車不同控制器對CAN總線的性能要求不同 因此最新版本的CAN總線系統人為設定為5個不同的區域 分別為驅動系統 舒適系統 信息系統 多功能儀表 診斷總線等5個局域網 其速率分別為 Kbit s 驅動系統 由15號線激活 500 舒適系統 由30號線激活 100信息系統 由30號線激活 100 診斷系統 由30號線激活 500儀表系統 由15號線激活 100 Lin 20最大承載 1000 基本構造 基本構造 網關由于不同區域Canbus總線的速率和識別代號不同 因此一個信號要從一個總線進入到另一個總線區域 必須把它的識別信號和速率進行改變 能夠讓另一個系統接受 這個任務由網關 Gateway 來完成 另外 網關還具有改變信息優先級的功能 如車輛發生相撞事故 氣囊控制單元會發出負加速度傳感器的信號 這個信號的優先級在驅動系統是非常高 但轉到舒適系統后 網關調低了它的優先級 因為它在舒適系統功能只是打開門和燈 基本構造 診斷總線診斷總線是用于診斷儀器和相應控制單元之間的信息交換 它被用來代替原來的K線或者L線的功能 廢氣處理控制器除外 診斷總線目前只能在VAS5051和VAS5052下工作 而不能適用于原來的診斷工具 如1552等 診斷總線通過網關轉接到相應的CANBUS上 然后再連接相應的控制器進行數據交換 隨著診斷總線的使用 大眾集團將逐步淘汰控制器上的K線存儲器 而采用CAN線作為診斷儀器和控制器之間的信息連接線 我們稱之為虛擬K線 針腳號對應的線束115號線4接地5接地6CANBUS 高 7k線14CANBUS 低 15L線1630號線注 未標明的針腳號暫未使用 基本構造 當車輛使用診斷CANBUS總線結構后 VAS5051等診斷儀器必須使用相對應的新型診斷線 VAS5051 5A或VAS5051 6A 否則無法讀出相應的診斷信息 另外 車上的診斷接口也作出了相應的改動 具體信息看如下圖表 注 5051儀器的版本號必須大于3 0以上才能使用診斷CANBUS總線 新型診斷線能夠適用于舊型診斷接口 CAN總線 CAN總線是車內電子裝置中的一個獨立系統 它就是數據線 用于在連接的控制單元之間進行信息交換 由于自身的布置和結構特點 CAN總線工作時的可靠性很高 如果CAN總線系統出現故障 故障就會存入相應的控制單元故障存儲器內 可以用診斷儀讀出這些故障 控制單元擁有自診斷功能 我們通過自診斷功能還可識別出與CAN總線相關的故障 用診斷儀 如VAS5051 5052 讀出CAN總線故障記錄后 既可按這些信息準確地查尋故障 控制單元內的故障記錄用于初步確定故障 還可用于讀出排除故障后的無故障說明 如果想要更新故障顯示內容 須重新起動發動機 CAN總線正常的一個重要前提條件是 車在任何工況均不應有CAN總線故障記錄 為了能夠確定及排除故障 就需要了解CAN總線上的數據交換基本原理 CAN總線數據交換基本原理 不同的數據傳遞 以CAN驅動數據總線為例 1 提高數據傳遞的可靠性 為了提高數據傳遞的可靠性 CAN數據總線系統的兩條導線 雙絞線 分別用于不同的數據傳送 這兩條線分別稱為CAN High線和CAN Low線 2 在顯性狀態和隱性狀態之間進行轉換時CAN導線上的電壓變化 在靜止狀態時 這兩條導線上作用有相同預先設定值 該值稱為靜電平 對于CAN驅動數據總線來說 這個值大約為2 5V 靜電平也稱為隱性狀態 因為連接的所有控制單元均可修改它 在顯性狀態時 CAN High線上的電壓值會升高一個預定值 對CAN驅動數據總線來說 這個值至少為1V 而CAN Low線上的電壓值會降低一個同樣值 對CAN驅動數據總線來說 這個值至少為1V 于是在CAN驅動數據總線上 CAN High線就處于激活狀態 其電壓不低于3 5 2 5V 1V 3 5V 而CAN Low線上的電壓值最多可降至1 5V 2 5V 1V 1 5V 因此在隱性狀態時 CAN High線與CAN Low線上的電壓差為0V 在顯性狀態時該差值最低為2V 3 CAN數據總線上的信號變化 以CAN驅動數據總線為例 4 收發器內的CAN High線和CAN Low線上的信號轉換 控制單元是通過收發器聯接到CAN驅動總線上的 在這個收發器內有一個接收器 該接收器是安裝在接收一側的差動信號放大器 差動信號放大器用于處理來自CAN High線和CAN Low線的信號 除此以外還負責將轉換后的信號傳至控制單元的CAN接收區 這個轉換后的信號稱為差動信號放大器的輸出電壓 差動信號放大器用CAN High線上的電壓 UCAN High 減去CAN Low線上的電壓 UCAN Low 就得出了輸出電壓 用這種方法可以消除靜電平 對于CAN驅動數據總線來說是2 5V 或其它任何重疊的電壓 5 CAN驅動數據總線差動信號放大器內的信號轉換 收發器的差動信號放大器在處理信號時 會用CAN High 線上作用的電壓減去CAN Low 線上作用的電壓 6 CAN驅動數據總線差動信號放大器內的干擾過濾 由于數據總線也要布置在發動機艙內 所以數據總線就要遭受各種干擾 在保養時要考慮對地短路和蓄電池電壓 點火裝置的火花放電和靜態放電 在該圖的上部可清楚地看到這種傳遞的效果 由于CAN High線和CAN Low線是扭絞在一起的 雙絞線 所以干擾脈沖X就總是有規律地作用在兩條線上 由于差動信號放大器總是用CAN High線上的電壓 3 5V X 減去CAN Low線上的電壓 1 5V X 因此在經過處理后 差動信號中就不再有干擾脈沖了 3 5V X 1 5V X 2V 7 信號電平 控制單元信號在收發器內的放大 收發器發送一側的任務是將控制單元內的CAN控制器的較弱信號放大 使之達到CAN導線上的信號電平和控制單元輸入端的信號電平 聯接在CAN數據總線上的控制單元的作用就像是CAN導線上的一個負載電阻 因為裝有電子元件 這個負載電阻取決于聯接的控制單元數量和其電阻 收發器將CAN信號輸送到CAN數據總線的兩條導線上 相應地在CAN High線上的電壓就升高 而在CAN Low線上的電壓就降低一個同樣大小的值 對于驅動CAN數據總線來說 一條導線上的電壓改變值不低于1V 對于CAN舒適 Infotainment總線來說 這個值不低于3 6V 8 CAN驅動數據總線的特點 CAN驅動數據總線的速率為500kBit s 用于將CAN驅動數據總線方面的控制單元聯成網絡 CAN驅動數據總線控制單元有 發動機控制單元 ABS 控制單元 ESP 控制單元 變速器控制單元 安全氣囊控制單元 組合儀表 CAN驅動數據總線由15號接線柱 點火開關 接通 短時工作后 又完全關閉 CAN驅動數據總線上的信號變化 下面圖中所示的是一個真實的CAN 電報變化圖 它由一個收發器產生 并由VAS5051的數字存儲式示波器 DSO 接收下來 兩個電平之間的疊加信號變化表示2 5V的隱性電平 CAN High線上的顯性電壓約為3 5V CAN Low線約為1 5V CAN舒適 Infotainment數據總線的特點 CAN舒適 Infotainment數據總線的速率為100kBit s 用于將CAN舒適總線和CANInfotainment總線方面的控制單元聯成網 CAN舒適 Infotainment數據總線控制單元有 全自動空調 空調控制單元 車門控制單元 舒適控制單元 收音機和導航顯示單元控制單元 控制單元通過CAN驅動數據總線的CAN High線和CAN Low線來進行數據交換 如車門開 關 車內燈開 關 車輛位置 GPS 等等 由于使用同樣的脈沖頻率 所以CAN舒適數據總線和CANInfotainment總線可以共同使用一對導線 當然前提條件是相應的車上有這兩種數據總線 如GolfIVundPoloMJ2002 舒適系統的信號圖 舒適系統的Canbus信號和驅動系統有很大區別 Can High的高電平為 3 6伏Can High的低電平為 0伏Can Low的高電平為 5伏Can low的低電平為 1 4伏邏輯 1 Can high 3 6VCan low 1 4V邏輯 0 Can high 0VCan low 5V 1 CAN舒適 Infotainment數據總線的差動數據傳遞 為了使低速CAN抗干擾性強且電流消耗低 與CAN驅動數據總線相比就需做一些改動 首先 由于使用了單獨的驅動器 功率放大器 這兩個CAN信號就不再有彼此依賴的關系了 與CAN驅動數據總線不同 CAN舒適 Infotainment數據總線的CAN High線和CAN Low線不是通過電阻相連的 也就是說 CAN High線和CAN Low線不再彼此相互影響 而是彼此獨立作為電壓源來工作 另外還放棄了共同的中壓 在隱性狀態 靜電平 時 CAN High信號為0V 在顯性狀態時 3 6V 對于CAN Low信號來說 隱性電平為5V 顯性電平 1 4V 于是在差頻信號放大器內相減后 隱性電平為 5V 顯性電平為2 2V 那么隱性電平和顯性電平之間的電壓變化 電壓提升 就提高到 7 2V 2 CAN舒適 Infotainment數據總線的CAN 收發器 測舒適系統高低線的電阻為無窮大 總系統 通過網關將三個系統聯成網絡 由于電壓電平和電阻配置不同 所以在CAN驅動數據總線和CAN舒適 Infotainment數據總線之間無法進行耦合聯接 另外這兩種數據總線的傳輸速率是不同的 這就決定了它們無法使用不同的信號 這就需要在這兩個系統之間能完成一個轉換 這個轉換過程是通過所謂的網關來實現的 根據車輛的不同 網關可能安裝在組合儀表內 車上供電控制單元內或在自己的網關控制單元內 由于通過CAN數據總線的所有信息都供網關使用 所以網關也用作診斷接口 目前是通過網關的K 線來查詢診斷信息 從Touran車開始是通過CAN數據總線診斷線來完成這個工作的 可以用火車站作為例子來清楚地說明網關的原理 與CAN舒適數據總線和CANInfotainment數據總線不同 CAN驅動數據總線不可與CAN舒適數據總線或CANInfotainment數據總線通過電氣相連 CAN舒適數據總線與CAN舒適 Infotainment數據總線是不同的數據總線系統 它們之間只能通過所謂網關相連 提示 1 2 3 基本術語 CAN的報文及結構 同步 CAN協議規范 CAN協議規范 CAN協議規范 CAN為串行通訊協議 能有效地支持具有很高安全等級的分布實時控制 CAN的應用范圍很廣 從高速的網絡到低價位的多路接線都可以使用CAN 在汽車電子行業里 使用CAN連接發動機控制單元 傳感器 防剎車系統 等等 其傳輸速度可達1Mbit s 同時 可以將CAN安裝在卡車本體的電子控制系統里 諸如車燈組 電氣車窗等等 用以代替接線配線裝置 技術規范的目的是為了在任何兩個CAN儀器之間建立兼容性 可是 兼容性有不同的方面 比如電氣特性和數據轉換的解釋 為了達到設計透明度以及實現靈活性 根據ISO OSI參考模型 CAN2 0規范細分為以下不同的層次 數據鏈路層和物理層 如圖所示 CAN協議規范 位編碼 解碼位定時同步驅動器接收器特性 邏輯鏈路子層LLC接收濾波超載通知恢復管理 介質訪問控制子層MAC數據包裝 解包幀編碼介質訪問管理錯誤監測出錯標定應答串并轉換 數據鏈路層 物理層 故障界定 總線故障管理 監控器 圖CAN協議分層結構和功能 CAN協議規范 在以前版本的CAN規范中 數據鏈路層的LLC子層和MAC子層的服務及功能分別被解釋為 對象層 和 傳輸層 邏輯鏈路控制子層 LLC 的作用范圍如下 為遠程數據請求以及數據傳輸提供服務 確定由實際要使用的LLC子層接收哪一個報文 為恢復管理和過載通知提供手段 MAC子層的作用主要是傳送規則 也就是控制幀結構 執行仲裁 錯誤檢測 出錯標定 故障界定 位定時的一些普通功能也可以看作是MAC子層的一部分 物理層的作用是在不同節點之間根據所有的電氣屬性進行位的實際傳輸 CAN具有以下的屬性 報文的優先權 保證延遲時間 設置靈活 時間同步的多點接收 系統內數據的連貫性 多主機 錯誤檢測和錯誤標定 只要總線一處于空閑 就自動將破壞的報文重新傳輸 將節點的暫時性錯誤和永久性錯誤區分開來 并且可以自動關閉由OSI參考模型分層CAN結構的錯誤的節點 CAN協議規范 依據ISO OSI參考模型的層結構具有以下功能 物理層定義信號是如何實際地傳輸的 因此涉及到位時間 位編碼 同步的解釋 技術規范沒有定義物理層的驅動器 接收器特性 以便允許根據它們的應用 對發送媒體和信號電平進行優化 MAC子層是CAN協議的核心 它把接收到的報文提供給LLC子層 并接收來自LLC子層的報文 MAC子層負責報文分幀 仲裁 應答 錯誤檢測和標定 MAC子層也被稱作故障界定的管理實體監管 此故障界定為自檢機制 以便把永久故障和短時擾動區別開來 LLC子層涉及報文濾波 過載通知 以及恢復管理 CAN協議規范 1 基本術語 1 報文總線上的報文以不同的固定報文格式發送 但長度受限 當總線空閑時任何連接的單元都可以開始發送新的報文 2 信息路由 在CAN系統中 一個CAN節點不使用有關系統結構的任何信息 如站地址 包含一些重要概念 系統靈活性 節點可在不要求所有節點及其應用層改變任何軟件或硬件的情況下 被接于CAN網絡 成組 由于采用了報文濾波 所有節點均可接收報文 并同時被相同的報文激活 數據相容性 在CAN網絡內 可以確保報文同時被所有節點或者沒有節點接收 因此 系統的數據相容性是借助于成組和出錯處理達到的 1 基本術語 3 位速率不同的系統 CAN的速度不同 在一個給定的系統里 位速率是唯一的 并且是固定的 4 優先權在總線訪問期間 識別符定義一個靜態的報文優先權 5 遠程數據請求通過發送遠程幀 需要數據的節點可以請求另一節點發送相應的數據幀 數據幀和相應的遠程幀是由相同的識別符命名的 1 基本術語 6 仲裁只要總線空閑 任何單元都可以開始發送報文 具有較高優先權報文的單元可以獲得總線訪問權 如果2個或2個以上的單元同時開始傳送報文 那么就會有總線訪問沖突 仲裁的機制確保了報文和時間均不損失 當具有相同識別符的數據幀和遠程幀同時初始化時 數據幀優先于遠程幀 仲裁期間 每一個發送器都對發送位的電平與被監控的總線電平進行比較 如果電平相同 則這個單元可以繼續發送 如果發送的是一 隱性 電平而監視的是一 顯性 電平 見總線值 那么單元就失去了仲裁 必須退出發送狀態 1 基本術語 7 錯誤檢測要進行檢測錯誤 必須采取以下措施 監視 發送器對發送位的電平與被監控的總線電平進行比較 循環冗余檢查 位填充 報文格式檢查 1 基本術語 8 故障界定CAN節點能夠把永久故障和短暫擾動區別開來 故障的節點會被關閉 9 總線值總線有二個互補的邏輯值 顯性 或 隱性 顯性 位和 隱性 位同時傳送時 總線的結果值為 顯性 比如 在總線的 寫與 執行時 邏輯0代表 顯性 等級 邏輯1代表 隱性 等級 10 應答所有的接收器檢查報文的連貫性 對于連貫的報文 接收器應答 對于不連貫的報文 接收器作出標志 2 CAN的報文及結構 CAN信息包格式說明 CAN信息包分為兩部分 信息部分和數據部分 頭兩個字節為信息部分 其前十一位為標識符 標識符中的前八位用作接收判斷 應包含本信息包的目的站地址 然后是一位RTR位 應設為0 最后是四位的DLC 數據長度位 即所發數據的實際長度 單位 字節 其余八個字節是數據部分 存有實際要發的數據 詳見下圖 2 CAN的報文及結構 2 CAN的報文及結構 在進行數據傳送時 發出報文的單元稱為該報文的發送器 該單元在總線空閑或丟失仲裁前恒為發送器 如果一個單元不是報文發送器 并且總線不處于空閑狀態 則該單元為接收器 對于報文發送器和接收器 報文的實際有效時刻是不同的 對于發送器而言 如果直到幀結束末尾一直末出錯 則對于發送器報文有效 如果報文受損 將允許按照優先權順序自動重發送 為了能同其他報文進行總線訪問競爭 總線一旦空閑 重發送立即開始 對于接收器而言 如果直到幀結束的最后一位一直末出錯 則對于接收器報文有效 2 CAN的報文及結構 構成一幀的幀起始 仲裁場 控制場 數據場和CRC序列均借助位填充規則進行編碼 當發送器在發送的位流中檢測到5位連續的相同數值時 將自動地在實際發送的位流中插入一個補碼位 數據幀和遠程幀的其余位場采用固定格式 不進行填充 出錯幀和超載幀同樣是固定格式 也不進行位填充 報文傳送由4種不同類型的幀表示和控制 數據幀攜帶數據由發送器至接收器 遠程幀通過總線單元發送 以請求發送具有相同標識符的數據幀 出錯幀由檢測出總線錯誤的任何單元發送 超載幀用于提供當前的和后續的數據幀的附加延遲 數據幀和遠程幀借助幀間空間與當前幀分開 3 同步 同步機制 總線的位同步只有在節點檢測到 隱性位 邏輯 到 顯性位 邏輯 的跳變時才會產生 當跳變沿不位于位周期的同步段之內時將會產生相位誤差 該相位誤差就是跳變沿與同步段結束位置之間的距離 如果跳變沿發生在同步段之后采樣點之前為正的相位誤差 如果跳變沿位于同步段之前采樣點之后為負的相位誤差 相位誤差源于節點的振蕩器漂移 網絡節點之間的傳播延遲以及噪聲干擾等 協議規定了兩種類型的同步 硬同步和重同步 3 同步 硬同步硬同步只在總線空閑時通過一個下降沿 幀起始 來完成 此時不管有沒有相位誤差 所有節點的位時間重新開始 強迫引起硬同步的跳變沿位于重新開始的位時間的同步段之內 重同步在消息幀的隨后位中 每當有從 隱性位 到 顯性位 的跳變 并且該跳變落在了同步段之外 就會引起一次重同步 重同步機制可以根據跳變沿增長或者縮短位時間以調整采樣點的位置 保證正確采樣 協議的位填充機制除實現仲裁場 控制場 數據場和 序列的數據的透明性外 還增加了從 隱性位 到 顯性位 跳變的機會 也就是增多重同步的數量 提高同步質量 1 2 3 CAN通信控制器82C200 SJA1000CAN控制器 PCA82C250CAN收發器 典型CAN總線器件及應用 典型CAN總線器件及其應用 4 CANBUS節點設計舉例 CAN總線的突出優點使其在各個領域的應用得到迅速發展 這使得許多器件廠商競相推出各種CAN總線器件產品 已逐步形成系列 而豐富廉價的CAN總線器件又進一步促進了CAN總線應用的迅速推廣 目前 CAN已不僅是應用于某些領域的標準現場總線 它正在成為微控制器的系統擴展及多機通信接口 下表列出了一些主要的CAN總線產品 這里僅對典型的芯片加以介紹 4 典型CAN總線器件及其應用 1 CAN通信控制器82C200 完成CAN規范所規定的物理層和數據鏈路層大部分功能 有微處理器接口 易于連接單片機 結構分兩種類型 獨立IC或與單片機集成在一起 82C200 SJA1000 屬于前者 屬于后者的有 PHILIPS的87C591 LPC2119 西門子的C167C INTEL的80C196CA等 都遵循CAN2 0規范 掌握其中一種就可觸類旁通 1 CAN通信控制器82C200 CAN的通信協議主要由CAN控制器完成 CAN控制器主要由實現CAN總線協議部分和與微控制器接口部分電路組成 對于不同型號的CAN總線通信控制器 實現CAN協議部分電路的結構和功能大都相同 而與微控制器接口部分的結構及方式存在一些差異 這里主要以PHILIPS82C200為代表對CAN控制器的結構 功能及應用加以介紹 1 CAN通信控制器82C200 1 CAN通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論