CAN總線基礎知識介紹
2020-4-22新聞
什(shén)麽是CAN ?
CAN,全稱爲“Controller Area Network”,即控制器局域網,是國際上應用(yòng)最廣泛的(de)現場(chǎng)總線之一。最初,CAN被設計作爲汽車環境中的(de)微控制器通(tōng)訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網絡。比如:發動機管理(lǐ)系統、變速箱控制器、儀表裝備、電子主幹系統中,均嵌入CAN控制裝置。
一個(gè)由CAN 總線構成的(de)單一網絡中,理(lǐ)論上可(kě)以挂接無數個(gè)節點。實際應用(yòng)中,節點數目受網絡硬件的(de)電氣特性所限制。例如,當使用(yòng)Philips P82C250作爲CAN收發器時(shí),同一網絡中允許挂接110個(gè)節點。CAN 可(kě)提供高(gāo)達1Mbit/s的(de)數據傳輸速率,這(zhè)使實時(shí)控制變得(de)非常容易。另外,硬件的(de)錯誤檢定特性也(yě)增強了(le)CAN的(de)抗電磁幹擾能力。
CAN 是怎樣發展起來(lái)的(de)?
CAN最初出現在80年代末的(de)汽車工業中,由德國Bosch公司最先提出。當時(shí),由于消費者對(duì)于汽車功能的(de)要求越來(lái)越多(duō),而這(zhè)些功能的(de)實現大(dà)多(duō)是基于電子操作的(de),這(zhè)就使得(de)電子裝置之間的(de)通(tōng)訊越來(lái)越複雜(zá),同時(shí)意味著(zhe)需要更多(duō)的(de)連接信号線。提出CAN總線的(de)最初動機就是爲了(le)解決現代汽車中龐大(dà)的(de)電子控制裝置之間的(de)通(tōng)訊,減少不斷增加的(de)信号線。于是,他(tā)們設計了(le)一個(gè)單一的(de)網絡總線,所有的(de)外圍器件可(kě)以被挂接在該總線上。1993年,CAN 已成爲國際标準ISO11898(高(gāo)速應用(yòng))和(hé)ISO11519(低速應用(yòng))。
CAN是一種多(duō)主方式的(de)串行通(tōng)訊總線,基本設計規範要求有高(gāo)的(de)位速率,高(gāo)抗電磁幹擾性,而且能夠檢測出産生的(de)任何錯誤。當信号傳輸距離達到10Km時(shí),CAN 仍可(kě)提供高(gāo)達50Kbit/s的(de)數據傳輸速率。
由于CAN總線具有很高(gāo)的(de)實時(shí)性能,因此,CAN已經在汽車工業、航空工業、工業控制、安全防護等領域中得(de)到了(le)廣泛應用(yòng)。
CAN 是怎樣工作的(de)?
CAN通(tōng)訊協議(yì)主要描述設備之間的(de)信息傳遞方式。CAN層的(de)定義與開放系統互連模型(OSI)一緻。每一層與另一設備上相同的(de)那一層通(tōng)訊。實際的(de)通(tōng)訊發生在每一設備上相鄰的(de)兩層,而設備隻通(tōng)過模型物(wù)理(lǐ)層的(de)物(wù)理(lǐ)介質互連。CAN的(de)規範定義了(le)模型的(de)最下(xià)面兩層:數據鏈路層和(hé)物(wù)理(lǐ)層。下(xià)表中展示了(le)OSI開放式互連模型的(de)各層。應用(yòng)層協議(yì)可(kě)以由CAN用(yòng)戶定義成适合特别工業領域的(de)任何方案。已在工業控制和(hé)制造業領域得(de)到廣泛應用(yòng)的(de)标準是DeviceNet,這(zhè)是爲PLC和(hé)智能傳感器設計的(de)。在汽車工業,許多(duō)制造商都應用(yòng)他(tā)們自己的(de)标準。
OSI開放系統互連模型如下(xià):
7 應用(yòng)層 最高(gāo)層。用(yòng)戶、軟件、網絡終端等之間用(yòng)來(lái)進行信息交換。如:DeviceNet
6 表示層 将兩個(gè)應用(yòng)不同數據格式的(de)系統信息轉化(huà)爲能共同理(lǐ)解的(de)格式
5 會話(huà)層 依靠低層的(de)通(tōng)信功能來(lái)進行數據的(de)有效傳遞。
4 傳輸層 兩通(tōng)訊節點之間數據傳輸控制。操作如:數據重發,數據錯誤修複
3 網絡層 規定了(le)網絡連接的(de)建立、維持和(hé)拆除的(de)協議(yì)。如:路由和(hé)尋址
2 數據鏈路層 規定了(le)在介質上傳輸的(de)數據位的(de)排列和(hé)組織。如:數據校驗和(hé)幀結構
1 物(wù)理(lǐ)層 規定通(tōng)訊介質的(de)物(wù)理(lǐ)特性。如:電氣特性和(hé)信号交換的(de)解釋
CAN能夠使用(yòng)多(duō)種物(wù)理(lǐ)介質,例如雙絞線、光(guāng)纖等。最常用(yòng)的(de)就是雙絞線。信号使用(yòng)差分(fēn)電壓傳送,兩條信号線被稱爲“CAN_H”和(hé)“CAN_L”,靜态時(shí)均是2.5V左右,此時(shí)狀态表示爲邏輯“1”,也(yě)可(kě)以叫做(zuò)“隐性”。用(yòng)CAN_H比CAN_L高(gāo)表示邏輯“0”,稱爲“顯形”,此時(shí),通(tōng)常電壓值爲:CAN_H = 3.5V 和(hé)CAN_L = 1.5V 。
CAN 有哪些特性?
CAN具有十分(fēn)優越的(de)特點,使人(rén)們樂(yuè)于選擇。這(zhè)些特性包括:
低成本
極高(gāo)的(de)總線利用(yòng)率
很遠(yuǎn)的(de)數據傳輸距離(長(cháng)達10Km)
高(gāo)速的(de)數據傳輸速率(高(gāo)達1Mbit/s)
可(kě)根據報文的(de)ID決定接收或屏蔽該報文
可(kě)靠的(de)錯誤處理(lǐ)和(hé)檢錯機制
發送的(de)信息遭到破壞後,可(kě)自動重發
節點在錯誤嚴重的(de)情況下(xià)具有自動退出總線的(de)功能
報文不包含源地址或目标地址,僅用(yòng)标志符來(lái)指示功能信息、優先級信息