新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN總線技術(shù)在汽車ECU中的開發(fā)

CAN總線技術(shù)在汽車ECU中的開發(fā)

作者: 時(shí)間:2016-12-16 來源:網(wǎng)絡(luò) 收藏
CAN是ControlAreaNetwork的縮寫,該項(xiàng)技術(shù)最早由德國BOSCH公司推出,用于汽車內(nèi)部測量與執(zhí)行部件之間的數(shù)據(jù)通信。其總線規(guī)范現(xiàn)已被ISO國際標(biāo)準(zhǔn)組織制訂為國際標(biāo)準(zhǔn)。由于得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它廣泛應(yīng)用在離散控制領(lǐng)域。由于其高性能、高可靠性、及獨(dú)特的設(shè)計(jì),CAN越來越受到人們的重視。國外已有許多大公司的產(chǎn)品采用了這一技術(shù)?,F(xiàn)代汽車越來越多地采用電子裝置控制,如發(fā)動機(jī)的定時(shí)、注油控制,加速、剎車控制(ASC)及復(fù)雜的抗鎖定剎車系統(tǒng)(ABS)等。由于這些控制需檢測及交換大量數(shù)據(jù),采用硬接信號線的方式不但煩瑣、昂貴,而且難于解決問題,采用CAN總線上述問題便得到很好的解決。早在80年代,眾多國際知名的汽車公司就積極致力于汽車總線技術(shù)的研究及應(yīng)用,如博世的CAN、SAE的J1850、馬自達(dá)的PALMNET、德國大眾的ABUS、美國商用機(jī)器的AUTOCAN、ISO的VAN等。目前,國外的汽車總線技術(shù)已經(jīng)成熟,采用總線系統(tǒng)的車輛有BENZ、BMW、RORSCHE、ROLLSROYCE、JAGUAR、VOLVO等。
目前,在國內(nèi)還沒有我們自己開發(fā)研制的基于CAN總線的ECU產(chǎn)品。本文是以一汽大眾為合作伙伴,共同開展的基于CAN總線汽車控制系統(tǒng)研究工作的一部分,主要攻克了工程化關(guān)鍵技術(shù),所做的汽車分布式電子控制系統(tǒng)具有完全自主產(chǎn)權(quán)。文中對CAN總線的原理及性能進(jìn)行詳細(xì)分析的基礎(chǔ)上,深入研究了CAN總線控制器SJA1000,并設(shè)計(jì)了一套由單片機(jī)89C52和SJA1000以及82C250等芯片組成的CAN總線系統(tǒng),該系統(tǒng)模擬了汽車中的儀表盤以及照明系統(tǒng),各個(gè)ECU之間通過CAN總線實(shí)現(xiàn)相互通訊,從而達(dá)到減少汽車中的線束的目的,證實(shí)了CAN總線作為一個(gè)局域網(wǎng)應(yīng)用在汽車中的極大優(yōu)勢。該項(xiàng)研究將對我國汽車工業(yè)技術(shù)水平的提高起到促進(jìn)作用。
CAN總線技術(shù)的優(yōu)越性
CAN總線與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。其具有以下主要特性:CAN是目前為止唯一有國際標(biāo)準(zhǔn)的現(xiàn)場總線;CAN為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動的向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息,而不分主從,通信方式靈活,且無需站地址等節(jié)點(diǎn)信息;CAN網(wǎng)絡(luò)上的節(jié)點(diǎn)信息分成不同的優(yōu)先級,可滿足不同的實(shí)時(shí)要求,高優(yōu)先級的數(shù)據(jù)最多可在134us內(nèi)得到傳輸;CAN采用非破壞性總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級較低的節(jié)點(diǎn)會主動地退出發(fā)送,而最高優(yōu)先級的節(jié)點(diǎn)不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時(shí)間。尤其是在網(wǎng)絡(luò)負(fù)載很重的情況下也不會出現(xiàn)網(wǎng)絡(luò)癱瘓情況(以太網(wǎng)則可能);CAN只需通過報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及全局廣播等幾種方式傳送接收數(shù)據(jù),無需專門的“調(diào)度”;CAN的直接通信距離最遠(yuǎn)可達(dá)10km (速率5kbps以下);通信速率最高可達(dá)1Mbps(此時(shí)通信距離最長為40m);CAN上的節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動電路,目前可達(dá)成110個(gè)。采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,具有極好的檢錯(cuò)效果。CAN的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,保證了數(shù)據(jù)出錯(cuò)率極低。CAN的通信介質(zhì)可為雙絞線、同軸電纜或光纖,選擇靈活。CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響。CAN總線具有較高的性能價(jià)格比。它結(jié)構(gòu)簡單,器件容易購置,每個(gè)節(jié)點(diǎn)的價(jià)格較低,而且開發(fā)過程中,能充分利用現(xiàn)在的單片機(jī)開發(fā)工具。
CAN控制器與單片機(jī)的接口電路
SJA1000可以與不同類型的單片微型計(jì)算機(jī)接口,再加上收發(fā)器就組成了一個(gè)CAN應(yīng)用系統(tǒng)的核心。系統(tǒng)硬件連接,硬件電路的設(shè)計(jì)主要是CAN通信控制器與微處理器之間和CAN總線收發(fā)器與物理總線之間的接口電路的設(shè)計(jì)。CAN通信控制器是CAN總線接口電路的核心,主要完成CAN的通信協(xié)議,而CAN總線收發(fā)器的主要功能是增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾(RFI),實(shí)現(xiàn)熱防護(hù)等。微控制器的時(shí)鐘采自SJA1000的振蕩器。通過SJA1000的時(shí)鐘分頻寄存器CDR,它決定了SJA1000的CLKOUT 腳的輸出和它的工作方式。SJA1000的AD0- AD7 連接到89C52的P0口,CS片選信號連接到89C51 的P2. 7。P2. 7 為0時(shí)CPU片外存儲器地址可選中SJA1000,CPU通過這些地址可對SJA1000執(zhí)行相應(yīng)的讀/寫操作。SJA1000的RD、WR、ALE分別與89C52的對應(yīng)引腳相連,INT接89C52的P3. 2(INTO),89C52
也可以通過中斷方式訪問SJA1000。82C250與CAN總線的接口部分也采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過一個(gè)5Ω的電阻與CAN總線相連,電阻可起到一定的限流作用,保護(hù)82C250免受過流的沖擊。CANH和CANL與地之間并聯(lián)了兩個(gè)30pF的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。另外,在兩根CAN總線輸入端與地之間分別接了一個(gè)防雷擊管,當(dāng)兩輸入端與地之間出現(xiàn)瞬變干擾時(shí),通過防雷擊管的放電可起到一定的保護(hù)作用。瞬變干擾(Transient Interference)是電磁兼容領(lǐng)域中主要的一種干擾方式,特別是雷擊浪涌波,由于持續(xù)時(shí)間短,脈沖幅值高,能量大,給電子電氣設(shè)備的正常運(yùn)行帶來極大的威脅。82C250的Rs腳上接有一個(gè)斜率電阻,電阻大小可根據(jù)總線通信速度適當(dāng)調(diào)節(jié),一般在16—140kΩ之間。
軟件設(shè)計(jì)
本文主要設(shè)計(jì)了汽車的舒適系統(tǒng),其中包括了車門系統(tǒng)和車燈系統(tǒng)以及儀表盤之間通過CAN總線的通訊,用來實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)之間的相互控制。,當(dāng)儀表盤上的鑰匙門啟動時(shí),儀表盤上的點(diǎn)火指示燈會亮起來,同時(shí)車門系統(tǒng)和車燈系統(tǒng)的ECU分別在總線上接到這個(gè)信息,也分別讓各自的電源指示燈亮起來,這就表示各個(gè)系統(tǒng)在鑰匙門打開的同時(shí)已經(jīng)都準(zhǔn)備好了,等待總線發(fā)出命令,以便做出相應(yīng)的動作。當(dāng)車門要打開時(shí),儀表盤上的車門指示燈亮;當(dāng)大燈打開時(shí),儀表盤上的大燈指示亮;當(dāng)轉(zhuǎn)向燈開關(guān)打開時(shí),轉(zhuǎn)向燈亮;當(dāng)雙閃開關(guān)打開時(shí),左右轉(zhuǎn)向燈同時(shí)閃動。
模擬實(shí)驗(yàn)
本論文采用了VectoR公司生產(chǎn)的CANoe軟件對CAN總線進(jìn)行了實(shí)時(shí)監(jiān)控。通過一個(gè)CAN卡--CANcardX (PCMCIA接口卡)以及一根CANcabs-CANcardX總線驅(qū)動電纜,可以把系統(tǒng)中的CAN總線數(shù)據(jù)通過計(jì)算機(jī)編程采集出來。下位機(jī)與上位機(jī)設(shè)定相同的通訊波特率(本論文中設(shè)定為100kbps),通過建立相應(yīng)的數(shù)據(jù)庫,就可以互相通訊了。
根據(jù)實(shí)際測量的結(jié)果,可以看出總線負(fù)載符合要求,沒有接收到出錯(cuò)幀,接受狀態(tài)處于激活中,接收到數(shù)據(jù)幀,總線工作狀態(tài)正常。從總線上測得的數(shù)據(jù)表明,對于每個(gè)ECU節(jié)點(diǎn)發(fā)送的ID碼以及數(shù)據(jù)與預(yù)定的ID碼及數(shù)據(jù)相同,總線接收和發(fā)送正常、準(zhǔn)確,完全符合預(yù)期研究的目標(biāo)。該模擬系統(tǒng)可以隨意向總線上正確的發(fā)送數(shù)據(jù)幀、遠(yuǎn)程幀,而且一旦某個(gè)ECU節(jié)點(diǎn)出現(xiàn)故障,總線會進(jìn)行自動處理(在單片機(jī)軟件中進(jìn)行處理),如果該節(jié)點(diǎn)一直在向總線發(fā)送錯(cuò)誤標(biāo)志,總線就會自動中斷該節(jié)點(diǎn),其他節(jié)點(diǎn)也會檢測到錯(cuò)誤條件,停止向給節(jié)點(diǎn)發(fā)送數(shù)據(jù),這樣就可以避免總線癱瘓。所以某個(gè)ECU節(jié)點(diǎn)出現(xiàn)錯(cuò)誤,不會影響其他節(jié)點(diǎn)的正常工作,不會造成整個(gè)總線的癱瘓。
CAN總線技術(shù),是工業(yè)控制與計(jì)算機(jī)網(wǎng)絡(luò)兩者邊緣的產(chǎn)物。無論是從網(wǎng)絡(luò)的結(jié)構(gòu)、協(xié)議、實(shí)時(shí)性、還是適應(yīng)性、靈活性、可靠性乃至成本等,工業(yè)控制的底層都有它的特殊性,特別是汽車工業(yè)中,要傳輸?shù)男畔级绦?,要求?shí)時(shí)性很強(qiáng)、可靠性高。因此,CAN總線在汽車ECU中的研究具有進(jìn)一步推廣應(yīng)用的價(jià)值和良好的開發(fā)前景。


關(guān)鍵詞: CAN總線技術(shù)汽車EC

評論


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

關(guān)閉