新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 詳解基于CAN總線的汽車儀表系統(tǒng)設(shè)計(jì)—CAN總線原理分析

詳解基于CAN總線的汽車儀表系統(tǒng)設(shè)計(jì)—CAN總線原理分析

作者: 時(shí)間:2016-12-16 來(lái)源:網(wǎng)絡(luò) 收藏
控制器局域網(wǎng)CAN

控制器局域網(wǎng)CAN(CAN一 ControllerAreaNetwork)為串行通訊協(xié)議,屬于現(xiàn)場(chǎng)總線的范疇,它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),能有效地支持具有很高安全等級(jí)的分布實(shí)時(shí)控制。CAN的應(yīng)用范圍很廣,從高速的網(wǎng)絡(luò)到低價(jià)位的多路接線都可以使用CAN??刂破骶钟蚓W(wǎng)采用雙線串行通信方式工作。具有強(qiáng)有力的檢錯(cuò)功能,可在高噪聲干擾環(huán)境中使用,具有優(yōu)先權(quán)和仲裁功能、多個(gè)單片微機(jī)可通過(guò)CAN的控制器掛到CAN總線上,形成多主機(jī)局部控制網(wǎng)。CAN的最初設(shè)計(jì)目標(biāo)是取代汽車中過(guò)多的硬件連接控制電路,但由于它的優(yōu)良性能,現(xiàn)在除了汽車外,它已在工業(yè)自動(dòng)化、各種控制設(shè)備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等各領(lǐng)域得到了廣泛的應(yīng)用[20]。1993年n月150正式頒布了道路交通運(yùn)載工具一數(shù)字信息交換一高速通信控制器局域網(wǎng)CAN國(guó)際標(biāo)準(zhǔn) 15011898,為控制器局域網(wǎng)標(biāo)準(zhǔn)化、規(guī)范化的推廣鋪平了道路。

本文引用地址:http://butianyuan.cn/article/201612/330614.htm


2.2.1 CAN技術(shù)規(guī)范


CAN是德國(guó)Bosch公司在20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制模塊與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信總線,是一種多主站總線通信系統(tǒng)。通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,其通信速率可達(dá)IMbPs,最大通信距離可達(dá)5000m。在CAN總線通信控制器中集成了以N協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括零位的插入/刪除、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作〔22]。在汽車電子行業(yè)里,使用CAN連接發(fā)動(dòng)機(jī)控制單元、自動(dòng)變速箱控制單元ABS系統(tǒng)等等,其傳輸速度可達(dá) 1Mbit/s。同時(shí),可以將CAN安裝在卡車本體的電子控制系統(tǒng)里,諸如車燈組、電氣車窗等等,用以代替接線配線裝置。制定技術(shù)規(guī)范的目的是為了在任何兩個(gè)以N儀器之間建立兼容性。可是,兼容性有不同的方面,比如電氣特性和數(shù)據(jù)轉(zhuǎn)換的解釋。為了達(dá)到設(shè)計(jì)透明度以及實(shí)現(xiàn)靈活性,根據(jù)150/051參考模型,CAN被細(xì)分為以下不同的層次 :


1、CAN對(duì)象層 (the objeet layer)
2、eAN傳輸層 (the transfer layer)
3、物理層

對(duì)象層和傳輸層包括所有150/051模型定義的數(shù)據(jù)鏈路層的服務(wù)和功能,即邏輯鏈路控制子層(LLC)和媒體訪問(wèn)控制子層(MAC),對(duì)象層的作用包括:


1、查找被發(fā)送的報(bào)文;
2、確定由實(shí)際要使用的傳輸層接收哪一個(gè)報(bào)文;
3、為應(yīng)用層相應(yīng)的硬件提供接口。

傳輸層的作用主要是傳送規(guī)則,也就是控制幀結(jié)構(gòu)、執(zhí)行仲裁、錯(cuò)誤檢測(cè)、出錯(cuò)標(biāo)定、故障界定??偩€上什么時(shí)候開(kāi)始發(fā)送新報(bào)文及什么時(shí)候開(kāi)始接收?qǐng)?bào)文,均在傳輸層里確定。位定時(shí)的一些普通功能也可以看作是傳輸層的一部分,,理所當(dāng)然,傳輸層的修改是受到限制的。物理層的作用是在不同的節(jié)點(diǎn)之間根據(jù)所有電氣屬性進(jìn)行位信息的實(shí)際傳輸。在同一網(wǎng)絡(luò)內(nèi),物理層對(duì)于所有的節(jié)點(diǎn)必須是相同的。


2.2.2 CAN的基本概念
下面對(duì)CAN協(xié)議的媒體訪問(wèn)控制子層(傳輸層)的一些專業(yè)術(shù)語(yǔ)和特征作說(shuō)明CAN協(xié)議的媒體訪問(wèn)控制子層(傳輸層)的一些專業(yè)術(shù)語(yǔ)和特征作(Message):

