本文主要是關于CAN總線的相關介紹,并著重對CAN接120歐姆終端電阻的原因進行了詳盡的闡述。
CAN總線
CAN是控制器局域網絡(Controller Area Network, CAN)的簡稱,是由以研發和生產汽車電子產品著稱的德國BOSCH公司開發的,并最終成為國際標準(ISO 11898),是國際上應用最廣泛的現場總線之一。 在北美和西歐,CAN總線協議已經成為汽車計算機控制系統和嵌入式工業控制局域網的標準總線,并且擁有以CAN為底層協議專為大型貨車和重工機械車輛設計的J1939協議。
CAN總線是德國BOSCH公司從80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通信協議,它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維。通信速率最高可達1Mbps。
完成對通信數據的成幀處理
CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗余檢驗、優先級判別等項工作。
使網絡內的節點個數在理論上不受限制
CAN協議的一個最大特點是廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。采用這種方法的優點可使網絡內的節點個數在理論上不受限制,數據塊的標識符可由11位或29位二進制數組成,因此可以定義2或2個以上不同的數據塊,這種按數據塊編碼的方式,還可使不同的節點同時接收到相同的數據,這一點在分布式控制系統中非常有用。數據段長度最多為8個字節,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節不會占用總線時間過長,從而保證了通信的實時性。CAN協議采用CRC檢驗并可提供相應的錯誤處理功能,保證了數據通信的可靠性。CAN卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備的互連,因此,越來越受到工業界的重視,并已公認為最有前途的現場總線之一。
可在各節點之間實現自由通信
CAN總線采用了多主競爭式總線結構,具有多主站運行和分散仲裁的串行總線以及廣播通信的特點。CAN總線上任意節點可在任意時刻主動地向網絡上其它節點發送信息而不分主次,因此可在各節點之間實現自由通信。CAN總線協議已被國際標準化組織認證,技術比較成熟,控制的芯片已經商品化,性價比高,特別適用于分布式測控系統之間的數據通訊。CAN總線插卡可以任意插在PC AT XT兼容機上,方便地構成分布式監控系統。
結構簡單
只有2根線與外部相連,并且內部集成了錯誤探測和管理模塊。
傳輸距離和速率
CAN總線特點:(1) 數據通信沒有主從之分,任意一個節點可以向任何其他(一個或多個)節點發起數據通信,靠各個節點信息優先級先后順序來決定通信次序,高優先級節點信息在134μs通信; (2) 多個節點同時發起通信時,優先級低的避讓優先級高的,不會對通信線路造成擁塞; (3) 通信距離最遠可達10KM(速率低于5Kbps)速率可達到1Mbps(通信距離小于40M);(4) CAN總線傳輸介質可以是雙絞線,同軸電纜。CAN總線適用于大數據量短距離通信或者長距離小數據量,實時性要求比較高,多主多從或者各個節點平等的現場中使用。
技術介紹
位仲裁
要對數據進行實時處理,就必須將數據快速傳送,這就要求數據的物理傳輸通路有較高的速度。在幾個站同時需要發送數據時,要求快速地進行總線分配。實時處理通過網絡交換的緊急數據有較大的不同。一個快速變化的物理量,如汽車引擎負載,將比類似汽車引擎溫度這樣相對變化較慢的物理量更頻繁地傳送數據并要求更短的延時。
CAN總線以報文為單位進行數據傳送,報文的優先級結合在11位標識符中,具有最低二進制數的標識符有最高的優先級。這種優先級一旦在系統設計時被確立后就不能再被更改。總線讀取中的沖突可通過位仲裁解決。例如標識符0111111、0100100、0100111發生位仲裁時,0100100報文將會被跟蹤,而其余報文會被丟棄。具體過程為:當幾個站同時發送報文時,站1的報文標識符為0111111,站2的報文標識符為0100110,站3的報文標識符為0100111,所有標識符都有相同的兩位01,直到第3位進行比較時,站1的報文被丟棄,因為它的第3位為高,而其它兩個站的報文第3位為低。站2和站3報文的4、5、6位相同,直到第7位時,站3的報文才被丟棄。注意,總線中的信號持續跟蹤最后獲得總線讀取權的站的報文。在此例中,站2的報文被跟蹤。這種非破壞性位仲裁方法的優點在于,在網絡最終確定哪一個站的報文被傳送以前,報文的起始部分已經在網絡上傳送了。所有未獲得總線讀取權的站都成為具有最高優先權報文的接收站,并且不會在總線再次空閑前發送報文。
CAN具有較高的效率是因為總線僅僅被那些請求總線懸而未決的站利用,這些請求是根據報文在整個系統中的重要性按順序處理的。這種方法在網絡負載較重時有很多優點,因為總線讀取的優先級已被按順序放在每個報文中了,這可以保證在實時系統中較低的個體隱伏時間。
對于主站的可靠性,由于CAN協議執行非集中化總線控制,所有主要通信,包括總線讀取 (許可)控制,在系統中分幾次完成。這是實現有較高可靠性的通信系統的唯一方法。
CAN與其它通信方案的比較
在實踐中,有兩種重要的總線分配方法:按時間表分配和按需要分配。在第一種方法中,不管每個節點是否申請總線,都對每個節點按最大期間分配。由此,總線可被分配給每個站并且是唯一的站,而不論其是立即進行總線存取或在一特定時間進行總線存取。這將保證在總線存取時有明確的總線分配。在第二種方法中,總線按傳送數據的基本要求分配給一個站,總線系統按站希望的傳送分配(如:EthernetCSMA/CD)。因此,當多個站同時請求總線存取時,總線將終止所有站的請求,這時將不會有任何一個站獲得總線分配。為了分配總線,多于一個總線存取是必要的。
CAN實現總線分配的方法,可保證當不同的站申請總線存取時,明確地進行總線分配。這種位仲裁的方法可以解決當兩個站同時發送數據時產生的碰撞問題。不同于Ethernet網絡的消息仲裁,CAN的非破壞性解決總線存取沖突的方法,確保在不傳送有用消息時總線不被占用。甚至當總線在重負載情況下,以消息內容為優先的總線存取也被證明是一種有效的系統。雖然總線的傳輸能力不足,所有未解決的傳輸請求都按重要性順序來處理。在CSMA/CD這樣的網絡中,如Ethernet,系統往往由于過載而崩潰,而這種情況在CAN中不會發生。
CAN的報文格式
在總線中傳送的報文,每幀由7部分組成。CAN協議支持兩種報文格式,其唯一的不同是標識符(ID)長度不同,標準格式為11位,擴展格式為29位。
在標準格式中,報文的起始位稱為幀起始(SOF),然后是由11位標識符和遠程發送請求位 (RTR)組成的仲裁場。RTR位標明是數據幀還是請求幀,在請求幀中沒有數據字節。
控制場包括標識符擴展位(IDE),指出是標準格式還是擴展格式。它還包括一個保留位 (ro),為將來擴展使用。它的最后四個位用來指明數據場中數據的長度(DLC)。數據場范圍為0~8個字節,其后有一個檢測數據錯誤的循環冗余檢查(CRC)。
應答場(ACK)包括應答位和應答分隔符。發送站發送的這兩位均為隱性電平(邏輯1),這時正確接收報文的接收站發送主控電平(邏輯0)覆蓋它。用這種方法,發送站可以保證網絡中至少有一個站能正確接收到報文。
報文的尾部由幀結束標出。在相鄰的兩條報文間有一很短的間隔位,如果這時沒有站進行總線存取,總線將處于空閑狀態。
CAN數據幀的組成
遠程幀
遠程幀由6個場組成:幀起始、仲裁場、控制場、CRC場、應答場和幀結束。遠程幀不存在數據場。
遠程幀的RTR位必須是隱位。
DLC的數據值是獨立的,它可以是0~8中的任何數值,為對應數據幀的數據長度。
錯誤幀
錯誤幀由兩個不同場組成,第一個場由來自各站的錯誤標志疊加得到,第二個場是錯誤界定符
錯誤標志具有兩種形式:
活動錯誤標志(Active error flag),由6個連續的顯位組成
認可錯誤標志(Passive error flag),由6個連續的隱位組成
錯誤界定符包括8個隱位
超載幀
超載幀包括兩個位場:超載標志和超載界定符
發送超載幀的超載條件:
要求延遲下一個數據幀或遠程幀
在間歇場檢測到顯位
超載標志由6個顯位組成
超載界定符由8個隱位組成
數據錯誤檢測
不同于其它總線,CAN協議不能使用應答信息。事實上,它可以將發生的任何錯誤用信號發出。CAN協議可使用五種檢查錯誤的方法,其中前三種為基于報文內容檢查。
3.4.1循環冗余檢查(CRC)
在一幀報文中加入冗余檢查位可保證報文正確。接收站通過CRC可判斷報文是否有錯。
3.4.2 幀檢查
這種方法通過位場檢查幀的格式和大小來確定報文的正確性,用于檢查格式上的錯誤。
3.4.3.應答錯誤
如前所述,被接收到的幀由接收站通過明確的應答來確認。如果發送站未收到應答,那么表明接收站發現幀中有錯誤,也就是說,ACK場已損壞或網絡中的報文無站接收。CAN協議也可通過位檢查的方法探測錯誤。
3.4.4 總線檢測
有時,CAN中的一個節點可監測自己發出的信號。因此,發送報文的站可以觀測總線電平并探測發送位和接收位的差異。
3.4.5 位填充
一幀報文中的每一位都由不歸零碼表示,可保證位編碼的最大效率。然而,如果在一幀報文中有太多相同電平的位,就有可能失去同步。為保證同步,同步沿用位填充產生。在五個連續相等位后,發送站自動插入一個與之互補的補碼位;接收時,這個填充位被自動丟掉。例如,五個連續的低電平位后,CAN自動插入一個高電平位。CAN通過這種編碼規則檢查錯誤,如果在一幀報文中有6個相同位,CAN就知道發生了錯誤。
如果至少有一個站通過以上方法探測到 一個或多個錯誤,它將發送出錯標志終止當前的發送。這可以阻止其它站接收錯誤的報文,并保證網絡上報文的一致性。當大量發送數據被終止后,發送站會自動地重新發送數據。作為規則,在探測到錯誤后23個位周期內重新開始發送。在特殊場合,系統的恢復時間為31個位周期。
但這種方法存在一個問題,即一個發生錯誤的站將導致所有數據被終止,其中也包括正確的數據。因此,如果不采取自監測措施,總線系統應采用模塊化設計。為此,CAN協議提供一種將偶然錯誤從永久錯誤和局部站失敗中區別出來的辦法。這種方法可以通過對出錯站統計評估來確定一個站本身的錯誤并進入一種不會對其它站產生不良影響的運行方法來實現,即站可以通過關閉自己來阻止正常數據因被錯誤地當成不正確的數據而被終止。
硬同步和重同步
硬同步只有在總線空閑狀態條件下隱形位到顯性位的跳變沿發生時才進行,表明報文傳輸開始。在硬同步之后,位時間計數器隨同步段重新開始計數。硬同步強行將已發生的跳變沿置于重新開始的位時間同步段內。根據同步規則,如果某一位時間內已有一個硬同步出現,該位時間內將不會發生再同步。再同步可能導致相位緩沖段1被延長或相位緩沖段2被短。這兩個相位緩沖段的延長時間或縮短時間上限由再同步跳轉寬度(SJW)給定。
可靠性
為防止汽車在使用壽命期內由于數據交換錯誤而對司機造成危險,汽車的安全系統要求數據傳輸具有較高的安全性。如果數據傳輸的可靠性足夠高,或者殘留下來的數據錯誤足夠低的話,這一目標不難實現。從總線系統數據的角度看,可靠性可以理解為,對傳輸過程產生的數據錯誤的識別能力。
殘余數據錯誤的概率可以通過對數據傳輸可靠性的統計測量獲得。它描述了傳送數據被破壞和這種破壞不能被探測出來的概率。殘余數據錯誤概率必須非常小,使其在系統整個壽命周期內,按平均統計時幾乎檢測不到。計算殘余錯誤概率要求能夠對數據錯誤進行分類,并且數據傳輸路徑可由一模型描述。如果要確定CAN的殘余錯誤概率,我們可將殘留錯誤的概率作為具有80~90位的報文傳送時位錯誤概率的函數,并假定這個系統中有5~10個站,并且錯誤率為1/1000,那么最大位錯誤概率為10—13數量級。例如,CAN網絡的數據傳輸率最大為1Mbps,如果數據傳輸能力僅使用50%,那么對于一個工作壽命4000小時、平均報文長度為 80位的系統,所傳送的數據總量為9×1010。在系統運行壽命期內,不可檢測的傳輸錯誤的統計平均小于10—2量級。換句話說,一個系統按每年365天,每天工作8小時,每秒錯誤率為0. 7計算,那么按統計平均,每1000年才會發生一個不可檢測的錯誤。
應用舉例
CAN總線在工控領域主要使用低速-容錯CAN即ISO11898-3標準,在汽車領域常使用500Kbps的高速CAN。
某進口車型擁有,車身、舒適、多媒體等多個控制網絡,其中車身控制使用CAN網絡,舒適使用LIN網絡,多媒體使用MOST網絡,以CAN網為主網,控制發動機、變速箱、ABS等車身安全模塊,并將轉速、車速、油溫等共享至全車,實現汽車智能化控制,如高速時自動鎖閉車門,安全氣囊彈出時,自動開啟車門等功能。
CAN系統又分為高速和低速,高速CAN系統采用硬線是動力型,速度:500kbps,控制ECU、ABS等;低速CAN是舒適型,速度:125Kbps,主要控制儀表、防盜等。
某醫院現有5臺16T/H XXXX燃氣鍋爐,向洗衣房、制劑室、供應室、生活用水、暖氣等設施提供5kg/cm2的蒸汽,全年耗用天然氣1200萬m3,耗用20萬噸自來水。醫院采用接力式方式供熱,對熱網進行地域性管理,分四大供熱區。其中冬季暖氣的用氣量很大,據此設計了基于CAN現場總線的分布式鍋爐蒸汽熱網智能監控系統。現場應用表明:該樓宇自動化系統具有抗干擾能力強,現場組態容易,網絡化程度高,人機界面友好等特點。
CAN接120歐姆終端電阻的原因分析
高頻信號傳輸時,信號波長相對傳輸線較短,信號在傳輸線終端會形成反射波,干擾原信號,所以需要在傳輸線末端加終端電阻,使信號到達傳輸線末端后不反射。對于低頻信號則不用?CAN總線兩端必須連接終端電阻才可以正常工作,終端電阻應該與通訊電纜的阻抗相同,典型值為120歐姆。其作用是匹配總線阻抗,提高數據通信的抗干擾性及可靠行。??
1.?終端電阻的作用就是吸收信號反射及回波,而產生信號反射的最大來源便是阻抗不連續以及不匹配。?
2.?如果是加在單獨的兩根線上,相當于一個開環的狀態,根據產生信號反射的來源,也就是說這種連接方式會導致單線上阻抗更加不連續,在末端突然變為0,會導致反射成倍增加。?高速CAN所加的兩個120歐的電阻實際上模擬的是線束連接無窮遠的時候在傳輸線上產生的特性阻抗(而不是實際阻抗),這是個典型經驗值,具體值取決于所采用的線束類型。?以上如仍有不明之處,請簡單查閱下傳輸線理論和信號反射相關的知識。?
CAN低速之所以不加終端電阻,是因為不同的頻率時,同樣的連接方式所產生的信號反射和回波差異很大,頻率越高,反射和回波越強烈。另外不同的頻率下,傳輸線的特性阻抗是不同的。??
3.?在ISO-11898-2:2003第4頁第一段中大致有這么一句話:“當一個顯性位發送到至少包含一個CAN驅動處于開啟狀態的網絡上時,意味著有電流經過終端電阻,因此,CAN_H和CAN_L具有了不同的電壓值。”,也就是說,在顯性狀態時,終端電阻會穩定并增強差分電壓,當去掉一個或兩個終端,通過示波器可以明顯看到一是信號不穩,二是差分電壓會有變化,缺少終端或沒有終端電阻時所測到的電壓我認為是單純由CAN驅動器所產生的,離發送端越遠,電壓差異越大。
淺談CAN總線協議
控制器局域網CAN( Controller Area Network)屬于現場總線的范疇,是一種有效支持分布式控制系統的串行通信網絡。是由德國博世公司在20世紀80年代專門為汽車行業開發的一種串行通信總線。由于其高性能、高可靠性以及獨特的設計而越來越受到人們的重視,被廣泛應用于諸多領域。而且能夠檢測出產生的任何錯誤。當信號傳輸距離達到10km時,CAN仍可提供高達50kbit/s的數據傳輸速率。由于CAN總線具有很高的實時性能和應用范圍,從位速率最高可達1Mbps的高速網絡到低成本多線路的50Kbps網絡都可以任意搭配。因此,CAN己經在汽車業、航空業、工業控制、安全防護等領域中得到了廣泛應用。
隨著CAN總線在各個行業和領域的廣泛應用,對其的通信格式標準化也提出了更嚴格的要求。1991年CAN總線技術規范(Version2.0)制定并發布。該技術規范共包括A和B兩個部分。其中2.0A給出了CAN報文標準格式,而2.0B給出了標準的和擴展的兩種格式。美國的汽車工程學會SAE在2000年提出了J1939協議,此后該協議成為了貨車和客車中控制器局域網的通用標準。CAN總線技術也在不斷發展。傳統的CAN是基于事件觸發的,信息傳輸時間的不確定性和優先級反轉是它固有的缺陷。當總線上傳輸消息密度較小時,這些缺陷對系統的實時性影響較小;但隨著在總線上傳輸消息密度的增加,系統實時性能會急劇下降。為了滿足汽車控制對實時性和傳輸消息密度不斷增長的需要,改善CAN總線的實時性能非常必要。于是,傳統CAN與時間觸發機制相結合產生了TTCAN(Time-Triggered CAN),ISO11898-4己包含了TTCAN。 TTCAN總線和傳統CAN總線系統的區別是:總線上不同的消息定義了不同的時間槽(Timer Slot)。
相關組織
依據國際標準化組織/開放系統互連(International Standardi-zation Organization/Open SystemInterconnection,ISO/OSI)參考模型,CAN的ISO/OSI參考模型的層結構。
概念和特征
CAN總線的工作原理
CAN總線使用串行數據傳輸方式,可以1Mb/s的速率在40m的雙絞線上運行,也可以使用光纜連接,而且在這種總線上總線協議支持多主控制器。 [1] CAN與I2C總線的許多細節很類似,但也有一些明顯的區別。當CAN總線上的一個節點(站)發送數據時,它以報文形式廣播給網絡中所有節點。對每個節點來說,無論數據是否是發給自己的,都對其進行接收。每組報文開頭的11位字符為標識符,定義了報文的優先級,這種報文格式稱為面向內容的編址方案。在同一系統中標識符是唯一的,不可能有兩個站發送具有相同標識符的報文。當幾個站同時競爭總線讀取時,這種配置十分重要。
當一個站要向其它站發送數據時,該站的CPU將要發送的數據和自己的標識符傳送給本站的CAN芯片,并處于準備狀態;當它收到總線分配時,轉為發送報文狀態。CAN芯片將數據根據協議組織成一定的報文格式發出,這時網上的其它站處于接收狀態。每個處于接收狀態的站對接收到的報文進行檢測,判斷這些報文是否是發給自己的,以確定是否接收它。由于CAN總線是一種面向內容的編址方案,因此很容易建立高水準的控制系統并靈活地進行配置。我們可以很容易地在CAN總線中加進一些新站而無需在硬件或軟件上進行修改。當所提供的新站是純數據接收設備時,數據傳輸協議不要求獨立的部分有物理目的地址。它允許分布過程同步化,即總線上控制器需要測量數據時,可由網上獲得,而無須每個控制器都有自己獨立的傳感器。
CAN總線特征
(1)報文(Message)總線上的數據以不同報文格式發送,但長度受到限制。當總線空閑時,任何一個網絡上的節點都可以發送報文。
(2)信息路由(Information Routing)在CAN中,節點不使用任何關于系統配置的報文,比如站地址,由接收節點根據報文本身特征判斷是否接收這幀信息。因此系統擴展時,不用對應用層以及任何節點的軟件和硬件作改變,可以直接在CAN中增加節點。
(3)標識符(Identifier) 要傳送的報文有特征標識符(是數據幀和遠程幀的一個域),它給出的不是目標節點地址,而是這個報文本身的特征。信息以廣播方式在網絡上發送,所有節點都可以接收到。節點通過標識符判定是否接收這幀信息。
(4)數據一致性應確保報文在CAN里同時被所有節點接收或同時不接收,這是配合錯誤處理和再同步功能實現的。
(5)位傳輸速率不同的CAN系統速度不同,但在一個給定的系統里,位傳輸速率是唯一的,并且是固定的。
(6)優先權 由發送數據的報文中的標識符決定報文占用總線的優先權。標識符越小,優先權越高。
(7)遠程數據請求(Remote Data Request) 通過發送遠程幀,需要數據的節點請求另一節點發送相應的數據。回應節點傳送的數據幀與請求數據的遠程幀由相同的標識符命名。
(8)仲裁(Arbitration) 只要總線空閑,任何節點都可以向總線發送報文。如果有兩個或兩個以上的節點同時發送報文,就會引起總線訪問碰撞。通過使用標識符的逐位仲裁可以解決這個碰撞。仲裁的機制確保了報文和時間均不損失。當具有相同標識符的數據幀和遠程幀同時發送時,數據幀優先于遠程幀。在仲裁期間,每一個發送器都對發送位的電平與被監控的總線電平進行比較。如果電平相同,則這個單元可以繼續發送,如果發送的是“隱性”電平而監視到的是“顯性”電平,那么這個單元就失去了仲裁,必須退出發送狀態。
(9)總線狀態 總線有“顯性”和“隱性”兩個狀態,“顯性”對應邏輯“0”,“隱性”對應邏輯“1”。“顯性”狀態和“隱性”狀態與為“顯性”狀態,所以兩個節點同時分別發送“0”和“1”時,總線上呈現“0”。CAN總線采用二進制不歸零(NRZ)編碼方式,所以總線上不是“0”,就是“1”。但是CAN協議并沒有具體定義這兩種狀態的具體實現方式。
(10)故障界定(Confinement) CAN節點能區分瞬時擾動引起的故障和永久性故障。故障節點會被關閉。
(11)應答接收節點對正確接收的報文給出應答,對不一致報文進行標記。
(12)CAN通訊距離最大是10公里(設速率為5Kbps),或最大通信速率為1Mbps(設通信距離為40米)。
(13)CAN總線上的節點數可達110個。通信介質可在雙絞線,同軸電纜,光纖中選擇。
(14)報文是短幀結構,短的傳送時間使其受干擾概率低,CAN有很好的校驗機制,這些都保證了CAN通信的可靠性。
CAN總線的特點
(1)具有實時性強、傳輸距離較遠、抗電磁干擾能力強、成本低等優點;
(2)采用雙線串行通信方式,檢錯能力強,可在高噪聲干擾環境中工作;
(3)具有優先權和仲裁功能,多個控制模塊通過CAN 控制器掛到CAN-bus 上,形成多主機局部網絡;
(4)可根據報文的ID決定接收或屏蔽該報文;
(5)可靠的錯誤處理和檢錯機制;
(6)發送的信息遭到破壞后,可自動重發;
(7)節點在錯誤嚴重的情況下具有自動退出總線的功能;
(8)報文不包含源地址或目標地址,僅用標志符來指示功能信息、優先級信息。
協議內容
CAN總線的物理層是將ECU連接至總線的驅動電路。ECU的總數將受限于總線上的電氣負荷。物理層定義了物理數據在總線上各節點間的傳輸過程,主要是連接介質、線路電氣特性、數據的編碼/解碼、位定時和同步的實施標準。
總線競爭的原則
BOSCH CAN基本上沒有對物理層進行定義,但基于CAN的ISO標準對物理層進行了定義。設計一個CAN系統時,物理層具有很大的選擇余地,但必須保證CAN協議中媒體訪問層非破壞性位仲裁的要求,即出現總線競爭時,具有較高優先權的報文獲取總線競爭的原則,所以要求物理層必須支持CAN總線中隱性位和顯性位的狀態特征。在沒有發送顯性位時,總線處于隱性狀態,空閑時,總線處于隱性狀態;當有一個或多個節點發送顯性位,顯性位覆蓋隱性位,使總線處于顯性狀態。
在此基礎上,物理層主要取決于傳輸速度的要求。從物理結構上看,CAN節點的構成如圖7-8所示。在CAN中,物理層從結構上可分為三層:分別是物理信號層(Physical Layer Signaling,PLS)、物理介質附件(Physical MediaAttachment,PMA)層和介質從屬接口(Media Dependent:Inter-face,MDI)層。其中PLS連同數據鏈路層功能由CAN控制器完成,PMA層功能由CAN收發器完成,MDI層定義了電纜和連接器的特性。目前也有支持CAN的微處理器內部集成了CAN控制器和收發器電路,如MC68HC908GZl6。PMA和MDI兩層有很多不同的國際或國家或行業標準,也可自行定義,比較流行的是ISOll898定義的高速CAN發送/接收器標準。
節點數量
CAN網絡上的節點不分主從,任一節點均可在任意時刻主動地向網絡上其他節點發送信息,通信方式靈活,利用這一特點可方便地構成多機備份系統,CAN只需通過報文濾波即可實現點對點、一點對多點及全局廣播等幾種方式傳送接收數據,無需專門的“調度”。 CAN的直接通信距離最遠可達10km(速率5kbps以下);通信速率最高可達1Mbps(此時通信距離最長為40m)。 CAN上的節點數主要決定于總線驅動電路,目前可達110個;報文標識符可達2032種(CAN2.0A),而擴展標準(CAN2.0B)的報文標識符幾乎不受限制。
CAN的數據鏈路層
CAN的數據鏈路層是其核心內容,其中邏輯鏈路控制(Logical Link control,LLC)完成過濾、過載通知和管理恢復等功能,媒體訪問控制(Medium Access control,MAC)子層完成數據打包/解包、幀編碼、媒體訪問管理、錯誤檢測、錯誤信令、應答、串并轉換等功能。這些功能都是圍繞信息幀傳送過程展開的。
結語
關于CAN總線的相關介紹就到這了,如有不足之處歡迎指正。
評論
查看更多