首頁 Tech Solution 系統整合 CAN Bus 介紹

技術 / 解決方案 / FAQ

CAN Bus 介紹

前言

Winstar近年來持續思考如何為客戶提供全方位服務,並積極推出SmartDisplay產品,首批推出的CAN系列SmartDisplay便是以此為出發點而上架的智能型顯示器。到底CAN介面是什麼?作用原理為何?又能為顧客帶來什麼樣的好處呢?以下解說帶大家一起了解:

 

介紹

CAN (Controller Area Network, 網域控制器)是一種功能強大的車用標準通訊介面。相較於其他通訊介面,例如RS485系統,其基本架構一定要有一個主機(Master)作為控制端,並且每一子設備(Slave)的發言權都被主機監控;CAN提供了更佳靈活的通訊應用,其不需要主機控制。

CAN使用廣播機制同一網域上的電子控制器(ECU, Electronic Control Unit),彼此間即可相互發言(通訊),且每一個設備之間可透過軟體的設定,使用唯一且獨立的訊息識別碼(Message Identifier)來定義各個設備發言的先後順序。

各設備在CAN系統中,因為每一個設備被賦予的訊息識別碼都是唯一且獨立,使得CAN具備很好的彈性調整能力,可以在不做任何軟、硬體的變動下,靈活且簡單地在現有網絡中進行設備的增加或移除。另外,訊號的傳輸不須建立在主機中,也就是說不論是新增或是移除設備,都不會影響到其他設備的運作,增加了網域內設備使用的便利性。

CAN bus目前最主要的應用領域為車用市場,但因CAN bus介面使用唯一訊息識別碼進行訊號的傳送接收,以及網域內的設備可彈性地新增或移除,使得CAN能完全滿足資料溝通時的可靠性與即時回饋需求,這也是為什麼近年來 CAN bus的應用從車用不斷擴展至工控、醫療和其它領域的原因。

 

RS485系統拓撲圖

RS485系統拓撲圖

 

CAN bus系統拓撲圖

CAN bus系統拓撲圖

 

CAN bus系統拓撲圖(含子方塊)

CAN bus系統拓撲圖(含子方塊)

 

CAN bus歷史沿革

  • 1983年,BOSCH開發CAN bus介面
  • 1986年,CAN介面在美國密歇根州底特律召開的國際汽車工程師學會(SAE, Society of Automotive Engineers)會議上正式發表。
  • 1987年,Intel和飛利浦共同製造並發行世界上第一款CAN控制器。
  • 1991年,第一款配備CAN bus系統的汽車--Mercedes-Benz W140問世。
  • 1996年,美國銷售的汽車和輕型卡車都必須支援OBD-II標準(即接上OBD設備後即可進行設備錯誤診斷)。
  • 2001年,歐盟銷售的汽油車,以及2004年以後銷售的柴油車輛必須支援EOBD(歐洲車載診斷)標準。

BOSCH 至今已發布數個版本的 CAN bus規範,其中1991年發布CAN 2.0並將規範分為兩部分: A部分(CAN 2.0A),適用於11位元識別碼的標準格式,與B部分(CAN 2.0B),適用於29位元識別碼的擴充格式。

1993年,國際標準化組織(ISO)發布ISO11898作為CAN的標準。而後CAN標準又被重新編譯成三個部分:

- ISO11898-1,涵蓋軟體部份的資料連結層。
- ISO11898-2,涵蓋硬體部份、高速CAN bus的實體層。
- ISO11898-3,補充硬體部份低速 CAN bus的實體層,以及CAN bus的容錯規範。

 

Winstar SmartDisplay CAN系列產品皆按ISO國際標準定義設計,不管在軟體或硬體的架構上皆符合國際規範與需求,提供客戶產品使用與維護上的便利性!

 

2008年,在美國銷售的所有車輛都必須導入CAN作為其通訊協議之一。

2012年,BOSCH發布更有彈性的CAN_FD(Flexible Data rate) 1.0通訊協定,當網域內的設備因彼此之間傳輸速率不同而產生衝突時,CAN_FD允許設備的發言順序決定後,切換到更快的位元速率進行資料的傳輸。而CAN FD協定也能向下相容現有的CAN 2.0架構,因此支援CAN FD的設備也可以和現有的CAN 2.0設備並存於同一網域中。

 
CAN bus歷史沿革

 

CAN硬體特色

CAN網域內的所有設備(節點)只須透過兩條扭絞在一起的導線即可進行訊號的傳輸,按CAN的ISO規範,雙絞線的終端會以120Ω的阻抗連接以維持訊號的穩定與匹配。

作用原理:

  • 當CAN bus傳送顯性(Dominate)信號(0)時,會將導線的CAN_H訊號拉高、CAN_L訊號拉低,而訊號的高低之間便會產生一明顯的電位差。一般傳送僅拉高單一訊號相比,CAN H/L之間的相位差距更高,這也是為什麼CAN bus非常有利於長距離的訊號傳輸。
  • 而傳送隱性(Recessive)(1)信號時, CAN_H與CAN_L訊號皆不作動。
  • 按ISO規範,顯性(Dominate)信號的CAN_H、CAN_L之間的電壓差為2V。

