can總線的特點和優缺點以及和485比較

什麼是CAN總線

  CAN是控制器局域網絡(ControllerAreaNetwork,CAN)的簡稱,是由以研發和生產汽車電子產品著稱的德國BOSCH公司開發的,並最終成爲國際標準(ISO11898),是國際上應用最廣泛的現場總線之一。在北美和西歐,CAN總線協議已經成爲汽車計算機控制系統和嵌入式工業控制局域網的標準總線,並且擁有以CAN爲底層協議專爲大型貨車和重工機械車輛設計的J1939協議。

  CAN總線的特點

  (1)它是一種多主總線,即每個節點機均可成爲主機,且節點機之間也可進行通信。

  (2)通信介質可以是雙絞線、同軸電纜或光導纖維,通信速率可達1mb/s。

  (3)can總線通信接口中集成了can協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗餘校驗、優先級判別等項工作。

  (4)can協議的一個最大特點是廢除了傳統的站地址編碼,雨代之以對通信數據塊進行編碼。採用這種方法的優點是可使網絡內的節點個數在理論上不受限制,數據塊的標識碼可由11位或29位二進制數組成,因此可以定義211或229個不同的數據塊,這種數據塊編碼方式,還可使不同的節點同時接收到相同的數據,這一點在分步式控制中非常重要。

  (5)數據段長度最多爲8個字節,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節不會佔用總線時間過長,從而倮證了通信的實時性。

  (6)can協議採用crc檢驗並可提供相應的錯誤處理功能,保證了數據通信的可靠性。can總線所具有的卓越性能、極高的可靠性和獨特設計,特別適合工業設各測控單元互連。因此備受工業界的重視,並已公認爲最有前途的現場總線之一。

  CAN總線的工作原理

