第4章 CAN總線課件_第1頁
第4章 CAN總線課件_第2頁
第4章 CAN總線課件_第3頁
第4章 CAN總線課件_第4頁
第4章 CAN總線課件_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

CAN總線測控技術(shù)第4章CAN總線4.1概述4.2CAN的的物理層4.3CAN協(xié)議規(guī)范4.4典型CAN總線器件及應(yīng)用第4章CAN總線

CAN(ControllerAreaNetwork)即控制器局域網(wǎng),可以歸屬于工業(yè)現(xiàn)場總線的范疇,通常稱為CANbus,即CAN總線,是目前國際上應(yīng)用最廣泛的開放式現(xiàn)場總線之一。與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性,它在汽車領(lǐng)域上的應(yīng)用最為廣泛,世界上一些著名的汽車制造廠商,如BENZ(奔馳)、BMW(寶馬)、volkswagen(大眾)等都采用了CAN總線來實現(xiàn)汽車內(nèi)部控制系統(tǒng)與各檢測和執(zhí)行機構(gòu)間的數(shù)據(jù)通信。同時,由于CAN總線的特點,其應(yīng)用范圍目前已不僅局限于汽車行業(yè),已經(jīng)在自動控制、航空航天、航海、過程工業(yè)、機械工業(yè)、紡織機械、農(nóng)用機械、機器人、數(shù)控機床、醫(yī)療器械及傳感器等領(lǐng)域中得到了廣泛應(yīng)用。

4.1概述4.1.1CAN工作原理、特點4.1.2發(fā)展背景及應(yīng)用情況4.1.3一個典型的工程實例4.1概述

CAN最初出現(xiàn)在汽車工業(yè)中,80年代由德國Bosch公司最先提出。最初動機是為了解決現(xiàn)代汽車中龐大的電子控制裝置之間的通訊,減少不斷增加的信號線。1993年CAN成為國際標(biāo)準(zhǔn)ISO11898(高速應(yīng)用)和ISO11519(低速應(yīng)用)。CAN的規(guī)范從CAN1.2規(guī)范(標(biāo)準(zhǔn)格式)發(fā)展為兼容CAN1.2規(guī)范的CAN2.0規(guī)范(CAN2.0A為標(biāo)準(zhǔn)格式,CAN2.0B為擴展格式),目前應(yīng)用的CAN器件大多符合CAN2.0規(guī)范。

4.1.1CAN的工作原理、特點

1.CAN的工作原理

當(dāng)CAN總線上的一個節(jié)點(站)發(fā)送數(shù)據(jù)時,它以報文形式廣播給網(wǎng)絡(luò)中所有節(jié)點。

每組報文開頭的11位字符為標(biāo)識符(CAN2.0A),定義了報文的優(yōu)先級,這種報文格式稱為面向內(nèi)容的編址方案。

當(dāng)一個節(jié)點要向其它節(jié)點發(fā)送數(shù)據(jù)時,該節(jié)點的CPU將要發(fā)送的數(shù)據(jù)和自己的標(biāo)識符傳送給本節(jié)點的CAN芯片,并處于準(zhǔn)備狀態(tài);當(dāng)它收到總線分配時,轉(zhuǎn)為發(fā)送報文狀態(tài)。

CAN芯片將數(shù)據(jù)根據(jù)協(xié)議組織成一定的報文格式發(fā)出,這時,網(wǎng)上的其它節(jié)點處于接收狀態(tài)。每個處于接收狀態(tài)的節(jié)點對接收到的報文進行檢測,判斷這些報文是否是發(fā)給自己的,以確定是否接收它。由于CAN總線是一種面向內(nèi)容的編址方案,因此很容易建立高水準(zhǔn)的控制系統(tǒng)并靈活地進行配置。我們可以很容易地在CAN總線中加進一些新節(jié)點而無需在硬件或軟件上進行修改。

當(dāng)所提供的新節(jié)點是純數(shù)據(jù)接收設(shè)備時,數(shù)據(jù)傳輸協(xié)議不要求獨立的部分有物理目的地址。它允許分布過程同步化,即總線上控制器需要測量數(shù)據(jù)時,可由網(wǎng)上獲得,而無須每個控制器都有自己獨立的傳感器。2.CAN總線特點

CAN總線是一種串行數(shù)據(jù)通信協(xié)議,其通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等項工作。

CAN總線特點如下:(1)可以多主方式工作,網(wǎng)絡(luò)上任意一個節(jié)點均可以在任意時刻主動地向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,而不分主從,通信方式靈活。(2)網(wǎng)絡(luò)上的節(jié)點(信息)可分成不同的優(yōu)先級,可以滿足不同的實時要求。

(3)采用非破壞性位仲裁總線結(jié)構(gòu)機制,當(dāng)兩個節(jié)點同時向網(wǎng)絡(luò)上傳送信息時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)傳輸數(shù)據(jù)。(4)

可以點對點、一點對多點(成組)及全局廣播幾種傳送方式接收數(shù)據(jù)。(5)

