CAN總線發(fā)展史
1986 年 2 月,Robert Bosch 公司在 SAE(汽車工程協(xié)會)大會上介紹了一種新型的串行總線——CAN控制器局域網(wǎng),那是 CAN 誕生的時刻。今天,在歐洲幾乎每一輛新客車均裝配有 CAN 局域網(wǎng)。同樣,CAN也用于其他類型的交通工具,從火車到輪船或者用于工業(yè)控制。CAN 已經(jīng)成為全球范圍內(nèi)最重要的總線之一 —— 甚至領(lǐng)導(dǎo)著串行總線。在 1999 年,接近 6 千萬個 CAN 控制器投入應(yīng)用;2000 年,市場銷售超過1 億個 CAN 器件。
在 1980 年的早些時候,Bosch 公司的工程師就開始論證當(dāng)時的串行總線用于客車系統(tǒng)的可行性。因為沒有一種現(xiàn)成的網(wǎng)絡(luò)方案能夠完全滿足汽車工程師們的要求,于是,在 1983 年初,Uwe Kiencke 開始研究一種新的串行總線。新總線的主要方向是增加新功能、減少電氣連接線 ,使其能夠用于產(chǎn)品,而非用于驅(qū)動技術(shù)。來自 Mercedes-Benz 的工程師較早制定了總線的狀態(tài)說明,而 Intel 也準(zhǔn)備作為半導(dǎo)體生產(chǎn)的主要廠商。當(dāng)時聘請的顧問之一是來自于德國 Braunschweig-Wolfenbüttel 的 Applied Science 大學(xué)教授 WolfhardLawrenz 博士 給出了新網(wǎng)絡(luò)方案的名字“Controller Area Network”,簡稱 CAN。來自 Karlsruhe 大學(xué)的教授Horst Wettstein 博士也提供了理論支持。
1986 年 2 月,CAN 誕生了。在底特律的汽車工程協(xié)會大會上,由 Bosch 公司研究的新總線系統(tǒng)被稱為“汽車串行控制器局域網(wǎng)” 。Uwe Kiencke、 Siegfried Dais 和 Martin Litschel 分別介紹了這種多主網(wǎng)絡(luò)方案。此方案基于非破壞性的仲裁機制,能夠確保高優(yōu)先級報文的無延遲傳輸。并且,不需要在總線上設(shè)置主控制器。此外,CAN 之父——上述幾位教授和 Bosch 公司的 Wolfgang Borst、Wolfgang Botzenhard、Otto Karl、Helmut Schelling、Jan Unruh 已經(jīng)實現(xiàn)了數(shù)種在 CAN 中的錯誤檢測機制。該錯誤檢測也包括自動斷開故障節(jié)點功能,以確保能繼續(xù)進行剩余節(jié)點之間的通訊。傳輸?shù)膱笪牟⒎歉鶕?jù)報文發(fā)送器/接收器的節(jié)點地址識別(幾乎其它的總線都是如此),而是根據(jù)報文的內(nèi)容識別。同時,用于識別報文的標(biāo)識符也規(guī)定了該報文在系統(tǒng)中的優(yōu)先級。
當(dāng)關(guān)于這種革新的通訊方案的大部分文字內(nèi)容制定之后,于 1987 年中期,Intel 提前計劃 2 個月交付了首枚 CAN 控制器:82526,這是 CAN 方案首次通過硬件實現(xiàn)。僅僅用了四年的時間,設(shè)想就變成了現(xiàn)實。不久之后,Philips 半導(dǎo)體推出了 82C200。這兩枚最先的 CAN 控制器在驗收濾波和報文控制方面有許多不同。一方面,由Intel主推的FullCAN比由Philips主推的BasicCAN占用較少的CPU載荷;另一方面, FullCAN器件所能接收的報文數(shù)目相對受到限制,BasicCAN 控制器僅需較少的硅晶體。今天的 CAN 控制器中,“孫子”輩們在同一模塊中的驗收濾波和報文控制方面仍有相當(dāng)?shù)牟煌?,制造?BasicCAN 和 FullCAN 兩大陣營。
標(biāo)準(zhǔn)化與一致性
在 1990 年早些時候,Bosch CAN 規(guī)范(CAN 2.0 版)被提交給國際標(biāo)準(zhǔn)化組織。在數(shù)次行政討論之后,應(yīng)一些主要的法國汽車廠商要求,增加了“Vehicle Area Network(VAN)”內(nèi)容,并于 1993 年 11 月出版了CAN 的國際標(biāo)準(zhǔn) ISO11898。除了 CAN 協(xié)議外,它也規(guī)定了最高至 1Mbps 波特率時的物理層。同時,在國際標(biāo)準(zhǔn) ISO11519-2 中也規(guī)定了 CAN 數(shù)據(jù)傳輸中的容錯方法。1995 年,國際標(biāo)準(zhǔn) ISO11898 進行了擴展,以附錄的形式說明了 29 位 CAN 標(biāo)識符。 但令人傷心的是,所有出版的 CAN 規(guī)范均包含錯誤或者不完整。因此,為避免出現(xiàn)不兼容的 CAN 應(yīng)用,Bosch 公司一直在進行驗證 CAN芯片是否基于Bosch 的 CAN參考模型的工件。此外,幾年來在Lawrenz教授領(lǐng)導(dǎo)下,位于德國 Braunschweig/Wolfenbüttel 的 Applied Science 大學(xué)進行 CAN 的一致性測試,測試模式基于國際標(biāo)準(zhǔn)測試規(guī)范 ISO16845。
當(dāng)前,修訂的 CAN 規(guī)范正在標(biāo)準(zhǔn)化中。ISO11898-1 稱為“CAN 數(shù)據(jù)鏈路層”,ISO11898-2 稱為“非容錯 CAN 物理層”,ISO11898-3 稱為“容錯 CAN 物理層”。國際標(biāo)準(zhǔn) ISO11992(卡車和拖車接口)和 ISO11783(農(nóng)業(yè)和森林機械)都在美國標(biāo)準(zhǔn) J1939 的基礎(chǔ)上定義了基于 CAN 應(yīng)用的子協(xié)議,但是它們并不完整。
CAN 先行者的發(fā)展
CAN 先行者的發(fā)展
盡管當(dāng)初研究 CAN 的起點是應(yīng)用于客車系統(tǒng),但 CAN 的第一個市場應(yīng)用卻來自于其他領(lǐng)域。特別是在北歐,CAN 早已得到非常普遍的應(yīng)用。在荷蘭,電梯廠商 Kone 使用 CAN 總線。瑞士工程辦公室 Kvaser已建議將 CAN 應(yīng)用至一些紡織機械廠(Lindauer Dornier 和 Sulzer),并由他們提供機器的通訊協(xié)議。這一領(lǐng)域中,在 Lars-Berno Fredriksson 的領(lǐng)導(dǎo)下,公司建立了“CAN 紡織機械用戶集團”。 到 1989 年,他們已研究出通訊原理,并于 1990 年早期幫助建立“CAN Kingdom”開發(fā)環(huán)境。盡管 CAN Kingdom 并不是一種基于 OSI 參考模型的應(yīng)用層,但它被認(rèn)為是基于 CAN 的高層協(xié)議的原型。在荷蘭,Philips 醫(yī)療系統(tǒng)決定使用 CAN 構(gòu)成 X 光機的內(nèi)部網(wǎng)絡(luò),成為 CAN 的工業(yè)用戶。主要由 TomSuters 發(fā)表的“Philips 報文規(guī)范——PMS”提出了 CAN 網(wǎng)絡(luò)的第一個應(yīng)用層。來自德國 Weingarten 的 AppliedScience 大學(xué)教授 Konrad Etschberger 博士也持同樣的觀點。他管理 Steinbeis Transfer Center for ProcessAutomation (Stzp)公司(現(xiàn)在更名為 IXXAT Automation 公司),并開發(fā)出一個類似的方案。不管如何,第一個高層協(xié)議正在形成。大多數(shù) CAN 的先行者使用單片電路的方法,通訊功能、網(wǎng)絡(luò)管理、應(yīng)用代碼組合在同一個軟件之中。即使一些用戶有較多的標(biāo)準(zhǔn)模塊可供利用,但面對所有的解決方案,他們也一定存在著缺陷。必須持續(xù)穩(wěn)定地發(fā)展 CAN 的高層協(xié)議——即使在今天,仍然有部分用戶低估這個問題??棄艉?,好織夢
在 1990 年的早些時候,開始籌劃成立一個用戶組織,從而將不同的解決方案標(biāo)準(zhǔn)化。在 1992 年初的幾個月里,當(dāng)時 VMEbus 雜志的主管(出版社:Franzis) Holger Zeltwanger 將用戶和廠商集中在一起,討論建立一個促進 CAN 技術(shù)發(fā)展的中立平臺,同時也針對串行總線市場進行分析。1992 年 5 月,CiA“CANin Automation”用戶集團正式成立。僅在幾個星期后,CiA 即發(fā)表了第一份技術(shù)雜志,那是關(guān)于物理層的。CiA 推薦僅使用遵循 ISO11898 的 CAN 收發(fā)器。到現(xiàn)在為止,在當(dāng)時的 CAN 網(wǎng)絡(luò)中使用非常普遍但并不兼容的 RS-485 收發(fā)器已基本消失,盡管它也是廠商提供的。CiA 的首批任務(wù)之一是規(guī)定 CAN 的應(yīng)用層。根據(jù) Philips 醫(yī)療系統(tǒng)(PMS)和 Stzp 所提供的內(nèi)容,依靠其余 CiA 會員的協(xié)助,CAL——“CAN 應(yīng)用層”也稱為“綠皮書”誕生了。在制定 CAN 應(yīng)用規(guī)范時,CiA 的一個主要任務(wù)是進行 CAN 專家和其他 CAN 學(xué)習(xí)者之間的信息交流。因此,從 1994 年起,CiA 每年召開一次國際 CAN 會議(iCC)。
在 1990 年的早些時候,開始籌劃成立一個用戶組織,從而將不同的解決方案標(biāo)準(zhǔn)化。在 1992 年初的幾個月里,當(dāng)時 VMEbus 雜志的主管(出版社:Franzis) Holger Zeltwanger 將用戶和廠商集中在一起,討論建立一個促進 CAN 技術(shù)發(fā)展的中立平臺,同時也針對串行總線市場進行分析。1992 年 5 月,CiA“CANin Automation”用戶集團正式成立。僅在幾個星期后,CiA 即發(fā)表了第一份技術(shù)雜志,那是關(guān)于物理層的。CiA 推薦僅使用遵循 ISO11898 的 CAN 收發(fā)器。到現(xiàn)在為止,在當(dāng)時的 CAN 網(wǎng)絡(luò)中使用非常普遍但并不兼容的 RS-485 收發(fā)器已基本消失,盡管它也是廠商提供的。CiA 的首批任務(wù)之一是規(guī)定 CAN 的應(yīng)用層。根據(jù) Philips 醫(yī)療系統(tǒng)(PMS)和 Stzp 所提供的內(nèi)容,依靠其余 CiA 會員的協(xié)助,CAL——“CAN 應(yīng)用層”也稱為“綠皮書”誕生了。在制定 CAN 應(yīng)用規(guī)范時,CiA 的一個主要任務(wù)是進行 CAN 專家和其他 CAN 學(xué)習(xí)者之間的信息交流。因此,從 1994 年起,CiA 每年召開一次國際 CAN 會議(iCC)。
另外一個理論的方法是借鑒于 LAV,一個農(nóng)業(yè)的交通工具協(xié)會。在 1980 年晚些時候開始,一個基于CAN 的農(nóng)業(yè)交通工具總線系統(tǒng)(LBS)被制定出。但在工作最終完成前,國際標(biāo)準(zhǔn)化委員會決定改向支持
US 解決方案——J1939。這也是一個基于 CAN 的應(yīng)用子協(xié)議,由 SAE 的 Truck and Bus 協(xié)會制定。J1939是一個非模塊化的方案,簡單易學(xué),但靈活性很差。
從理論到實踐
當(dāng)然,生產(chǎn) CAN 模塊集成器件的 15 家半導(dǎo)體廠商主要聚焦于汽車工業(yè)。從 1990 年中期起,Infineon公司和 Motorola 公司已向歐洲的客車廠商提供了大量的 CAN 控制器。作為下一波,從 1990 年后期起,遠東的半導(dǎo)體廠商也開始提供 CAN 控制器。1994 年,NEC 推出了傳說中的 CAN 芯片 72005,但是,這一步太早了——當(dāng)時,這個器件并不能投入使用。從 1992 年起,Mercedes-Benz(奔馳) 開始在他們的高級客車中使用 CAN 技術(shù)。第一步使用電子控制器通過 CAN 對發(fā)動機進行管理;第二步使用控制器接收人們的操作信號。這就使用了 2 個物理上獨立的CAN 總線系統(tǒng),它們通過網(wǎng)關(guān)連接。其他的客車廠商也紛紛趕來斯圖加特學(xué)習(xí),在他們的客車上也使用 2套 CAN 總線系統(tǒng)?,F(xiàn)在,繼 Volvo、 Saab、Volkswagen 、BMW 之后,Renault 和 Fiat 也開始在他們的汽車上使用 CAN 總線。
在 1990 的早些時候,美國俄亥俄州的機械工程公司的工程師們與 Allen-Bradley 公司、Honeywell 微型開關(guān)公司開始了一個合資項目,內(nèi)容是基于 CAN 的通訊與控制。但是,不久之后,項目組的重要成員離開合資項目終止。但 Allen-Bradley 公司和 Honeywell 公司各自繼續(xù)從事這項工作。這導(dǎo)致產(chǎn)生了兩個高層協(xié)議:“ DeviceNet” 和“Smart Distributed System (SDS)”,而且這 2 個協(xié)議在較低層的通訊層上非常相似。在 1994 年早些時候,Allen-Bradley 將 DeviceNet 規(guī)范移交給專職推廣 DeviceNet 的組織“Open DeviceNetVendor Association(ODVA)”。而 Honeywell 則放棄了在 SDS 方面的努力,使得 SDS 更象 Honeywell 公司的內(nèi)部解決方案。 DeviceNet 特別為工廠自動控制而定制,因此,使其成為類似 Profibus-DP 和 Interbus協(xié)議的有力競爭者。倘若僅從即插即用的功能考慮,DeviceNet 已經(jīng)成為美國特定應(yīng)用領(lǐng)域中的領(lǐng)導(dǎo)者。
在歐洲,一些公司在嘗試使用 CAL。盡管 CAL 在理論上正確,并在工業(yè)上可以投入應(yīng)用,但每個用戶都必須設(shè)計一個新的子協(xié)議,因為 CAL 是一個真正的應(yīng)用層。CAL 可以被看作一個應(yīng)用 CAN 方案的必要
理論步驟,但在這一領(lǐng)域它不會被推廣。從 1993 年起,在 Esprit project ASPIC 范圍內(nèi),由 Bosch 領(lǐng)導(dǎo)的歐洲協(xié)會研究出一個原型,由此發(fā)展成為 CANopen。它是一個基于 CAL 的子協(xié)議,用于產(chǎn)品部件的內(nèi)部網(wǎng)絡(luò)控制。在理論方面,來自德國 Reutlingen 的 Applied Science 大學(xué)教授 Gerhard Gruhler 博士 和來自Newcastle (UK)大學(xué)的 Mohammed Farsi 積極參與,均是其中最成功的活躍分子之一。在項目完成之后,CANopen 規(guī)范移交給 CiA 組織,由其進行維護與發(fā)展。在 1995 年,CiA 發(fā)表了完整版的 CANopen 通訊子協(xié)議;僅僅用了 5 年的時間,它已成為全歐洲最重要的嵌入式網(wǎng)絡(luò)標(biāo)準(zhǔn)。 CANopen 不僅定義了應(yīng)用層和通訊子協(xié)議,也為可編程系統(tǒng)、不同器件、接口、應(yīng)用子協(xié)議定義了頁狀態(tài),這也就是工業(yè)領(lǐng)域(比如:打印機、海事應(yīng)用、醫(yī)療系統(tǒng))決定使用 CANopen 的一個重要原因。 DeviceNet 和 CANopen,是兩個定位于不同市場的標(biāo)準(zhǔn)應(yīng)用層協(xié)議(EN 50325)。DeviceNet 適合于工廠自動化控制; CANopen 適合于所有機械的嵌入式網(wǎng)絡(luò)。這又造就了兩個不同的應(yīng)用范圍,因此,有必要定義應(yīng)用層的規(guī)范歷史(可以將一些特定的大量嵌入式系統(tǒng)排除在外)。
CAN 前景展望
CAN 前景展望
盡管 CAN 協(xié)議已經(jīng)有 15 年的歷史,但它仍處在改進之中。從 2000 年開始,一個由數(shù)家公司組成的 ISO任務(wù)組織定義了一種時間觸發(fā) CAN 報文傳輸?shù)膮f(xié)議。Bernd Mueller 博士 、Thomas Fuehrer 、Bosch 公司人員和半導(dǎo)體工業(yè)專家、學(xué)術(shù)研究專家將此協(xié)議定義為“時間觸發(fā)通訊的 CAN(TTCAN)”,計劃在將來標(biāo)準(zhǔn)化為 ISO11898-4。這個 CAN 的擴展已在硅片上實現(xiàn),不僅可實現(xiàn)閉環(huán)控制下支持報文的時間觸發(fā)傳輸,而且可以實現(xiàn) CAN 的 x-by-wire 應(yīng)用。因為 CAN 協(xié)議并未改變,所以,在同一個的物理層上,既可以實現(xiàn)傳輸時間觸發(fā)的報文,也可以實現(xiàn)傳輸事件觸發(fā)的報文。TTCAN 將為 CAN 延長 5-10 年的生命期?,F(xiàn)在,CAN 在全球市場上仍然處于起始點,當(dāng)?shù)玫街匾晻r,誰也無法預(yù)料 CAN 總線系統(tǒng)在下一個 10-15 年內(nèi)的發(fā)展趨勢。這里需要強調(diào)一個現(xiàn)實:近幾年內(nèi),美國和遠東的汽車廠商將會在他們所生產(chǎn)汽車的串行部件上使用 CAN。另外,大量潛在的新應(yīng)用(例如:娛樂)正在呈現(xiàn)——不僅可用于客車,也可用于家庭消費。同時,結(jié)合高層協(xié)議應(yīng)用的特殊保安系統(tǒng)對 CAN 的需求也正在穩(wěn)健增長。德國專業(yè)委員會 BIA 和德國安全標(biāo)準(zhǔn)權(quán)威 TÜV 已經(jīng)對一些基于 CAN 的保安系統(tǒng)進行了認(rèn)證。CANopen-Safety 是第一個獲得 BIA 許可的 CAN 解決方案,DeviceNet-Safety 也會馬上跟進。全球分級協(xié)會的領(lǐng)導(dǎo)者之一,Germanischer Lloyd 正在準(zhǔn)備提議將 CANopen 固件應(yīng)用于海事運輸。在其他事務(wù)中,規(guī)范定義可以通過自動切換將 CANopen 網(wǎng)絡(luò)轉(zhuǎn)換為冗余總線系統(tǒng)。
CAN 歷史事件一覽表
1983: Start of the Bosch internal project to develop an in-vehicle network
1986: Official introduction of CAN protocol
1987: First CAN controller chips from Intel and Philips Semiconductors
1991: Bosch’s CAN specification 2.0 published
1991: CAN Kingdom CAN-based higher-layer protocol introduced by Kvaser
1992: CAN in Automation international users and manufacturers group established
1992: CAN Application Layer (CAL) protocol published by CiA
1992: First cars from Mercedes-Benz used CAN network
1993: ISO 11898 standard published
1994: 1st international CAN Conference (iCC) organized by CiA
1994: DeviceNet protocol introduction by Allen-Bradley
1995: ISO 11898 amendment (extended frame format) published
1995: CANopen protocol published by CiA
2000: Development of the time-triggered communication protocol for CAN (TTCAN)織夢內(nèi)容管理系統(tǒng)
評論