一文讀懂can總線的特點和優缺點

  CAN總線使用串行數據傳輸方式,可以1Mb/s的速率在40m的雙絞線上運行,也可以使用光纜連接,而且在這種總線上總線協議支持多主控制器。CAN與I2C總線的許多細節很類似,但也有一些明顯的區別。

  當CAN總線上的一個節點(站)發送數據時,它以報文形式廣播給網絡中所有節點。對每個節點來說,無論數據是否是發給自己的,都對其進行接收。每組報文開頭的11位字符爲標識符,定義了報文的優先級,這種報文格式稱爲面向內容的編址方案。在同一系統中標識符是唯一的,不可能有兩個站發送具有相同標識符的報文。當幾個站同時競爭總線讀取時,這種配置十分重要。

  當一個站要向其它站發送數據時,該站的CPU將要發送的數據和自己的標識符傳送給本站的CAN芯片,並處於準備狀態;當它收到總線分配時,轉爲發送報文狀態。CAN芯片將數據根據協議組織成一定的報文格式發出,這時網上的其它站處於接收狀態。每個處於接收狀態的站對接收到的報文進行檢測,判斷這些報文是否是發給自己的,以確定是否接收它。

  由於CAN總線是一種面向內容的編址方案,因此很容易建立高水準的控制系統並靈活地進行配置。我們可以很容易地在CAN總線中加進一些新站而無需在硬件或軟件上進行修改。當所提供的新站是純數據接收設備時,數據傳輸協議不要求獨立的部分有物理目的地址。它允許分佈過程同步化,即總線上控制器需要測量數據時,可由網上獲得,而無須每個控制器都有自己獨立的傳感器。

  CAN總線的優點

  ● 具有實時性強、傳輸距離較遠、抗電磁干擾能力強、成本低等優點;

  ● 採用雙線串行通信方式,檢錯能力強,可在高噪聲干擾環境中工作;

  ● 具有優先權和仲裁功能,多個控制模塊通過CAN 控制器掛到CAN-bus 上,形成多主機局部網絡;

  ● 可根據報文的ID決定接收或屏蔽該報文;

  ● 可靠的錯誤處理和檢錯機制;

  ● 發送的信息遭到破壞後,可自動重發;

  ● 節點在錯誤嚴重的情況下具有自動退出總線的功能;

  ● 報文不包含源地址或目標地址,僅用標誌符來指示功能信息、優先級信息。

  CAN總線缺點

  1)不一致性

  CAN總線中有一個著名的Last-But-One-Bit 錯誤。CAN總線2 OA在信息認證(MessageValidaTIon)中規定: 發送器驗錯的範圍可覆蓋到幀結束,如果發現錯誤,以後就按優先權和狀態的規定重發; 接 器驗錯的範圍覆蓋到幀結束的前一位。因此,如果由於空間干擾、電 源波動等原因,對於幀的倒數第二位,一部分節點A認爲無錯,一 部分節點B 認爲有錯,即出現了所謂的ByzanTIne 錯誤。這時,根 EOF 應該是7 個隱性位,節點B 認爲這是一種形式錯誤,所以就會啓動錯誤幀,通知發送器重發,同時丟棄收到的幀。而認爲設錯的節點A 由於只查到倒數第二位,因此就會接收此幀。如果在發送器例行的下一次發送前B 通知的重發成功,A就會收到重複幀; 如果重發不成功,B 就丟了一幀。在轉向和制動系統中,4 個輪子對命令的不同理解,可能造成性能的下降或其他更嚴重的後果。

  2)不可預測性

  CAN總線將節點狀態分爲ErrorAcTIve、Error Passive 和Bus Off 三種,這三種狀態在一定條件下可以互相轉換。不同狀態中節點的發送有不同的延遲。最高優先權的信息發送延遲有幾種可能: 當節點狀態爲ErrorAcTIve 時,若總線空閒,則立即發送; 當節點狀態爲ErorActive時,如果其它幀正在發送,則需等正在發送的報文結束後,再過3 位後發送; 當節點狀態爲ErrorPassive 時,它有一個出錯重發的要求,若沒有其它幀要發送,等3 位傳送(Intemission)和8 位掛起傳送(Suspend Transmission)後重發; 當節點狀態爲Error Passive時,若總線空閒,出錯後等別的信息發送完後再發,等待時間與其它幀的長度有關; 當節點狀態爲Bus Off 時,需等狀態恢復到ErrorPassive 或ErrorActive 再發。

  當確認某節點的狀態時,還有幾個因素需要考慮: 首先,節點由最高優先權的信息和其他信息共用,因此,其他信息在傳送過程中出現的錯誤也會影響到節點狀態; 其次,進入ErrorPassive 或BusOff 狀態的條件是發送錯誤計數器與/或接收錯誤計數器的值,由於CAN 的原子廣播特點,其它節點的發送錯誤或接收錯誤會開啓一個錯誤幀,從而影響到該節點的接收錯誤計數器的值,進而影響節點狀態。

  對於優先權較低的信息來說,發送時間的離散程度更大。在反饋控制系統中,採樣調節週期的大範圍抖動相當於信號延遲後的變化,它有可能使系統性能下降或不穩定。在與安全相關的開環系統中,抖動可能造成動作順序的混亂。

  3)信道出錯堵塞

  節點有可能受干擾或其它原因暫時或永久失效,出錯的主機會命令CAN 收發器不斷髮送消息,即所謂的Babbling ldiot 錯誤。由於該信息的格式等均合法,因此CAN 沒有相應的機制來處理這種情況。根據CAN 的優先權機制,比它優先權低的信息就被暫時或永久堵塞。由於CAN總線存在上述幾種根本的缺陷,因此,在更爲嚴格的控制系統中,它將會造成巨大的風險,無法滿足安全、環保、節能的要求。CAN 的事件觸發協議特點限制了ECU 的應用、開發與生產,不僅用過的ECU 難於重用,而且還不利於改善和開發新的ECU。

一文讀懂can總線的特點和優缺點

  CAN總線的應用

  現在CAN的高性能和可靠性已被認同,並被廣泛地應用於工業自動化、船舶、醫療設備、工業設備等方面,現場總線是當今自動化領域技術發展的熱點之一、被譽爲自動化領域的計算機局域網。它的出現爲分佈式控制系統實現各節點之間實時、可靠的數據通信提供了強有力的技術支持。

  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與RS485總線的特點及優缺點比較

CAN總線特點:

1、國際標準的工業級現場總線,傳輸可靠,實時性高;  
2、傳輸距離遠(最遠10Km),傳輸速率快(最高1MHz bps); 
3、單條總線最多可接110個節點,並可方便的擴充節點數;  
4、多主結構,各節點的地位平等,方便區域組網,總線利用率高;  
5、實時性高,非破壞總線仲裁技術,優先級高的節點無延時;  
6、出錯的CAN節點會自動關閉並切斷和總線的聯繫,不影響總線的通訊;  
7、報文爲短幀結構並有硬件CRC校驗,受干擾概率小,數據出錯率極低;  
8、自動檢測報文發送成功與否,可硬件自動重發,傳輸可靠性很高;  
9、硬件報文濾波功能,只接收必要信息,減輕cpu負擔,簡化軟件編制;  
10、通訊介質可用普通的雙絞線,同軸電纜或光纖等;  
11、CAN總線系統結構簡單,有極高的性價比。