直接通信距離最遠可達10km(速率5Kbps以下)。(6)通信速率最高可達1MB/s(此時距離最長40m)。(7)節(jié)點數(shù)實際可達110個。(8)采用短幀結(jié)構(gòu),每一幀的有效字節(jié)數(shù)為8個。(9)每幀信息都有CRC校驗及其他檢錯措施,數(shù)據(jù)出錯率極低。(10)通信介質(zhì)可采用雙絞線,同軸電纜和光導(dǎo)纖維,一般采用廉價的雙絞線即可,無特殊要求。(11)

節(jié)點在錯誤嚴(yán)重的情況下,具有自動關(guān)閉總線的功能,切斷它與總線的聯(lián)系,以使總線上的其他操作不受影響。4.1.2CAN的發(fā)展背景及其應(yīng)用情況1.

CAN的起源現(xiàn)代社會對汽車的要求不斷提高,這些要求包括:極高的主動安全性和被動安全性;乘坐的舒適性;駕駛與使用的便捷和人性化;尤其是低排放和低油耗的要求等。在汽車設(shè)計中運用微處理器及其電控技術(shù)是滿足這些要求的最好方法,而且已經(jīng)得到了廣泛的運用。目前這些系統(tǒng)有:ABS(防抱系統(tǒng))、EBD(制動力分配系統(tǒng))、EMS(發(fā)動機管理系統(tǒng))、多功能數(shù)字化儀表、主動懸架、導(dǎo)航系統(tǒng)、電子防盜系統(tǒng)、自動空調(diào)和自動CD機等。這些系統(tǒng)由多個電控單元相互連接而成,可分為控制器、傳感器、執(zhí)行器等。同時各個系統(tǒng)之間也互相連接,進行著越來越多的數(shù)據(jù)交換。這樣就需要使用大量的線束和插接器來實現(xiàn)互連,進行它們之間的數(shù)據(jù)交換。隨著汽車電子技術(shù)的不斷發(fā)展,這種需求的增長是驚人的(如圖)。CAN的起源

由于線束和插接器的數(shù)量不斷增加,整車電子系統(tǒng)的復(fù)雜程度愈來愈高,其可靠性將難以保證,故障率會提高,維修會更加困難。為了滿足汽車內(nèi)部信息交換量急劇增加的要求,有必要使用一種實現(xiàn)多路傳輸方式的車載網(wǎng)絡(luò)系統(tǒng)。這種網(wǎng)絡(luò)系統(tǒng)采用串行總線結(jié)構(gòu),通過總線信道共享,減少線束的數(shù)量。

車載網(wǎng)絡(luò)除了要求采用總線拓撲結(jié)構(gòu)方式外,必須具有極好的抗干擾能力;極強的差錯檢測和處理能力;滿足信息傳輸實時性要求;同時具備故障的診斷和處理能力等。另外考慮到成本因素,要求其控制接口結(jié)構(gòu)簡單,易于配置。CAN的起源

CAN的發(fā)展概況20世紀(jì)80年代,Bosch的工程人員開始研究用于汽車的串行總線系統(tǒng),因為當(dāng)時還沒有一個網(wǎng)絡(luò)協(xié)議能完全滿足汽車工程的要求。參加研究的還有Mercedes-Benz公司、Intel公司,還有德國兩所大學(xué)的教授。1986年,Bosch在SAE(汽車工程人員協(xié)會)大會上提出了CAN1987年,INTEL就推出了第一片CAN控制芯片—82526;隨后Philips半導(dǎo)體推出了82C200。1993年,CAN的國際標(biāo)準(zhǔn)ISO11898公布從此CAN協(xié)議被廣泛的用于各類自動化控制領(lǐng)域。CAN的發(fā)展概況1992年,CIA(CANinAutomation)用戶組織成立,之后制定了第一個CAN應(yīng)用層“CAL”。1994年開始有了國際CAN學(xué)術(shù)年會(ICC)。1994年美國汽車工程師協(xié)會以CAN為基礎(chǔ)制定了SAEJ1939標(biāo)準(zhǔn),用于卡車和巴士控制和通信網(wǎng)絡(luò)。到今天,幾乎每一輛歐洲生產(chǎn)的轎車上都有CAN;高級客車上有兩套CAN,通過網(wǎng)關(guān)互聯(lián);1999年一年就有近6千萬個CAN控制器投入使用;2000年銷售1億多CAN的芯片;2001年用在汽車上的CAN節(jié)點數(shù)目超過1億個。但是轎車上基于CAN的控制網(wǎng)絡(luò)至今仍是各大公司自成系統(tǒng),沒有一個統(tǒng)一標(biāo)準(zhǔn)?;贑AN的應(yīng)用層協(xié)議應(yīng)用較通用的有兩種:DeviceNet(適合于工廠底層自動化)和CANopen(適合于機械控制的嵌入式應(yīng)用)。任何組織或個人都可以從DeviceNet供貨商協(xié)會(ODVA)獲得DeviceNet規(guī)范。購買者將得到無限制的、真正免費的開發(fā)DeviceNet產(chǎn)品的授權(quán)。DviceNet自2002年被確立為中國國家標(biāo)準(zhǔn)以來,已在冶金、電力、水處理、乳品飲料、煙草、水泥、石化、礦山等各個行業(yè)得到成功應(yīng)用,其低成本和高可靠性已經(jīng)得到廣泛認同。4.1.3一個典型的工程實例

