CAN 总线 之一 总线拓扑、物理电平、发展史 详解
簡介
??CAN 是 Controller Area Network 的縮寫,即 控制器局域網(wǎng)絡(luò)。通常稱為 CAN BUS,即 CAN 總線。可以歸屬于工業(yè)現(xiàn)場總線的范疇,是目前國際上應(yīng)用最為廣泛的開放式現(xiàn)場總線之一。CAN是一個用于連接電子控制單元(ECU)的多主機(jī)串行總線標(biāo)準(zhǔn)。
??CAN 建立在基于信息導(dǎo)向傳輸協(xié)定的廣播機(jī)制(Broadcast Communication Mechanism)上,屬于現(xiàn)場總線的范疇,它是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò)。是由以研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國 BOSCH 公司為了解決當(dāng)時汽車控制系統(tǒng)的需求而開發(fā)的。下圖顯示了一個典型的 CAN 在汽車網(wǎng)絡(luò)中的應(yīng)用
總線結(jié)構(gòu)
??CAN 總線是一種廣播類型的總線。 這意味著所有節(jié)點(diǎn)都可以“聽到”所有傳輸。 無法僅向特定節(jié)點(diǎn)發(fā)送消息;所有節(jié)點(diǎn)都會不可避免地接收所有流量。 但是,CAN 硬件提供本地過濾,因此每個節(jié)點(diǎn)只能對有趣的消息做出反應(yīng)。CAN網(wǎng)絡(luò)上需要至少兩個節(jié)點(diǎn)才可進(jìn)行通信。
??ISO 國際標(biāo)準(zhǔn) ISO 11898-2 和 ISO 11898-3 分別規(guī)定了兩種 CAN 總線結(jié)構(gòu)(在 BOSCH CAN2.0 規(guī)范中,并沒有關(guān)于總線拓?fù)浣Y(jié)構(gòu)的說明)。其中:
- ISO 11898-2 定義了通信速率為 125 kbps~1 Mbps 的高速 CAN 通信標(biāo)準(zhǔn),屬于閉環(huán)總線,傳輸速率可達(dá)1Mbps,總線長度 ≤ 40米。
- ISO 11898-3 定義了通信速率為 10~125 kbps 的低速 CAN 通信標(biāo)準(zhǔn),屬于開環(huán)總線,傳輸速率為 40kbps 時,總線長度可達(dá)1000米。
它使用線性主線,星形主線或者連接到一個線性主線上的多星結(jié)構(gòu)主線 。上圖僅僅是一種最簡化的結(jié)構(gòu)。實(shí)際如下:
物理電平
??在 CAN總 線上,利用 CAN_H 和 CAN_L 兩根線上的電位差來表示 CAN 信號。CAN 總線上的電位差分為 顯性電平(Dominant Voltage) 和 隱性電平(Recessive Voltage) 。其中顯性電平為邏輯 0,隱性電平為邏輯 1。模塊以線與的方式連接到總線:如果只有一個節(jié)點(diǎn)將總線驅(qū)動到邏輯0,則整個總線處于該狀態(tài),而不管發(fā)送邏輯1的節(jié)點(diǎn)數(shù)量。
- 高速 CAN 總線在傳輸顯性(0)信號時,會將 CAN_H 端抬向 5V 高電平,將 CAN_L 拉向 0V 低電平。當(dāng)傳輸隱性(1)信號時,并不會驅(qū)動 CAN_H 或者 CAN_L 端。 顯性信號 CAN_H 和 CAN_L 兩端差分標(biāo)稱電壓為 2V。 終端電阻在沒有驅(qū)動時,將差分標(biāo)稱電壓降回 0V。顯性信號(0)的共模電壓需要在 1.5V 到 3.5V 之間。隱性信號(1)的共模電壓需要在 +/-12V。
- 低速/容錯CAN信號在傳輸顯性信號(0)時,驅(qū)動CANH端抬向5V,將CANL端降向0V。在傳輸隱性信號(1)時并不驅(qū)動CAN 總線的任何一端。在電源電壓Vcc為5V時,顯性信號差分電壓需要大于2.3V,隱性信號的差分電壓需要小于0.6V。CAN總線兩端未被驅(qū)動時,終端電阻使CANL端回歸到RTH電壓(當(dāng)電源電壓Vcc為5V時,RTH電壓至少為Vcc-0.3V=4.7V),同時使CANH端回歸至RTL電壓(RTL電壓最大為0.3V)。兩根線需要能夠承受-27V至40V的電壓而不被損壞。
??在高速和低速CAN中,從隱性信號向顯性信號過渡的速度更快,因?yàn)榇藭rCAN線纜被主動積極地驅(qū)動。顯性向隱性的過渡速度主要取決于CAN網(wǎng)絡(luò)的長度和導(dǎo)線的電容。
??CAN總線采用不歸零碼位填充技術(shù)(NRZ),發(fā)送器只要檢測到位流里有5個連續(xù)相同值的位,便自動在位流里插入補(bǔ)充位。
通信幀
獨(dú)立文章說明!
歷史
??在 CAN 總線出現(xiàn)以前,汽車 ECU 依靠越來越復(fù)雜的點(diǎn)對點(diǎn)布線。上世紀(jì) 80 年代初,BOSCH 的工程師們對現(xiàn)有的串行總線系統(tǒng)進(jìn)行了評估,以確定它們在汽車上的可能的用途。由于現(xiàn)有的網(wǎng)絡(luò)協(xié)議都不能滿足汽車工程師的要求,Uwe Kiencke 于 1983 年開始開發(fā)新的串行總線系統(tǒng)。當(dāng)時聘請的顧問之一是來自于德國 Braunschweig-Wolfenbüttel 的 Applied Science 大學(xué)的 Wolfhard Lawrenz 教授。Wolfhard Lawrenz 教授給出了新網(wǎng)絡(luò)方案的名字 “Controller Area Network”,簡稱 CAN。來自 Karlsruhe 大學(xué)的教授 Horst Wettstein 博士也提供了理論支持。
-
1983年:BOSCH 公司內(nèi)部啟動了一個項(xiàng)目,以研究一個車內(nèi)網(wǎng)絡(luò)。
-
1986 年 2 月:在密歇根州底特律舉辦的汽車工程師協(xié)會(SAE)會議上,Bosch 公司公布了 CAN 總線協(xié)議作為汽車電子解決方案。
-
1987 年:由英特爾和飛利浦生產(chǎn)的第一批 CAN 控制器芯片上市。英特爾首先發(fā)布了 82526(手冊見附錄),這是第一款 CAN 總線的硬件實(shí)現(xiàn)。不久后飛利浦發(fā)布了 82C200(手冊見附錄)。后來,英特爾還發(fā)布了 82527(手冊見附錄).
(1)1991年發(fā)布的梅賽德斯-奔馳 W140 是第一款采用基于CAN 的多路布線系統(tǒng)的量產(chǎn)車。
(2)2006 年飛利浦將半導(dǎo)體公司恩智浦獨(dú)立出去了,現(xiàn)在說到半導(dǎo)體相關(guān)的業(yè)務(wù)都來自于恩智浦。 -
1991年:Bosch 公司發(fā)布了 CAN2.0。該規(guī)范由 A 和 B 兩部分組成。A 部分用于標(biāo)準(zhǔn)格式,帶有 11 位標(biāo)識符;B 部分用于帶有 29 位標(biāo)識符的擴(kuò)展格式。使用 11 位標(biāo)識符的 CAN 設(shè)備通常稱為 CAN 2.0A,使用 29 位標(biāo)識符的 CAN 設(shè)備通常稱為 CAN 2.0B。
-
1992 年:CAN in Automation(CiA)協(xié)會成立。同年,CiA 發(fā)布了 CAN Application Layer (CAL) 協(xié)議
-
1993 年 11 月:在1990 年早些時候,Bosch CAN 規(guī)范(CAN 2.0 版)被提交給國際標(biāo)準(zhǔn)化組織。CAN 總線被列入國際標(biāo)準(zhǔn),發(fā)布了 ISO 11898 和 ISO 11519。
- ISO 11898 是通信速度為 5kbps-1Mbps的 CAN 高速通信標(biāo)準(zhǔn)。高速CAN網(wǎng)絡(luò)在每個網(wǎng)絡(luò)端點(diǎn)端接一個120歐姆的電阻。
- ISO 11519 是通信速度為 125kbps以下的 CAN 低速通信標(biāo)準(zhǔn),也就是容錯CAN(LSFT CAN)。提供從5 Kbit/s到125 Kbits/s的波特率。該標(biāo)準(zhǔn)允許在CAN總線連線失敗時CAN總線通信得以繼續(xù)進(jìn)行。
由于終端的類型不同,因此高速和低速/容錯CAN設(shè)備不能在同一個網(wǎng)絡(luò)中使用。
-
1994 年:CiA 組織了 第一屆國際 CAN 會議(iCC)。同年,美國汽車工程師協(xié)會以 CAN 為基礎(chǔ)制定了 SAEJ1939 標(biāo)準(zhǔn),用于卡車和巴士控制和通信網(wǎng)絡(luò)。
-
1995 年:ISO 11898 修正案(擴(kuò)展框架格式)發(fā)布。同年,CiA 出版 CiA 301 CANopen 協(xié)議
-
2003 年:ISO 將原先的 ISO 11898 CAN標(biāo)準(zhǔn)的數(shù)據(jù)鏈路和高速物理層的標(biāo)準(zhǔn)分離為 ISO 11898-1 和 ISO 11898-2 兩部分
-
2006 年:ISO 11898-3(低功耗,低速物理層)發(fā)布
-
2007 年:ISO 11898-5(低功耗,高速物理層)發(fā)布
-
2012 年:Bosch 公司發(fā)布了 CAN FD 1.0
-
2013 年:ISO 11898-6(具有選擇性喚醒功能的物理層)發(fā)布
-
2015 年:ISO 11898-1(經(jīng)典CAN和CAN FD)評審稿發(fā)布
-
今天:幾乎每一輛汽車都有 CAN 總線系統(tǒng),它廣泛應(yīng)用于卡車、公共汽車、工業(yè)車輛、船舶、飛機(jī)和工業(yè)自動化。
特點(diǎn)
參考
附件
總結(jié)
以上是生活随笔為你收集整理的CAN 总线 之一 总线拓扑、物理电平、发展史 详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排序算法 之四 分类、时间/空间复杂度、
- 下一篇: CAN 总线 之六 BOSCH CAN