新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 汽車CAN總線基礎(chǔ)-CAN總線簡(jiǎn)介

汽車CAN總線基礎(chǔ)-CAN總線簡(jiǎn)介

作者: 時(shí)間:2016-12-14 來源:網(wǎng)絡(luò) 收藏
1. CAN的介紹
1.1 CAN是什么
CAN是Controller Area Network的縮寫(以下稱為CAN),是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。
1.2 CAN的起源
汽車CAN總線是20世紀(jì)80年代初德國Bosch公司為解決現(xiàn)代汽車中眾多控制單元、測(cè)試儀器之間的實(shí)時(shí)數(shù)據(jù)交換而開發(fā)的一種串行通信協(xié)議。
傳統(tǒng)汽車線束連接如圖1.21。
在當(dāng)前的汽車產(chǎn)業(yè)中,出于對(duì)安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對(duì)可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)“減少線束的數(shù)量”,“通過多哥LAN,進(jìn)行大量數(shù)據(jù)的高速通信”的需要,1986年德國電氣商博世公司開發(fā)出面向汽車的CAN通信協(xié)議。此后,CAN通過ISO11898及ISO11519進(jìn)行了標(biāo)準(zhǔn)化,現(xiàn)在在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。
現(xiàn)在,CAN總線的高性能和可靠性已被認(rèn)同,并被廣泛地應(yīng)用于工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等方面。
在汽車上的應(yīng)用,CAN節(jié)點(diǎn)已經(jīng)達(dá)到最多90個(gè)電子控制節(jié)點(diǎn)了。
1.1 CAN的發(fā)展史
※1983年,Bosch開始研究車上的網(wǎng)絡(luò)技術(shù);
※1986年,Bosch在SAE大會(huì)公布CAN協(xié)議;
※1987年,Intel與Philips先后推出CAN控制器芯片;
※1991年,Bosch頒布CAN2.0技術(shù)規(guī)范,CAN2.0包括A和B兩個(gè)部分;
※1991年,CAN總線最先在Benz S系列轎車上實(shí)現(xiàn);
※1993年,ISO頒布CAN國際標(biāo)準(zhǔn)ISO-11898;
※1994年,SAE頒布基于CAN的J1939標(biāo)準(zhǔn);
※2003年,Maybach頒布帶76個(gè)ECU的新車型(CAN、LIN、MOST);
※2003年,VW頒布了帶35ECU的新車型Golf;
……
※未來,CAN總線將部分被FlexRay所取代,但是CAN總線將會(huì)被持續(xù)應(yīng)用相當(dāng)長的時(shí)間。
1.2 CAN的特性
※多主結(jié)構(gòu)依據(jù)優(yōu)先權(quán)進(jìn)行總線訪問;
※無破壞性的基于優(yōu)先權(quán)的逐位仲裁;
※借助驗(yàn)收濾波器的多地址幀傳遞;
※遠(yuǎn)程數(shù)據(jù)請(qǐng)求;
※全系統(tǒng)數(shù)據(jù)相容性;
※錯(cuò)誤檢測(cè)與出錯(cuò)信令;
※很遠(yuǎn)的輸出傳輸距離(長達(dá)10Km);
※高速的數(shù)據(jù)傳輸速率(高達(dá)1Mbps);
※高度實(shí)時(shí)性,每幀報(bào)文允許傳輸最多8個(gè)字節(jié)的數(shù)據(jù);
※發(fā)送期間丟失仲裁或出錯(cuò)而遭到破壞的幀可自動(dòng)重發(fā);
※暫時(shí)錯(cuò)誤和永久性故障節(jié)點(diǎn)的判別以及故障節(jié)點(diǎn)的自動(dòng)脫離;
※脫離總線的節(jié)點(diǎn)不影響總線的正常工作。
1. 多主控制
在總線空閑時(shí),所有的單元都可開始發(fā)送消息,最先訪問總線的單元可獲得發(fā)送權(quán),多個(gè)單元同時(shí)開始發(fā)送時(shí),發(fā)送高優(yōu)先級(jí)ID消息的單元可獲得發(fā)送權(quán)。
2. 消息的發(fā)送
在CAN協(xié)議中,所有的消息都以固定的格式發(fā)送??偩€空閑時(shí),所有與總線相連接的單元都可以開始發(fā)送新消息。兩個(gè)以上的單元同時(shí)開始發(fā)送消息時(shí),根據(jù)標(biāo)識(shí)符ID決定優(yōu)先級(jí)。ID并不是表示發(fā)送的目的地址,而是表示訪問總線的消息的優(yōu)先級(jí)。兩個(gè)以上的單元同時(shí)開發(fā)發(fā)送消息時(shí),對(duì)各消息ID的每個(gè)位進(jìn)行逐個(gè)仲裁比較。仲裁獲勝(被判定為優(yōu)先級(jí)最高)的單元可繼續(xù)發(fā)送消息,仲裁失利的單元?jiǎng)t立刻停止發(fā)送而進(jìn)行接收工作。
3. 系統(tǒng)的柔軟性
與總線相連接的單元沒有類似于“地址”的信息,因此在總線傷增加單元時(shí),連接在總線上的其他單元的軟硬件及應(yīng)用層都不需要改變。
4. 通信速度
根據(jù)整個(gè)網(wǎng)絡(luò)的規(guī)模,可設(shè)定適合的通信速度。在同一網(wǎng)絡(luò)中,所有單元必須設(shè)定成統(tǒng)一的通信速度,即使有一個(gè)單元的通信速度與其他的不一樣,此單元也會(huì)輸出錯(cuò)誤信號(hào),妨礙整個(gè)網(wǎng)絡(luò)的通信。
5. 遠(yuǎn)程數(shù)據(jù)請(qǐng)求
可通過發(fā)送“遠(yuǎn)程幀”請(qǐng)求其他單元發(fā)送數(shù)據(jù)。
6. 錯(cuò)誤檢測(cè)功能、錯(cuò)誤通知功能、錯(cuò)誤恢復(fù)功能
所有的單元都可以檢測(cè)錯(cuò)誤及錯(cuò)誤檢測(cè)功能。檢測(cè)出錯(cuò)誤的單元會(huì)立即同時(shí)通知其他所有單元及錯(cuò)誤通知功能。正在發(fā)送消息的單元一旦檢測(cè)出錯(cuò)誤,會(huì)強(qiáng)制結(jié)束當(dāng)前的發(fā)送,強(qiáng)制結(jié)束發(fā)送的單元會(huì)不斷反復(fù)地重新發(fā)送此消息直到成功發(fā)送為止及錯(cuò)誤恢復(fù)功能。
7. 故障封閉
CAN可以判斷出錯(cuò)誤的類型是總線上暫時(shí)的數(shù)據(jù)錯(cuò)誤(如外部噪聲等)還是持續(xù)的數(shù)據(jù)錯(cuò)誤(如單元內(nèi)部故障、驅(qū)動(dòng)器故障、斷線等)。由此功能,當(dāng)總線上發(fā)生持續(xù)數(shù)據(jù)錯(cuò)誤時(shí),可將引起此故障單元從總線上隔離出去。
8. 連接
CAN總線是可同時(shí)連接多個(gè)單元的總線,可連接的單元總數(shù)理論上是沒有限制的,但實(shí)際上可連接的單元數(shù)受總線上的時(shí)間延遲及電氣負(fù)載的限制。降低通信速度,可連接的單元數(shù)增加;提高通信速度,則可連接的單元數(shù)減少。


評(píng)論


技術(shù)專區(qū)

關(guān)閉