一汽-大眾汽車有限公司2001年12月上市的寶來(Bora)轎車,在動力傳動系統(tǒng)和舒適系統(tǒng)中就裝用了兩套CAN數(shù)據(jù)傳輸系統(tǒng),其中CAN數(shù)據(jù)傳輸舒適系統(tǒng)如圖4.1所示。接發(fā)電機底盤網(wǎng)絡(luò)

儀表單元

MMMMMMMMMMMM前門單元車身中央控制單元

空調(diào)單元

前座單元

頂窗單元

前座單元

左前門單元

MMM后門單元

后門單元

后座單元

MM后窗單元

MMMCANMLIN電機加熱器燈具控制面板圖例:圖4-1CAN數(shù)據(jù)傳輸舒適系統(tǒng)CANZONGXIAN

CAN總線連接了傳動裝置控制中央單元、燈控單元、門控單元、座椅控制單元、空調(diào)單元以及儀表盤控制單元等等。

由LIN總線構(gòu)成的LIN網(wǎng)絡(luò)作為CAN網(wǎng)絡(luò)的輔助網(wǎng)絡(luò),連接了車窗控制單元、雨刷控制單元、天窗控制單元等低速設(shè)備

LIN網(wǎng)絡(luò)(LocalInterconnectNetwork),由汽車廠商為汽車開發(fā),作為CAN網(wǎng)絡(luò)的輔助網(wǎng)絡(luò),目標(biāo)應(yīng)用在低端系統(tǒng),不需要CAN的性能、帶寬以及復(fù)雜性。

LIN的工作方式是一主多從,單線雙向低速傳送數(shù)據(jù)(最高20K位/秒),與CAN相比具有更低的成本,且基于UART接口,無需硬件協(xié)議控制器,使系統(tǒng)成本更低。

CAN數(shù)據(jù)傳輸舒適系統(tǒng)網(wǎng)絡(luò)與動力傳動系統(tǒng)網(wǎng)絡(luò)通過網(wǎng)橋相互通信。4.2CAN的物理層

物理層被細分成3個子層,它們分別是:l

物理信令位編碼定時和同步l

物理媒體連接驅(qū)動器和接收器特性l

媒體相關(guān)接口總線連接器收發(fā)器實現(xiàn)物理媒體連接子層。物理信令子層和數(shù)據(jù)鏈路層之間的連接是通過集成的協(xié)議控制器實現(xiàn)的,如:PCx82C200、SJA1000等。而媒體相關(guān)接口負責(zé)連接傳輸媒體譬如將總線節(jié)點連接到總線的連接器,如:PCA82C250、TJA1050等收發(fā)器。

圖4.2ISO11898標(biāo)準(zhǔn)數(shù)據(jù)鏈路層和物理層結(jié)構(gòu)圖

4.2.1CAN的網(wǎng)絡(luò)拓撲

CAN以多主方式工作,網(wǎng)絡(luò)上任意一個節(jié)點均可以在任意時刻主動地向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,而不分主從,通信方式靈活。其網(wǎng)絡(luò)拓撲形式大多是總線型結(jié)構(gòu),拓撲示意圖見圖4.3。

節(jié)點1節(jié)點2節(jié)點3節(jié)點4CAN總線圖4.3CAN的總線型網(wǎng)CAN的網(wǎng)絡(luò)拓撲4.2CAN的物理層4.2.2CAN的物理媒體連接

CAN總線物理層的物理媒體連接比較靈活,可以采用共地的單線式(汽車常用)、雙線式、同軸電纜、雙絞線、光纜等,理論上節(jié)點數(shù)目沒有限制,實際可達110個。電子信號在總線上會被信號線終端反射回來,避免信號的反射對節(jié)點正確讀取總線電壓非常重要。在總線的兩個終端加上終端電阻以終結(jié)總線,可以避免信號反射。

CAN總線具有兩種邏輯狀態(tài),隱性和顯性。隱性狀態(tài)下,VCAN-H和VCAN-L被固定為平均電壓電平,兩者電壓差為0。顯性狀態(tài)下,VCAN-H和VCAN-L分別為3.5V和1.5V,兩者差分電壓大于2V。如圖4.4所示。

隱性狀態(tài)隱性狀態(tài)顯性狀態(tài)圖4.4根據(jù)ISO11898的額定總線電平

4.3CAN協(xié)議規(guī)范

4.3.1基本術(shù)語4.3.2CAN的報文及結(jié)構(gòu)4.3.3CAN的位仲裁技術(shù)4.3CAN協(xié)議規(guī)范

CAN為串行通訊協(xié)議,能有效地支持具有很高安全等級的分布實時控制。CAN的應(yīng)用范圍很廣,從高速的網(wǎng)絡(luò)到低價位的多路接線都可以使用CAN。在汽車電子行業(yè)里,使用CAN連接發(fā)動機控制單元、傳感器、防剎車系統(tǒng)、等等,其傳輸速度可達1Mbit/s。同時,可以將CAN安裝在卡車本體的電子控制系統(tǒng)里,諸如車燈組、電氣車窗等等,用以代替接線配線裝置。

