對(duì)于CAN總線(xiàn)的結(jié)構(gòu)是什么樣的?
CAN屬于現(xiàn)場(chǎng)總線(xiàn)的范疇,它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行半雙工通信網(wǎng)絡(luò)。簡(jiǎn)單的說(shuō)就是一種串行通信方式,總線(xiàn)上的每臺(tái)設(shè)備都可以是主機(jī)。CAN通信需要CAN控制器和CAN收發(fā)器的硬件支持,有的MCU集成CAN控制器。
CAN總線(xiàn)用戶(hù)接口簡(jiǎn)單,編程方便。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用總線(xiàn)式結(jié)構(gòu)。這種網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單、成本低,并且采用無(wú)源抽頭連接,系統(tǒng)可靠性高。通過(guò)CAN總線(xiàn)連接各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),形成多主機(jī)控制器局域網(wǎng)(CAN)。信息的傳輸采用CAN通信協(xié)議,通過(guò)CAN控制器來(lái)完成。
各網(wǎng)絡(luò)節(jié)點(diǎn)一般為帶有微控制器的智能節(jié)點(diǎn)完成現(xiàn)場(chǎng)的數(shù)據(jù)采集和基于CAN協(xié)議的數(shù)據(jù)傳輸,節(jié)點(diǎn)可以使用帶有在片CAN控制器的微控制器,或選用一般的微控制器加上獨(dú)立的CAN控制器來(lái)完成節(jié)點(diǎn)功能。傳輸介質(zhì)可采用雙絞線(xiàn)、同軸電纜或光纖。如果需要進(jìn)一步提高系統(tǒng)的抗干擾能力,還可以在控制器和傳輸介質(zhì)之間加接光電隔離,電源采用DC-DC變換器等措施。這樣可方便構(gòu)成實(shí)時(shí)分布式測(cè)控系統(tǒng)。微控制器,或選用一般的微控制器加上獨(dú)立的CAN控制器來(lái)完成節(jié)點(diǎn)功能。傳輸介質(zhì)可采用雙絞線(xiàn)、同軸電纜或光纖。如果需要進(jìn)一步提高系統(tǒng)的抗干擾能力,還可以在控制器和傳輸介質(zhì)之間加接光電隔離,電源采用DC-DC變換器等措施。這樣可方便構(gòu)成實(shí)時(shí)分布式測(cè)控系統(tǒng)。
CAN總線(xiàn)的物理層是將ECU(Electronic Control Unit-電子控制單元,又稱(chēng)“行車(chē)電腦”、“車(chē)載電腦”等)連接至總線(xiàn)的驅(qū)動(dòng)電路。ECU的總數(shù)將受限于總線(xiàn)上的電氣負(fù)荷。物理層定義了物理數(shù)據(jù)在總線(xiàn)上各節(jié)點(diǎn)間的傳輸過(guò)程,主要是連接介質(zhì)、線(xiàn)路電氣特性、數(shù)據(jù)的編碼/解碼、位定時(shí)和同步的實(shí)施標(biāo)準(zhǔn)。理論上,CAN總線(xiàn)上的節(jié)點(diǎn)數(shù)幾乎不受限制,可達(dá)到2000個(gè),實(shí)際上受電氣特性的限制,最多只能接100多個(gè)節(jié)點(diǎn)。
CAN的數(shù)據(jù)鏈路層是其核心內(nèi)容,其中邏輯鏈路控制完成過(guò)濾、過(guò)載通知和管理恢復(fù)等功能,媒體訪問(wèn)控制子層完成數(shù)據(jù)打包/解包、幀編碼、媒體訪問(wèn)管理、錯(cuò)誤檢測(cè)、錯(cuò)誤信令、應(yīng)答、串并轉(zhuǎn)換等功能。這些功能都是圍繞信息幀傳送過(guò)程展開(kāi)的。
CAN的特點(diǎn) (1)多主控制:總線(xiàn)空閑時(shí),所有單元都可以發(fā)送消息;最先訪問(wèn)的總線(xiàn)單元可以火的發(fā)送權(quán);多 個(gè)單元同事訪問(wèn)時(shí),發(fā)送高優(yōu)先級(jí)ID(標(biāo)識(shí)符值更小的)消息的單元可以獲得發(fā)送權(quán); (2)消息的發(fā)送:所有的消息都以固定的格式發(fā)送;ID 并不是表示發(fā)送的目的地址,而是表示訪 問(wèn)總線(xiàn)的消息的優(yōu)先級(jí);仲裁失利的單元?jiǎng)t立刻停止發(fā)送而進(jìn)行接收工作; (3)系統(tǒng)的柔軟性:與總線(xiàn)相連的單元沒(méi)有類(lèi)似于“地址”的信息。因此在總線(xiàn)上增加單元時(shí),連接 在總線(xiàn)上的其它單元的軟硬件及應(yīng)用層都不需要改變。 (4)通信速度:在同一網(wǎng)絡(luò)中,所有單元必須設(shè)定成統(tǒng)一的通信速度。即使有一個(gè)單元的通信速度 與其它的不一樣,此單元也會(huì)輸出錯(cuò)誤信號(hào),妨礙整個(gè)網(wǎng)絡(luò)的通信。不同網(wǎng)絡(luò)間則可以有不同的通 信速度。 (5)遠(yuǎn)程數(shù)據(jù)請(qǐng)求:可通過(guò)發(fā)送“遙控幀” 請(qǐng)求其他單元發(fā)送數(shù)據(jù)。 (6)錯(cuò)誤處理功能: 錯(cuò)誤檢測(cè)功能:所有的單元都可以檢測(cè)錯(cuò)誤; 錯(cuò)誤通知功能:檢測(cè)出錯(cuò)誤的單元會(huì)立即同時(shí)通知其他所有單元; 錯(cuò)誤恢復(fù)功能:正在發(fā)送消息的單元一旦檢測(cè)出錯(cuò)誤,會(huì)強(qiáng)制結(jié)束當(dāng)前的發(fā)送。強(qiáng)制結(jié)束發(fā)送 的單元會(huì)不斷反復(fù)地重新發(fā)送此消息直到成功發(fā)送為止; 故障封閉功能:當(dāng)節(jié)點(diǎn)出現(xiàn)一定次數(shù)的通信錯(cuò)誤后,能主動(dòng)從總線(xiàn)上退出。相當(dāng)于節(jié)點(diǎn)從物理 總線(xiàn)斷開(kāi)連接; (7)節(jié)點(diǎn)連接:總線(xiàn)上可連接的單元數(shù)受總線(xiàn)上的時(shí)間延遲及電氣負(fù)載的限制。降低通信速度,可 連接的單元數(shù)增加;提高通信速度,則可連接的單元數(shù)減少。