新聞中心

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

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

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

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

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


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


CAN是德國Bosch公司在20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制模塊與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信總線,是一種多主站總線通信系統(tǒng)。通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,其通信速率可達(dá)IMbPs,最大通信距離可達(dá)5000m。在CAN總線通信控制器中集成了以N協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括零位的插入/刪除、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級判別等項(xiàng)工作〔22]。在汽車電子行業(yè)里,使用CAN連接發(fā)動機(jī)控制單元、自動變速箱控制單元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對象層 (the objeet layer)
2、eAN傳輸層 (the transfer layer)
3、物理層

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


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

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


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

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


上一頁 1 2 下一頁

評論


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

關(guān)閉