技術(shù)規(guī)范的目的是為了在任何兩個CAN儀器之間建立兼容性??墒?,兼容性有不同的方面,比如電氣特性和數(shù)據(jù)轉(zhuǎn)換的解釋。為了達到設(shè)計透明度以及實現(xiàn)靈活性,根據(jù)ISO/OSI參考模型,CAN2.0規(guī)范細分為以下不同的層次:數(shù)據(jù)鏈路層和物理層(如圖4.5所示)。

位編碼/解碼位定時同步驅(qū)動器接收器特性邏輯鏈路子層LLC

接收濾波超載通知恢復(fù)管理介質(zhì)訪問控制子層MAC

數(shù)據(jù)包裝/解包幀編碼介質(zhì)訪問管理錯誤監(jiān)測出錯標(biāo)定應(yīng)答串并轉(zhuǎn)換數(shù)據(jù)鏈路層物理層故障界定總線故障管理監(jiān)控器圖4.5CAN協(xié)議分層結(jié)構(gòu)和功能1.CAN規(guī)范中的對應(yīng)ISO/OSI參考模型的網(wǎng)絡(luò)層在以前版本的CAN規(guī)范中,數(shù)據(jù)鏈路層的LLC子層和MAC子層的服務(wù)及功能分別被解釋為“對象層”和“傳輸層”。

邏輯鏈路控制子層(LLC)的作用范圍如下:

?為遠程數(shù)據(jù)請求以及數(shù)據(jù)傳輸提供服務(wù)。

?確定由實際要使用的LLC子層接收哪一個報文。

?為恢復(fù)管理和過載通知提供手段。

MAC子層的作用主要是傳送規(guī)則,也就是控制幀結(jié)構(gòu)、執(zhí)行仲裁、錯誤檢測、出錯標(biāo)定、故障界定。位定時的一些普通功能也可以看作是MAC子層的一部分。

物理層的作用是在不同節(jié)點之間根據(jù)所有的電氣屬性進行位的實際傳輸。2.基本概念

CAN具有以下的屬性:

?報文的優(yōu)先權(quán)

?保證延遲時間

?設(shè)置靈活

?時間同步的多點接收?系統(tǒng)內(nèi)數(shù)據(jù)的連貫性

?多主機

?錯誤檢測和錯誤標(biāo)定

?只要總線一處于空閑,就自動將破壞的報文重新傳輸

?將節(jié)點的暫時性錯誤和永久性錯誤區(qū)分開來,并且可以自動關(guān)閉由OSI參考模型分層CAN結(jié)構(gòu)的錯誤的節(jié)點。依據(jù)ISO/OSI參考模型的層結(jié)構(gòu)具有以下功能:

?物理層定義信號是如何實際地傳輸?shù)?,因此涉及到位時間、位編碼、同步的解釋。技術(shù)規(guī)范沒有定義物理層的驅(qū)動器/接收器特性,以便允許根據(jù)它們的應(yīng)用,對發(fā)送媒體和信號電平進行優(yōu)化。

?MAC子層是CAN協(xié)議的核心。它把接收到的報文提供給LLC子層,并接收來自LLC子層的報文。MAC子層負責(zé)報文分幀、仲裁、應(yīng)答、錯誤檢測和標(biāo)定。MAC子層也被稱作故障界定的管理實體監(jiān)管。此故障界定為自檢機制,以便把永久故障和短時擾動區(qū)別開來。

?LLC子層涉及報文濾波、過載通知、以及恢復(fù)管理。4.3.1基本術(shù)語

1.報文總線上的報文以不同的固定報文格式發(fā)送,但長度受限。當(dāng)總線空閑時任何連接的單元都可以開始發(fā)送新的報文。

2.信息路由在CAN系統(tǒng)里,CAN的節(jié)點不使用任何關(guān)于系統(tǒng)配置的報文(比如,節(jié)點地址)。這樣不用依賴應(yīng)用層以及任何節(jié)點軟件和硬件的改變,就可以在CAN網(wǎng)絡(luò)中直接添加節(jié)點,提高了系統(tǒng)靈活性。報文的內(nèi)容由識別符命名。識別符不指出報文的目的地,但解釋數(shù)據(jù)的含義。因此,網(wǎng)絡(luò)上所有的節(jié)點可以通過報文濾波確定是否應(yīng)對該數(shù)據(jù)做出反應(yīng)。為確保報文在CAN網(wǎng)絡(luò)里同時被所有的節(jié)點接收(或同時不被接收),要通過多播和錯誤處理的原理實現(xiàn)的。

3.位速率不同的系統(tǒng),CAN的速度不同。在一個給定的系統(tǒng)里,位速率是唯一的,并且是固定的。

4.優(yōu)先權(quán)在總線訪問期間,識別符定義一個靜態(tài)的報文優(yōu)先權(quán)。

5.遠程數(shù)據(jù)請求通過發(fā)送遠程幀,需要數(shù)據(jù)的節(jié)點可以請求另一節(jié)點發(fā)送相應(yīng)的數(shù)據(jù)幀。數(shù)據(jù)幀和相應(yīng)的遠程幀是由相同的識別符命名的。

6.仲裁只要總線空閑,任何單元都可以開始發(fā)送報文。具有較高優(yōu)先權(quán)報文的單元可以獲得總線訪問權(quán)。如果2個或2個以上的單元同時開始傳送報文,那么就會有總線訪問沖突。