1、總線上的報(bào)文以不同報(bào)文格式發(fā)送,但長(zhǎng)度受到限制??偩€空閑時(shí),任何一個(gè)網(wǎng)絡(luò)上的節(jié)點(diǎn)都可以發(fā)送報(bào)文。
2、信息路由 (InformationRouting):在CAN網(wǎng)絡(luò)中,節(jié)點(diǎn)不使用任何關(guān)于系統(tǒng)配置的報(bào)文比如站地址,由接收節(jié)點(diǎn)根據(jù)報(bào)文本身特征判斷是否接受這幀信息。因此系統(tǒng)擴(kuò)展時(shí),不用對(duì)應(yīng)用層以及任何節(jié)點(diǎn)軟件和硬件作任何改變,可以直接在CAN網(wǎng)絡(luò)中增加節(jié)點(diǎn)。
3、標(biāo)識(shí)符(Identifier):要傳送的報(bào)文有特征標(biāo)識(shí)符(是數(shù)據(jù)幀和遠(yuǎn)程幀的一個(gè)域),它給出的不是目標(biāo)節(jié)點(diǎn)地址,而是這個(gè)報(bào)文本身的特征。信息以廣播方式在網(wǎng)絡(luò)上發(fā)送,所有節(jié)點(diǎn)都可以接收到。節(jié)點(diǎn)通過(guò)標(biāo)識(shí)符判定是否接受接收到的這幀信息。
4、數(shù)據(jù)一致性:應(yīng)確保報(bào)文在CAN網(wǎng)絡(luò)里同時(shí)被所有節(jié)點(diǎn)接收或同時(shí)不接收。這是配合錯(cuò)誤處理和再同步功能實(shí)現(xiàn)的。
5、位速率:不同的CAN系統(tǒng)速度不同,但在一個(gè)給定的系統(tǒng)里,位速率是唯一的,并且固定的。
6、優(yōu)先權(quán):由發(fā)送數(shù)據(jù)的報(bào)文中的標(biāo)識(shí)符決定報(bào)文占用總線的優(yōu)先權(quán)。標(biāo)識(shí)符越小,優(yōu)先權(quán)越高。
7、遠(yuǎn)程數(shù)據(jù)請(qǐng)求 (RemoteDataRequest):通過(guò)發(fā)送遠(yuǎn)程幀,需要數(shù)據(jù)的節(jié)點(diǎn)請(qǐng)求另一節(jié)點(diǎn)發(fā)送相應(yīng)的數(shù)據(jù)?;貞?yīng)節(jié)點(diǎn)傳送的數(shù)據(jù)幀與請(qǐng)求數(shù)據(jù)的遠(yuǎn)程幀由相同的標(biāo)識(shí)符命名。
8、仲裁(Arbitration):只要總線空閑,任何節(jié)點(diǎn)都可以向總線發(fā)送報(bào)文。如果有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)同時(shí)發(fā)送報(bào)文,就會(huì)引起總線訪問(wèn)沖突。通過(guò)使用標(biāo)識(shí)符的逐位仲裁一一載波偵聽(tīng)多路訪問(wèn)/沖突檢測(cè)(CSMA/CD,Ca仃lersenseMultipleAccesswitheollisionDeteet)—的無(wú)損仲裁方式就可以解決這個(gè)lb]題。
9、錯(cuò)誤檢測(cè)與可靠性:為了保證發(fā)送的報(bào)文正確可靠,CAN采用發(fā)送濫聽(tīng)的位錯(cuò)誤檢測(cè)、幀數(shù)據(jù)的循環(huán)冗余碼CRC校驗(yàn)、位填充技術(shù)、幀格式校驗(yàn)和應(yīng)答檢測(cè)等五種錯(cuò)誤檢測(cè)方法。這些措施使CAN具有識(shí)別全部的全局錯(cuò)誤、發(fā)送端的局部錯(cuò)誤、一幀信息中的5個(gè)以上隨機(jī)錯(cuò)誤、報(bào)文中長(zhǎng)度小于巧的突發(fā)
性錯(cuò)誤和報(bào)文中任一奇數(shù)個(gè)錯(cuò)誤,使報(bào)文錯(cuò)誤漏報(bào)率小于 4.7x10
10、故障界定(ConfinemenO:CAN節(jié)點(diǎn)能區(qū)分瞬時(shí)擾動(dòng)引起的故障和永久性故障。故障節(jié)點(diǎn)會(huì)被關(guān)閉。
11、同步:CAN節(jié)點(diǎn)之間采用串行線連接,數(shù)據(jù)和同步信號(hào)都由這個(gè)通道承擔(dān)。信息發(fā)送有起始同步信號(hào),傳送過(guò)程中接收節(jié)點(diǎn)進(jìn)行再同步。
12、總線狀態(tài):e胡總線上用“顯性(dominant)”和“隱性(reeessive)”兩個(gè)互補(bǔ)的邏輯值表示“0”和“1”,“顯性”對(duì)應(yīng)邏輯“0”,“隱性”對(duì)應(yīng)邏輯“1”,“顯性”狀態(tài)和“隱性”狀態(tài)線與為“顯性”狀態(tài),所以當(dāng)在總線上出現(xiàn)兩個(gè)節(jié)點(diǎn)同時(shí)分別發(fā)送“0”和“1”時(shí),其結(jié)果是總線數(shù)值為顯性“O”。CAN總線采用二進(jìn)制不歸零伽Rz)編碼方式,所以總線上不是“0”,就是“1”。其具體代表值與電壓的關(guān)系如圖2一1所示:



13、應(yīng)答:接收節(jié)點(diǎn)對(duì)正確接收的報(bào)文給出應(yīng)答,對(duì)不一致報(bào)文進(jìn)行標(biāo)記。
14、位流編碼:一幀報(bào)文中,起始域、仲裁域、控制域、數(shù)據(jù)域和CRC域的二進(jìn)制位流通過(guò)位填充方式編碼。當(dāng)連續(xù)出現(xiàn)5個(gè)相同極性位時(shí),自動(dòng)插入一個(gè)補(bǔ)碼;報(bào)文中其他域不使用位流編碼,錯(cuò)誤幀和過(guò)載幀也不使用。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


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

關(guān)閉