RS485接口標準特點:

(1) RS-485的電氣特性:邏輯"1"以兩線間的電壓差爲+(2-6)V表示;邏輯"0"以兩線間的電壓差爲-(2-6)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL 電路連接。
(2) RS-485的數據最高傳輸速率爲10Mbps
(3) RS-485接口是採用平衡驅動器和差分接收器的組合,抗共模幹能力增強,即抗噪聲干擾性好。
(4) RS-485接口的最大傳輸距離標準值爲4000英尺,實際上可達 3000米,另外RS-232-C接口在總線上只允許連接1個收發器,即單站能力。而RS-485接口在總線上是允許連接多達128個收發器。即具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設備網絡。但RS-485總線上任何時候只能有一發送器發送。
(5) 因RS-485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優點就使其成爲首選的串行接口。 
(6) 因爲RS485接口組成的半雙工網絡,一般只需二根連線,所以RS485接口均採用屏蔽雙絞線傳輸。

CAN總線與RS485的比較:

1,速度與距離:CAN與RS485以1Mbit/S的高速率傳輸的距離都不超過100M,可謂高速上的距離差不多。但是在低速時CAN以5Kbit/S時,距離可達10KM,而485再低的速率也只能到1219米左右(都無中繼)。可見CAN在長距離的傳輸上擁有絕對的優勢。

2,總線利用率:RS485是單主從結構,就是一個總線上只能有一臺主機,通訊都由它發起的,它沒有下命令,下面的節點不能發送,而且要發完即答,受到答覆後,主機才向下一個節點詢問,這樣是爲了防止多個節點向總線發送數據,而造成數據錯亂。而CAN-bus是多主從結構,每個節點都有CAN控制器,多個節點發送時,以發送的ID號自動進行仲裁,這樣就可以實現總線數據不錯亂,而且一個節點發完,另一個節點可以探測到總線空閒,而馬上發送,這樣省去了主機的詢問,提高了總線利用率,增強了快速性。所以在汽車等實性要求高的系統,都是用CAN總線,或者其他類似的總線。

3,錯誤檢測機制,RS485只規定了物理層,而沒有數據鏈路層,所以它對錯誤是無法識別的,除非一些短路等物理錯誤。這樣容易造成一個節點破壞了,拼命向總線發數據(一直髮1),這樣造成整個總線癱瘓。所以RS485一旦壞一個節點,這個總線網絡都掛。而CAN總線有CAN控制器,可以對總線任何錯誤進行檢測,如果自身錯誤超過128個,就自動閉鎖。保護總線。如果檢測到其他節點錯誤或者自身錯誤,都會向總線發送錯誤幀,來提示其他節點,這個數據是錯誤的。大家小心。這樣CAN總線一旦有一個節點CPU程序跑飛了,它的控制器自動閉鎖。保護總線。所以在安全性要求高的網路,CAN是很強的。

4,價格與培訓成本:CAN器件的價格大約是485的2倍這樣,485的通訊從軟件上是很方便的,只要懂串行通訊,就可以編程,而CAN需要底層工程師瞭解CAN複雜的層,編寫上位機軟件也要了解CAN的協議。可謂培訓成本較高。

5,CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處於“死鎖”狀態。

6,CAN具有完善的通信協議,可由CAN控制器芯片及其接口芯片來實現,從而大大降低了系統的開發難度,縮短了開發週期,這些是隻僅僅有電氣協議的RS-485所無法比擬的。

 

CAN總線特點:

1、國際標準的工業級現場總線,傳輸可靠,實時性高;  
2、傳輸距離遠(最遠10Km),傳輸速率快(最高1MHz bps); 
3、單條總線最多可接110個節點,並可方便的擴充節點數;  
4、多主結構,各節點的地位平等,方便區域組網,總線利用率高;  
5、實時性高,非破壞總線仲裁技術,優先級高的節點無延時;  
6、出錯的CAN節點會自動關閉並切斷和總線的聯繫,不影響總線的通訊;  
7、報文爲短幀結構並有硬件CRC校驗,受干擾概率小,數據出錯率極低;  
8、自動檢測報文發送成功與否,可硬件自動重發,傳輸可靠性很高;  
9、硬件報文濾波功能,只接收必要信息,減輕cpu負擔,簡化軟件編制;  
10、通訊介質可用普通的雙絞線,同軸電纜或光纖等;  
11、CAN總線系統結構簡單,有極高的性價比。