仲裁的機制確保了報文和時間均不損失。當(dāng)具有相同識別符的數(shù)據(jù)幀和遠程幀同時初始化時,數(shù)據(jù)幀優(yōu)先于遠程幀。

仲裁期間,每一個發(fā)送器都對發(fā)送位的電平與被監(jiān)控的總線電平進行比較。如果電平相同,則這個單元可以繼續(xù)發(fā)送。如果發(fā)送的是一“隱性”電平而監(jiān)視的是一“顯性”電平(見總線值),那么單元就失去了仲裁,必須退出發(fā)送狀態(tài)。

7.錯誤檢測

(1)要進行檢測錯誤,必須采取以下措施:

?監(jiān)視(發(fā)送器對發(fā)送位的電平與被監(jiān)控的總線電平進行比較)

?循環(huán)冗余檢查

?位填充

?報文格式檢查

(2)錯誤檢測的執(zhí)行.錯誤檢測的機制要具有以下的屬性:

?檢測到所有的全局錯誤

?檢測到發(fā)送器所有的局部錯誤

?可以檢測到報文里多達5個任意分布的錯誤

?檢測到報文里長度低于15(位)的突發(fā)性錯誤

?檢測到報文里任一奇數(shù)個的錯誤

(3)錯誤標(biāo)定和恢復(fù)時間任何檢測到錯誤的節(jié)點會標(biāo)志出損壞的報文。此報文會失效并將自動地開始重新傳送。如果不再出現(xiàn)錯誤的話,從檢測到錯誤到下一報文的傳送開始為止,恢復(fù)時間最多為31個位的時間。

8.故障界定

CAN節(jié)點能夠把永久故障和短暫擾動區(qū)別開來。故障的節(jié)點會被關(guān)閉。

9.總線值總線有二個互補的邏輯值:“顯性”或“隱性”?!帮@性”位和“隱性”位同時傳送時,總線的結(jié)果值為“顯性”。比如,在總線的“寫與”執(zhí)行時,邏輯0代表“顯性”等級,邏輯1代表“隱性”等級。

10.應(yīng)答所有的接收器檢查報文的連貫性。對于連貫的報文,接收器應(yīng)答,對于不連貫的報文,接收器作出標(biāo)志。

4.3.2CAN的報文及結(jié)構(gòu)標(biāo)準(zhǔn)幀

11位標(biāo)識符擴展幀

29位標(biāo)識符幀類型數(shù)據(jù)幀、遠程幀、錯誤幀和過載幀

數(shù)據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。總線上傳輸?shù)拇蠖嗍沁@個幀。

遠程幀:由總線單元發(fā)出,請求發(fā)送具有同一識別符的數(shù)據(jù)幀。數(shù)據(jù)幀(或遠程幀)通過幀間空間與其他各幀分開。

錯誤幀:任何單元一但檢測到總線錯誤就發(fā)出錯誤幀。

過載幀:過載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠程幀)之間提供一附加的延時。1.數(shù)據(jù)幀由7個不同的場組成。數(shù)據(jù)場長度可為0CAN2.0B存在標(biāo)準(zhǔn)和擴展兩種幀格式為了設(shè)計簡單,可以對標(biāo)準(zhǔn)格式執(zhí)行部分擴展,不一定要完全擴展可以用整個標(biāo)識符進行報文濾波,也可以把標(biāo)識符屏蔽一部分進行報文濾波仲裁場控制場數(shù)據(jù)場CRC場幀間空間幀結(jié)束幀起始ACK場幀間空間數(shù)據(jù)幀數(shù)據(jù)幀的標(biāo)準(zhǔn)格式和擴展格式標(biāo)準(zhǔn)格式擴展格式仲裁場控制場數(shù)據(jù)場11位標(biāo)識符SOFRTRIDEr0DLC仲裁場控制場數(shù)據(jù)場11位標(biāo)識符SOFRTRIDEDLC18位標(biāo)識符

r1