CAN_H/CAN_L實體層訊號示意圖

CAN_H/CAN_L實體層訊號示意圖

 

以SmartDsiplay--WL0F00039000QGAAASB00實測CAN_H/CAN_L波形

以SmartDsiplay--WL0F00039000QGAAASB00實測CAN_H/CAN_L波形

 

CAN韌體特色

在訊息傳遞上,每個設備(節點)都可以發送、接收信息,但信息的傳送與接收不能同時,一個訊息或幀(Frame)主要包含:

  1. 位於仲裁區的識別碼(ID),用以標示該訊息的優先順序。
  2. 位於控制區的資料長度訊息,用於標示資料長度。
  3. 位於資料區的資料內容,用於記載資料內容,又稱有效荷載(Payload)。
  4. 位於驗證區的校驗碼,用於驗證前述資料是否有錯誤。

CAN2.0 A/ CAN2.0 B資料格式

 
CAN2.0 A/ CAN2.0 B資料格式
 

CAN bus流量數據示意

CAN bus流量數據示意
 

有效載荷(payload)中的資料序列

有效載荷(payload)中的資料序列

 

訊號傳遞邏輯:

當一設備傳送顯性(Dominate)訊號(0),而另一個設備傳送隱性(1)訊號,此時網絡線(bus)上便產生訊號衝突,此時仲裁機制由顯性(Dominate)信號(0)取得優先發送權,而顯性(Dominate)訊號傳送後,隱性訊號將在極短時間內(6個時脈位元)再次重新發送。這代表順位較高的設備,其訊息不會被延遲,而順位較低的設備即使訊息後送,也不會被系統忽略掉,這樣的機制使得CAN非常適合作為即時的通訊系統。

實際的顯性(Dominate)訊號(0)邏輯或隱性(1)訊號邏輯取決於所使用的實體層,但CAN的訊號傳送原則會要求每個設備去監控整個網域上的包含自身所發出的資料數據。

  • 當所有設備同時傳送隱性訊號(1)時,網絡中所有設備將同時都收到該隱性訊號(1)
  • 當所有設備同時傳送顯性(Dominate)訊號(0)時,網絡中所有設備將同時都收到該顯性(Dominate)訊號(0)
  • 當一個或多個設備傳送主訊號(0),而另外也有一個或多個設備傳送隱性訊號(1)時,因為主訊號(0)的優先權較高,所有設備將收到顯性(Dominate)訊號(0)設備的訊息,此時傳送隱性訊號(1)的設備將在顯性(Dominate)訊號(0)傳遞完成後,再次重新傳送 藉由仲裁的過程,當其他設備發送邏輯0,也就是顯性(Dominate)訊號(0)時,任何發送邏輯1,即隱性訊號(1)的設備將被暫時退出(或說失去仲裁),這表示在系統中,顯性(Dominate)訊號(0)設備的優先將高於權隱性訊號(1)設備。

失去仲裁的設備,將在極短時間內再次重新發送訊息,網域內的判斷邏輯會針對同時傳送訊息的各設備不斷進行仲裁,直到最後一個設備發送出訊息。

 

結論

 

使用CAN bus的5個好處

 

低成本:電子控制單位(ECU)只需透過一條雙絞導線即可進行通訊,相較一般網狀通訊所需要的線材更少,且實體層系統的重量也可有效減輕。

堅固:單一設備的故障不影響整體系統的運作,且能提供較高的訊號相位差來確保電磁兼容性(EMC),即使長距離傳輸也不易產生訊號干擾。
靈活:網域內不需進行軟、硬體的修改,即可輕鬆地新增或移除設備。
高效率:透過識別碼的排序與仲裁判定訊息傳送的先後順序,不僅最高優先權的設備傳送訊號不中斷,較低順位的設備所傳送的訊號也不會被遺漏。
集中檢測:透過彈性化的設備擴充機制,只需在CAN bus網域內新增一診斷設備,即可對所有設備進行錯誤診斷。

 

應用範例

►車用(車載儀表、ABS、OBD-II等)
►運輸系統(火車、飛機、船舶等)
►工業用機器(堆高機、挖土機、挖礦機、農用耕耘機等)
►工控系統(工業自動化、信息管理系統等)
►家用與大樓自動化設備(HVAC空氣調節系統、電梯等)
►醫療設備與實驗室自動化

 

限制說明

►CANopen軟體通訊協定一組訊息內容為11位元,包含4位元功能碼,和7位元的設備ID。因此一個bus上最多可使用127 (2^7 - 1)個設備作為唯一識別碼。
►J1939軟體通訊協定有8位元的設備ID,理論上最大可使用255 (2^8 – 1) 個設備作為唯一識別碼;但此協定的第254保留作為網域管理、255用於廣播,因此一個總線(bus)上最多可使用253個設備作為唯一識別碼。
►通訊頻寬較低,因此速度會與傳輸距離成反比。

 

回分類頁
go top
close