新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線發展史

        CAN總線發展史

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


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 襄汾县| 江北区| 泽普县| 汝南县| 徐州市| 乌苏市| 田阳县| 清徐县| 高安市| 阿瓦提县| 盐津县| 林西县| 大渡口区| 岑溪市| 贵南县| 日土县| 和田县| 黄大仙区| 西藏| 吉木乃县| 南木林县| 宾阳县| 梨树县| 武胜县| 确山县| 元氏县| 雷州市| 鄂托克前旗| 涡阳县| 高碑店市| 饶平县| 潞城市| 贵溪市| 静宁县| 伊春市| 醴陵市| 荥经县| 白朗县| 读书| 神池县| 博客|