RS485接口標準特點:

(1) RS-485的電氣特性:邏輯"1"以兩線間的電壓差爲+(2-6)V表示;邏輯"0"以兩線間的電壓差爲-(2-6)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL 電路連接。
(2) RS-485的數據最高傳輸速率爲10Mbps
(3) RS-485接口是採用平衡驅動器和差分接收器的組合,抗共模幹能力增強,即抗噪聲干擾性好。
(4) RS-485接口的最大傳輸距離標準值爲4000英尺,實際上可達 3000米,另外RS-232-C接口在總線上只允許連接1個收發器,即單站能力。而RS-485接口在總線上是允許連接多達128個收發器。即具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設備網絡。但RS-485總線上任何時候只能有一發送器發送。
(5) 因RS-485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優點就使其成爲首選的串行接口。 
(6) 因爲RS485接口組成的半雙工網絡,一般只需二根連線,所以RS485接口均採用屏蔽雙絞線傳輸。

CAN總線與RS485的比較:

1,速度與距離:CAN與RS485以1Mbit/S的高速率傳輸的距離都不超過100M,可謂高速上的距離差不多。但是在低速時CAN以5Kbit/S時,距離可達10KM,而485再低的速率也只能到1219米左右(都無中繼)。可見CAN在長距離的傳輸上擁有絕對的優勢。

2,總線利用率:RS485是單主從結構,就是一個總線上只能有一臺主機,通訊都由它發起的,它沒有下命令,下面的節點不能發送,而且要發完即答,受到答覆後,主機才向下一個節點詢問,這樣是爲了防止多個節點向總線發送數據,而造成數據錯亂。而CAN-bus是多主從結構,每個節點都有CAN控制器,多個節點發送時,以發送的ID號自動進行仲裁,這樣就可以實現總線數據不錯亂,而且一個節點發完,另一個節點可以探測到總線空閒,而馬上發送,這樣省去了主機的詢問,提高了總線利用率,增強了快速性。所以在汽車等實性要求高的系統,都是用CAN總線,或者其他類似的總線。

3,錯誤檢測機制,RS485只規定了物理層,而沒有數據鏈路層,所以它對錯誤是無法識別的,除非一些短路等物理錯誤。這樣容易造成一個節點破壞了,拼命向總線發數據(一直髮1),這樣造成整個總線癱瘓。所以RS485一旦壞一個節點,這個總線網絡都掛。而CAN總線有CAN控制器,可以對總線任何錯誤進行檢測,如果自身錯誤超過128個,就自動閉鎖。保護總線。如果檢測到其他節點錯誤或者自身錯誤,都會向總線發送錯誤幀,來提示其他節點,這個數據是錯誤的。大家小心。這樣CAN總線一旦有一個節點CPU程序跑飛了,它的控制器自動閉鎖。保護總線。所以在安全性要求高的網路,CAN是很強的。

4,價格與培訓成本:CAN器件的價格大約是485的2倍這樣,485的通訊從軟件上是很方便的,只要懂串行通訊,就可以編程,而CAN需要底層工程師瞭解CAN複雜的層,編寫上位機軟件也要了解CAN的協議。可謂培訓成本較高。

5,CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處於“死鎖”狀態。

6,CAN具有完善的通信協議,可由CAN控制器芯片及其接口芯片來實現,從而大大降低了系統的開發難度,縮短了開發週期,這些是隻僅僅有電氣協議的RS-485所無法比擬的。

特性

RS-485

CAN-bus

單點成本

低廉

稍高

系統成本

較低

總線利用率

網絡特性

單主網絡

多主網絡

數據傳輸率

容錯機制

可靠的錯誤處理和檢錯機制

通訊失敗率

極低

節點錯誤的影響

導致整個網絡的癱瘓

無任何影響

通訊距離

<1.5km

可達10km(5kbps)

網絡調試

困難

非常容易

開發難度

標準Modbus協議

標準CAN-bus協議

後期維護成本

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章