CAN 總線接口的工作原理是怎樣的?
CAN 總線接口的工作原理是這樣的。
CAN 總線是一種串行通訊協(xié)議,能用于實(shí)時(shí)應(yīng)用,國(guó)際上應(yīng)用廣泛,比如在汽車電子、航天等行業(yè)。它能使用雙絞線、光纜來傳輸信號(hào),速率可達(dá) 1Mb/s。
CAN 總線用報(bào)文形式廣播發(fā)送數(shù)據(jù),從一個(gè)節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)。節(jié)點(diǎn)不管數(shù)據(jù)發(fā)往何處,都要接收。當(dāng)一個(gè)節(jié)點(diǎn)要發(fā)送數(shù)據(jù),會(huì)把數(shù)據(jù)和標(biāo)識(shí)符給本節(jié)點(diǎn)的 CAN 芯片,進(jìn)入準(zhǔn)備狀態(tài)。CAN 芯片收到總線分配就變成發(fā)送報(bào)文狀態(tài)。
CAN 總線是面向內(nèi)容的編址方案,容易構(gòu)建控制系統(tǒng)修改,加入新的純數(shù)據(jù)接收設(shè)備時(shí),不修改軟硬件就能加入新節(jié)點(diǎn)。CAN 協(xié)議特性有完整串行數(shù)據(jù)通訊、實(shí)時(shí)支持、11 位尋址和檢錯(cuò)能力等,還支持多主控制器。
總線上一個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)以報(bào)文廣播給所有節(jié)點(diǎn),每組報(bào)文開頭 11 位字符是標(biāo)識(shí)符,定義了報(bào)文優(yōu)先級(jí)。每個(gè)節(jié)點(diǎn)有處理器和 CAN 總線接口控制器,發(fā)送數(shù)據(jù)時(shí)處理器把數(shù)據(jù)和標(biāo)識(shí)符傳給接口,準(zhǔn)備好獲取總線使用權(quán)就組裝成報(bào)文發(fā)出,其他節(jié)點(diǎn)接收并判斷是否接收。新增純接收設(shè)備直接從總線接收數(shù)據(jù)就行。
CAN 總線節(jié)點(diǎn)有不同優(yōu)先級(jí),采用非破壞性位仲裁總線結(jié)構(gòu)機(jī)制,滿足不同實(shí)時(shí)要求,兩個(gè)節(jié)點(diǎn)同時(shí)傳送信息,低優(yōu)先級(jí)主動(dòng)停止,高優(yōu)先級(jí)繼續(xù)傳輸。CAN 總線物理層用差分信號(hào)傳輸,兩個(gè)線路傳一個(gè)信號(hào),抗干擾性好,用非返回零編碼。位域仲裁能解決多設(shè)備同時(shí)發(fā)送消息的沖突,設(shè)備發(fā)送前檢測(cè)總線電平,沖突就暫停,等優(yōu)先級(jí)高的發(fā)完。數(shù)據(jù)傳輸通過幀的方式進(jìn)行。
最新問答