r0SRR數(shù)據(jù)幀的標(biāo)準(zhǔn)格式和擴展格式幀起始(SOF)僅由一顯位構(gòu)成。所有站都必須同步于首先發(fā)送的那個幀起始前沿仲裁場(標(biāo)準(zhǔn)格式)由11位標(biāo)識符ID28~ID18、遠程發(fā)送請求位RTR組成,其中ID高七位不可全為1(隱性)。仲裁場(擴展格式)由29位標(biāo)識符ID28~ID0、SRR位、IDE位、RTR位組成SRR是隱性位,它用于替代標(biāo)準(zhǔn)格式的RTR位。IDE=1(隱性)代表擴展格式。IDE位在擴展格式中位于仲裁場而在標(biāo)準(zhǔn)格式中位于控制場。數(shù)據(jù)幀的標(biāo)準(zhǔn)格式和擴展格式控制場由6個位組成數(shù)據(jù)長度碼DLC3~DLC0指示數(shù)據(jù)場的字節(jié)數(shù),0~8,其他數(shù)值不允許使用。保留位r1和r0必須為0,IDE(標(biāo)準(zhǔn)格式)=0數(shù)據(jù)場:0~8個字節(jié),8位/字節(jié),MSB先發(fā)CRC場由15位CRC序列和1位CRC界定符組成。CRC界定符為一隱性位。保留位控制場數(shù)據(jù)場或CRC場數(shù)據(jù)長度碼仲裁場IDE/r1r0DLC3DLC2DLC1DLC0數(shù)據(jù)幀的標(biāo)準(zhǔn)格式和擴展格式應(yīng)答場為2位,包括應(yīng)答間隙和應(yīng)答界定符,不進行位填充。在應(yīng)答間隙時間,發(fā)送器發(fā)隱位;所有正確接收到有效報文的接收器發(fā)一個顯位。應(yīng)答界定符為隱位(1)。幀結(jié)束:由7個隱位組成,不進行位填充。2.遠程幀需要數(shù)據(jù)的節(jié)點可以發(fā)送遠程幀請求另一節(jié)點發(fā)送相應(yīng)數(shù)據(jù)幀遠程幀的RTR位是隱性的,它沒有數(shù)據(jù)場,所以數(shù)據(jù)長度碼沒有意義。3.錯誤幀錯誤幀由兩個不同的場組成,第一個場是不同站提供的錯誤標(biāo)志的疊加,第二個場是錯誤界定符。錯誤標(biāo)志分兩種,主動錯誤標(biāo)志(6個顯性位)和被動錯誤標(biāo)志(6個隱性位)檢測到錯誤條件的“錯誤主動”站發(fā)送主動錯誤標(biāo)志,這樣一來所有其他站都會檢測到錯誤條件并開始發(fā)送錯誤標(biāo)志。疊加在一起最多12個顯性位.錯誤標(biāo)志的重疊錯誤界定符幀間空間或過載幀錯誤幀數(shù)據(jù)幀錯誤標(biāo)志3.錯誤幀檢測到錯誤條件的“錯誤被動”站發(fā)送被動錯誤標(biāo)志。從那時開始,等待6個相同極性的位,一旦等到,被動錯誤標(biāo)志就算完成錯誤界定符包括8個隱性位。一個站發(fā)送錯誤標(biāo)志以后,就發(fā)送一個隱性位,并一直監(jiān)視總線,直到發(fā)現(xiàn)一個隱性位,就發(fā)送其余7個隱性位。4.過載幀過載幀包括兩個場:過載標(biāo)志(6個顯位及其疊加)和過載界定符(8個隱位)導(dǎo)致發(fā)送過載標(biāo)志的條件:①接收器內(nèi)部要求延遲下一個數(shù)據(jù)幀或遠程幀,②在間歇場第一或第二位檢測到一個顯性位,

如果CAN節(jié)點在錯誤界定符或過載界定符的第8位(最后一位)采樣到一個顯性位,節(jié)點會發(fā)送一個過載幀(不是錯誤幀)。錯誤計數(shù)器不會增加。過載標(biāo)志的重疊過載界定符幀間空間或過載幀過載幀幀結(jié)束或錯誤界定符或過載界定符過載標(biāo)志4.過載幀過載標(biāo)志的形式與主動錯誤標(biāo)志一樣一個站發(fā)出過載標(biāo)志,其他站都將檢測到過載條件并發(fā)出過載標(biāo)志。過載界定符的形式與錯誤界定符一樣。過載標(biāo)志發(fā)送后,站就監(jiān)視總線直到發(fā)現(xiàn)從顯位到隱位的跳變,然后發(fā)送其余7個隱性位。5.幀間空間間歇

間歇包括3個“隱性”的位。間歇期間,所有的站均不允許傳送數(shù)據(jù)幀或遠程幀,唯一要做的是標(biāo)示一個過載條件??偩€空閑

總線空閑的時間是任意的。只要總線被認定為空閑,任何等待發(fā)送報文的站就會訪問總線。在發(fā)送其他報文期間,有報文被掛起,對于這樣的報文,其傳送起始于間歇之后的第一個位。總線上檢測到的“顯性”的位可被解釋為幀的起始。掛起傳送“錯誤被動”的站發(fā)送報文后,站就在下一報文開始傳送之前或總線空閑之前發(fā)出8個“隱性”的位跟隨在間歇的后面。如果與此同時另一站開始發(fā)送報文(由另一站引起),則此站就作為這個報文的接收器。間歇場總線空閑幀幀間空間幀4.3.3CAN的位仲裁技術(shù)

顯性隱性失去仲裁節(jié)點1節(jié)點2線上可見站3報文站1報文站2報文01111110000報文標(biāo)識符01001100000010011100001丟掉0100110000001001110000101001100000丟掉跟蹤圖4.15位仲裁示意圖

注意,總線中的信號持續(xù)跟蹤最后獲得總線讀取權(quán)的站的報文。

這種非破壞性位仲裁方法的優(yōu)點在于,在網(wǎng)絡(luò)最終確定哪一個站的報文被傳送以前,報文的起始部分已經(jīng)在網(wǎng)絡(luò)上傳送了。所有未獲得總線讀取權(quán)的站都成為具有最高優(yōu)先權(quán)報文的接收站,并且不會在總線再次空閑前發(fā)送報文。

