CAN現場(chǎng)總線(xiàn)的工作原理
當CAN總線(xiàn)上的一個(gè)節點(diǎn)(站)發(fā)送數據時(shí),?它以報文形式廣播給網(wǎng)絡(luò )中所有節點(diǎn)。對每個(gè)節點(diǎn)來(lái)說(shuō),無(wú)論數據是否是發(fā)給自己的,都對其進(jìn)行接收。每組報文開(kāi)頭的11位字符為標識符,定義了報文的優(yōu)先級,這種報文格式稱(chēng)為面向內容的編址方案。在同一系統中標識符是單一的,不可能有兩個(gè)站發(fā)送具有相同標識符的報文。當幾個(gè)站同時(shí)競爭總線(xiàn)讀取時(shí),這種配置十分重要。CAN現場(chǎng)總線(xiàn)通信協(xié)議包括CAN2.0A和CAN2.0B兩種,它們的幀格式如下:
CAN2.0A通信協(xié)議規定了四種不同的幀格式:
數據幀?:?用于節點(diǎn)間傳遞數據,是網(wǎng)絡(luò )信息的主體,其幀格式依次包括:?幀起始、仲裁場(chǎng)、控制場(chǎng)、數據?
遠程幀?:?由在線(xiàn)單元發(fā)送,用于請求發(fā)送具有相同標識符的數據幀,其幀格式與數據幀基本相同,但沒(méi)有數據場(chǎng)
出錯幀:??出錯幀是檢測總線(xiàn)出錯的一個(gè)信號標志,由兩個(gè)不同的場(chǎng)構成。一個(gè)場(chǎng)由來(lái)自不同節點(diǎn)的錯誤標志疊加,第二個(gè)場(chǎng)為錯誤界定符。CAN協(xié)議采用CRC檢驗并可提供相應的錯誤處理功能,保證數據通訊的可靠性。
超載幀:??由超載標識和超載界定符組成,表明邏輯鏈路控制層要求的內部超載狀態(tài),并將由媒體訪(fǎng)問(wèn)控制層的一些出錯條件而被啟動(dòng)發(fā)送。用于擴展幀序列的延遲時(shí)間。
CAN2.0B通信協(xié)議分為兩種幀格式:
標準幀:標準幀信息為11個(gè)字節,包括兩部分:信息和數據部分。前3個(gè)字節為信息部分,擴展幀:擴展幀信息為13個(gè)字節,包括兩部分,信息和數據部分。前5個(gè)字節為信息部分。字節1為幀信息。第7位(FF)表示幀格式,在擴展幀中,FF?=?1;第6位(RTR)表示幀的類(lèi)型,RTR=0表示為數據幀,RTR=1表示為遠程幀;DLC表示在數據幀時(shí)實(shí)際的數據長(cháng)度。