入門知識分享之CAN總線
一、CAN總線的概述
CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計(jì)作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。比如:發(fā)動機(jī)管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中,均嵌入CAN控制裝置。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。一個由CAN 總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個節(jié)點(diǎn)。實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。為適應(yīng)“減少線束的數(shù)量”、“通過多個LAN,進(jìn)行大量數(shù)據(jù)的高速通信”的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO11898 及ISO11519 進(jìn)行了標(biāo)準(zhǔn)化,在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。
二、CAN總線的分層結(jié)構(gòu)
CAN遵從OSI模型,按照OSI基準(zhǔn)模型,CAN結(jié)構(gòu)劃分為兩層:數(shù)據(jù)鏈路層和物理層,如下圖所示。
1.按照IEEE 802.2和802.3 標(biāo)準(zhǔn),數(shù)據(jù)鏈路層又劃分為:
1)邏輯鏈路控制(LLC-Logic Link Control)。
2)媒體訪問控制(MAC-Medium Access Control)。
2.物理層又劃分為:
1)物理信令(PLS-Physical Signalling)。
2)物理媒體附屬裝置(PMA-Physical Medium Attachment)。
3)媒體相關(guān)接口(MDI-Medium Dependent Interface)。
MAC子層運(yùn)行借助稱之為“故障界定實(shí)體(FCE)”的管理實(shí)體進(jìn)行監(jiān)控。故障界定是使判別短暫干擾和永久性故障成為可能的一種自檢機(jī)制。物理層可借助檢測和管理物理媒體故障實(shí)體進(jìn)行監(jiān)控(例如總線短路或中斷,總線故障管理)。LLC和MAC兩個同等的協(xié)議實(shí)體通過交換幀或協(xié)議數(shù)據(jù)單元(PDU-Protocol Data Unit)和(N)-用戶數(shù)據(jù)組成,為傳送一個NPDU,(N-1)層實(shí)體必須通過(N-1)服務(wù)訪問點(diǎn)(SAP-Service Access Point)[(N-1)-SAP].NPDU借助于(N-1)層服務(wù)數(shù)據(jù)單元(SDU-Service Data U nit)[(N-1)-SDU]傳至(N-1)層,其服務(wù)功能允許NPDU的傳送。SDU是接口數(shù)據(jù),對其識別預(yù)先在(N)層實(shí)體間進(jìn)行,亦即,它表示邏輯數(shù)據(jù)單元由服務(wù)進(jìn)行傳送。CAN協(xié)議的數(shù)據(jù)鏈層既不提供分配一個SDU至多個PDU,也不提供分配多個SDU至一個PDU的方法,亦即,NPDU直接由相應(yīng)的NSDU和層指定控制信息N-PCI構(gòu)成。
評論