CAN具有較高的效率是因為總線僅僅被那些請求總線懸而未決的站利用,這些請求是根據(jù)報文在整個系統(tǒng)中的重要性按順序處理的。4.4典型CAN總線器件及應(yīng)用4.4.1SJA1000CAN控制器4.4.2PCA82C250CAN收發(fā)器4.4.3CANBUS節(jié)點設(shè)計舉例CAN控制器的作用完成CAN規(guī)范所規(guī)定的物理層和數(shù)據(jù)鏈路層大部分功能有微處理器接口,易于連接單片機結(jié)構(gòu)分兩種類型,獨立IC或與單片機集成在一起,SJA1000屬于前者屬于后者的有:PHILIPS的87C591、LPC2119,西門子的C167C,INTEL的80C196CA等都遵循CAN2.0規(guī)范,掌握其中一種就可觸類旁通

4.4.1SJA1000CAN控制器

SJA1000是一個獨立的CAN控制器,它在汽車和普通的工業(yè)應(yīng)用上有先進的特征,適合于多種應(yīng)用特別在系統(tǒng)優(yōu)化診斷和維護方面非常重要。

SJA1000獨立的CAN控制器有2個不同的操作模式:

1

BasicCAN模式:和PCA82C200兼容。BasicCAN模式是上電后默認的操作模式,因此用PCA82C200開發(fā)的已有硬件和軟件,可以直接在SJA1000上使用而不用作任何修改。

2PeliCAN模式:是新的操作模式。它能夠處理所有CAN2.0B規(guī)范的幀類型。而且它還提供一些增強功能,使SJA1000能應(yīng)用于更寬的領(lǐng)域。工作模式通過時鐘分頻寄存器中的CAN模式位來選擇,復(fù)位時默認模式是BasicCAN模式。

CAN控制器SJA1000在系統(tǒng)中的位置傳感器執(zhí)行元件MMI模塊控制器CAN控制器CAN收發(fā)器TXRX傳感器執(zhí)行元件MMI微控制器SJA100082C250TXRXCAN總線分布模塊1分布模塊21.SJA1000控制器的結(jié)構(gòu)發(fā)送緩沖區(qū)驗收濾波器接收FIFOCAN2.0B核心模塊接口管理邏輯主控制器收發(fā)器SJA1000CAN總線線路

CAN核心模塊:根據(jù)CAN規(guī)范控制CAN幀的發(fā)送和接收。

接口管理邏輯:用于連接外部主控制器。SJA1000通過復(fù)用的地址/數(shù)據(jù)總線,與主控制器聯(lián)系。

發(fā)送緩沖器:用于存儲一個完整的擴展的或標(biāo)準(zhǔn)的報文。當(dāng)主控制器初始發(fā)送時,接口管理邏輯會使CAN核心模塊從發(fā)送緩沖器讀CAN報文。

驗收濾波器:通過這個可編程的濾波器能確定主控制器要接收哪些報文。

接收FIFO:用于存儲所有收到的報文,儲存報文的多少由工作模式?jīng)Q定,最多能存儲32個報文。

SJA1000發(fā)送緩沖器的布局CAN地址內(nèi)容16TX幀信息17TX標(biāo)識碼118TX標(biāo)識碼219TX數(shù)據(jù)字節(jié)120TX數(shù)據(jù)字節(jié)221TX數(shù)據(jù)字節(jié)322TX數(shù)據(jù)字節(jié)423TX數(shù)據(jù)字節(jié)524TX數(shù)據(jù)字節(jié)625TX數(shù)據(jù)字節(jié)726TX數(shù)據(jù)字節(jié)827未用28未用標(biāo)準(zhǔn)幀格式CAN地址內(nèi)容16TX幀信息17TX標(biāo)識碼118TX標(biāo)識碼219TX標(biāo)識碼320TX標(biāo)識碼421TX數(shù)據(jù)字節(jié)122TX數(shù)據(jù)字節(jié)223TX數(shù)據(jù)字節(jié)324TX數(shù)據(jù)字節(jié)425TX數(shù)據(jù)字節(jié)526TX數(shù)據(jù)字節(jié)627TX數(shù)據(jù)字節(jié)728TX數(shù)據(jù)字節(jié)8擴展幀格式SJA1000接收緩沖器(FIFO)的布局地址內(nèi)容(標(biāo)準(zhǔn)幀)內(nèi)容(擴展幀)16RX幀信息RX幀信息17RX標(biāo)識碼1RX標(biāo)識碼118RX標(biāo)識碼2RX標(biāo)識碼219RX數(shù)據(jù)字節(jié)1RX標(biāo)識碼320RX數(shù)據(jù)字節(jié)2RX標(biāo)識碼421RX數(shù)據(jù)字節(jié)3RX數(shù)據(jù)字節(jié)122RX數(shù)據(jù)字節(jié)4RX數(shù)據(jù)字節(jié)223RX數(shù)據(jù)字節(jié)5RX數(shù)據(jù)字節(jié)324RX數(shù)據(jù)字節(jié)6RX數(shù)據(jù)字節(jié)425RX數(shù)據(jù)字節(jié)7RX數(shù)據(jù)字節(jié)526RX數(shù)據(jù)字節(jié)8RX數(shù)據(jù)字節(jié)627RX數(shù)據(jù)字節(jié)728RX數(shù)據(jù)字節(jié)8圖4.17SJA1000控制器功能框圖

2.SJA1000控制器功能框圖2.SJA1000控制器功能框圖(1)

