CAN標(biāo)準(zhǔn)
---CAN是國(guó)際標(biāo)準(zhǔn)化組織(ISO)定義的串行通信總線,最初是為汽車工業(yè)以雙線總線替代復(fù)雜的線束而開(kāi)發(fā)的。該規(guī)范要求信號(hào)發(fā)送速率高達(dá)1Mb/s,要求抗電干擾的性能較高,并應(yīng)能夠自我診斷并修復(fù)數(shù)據(jù)錯(cuò)誤。上述特性使CAN在各行各業(yè)都很受歡迎,包括車載、航海、醫(yī)療、制造及航空等。
---CAN通信協(xié)議ISO11898描述了信息如何在網(wǎng)絡(luò)設(shè)備間傳遞,并符合按層定義的開(kāi)放系統(tǒng)互連(OSI)模型。由物理介質(zhì)連接的各設(shè)備間的實(shí)際通信由模型的物理層定義。ISO 11898架構(gòu)定義7層OSI/ISO模型的最低兩層為數(shù)據(jù)鏈接層和物理。
標(biāo)準(zhǔn)CAN或擴(kuò)展CAN
---CAN通信協(xié)議是載波偵聽(tīng)(carrier-sense)多路存取協(xié)議,帶沖突檢測(cè)并可對(duì)消息優(yōu)先級(jí)進(jìn)行仲裁(CSMA/CD+AMP)。CSMA意味著總線上的每個(gè)節(jié)點(diǎn)在準(zhǔn)備發(fā)送消息前都要無(wú)活動(dòng)等待一段規(guī)定時(shí)間。CD+AMP意味著沖突通過(guò)逐位仲裁解決,這基于每條消息標(biāo)識(shí)符字段包含的預(yù)編程優(yōu)先級(jí)進(jìn)行。優(yōu)先級(jí)較高的標(biāo)識(shí)符總會(huì)優(yōu)先獲得總線使用權(quán)。
---表1所列的CAN標(biāo)準(zhǔn)第一版即ISO 11519(低速CAN)適用于速率高達(dá)125kb/s的應(yīng)用,帶有標(biāo)準(zhǔn)的11位標(biāo)識(shí)符。第二版即ISO11898(1993)也帶有11位標(biāo)識(shí)符,其信號(hào)發(fā)送速率為125kb/s至1Mb/s,而更新的ISO 11898修訂版(1995)則推出了擴(kuò)展的29位標(biāo)識(shí)符。ISO 11898 11位版本通常稱為標(biāo)準(zhǔn)CAN2.0A版,而ISO 11898修訂版則稱為擴(kuò)展CAN2.0B版。圖2所示的標(biāo)準(zhǔn)CAN11位標(biāo)識(shí)符字段提供了2048個(gè)不同的消息標(biāo)識(shí)符,而圖3所示的擴(kuò)展CAN29位標(biāo)識(shí)符則可提供5.37億個(gè)標(biāo)識(shí)符。
標(biāo)準(zhǔn)CAN與擴(kuò)展CAN的位字段
1.標(biāo)準(zhǔn)CAN
---圖2所示位字段的含義為:
---●SOF——單一控制幀起始(SOF)位標(biāo)志著消息起始,用于使總線上的節(jié)點(diǎn)閑置后同步。
---● 標(biāo)識(shí)符——標(biāo)準(zhǔn)CAN11位標(biāo)識(shí)符建立了消息優(yōu)先級(jí)。二進(jìn)制值越低,優(yōu)先級(jí)就越高。
---● RTR——在另一節(jié)點(diǎn)需要信息時(shí),單一遠(yuǎn)程傳輸請(qǐng)求(RTR)位起決定作用。所有節(jié)點(diǎn)接收請(qǐng)求,但標(biāo)識(shí)符決定指定哪個(gè)節(jié)點(diǎn)。相應(yīng)的數(shù)據(jù)也由所有節(jié)點(diǎn)接收并由所需的任意節(jié)點(diǎn)使用。這樣,系統(tǒng)中所使用的數(shù)據(jù)都是統(tǒng)一的。
---●IDE——顯性單一標(biāo)識(shí)符擴(kuò)展(IDE)位意味著沒(méi)有擴(kuò)展的標(biāo)準(zhǔn)CAN標(biāo)識(shí)符正在傳輸。
---● r0——保留位(用于今后可能的標(biāo)準(zhǔn)修訂案)。
---● DLC——4位數(shù)據(jù)長(zhǎng)度代碼(DLC)包括正在傳輸數(shù)據(jù)的字節(jié)數(shù)。
---● 數(shù)據(jù)——可傳輸多達(dá)64位應(yīng)用數(shù)據(jù)。
---● CRC——16位(15位加定界符)循環(huán)冗余校驗(yàn)(CRC)包括用于錯(cuò)誤檢測(cè)的上述應(yīng)用數(shù)據(jù)校驗(yàn)和(傳輸?shù)奈粩?shù))。