can總線協(xié)議主要應(yīng)用在那些方面?
CAN(Controller Area Network)協(xié)議是歐洲汽車(chē)電子公司Robert Bosch GmbH于1983年為車(chē)載網(wǎng)絡(luò)開(kāi)發(fā)的。開(kāi)發(fā) CAN 協(xié)議的目的是在單根電線上實(shí)現(xiàn)車(chē)輛的不同電子控制單元 (ECU) 和微控制器控制單元 (MCU) 之間的穩(wěn)健數(shù)據(jù)通信,從而擺脫它們之間復(fù)雜的點(diǎn)對(duì)點(diǎn)布線. 盡管通過(guò)單一總線傳輸數(shù)據(jù),CAN 不需要任何主機(jī)。
(1)報(bào)文:總線上的信息以不同格式的報(bào)文發(fā)送但長(zhǎng)度有限。當(dāng)總線開(kāi)放時(shí)任何連接的單元均可開(kāi)始發(fā)送一個(gè)新報(bào)文。
(2)信息路由:在CAN系統(tǒng)中一個(gè)CAN節(jié)點(diǎn)不使用有關(guān)系統(tǒng)結(jié)構(gòu)的任何信息這里包含一些重要的概念:系統(tǒng)靈活性——節(jié)點(diǎn)可以在不要求所有節(jié)點(diǎn)及其應(yīng)用層改變?nèi)魏诬浖蛴布那闆r下被接于CAN網(wǎng)絡(luò)。報(bào)文通信——一個(gè)報(bào)文的內(nèi)容由其標(biāo)示符ID命名ID并不指出報(bào)文的目的但描述數(shù)據(jù)的含義以便網(wǎng)絡(luò)中的所有節(jié)點(diǎn)有可能借助報(bào)文濾波決定該數(shù)據(jù)是否使它們激活。成組——由于采用了報(bào)文濾波所有節(jié)點(diǎn)均可接受報(bào)文并同時(shí)被相同的報(bào)文激活。數(shù)據(jù)相容性——在CAN網(wǎng)絡(luò)中可以確保報(bào)文同時(shí)被所有的節(jié)點(diǎn)或者沒(méi)有節(jié)點(diǎn)接受因此系統(tǒng)的數(shù)據(jù)相容性是借助于成組和出錯(cuò)處理達(dá)到的。
(3)位速率:CAN的數(shù)據(jù)傳輸率在不同的系統(tǒng)中是不同的而在一個(gè)系統(tǒng)中是固定的速率。
(4)優(yōu)先權(quán):在總線訪問(wèn)期間標(biāo)示符定義了一個(gè)報(bào)文靜態(tài)的優(yōu)先權(quán)。
(5)遠(yuǎn)程數(shù)據(jù)請(qǐng)求:通過(guò)發(fā)送一個(gè)遠(yuǎn)程幀需要數(shù)據(jù)的節(jié)點(diǎn)可以請(qǐng)求另一個(gè)節(jié)點(diǎn)發(fā)送相應(yīng)的數(shù)據(jù)幀該數(shù)據(jù)幀與對(duì)應(yīng)的遠(yuǎn)程幀以相同的標(biāo)示符ID命名。
(6)多主站:當(dāng)總線開(kāi)放時(shí)任何單元均可以開(kāi)始發(fā)送報(bào)文發(fā)送具有最高優(yōu)先權(quán)報(bào)文的單元會(huì)贏得總線的訪問(wèn)權(quán)。
(7)仲裁:當(dāng)總線開(kāi)放時(shí)任何單元均可以開(kāi)始發(fā)送報(bào)文若同時(shí)有兩個(gè)或者更多的單元開(kāi)始發(fā)送總線訪問(wèn)沖突運(yùn)用逐位仲裁規(guī)則借助標(biāo)示符ID解決這種仲裁規(guī)則可以使信息和時(shí)間均無(wú)損失若具有相同標(biāo)示符的一個(gè)數(shù)據(jù)幀和一個(gè)遠(yuǎn)程幀同時(shí)發(fā)送數(shù)據(jù)幀優(yōu)先于遠(yuǎn)程幀仲裁期間每個(gè)發(fā)送器都對(duì)發(fā)送位電平與總線上檢測(cè)到的電平進(jìn)行比較若相同則該單元可以繼續(xù)發(fā)送當(dāng)發(fā)送一個(gè)隱性電平而在總線上檢測(cè)為顯性電平時(shí)該單元退出仲裁并不再傳送后繼位了。
(8)安全性:CAN總線協(xié)議為了獲得盡可能高的數(shù)據(jù)傳輸安全性在每個(gè)CAN節(jié)點(diǎn)中均設(shè)有錯(cuò)誤檢測(cè)標(biāo)定和自檢的強(qiáng)有力措施。檢測(cè)措施包括:發(fā)送自檢循環(huán)冗余校驗(yàn)位填充和報(bào)文格式檢查。
(9)出錯(cuò)標(biāo)注和恢復(fù)時(shí)間:已損壞的報(bào)文由檢驗(yàn)出錯(cuò)的節(jié)點(diǎn)進(jìn)行標(biāo)注。這樣的報(bào)文將失效并自動(dòng)進(jìn)行重發(fā)送。如果不存在新的錯(cuò)誤從檢出錯(cuò)誤到下一個(gè)報(bào)文開(kāi)始發(fā)送的恢復(fù)實(shí)踐最多為29個(gè)位時(shí)間。
(10)故障界定:CAN節(jié)點(diǎn)又能力識(shí)別永久性的故障和暫時(shí)擾動(dòng)可自動(dòng)關(guān)閉故障節(jié)點(diǎn)。
(11)連接:CAN串行通信鏈路是一條眾多單元均可被連接的總線理論上單元數(shù)目是無(wú)限的實(shí)際上單元總數(shù)受限于延遲時(shí)間和總線的電器負(fù)載。
(12)應(yīng)答:所有接收器均對(duì)接收?qǐng)?bào)文的相容性進(jìn)行檢查回答一個(gè)相容的報(bào)文并標(biāo)注一個(gè)不相容的報(bào)文。
CAN 總線應(yīng)用范圍從高速網(wǎng)絡(luò)到低成本多線網(wǎng)絡(luò),廣泛用于控制系統(tǒng)中各種檢測(cè)和執(zhí)行器之間的數(shù)據(jù)通信。在現(xiàn)場(chǎng)總線領(lǐng)域,CAN總線得到了計(jì)算機(jī)芯片廠商的廣泛支持,紛紛推出直接帶有CAN接口的微處理器(MCU)芯片。 CAN 是一種多主機(jī)串行通信總線,其基本設(shè)計(jì)規(guī)范要求高比特率、高抗電磁干擾能力以及檢測(cè)發(fā)生的任何錯(cuò)誤的能力。汽車(chē)制造中的應(yīng)用、大型儀器設(shè)備中的應(yīng)用、工業(yè)控制中的應(yīng)用、智能家庭和生活小區(qū)管理中的應(yīng)用以及機(jī)器人網(wǎng)絡(luò)互聯(lián)中的應(yīng)用。同時(shí),由于CAN總線本身的特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車(chē)行業(yè),而向自動(dòng)控制、航空航天、航海、過(guò)程工業(yè)、機(jī)械工業(yè)、紡織機(jī)械、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械及傳感器等領(lǐng)域發(fā)展。CAN已經(jīng)形成國(guó)際標(biāo)準(zhǔn),并已被公認(rèn)為幾種最有前途的現(xiàn)場(chǎng)總線之一。