接口管理邏輯(IML)接口管理邏輯解釋來自CPU的命令,控制CAN寄存器的尋址,向主控制器提供中斷信息和狀態(tài)信息。(2)

發(fā)送緩沖器(TXB)發(fā)送緩沖器是CPU和BSP(位流處理器)之間的接口,能夠存儲發(fā)送到CAN網(wǎng)絡(luò)上的完整信息,緩沖器長13個字節(jié),由CPU寫入、BSP讀出。(3)接收緩沖器(RXB,RXFIFO)接收緩沖器是驗收濾波器和CPU之間的接口,用來儲存從CAN總線上接收的信息。(4)

驗收濾波器(ACF)驗收濾波器把它其中的數(shù)據(jù)和接收的識別碼的內(nèi)容相比較,以決定是否接收信息。

(5)位流處理器(BSP)

位流處理器是一個在發(fā)送緩沖器、RXFIFO和CAN總線之間,控制數(shù)據(jù)流的程序裝置,它還在CAN總線上執(zhí)行錯誤檢測、仲裁填充和錯誤處理。

(6)位時序邏輯(BTL)

位時序邏輯監(jiān)視串口的CAN總線和處理與總線有關(guān)的位時序。它在信息開頭的總線傳輸時同步CAN總線位流(硬同步),接收信息時再次同步下一次傳送(軟同步)。BTL還提供了可編程的間段來補償傳播延遲時間、相位轉(zhuǎn)換和定義采樣點和一位時間內(nèi)的采樣次數(shù)。(7)錯誤管理邏輯(EML)

EML負責(zé)傳送層模塊的錯誤管制。它接收BSP的出錯報告。通知BSP和IML進行錯誤統(tǒng)計。

2.SJA1000控制器功能框圖CAN控制器SJA1000主要特性28引腳,可與INTEL系列或MOTOROLA系列微處理器接口支持CAN2.0A和CAN2.0B規(guī)范支持11位和29位標(biāo)識符64字節(jié)先進先出(FIFO)接收緩沖器通信速率最高1MbpsCAN輸出驅(qū)動器可配置工作溫度-40~125℃

擴展的報文驗收濾波器,可置成單濾波或雙濾波模式4.4.282C250CAN收發(fā)器

PCA82C250是CAN協(xié)議控制器和物理總線的接口。此器件對總線提供差動發(fā)送能力,對CAN控制器提供差動接收能力。又稱為總線驅(qū)動器。符合ISO11898標(biāo)準(zhǔn),最高速率1Mbps;抗汽車環(huán)境瞬間干擾,具有保護總線能力;斜率控制,降低射頻干擾RFI;熱保護以及電源和地短路保護;低電流待機模式;未上電的節(jié)點對總線無影響;可連接110個節(jié)點;工作溫度-40~+125℃。4.4.282C250CAN收發(fā)器內(nèi)部具有限流電路,可防止發(fā)送輸出級對電源、地或負載短路。雖然短路出現(xiàn)時功耗增加但不至于損壞器件。若結(jié)溫超過160℃,則兩個輸出端電流限將減小,從而限制了芯片溫升。器件的所有其他部分將繼續(xù)工作。雙線差分驅(qū)動有助于抑制汽車等惡劣電器環(huán)境下的瞬變干擾。PCA82C250收發(fā)器的典型應(yīng)用如圖。SJA1000的RX和TX分別通過光電隔離電路連接到82C250,82C250的差動收發(fā)端CANH和CANL連接到總線電纜。輸入RS用于模式控制。Vref輸出電壓是0.5×Vcc,(Vcc=5V)。4.4.282C250CAN收發(fā)器CAN總線系統(tǒng)智能節(jié)點硬件設(shè)計4.4.3CANBUS節(jié)點設(shè)計舉例

1.網(wǎng)絡(luò)拓樸

CAN-bus采用總線網(wǎng)絡(luò)拓樸結(jié)構(gòu),在一個網(wǎng)絡(luò)上至少需要有2個CAN-bus節(jié)點存在。在總線的2個終端,各需要安裝1個120?的終端電阻;如果節(jié)點數(shù)目大于2個,中間節(jié)點就不要求安裝120?終端電阻。終端電阻CAN-bus節(jié)點1CANHCANL節(jié)點2CANHCANL節(jié)點3CANHCANL節(jié)點4CANHCANL圖4.26CAN總線網(wǎng)絡(luò)拓樸示意圖

雖然每一個節(jié)點根據(jù)應(yīng)用系統(tǒng)的任務(wù)有各自控制功能,但完成CAN-bus信息交換的功能是相同的。CANbus節(jié)點一般由微處理器、CAN控制器、CAN收發(fā)器三部分組成。微處理器CAN控制器CAN收發(fā)器RXTXCAN總線

控制裝置、傳感器、變送器、人機接口等

CANBus節(jié)點圖4.27CANbus節(jié)點示意圖

2.硬件設(shè)計

如圖4.28所示為CAN總線系統(tǒng)節(jié)點硬件電路原理圖。從圖中可以看出,電路主要由三部分所構(gòu)成,微控制器89C51、獨立CAN通信控制器SJA1000、CAN總線收發(fā)器82C250。微處理器89C51負責(zé)SJA1000的初始化,通過控制SJA1000實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論