今年CAN總線35周年了,給大家分享一下CAN總線的歷史。
1986年2月,Robert Bosch GmbH在汽車工程師協會(SAE)大會上推出了控制器局域網(CAN)串行總線系統。這是有史以來最成功的網絡協議之一誕生的時刻。如今,歐洲幾乎所有汽車都配備了至少一個CAN網絡。CAN還用于其他類型的車輛,從火車到輪船,以及工業控制中,CAN是最主要的總線協議之一,甚至可能是全球領先的串行總線系統。
1
從構思到第一個芯片
在1980年代初期,博世的工程師正在評估現有的串行總線系統,以探討其在汽車中的可能用途。由于沒有可用的網絡協議能夠滿足汽車工程師的要求,因此Uwe Kiencke于1983年開始開發新的串行總線系統。
新的總線協議主要是要增加新的功能 --- 減少線束不是CAN發展背后的驅動力。奔馳的工程師很早就參與了新的串行總線系統的規范制定階段,英特爾作為潛在的主要半導體供應商也參與了進來。來自德國Braunschweig-Wolfenbüttel的應用科學大學(現為Ostfalia University of Applied Science)的Wolfhard Lawrenz教授被聘為顧問,他將新的網絡協議命名為“Controller Area Network(控制器區域網絡)”。來自卡爾斯魯厄大學的Horst Wettstein教授也提供了學術幫助。
1986年2月,CAN誕生了:在底特律的SAE大會上,新的總線系統被稱為“Automotive Serial Controller Area Network(汽車串行控制器局域網)”。Uwe Kiencke,Siegfried Dais和Martin Litschel介紹了多主網絡協議。它基于一種非破壞性仲裁機制,該機制允許總線訪問具有最高優先級的幀而沒有任何延遲。沒有中心控制器。此外,CAN之父(上述人員以及博世員工Wolfgang Borst,Wolfgang Botzenhard,Otto Karl,Helmut Schelling和Jan Unruh)已經實現了幾種錯誤檢測機制。錯誤處理還包括自動斷開故障總線節點,以保持其余節點之間的通信。傳輸的幀不是由幀發送器或幀接收器的節點地址(幾乎在所有其他總線系統中)識別的,而是由它們的內容識別的。表示幀有效載荷的標識符,還具有指定幀在網絡段內的優先級。
隨后,許多介紹該創新通信協議的演講和出版物,直到1987年中期(比計劃提前兩個月),英特爾才交付了第一款CAN控制器芯片82526。這是CAN協議的第一個硬件實現。在短短四年內,一個想法就變成了現實。此后不久,飛利浦半導體推出了82C200。CAN控制器的這兩個最早的祖先在接受過濾和幀處理方面有很大的不同。一方面,與飛利浦選擇的BasicCAN實施相比,英特爾所青睞的FullCAN概念要求所連接的微控制器的CPU負載更少。另一方面,FullCAN設備在可以接收的幀數方面受到限制。BasicCAN控制器還需要更少的硅。在當今的CAN控制器中,實現了接受過濾和幀處理這兩種概念的混合。這使BasicCAN和FullCAN的誤導性術語過時了。
2
標準化和規格
博世CAN規范(2.0版)已于1990年代初提交國際標準化。在發生了幾場政治糾紛之后,尤其是涉及到法國一些主要汽車制造商開發的“車載區域網絡”(VAN,Vehicle Area Network),ISO 11898標準于1993年11月發布。除了CAN協議外,它還標準化了物理層,速率高達1 Mbit / s。同時,ISO 11519-2對通過CAN的低功耗,容錯數據傳輸方式進行了標準化。由于該標準存在缺陷,因此從未實施。在1995年,ISO 11898標準通過附錄進行了擴展,該附錄描述了使用29位CAN標識符的擴展幀格式。
不幸的是,所有已發布的CAN規范和標準化都包含錯誤或不完整。為避免不兼容的CAN實施方案,Bosch確保所有CAN芯片均符合Bosch CAN參考模型。此外,由Wolfhard Lawrenz教授領導的德國Braunschweig-Wolfenbüttel應用科學大學已經進行了幾年的CAN一致性測試。所使用的測試模式基于ISO 16845一致性測試計劃標準系列。今天,多家測試機構可提供CAN一致性測試服務。
修訂后的CAN規范已標準化。ISO 11898-1描述了“ CAN數據鏈路層”,ISO 11898-2標準化了“非容錯” CAN物理層,而ISO 11898-3指定了“容錯CAN物理層”。ISO 11992系列(卡車和拖車接口)和ISO 11783(農業和林業機械)系列指定了基于SAE J1939網絡方法的應用程序配置文件。它們不兼容,因為物理層規范不同。
3
CAN時代的先鋒
盡管CAN最初被開發用于汽車,但最初的應用來自不同的市場領域。特別是在北歐,CAN在早期已經非常流行。在芬蘭,電梯制造商Kone 使用了CAN總線。瑞典工程辦公室Kvaser向一些紡織機械制造商(Lindauer Dornier和Sulzer)及其供應商建議將CAN作為機器內部的通信協議。在Lars-Berno Fredriksson的領導下,這些公司成立了“ CAN紡織品用戶小組”。到1989年,他們制定了溝通原則,有助于在1990年代初塑造發展環境“ CAN Kingdom”。盡管相對于OSI參考模型,CAN Kingdom不是應用程序層。
在荷蘭,飛利浦醫療系統決定將CAN用于其X射線機的內部聯網,從而加入了工業CAN用戶。主要由Tom Suters開發的“ Philips消息規范”(PMS)代表了CAN網絡的第一個應用層。來自德國Weingarten應用科學大學的Konrad Etschberger教授也有相同的想法,在他負責的Steinbeis過程自動化轉移中心(STZP)中,他開發了類似的協議。
盡管第一個標準化的高層協議開始出現,但大多數CAN開拓者還是采用了整體法。通信功能,網絡管理和應用程序代碼是一種軟件。即使某些用戶希望采用模塊化的方法,但他們仍有專有解決方案的缺點。增強和維護CAN高層協議的必要努力被低估了 ---今天仍然部分是正確的。
在1990年代初,是時候成立了一個用戶小組,以推廣CAN協議并促進其在許多應用中的使用。1992年1月,當時的《 VMEbus》雜志編輯(出版商:Franzis)的Holger Zeltwanger吸引了用戶和制造商一起建立了一個中立的平臺,用于CAN的技術增強以及串行總線系統的市場營銷。兩個月后,“ CAN in Automation”(CiA)國際用戶和制造商小組正式成立。在早期,CAN通訊已經出版。
僅幾周后發布的第一份技術出版物涉及物理層:CiA建議僅使用符合ISO 11898的CAN收發器。如今,制造商專用的EIA-485收發器在CAN網絡中非常普遍,那個時候,并不總是兼容,應該已經完全消失了。
CiA的首要任務之一是規范CAN應用層。利用飛利浦醫療系統公司和STZP提供的現有材料,并在CiA其他成員的幫助下,開發了“ CAN應用程序層”(CAL),也稱為“綠皮書”。在使用CAN制定規范時,CiA的主要任務之一是組織CAN專家與那些希望在CAN上變得更多知識的專家之間的信息交換。因此,自1994年以來,舉行了國際CAN會議(iCC)。
LAV(德國農業車輛協會)追求另一種學術方法。自1980年代后期以來,已經開發了基于CAN的農用車輛總線系統(LBS)。但是在這項工作可以成功完成之前,國際委員會已決定支持美國的解決方案J1939(ISO 11783)。此應用程序配置文件也基于CAN,由SAE卡車和公共汽車協會的委員會定義。J1939是一種非模塊化方法,非常易于使用,但也非常不靈活。
還為卡車開發了CAN的標準化。卡車和拖車之間的網絡標準化為ISO11992。該協議基于J1939,從2006年起必須在歐洲使用。汽車的趨勢是向OSEK-COM和OSEK-NM,通信協議和網絡管理邁進。兩者均已提交國際標準化。到目前為止,汽車制造商一直在使用專有軟件解決方案。
4
從理論到實踐
當然,將CAN內核實現到其微控制器中的半導體供應商主要集中在汽車行業。自1990年代中期以來,英飛凌科技公司(以前為西門子半導體公司)和摩托羅拉公司(外包為飛思卡爾,后來被NXP收購)已經向歐洲汽車制造商及其供應商運送了大量CAN控制器。自1990年代末以來,遠東半導體供應商也開始提供CAN控制器。NEC在1994年推出了他們傳奇的CAN芯片72005,但為時過早-該組件在商業上并不成功。
自1991年以來,奔馳一直在其汽車中使用CAN。第一步,通過CAN連接負責發動機管理的電子控制單元。1995年,寶馬在其7系汽車中使用了帶有五個ECU(電子控制單元)的樹/星拓撲CAN網絡。第二步,跟隨人體電子設備所需的控制單元。實現了兩個物理上分離的CAN網絡,通常通過網關連接。其他汽車制造商也沿用了奔馳的方式,通常在乘用車中實現兩個CAN網絡。如今,他們都在自己的車輛中實現了多個CAN網絡。
在1990年代初期,美國機械工程公司Cincinnati Milacron的工程師與Allen-Bradley和Honeywell Microswitch共同成立了一家合資公司,以基于CAN的控制和通信項目。但是,不久之后,重要的項目成員換了工作,合資企業瓦解了。但是Allen-Bradley和Honeywell分別繼續工作。這導致了至少在較低的通信層中非常相似的兩個高層協議“ DeviceNet”和“智能分布式系統”(SDS)。1994年初,Allen-Bradley將DeviceNet規范移交給了“開放DeviceNet供應商協會”(ODVA),這促進了DeviceNet的普及。Honeywell未能在SDS上采取類似的方式,這使SDS看起來更像是Honeywell微動的內部解決方案。DeviceNet是專為工廠自動化而開發的,因此,它本身就是Profibus-DP和Interbus等協議的直接對手。提供現成的即插即用功能,DeviceNet已成為美國這個特定細分市場中領先的總線系統。
在歐洲,幾家公司嘗試使用CAL。盡管CAL方法在學術上是正確的,并且可以在工業應用中使用它,但是每個用戶都需要設計一個新的配置文件,因為CAL是真正的應用程序層。CAL可以看作是獨立于應用程序的CAN解決方案必不可少的學術步驟,但它從未在該領域獲得廣泛認可。
自1993年以來,在Esprit項目ASPIC的范圍內,由博世領導的歐洲財團一直在開發CANopen的原型。它是用于生產單元內部網絡的CAL配置文件。在學術方面,來自德國羅伊特林根應用科學大學的Gerhard Gruhler教授和來自英國紐卡斯爾大學的Mohammed Farsi博士參加了有史以來最成功的Esprit活動之一。項目完成后,CANopen規范移交給了CiA,以進行進一步的開發和維護。1995年,發布了經過完全修訂的CANopen通信配置文件,并在短短五年內成為歐洲最重要的標準化嵌入式網絡。
第一個CANopen網絡用于內部機器通信,尤其是驅動器。CANopen提供了很高的靈活性和可配置性。高層協議已用于多個非常不同的應用領域(工業自動化,航海電子,軍用車輛等),同時其國際標準為EN 50325-4(2003)。CANopen尤其在歐洲使用。意大利的注塑機,德國的木鋸和機器,英國的卷煙機,法國的起重機,奧地利的搬運機以及瑞士的鐘表制造機只是工業自動化和機械制造中的幾個例子。在美國,推薦將CANopen用于叉車并將其用于信件分揀機中。
CANopen不僅定義了應用程序層和通信配置文件,而且還定義了可編程系統以及不同設備,接口和應用程序配置文件的框架。這是整個行業(例如印刷機,海事應用,醫療系統)決定在1990年代后期使用CANopen的重要原因。
借助DeviceNet和CANopen,可以使用兩個標準化的(IEC 62026-3或EN 50325-4 / 5)應用層,以滿足不同的工業自動化市場的需求。DeviceNet針對工廠自動化進行了優化,而CANopen特別適合于各種機器控制中的嵌入式網絡。這使得專有的應用程序層已過時。定義特定于應用程序的應用程序層的必要性已成為歷史(也許,對于某些專用的大容量嵌入式系統而言除外)。
5
時間觸發的通訊
在2000年初,一個由數家公司組成的ISO特別工作組為CAN幀的時間觸發傳輸定義了一個協議。Bernd Mueller博士,Thomas Fuehrer博士和其他博世員工,以及半導體行業和學術研究專家共同定義了協議“ CAN上的時間觸發通信”(TTCAN,Time-triggered communication on CAN)。
這種CAN擴展可以實現時間等量的幀傳輸和通過CAN的閉環控制的實現,而且還可以在x-by-wire的應用中使用CAN。由于CAN協議未更改,因此可以通過同一物理總線系統傳輸時間觸發幀和事件觸發幀。但是,汽車行業尚未采用TTCAN。而且,工業用戶很少使用時間觸發的協議擴展。他們改用CANopen中指定的同步傳輸功能,可以說是一種軟時間觸發方法。
6
當局批準
在90年代后期,發明了幾種基于CAN的專有安全協議。幸存下來的是德國Pilz生產的Safetybus p。在1999年,CiA開始開發CANopen-Safety協議,該協議已獲得德國TüV的批準。經過標準化機構的大量參與之后,此CANopen擴展(CiA 304)在EN 50325-5(2009)中進行了國際標準化。
DeviceNet使用CIP安全協議擴展。全球領先的船級社之一的德國勞埃德船級社(Germanischer Lloyd)已批準了適用于海事應用的CANopen框架(CiA 307)。除其他外,該框架規定了從默認的CANopen網絡到冗余總線系統的自動切換。如今,這些功能已在CiA 302系列其他CANopen應用層功能中得到了概括和指定。
7
CAN FD開發2011年初,通用汽車和博世開始著手開發一些有關提高吞吐量的CAN協議。當將越來越多的軟件包下載到電子控制單元(ECU)時,汽車行業尤其受苦。高性能通信系統必須縮短這項耗時的任務。通過引入第二個比特率來提高CAN傳輸速度的想法并不新鮮。自2000年初以來,已有幾位學者發表了研究方法。但是,沒有一個研究者能夠說服汽車制造商。博世與其他CAN專家合作,預先開發了CAN FD規范,該規范于2012年在德國哈姆巴赫城堡舉行的第13屆國際CAN會議上正式推出。
在ISO的標準化過程中,發現了所提出的錯誤檢測機制中的一些學術缺陷。這需要對CAN FD協議進行審查,并引入其他防護措施(例如,填充位計數器)。這就是為什么存在非ISO CAN FD協議的原因,該協議與ISO 11898-1中標準化的ISO CAN FD協議不兼容。
戴姆勒公司的Mark Schreiner博士為設計CAN FD網絡提供了很多提示和知識。他的許多想法都包含在CAN FD節點的CiA 601系列以及系統設計建議和規范中。
8
CAN的未來是光明的隨著CAN FD協議的引入,CAN技術的壽命得以延長。汽車行業已經開始為下一代車載網絡采用CAN FD協議。可以預期,所有未來的應用程序都將使用CAN FD協議。不管它們是否需要更高的帶寬都沒關系。您仍然可以將CAN FD與單個位定時設置一起使用。有效負載長度無論如何都可以在0到64字節之間配置。
對于那些需要更多帶寬并需要混合拓撲的用戶,CiA已開發了所謂的SIC(信號改善電路)收發器規范(CiA 601-4)。最初的想法來自日本Tier-1供應商Denso。
CiA還開發了基于CAN FD下層的CANopen FD協議。特別是對于工業運動控制應用,非常適合更高的傳輸速率和更長的有效載荷(最大64字節)。CiA還參與了使用SAE J1939系列中指定的現有參數組的商用車,基于CAN FD的應用層的開發。
9
第三代CAN2018年底,CiA開始開發第三代基于CAN的數據鏈路層協議CAN XL。它是應大眾汽車的要求啟動的。Carsten Schanze和Alexander Mueller提供了許多最初的想法。
2020年由于疫情,取消了國際CAN會議的執行,今年的國際CAN會議改為線上舉行,主題是CAN XL。CAN XL速度提升至10Mbps。
同時保持CAN協議的優勢以及與CAN和CAN FD的兼容性。下面是CAN FD和CAN XL的混合網絡:
補充:
(1)CiA CAN XL規范于2018年12月開始,目標是在2019年底之前擁有OSI第2層規范(稱為CAN XL協議),第二步,將開始進行ISO標準化。
(2)經典CAN是1Mbps,CAN FD最高2Mbps,CAN FD-SiC是5-8Mbps,CAN XL是10Mbps。
責任編輯:lq
-
芯片
+關注
關注
455文章
50714瀏覽量
423155 -
控制器
+關注
關注
112文章
16332瀏覽量
177812 -
CAN總線
+關注
關注
145文章
1946瀏覽量
130727
原文標題:CAN總線35周年,回顧它的前世今生
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論