<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > CAN總線(xiàn)接口模塊工作原理

CAN總線(xiàn)接口模塊工作原理

作者: 時(shí)間:2016-12-16 來(lái)源:網(wǎng)絡(luò ) 收藏
1.CAN模塊簡(jiǎn)介   

控制器局域網(wǎng)(CAN)模塊是用于與其他外圍設備或單片機進(jìn)行通信的模塊,這種接口協(xié)議能在較大的噪聲 環(huán)境中進(jìn)行通信,具有良好的擾干擾性能。

本文引用地址:http://dyxdggzs.com/article/201612/330846.htm

CAN模塊是一個(gè)通信控制器,執行的是Bosch公司的CAN2.0A/B協(xié)議。它能支持CAN1.2、CAN 2.0A、CAN 2.OB 協(xié)議的舊版本和CAN2.OB現行版本,此控制器模塊包含完整的CAN系統。

CAN模塊由協(xié)議驅動(dòng)和信息緩沖及控制組成,CAN協(xié)議驅動(dòng)CAN總線(xiàn)上接收和發(fā)送信息的所有功能。信息裝載 到某個(gè)相應的數據寄存器后再發(fā)送,通過(guò)讀相應的寄存器可檢查狀態(tài)與錯誤信息。在CAN總線(xiàn)上檢測到的任 何信息都要進(jìn)行錯誤檢查,然后與過(guò)濾器進(jìn)行比較,判斷是否被接收和存儲到兩個(gè)接收寄存器之一。

2.CAN模塊支持的幀類(lèi)型   

CAN模塊支持以下幀類(lèi)型:標準數據幀、擴展數據幀、遠程幀、出錯幀、過(guò)載幀和空閑幀。

(1)數據幀。

用于各節點(diǎn)之間傳送數據消息,由7個(gè)不同的位場(chǎng)組成:幀起始、仲裁場(chǎng)、控制場(chǎng)、數據場(chǎng)、CRC場(chǎng)、應答 場(chǎng)和幀結束。數據幀結構如圖1所示。

圖1 數據幀組成   

(2)遠程幀。

當CAN網(wǎng)絡(luò )上一個(gè)節點(diǎn)需要其他節點(diǎn)所擁有的數據信息時(shí),可以通過(guò)發(fā)送遠程幀來(lái)請求另一節點(diǎn)發(fā)送。該 遠程幀的標識符標識了所需數據的類(lèi)型,因此,被送回的數據信息的標識符和遠程幀的標識符完全一致。數 據源節點(diǎn)在接收到遠程幀后,根據遠程幀的標識符判斷所需數據信`患類(lèi)型,并在總線(xiàn)空閑時(shí)將相應數據送 出。遠程幀由6個(gè)位場(chǎng)組成:幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC場(chǎng)、應答場(chǎng)和幀結束。除了沒(méi)有數據場(chǎng)和RTR為 隱性外,遠程幀結構和數據幀完全相同,遠程幀結構如圖2所示。

圖2 遠程幀結構   

(3)錯誤幀。

為進(jìn)行錯誤界定,每個(gè)CAN控制器均設有兩個(gè)錯誤計數器:發(fā)送錯誤計數器(TEC)和接收錯誤計數器 (REC)。CAN總線(xiàn)上的所有節點(diǎn)按其錯誤計數器數值情況可分為3個(gè)狀態(tài):錯誤活動(dòng)狀態(tài)、錯誤認可狀態(tài)和 總線(xiàn)關(guān)閉狀態(tài)。節點(diǎn)狀態(tài)轉換如圖3所示。

圖3 節點(diǎn)狀態(tài)轉換   

上電復位后,兩個(gè)錯誤計數器的數值都為0,節點(diǎn)處于錯誤活動(dòng)狀態(tài),可正常參與總線(xiàn)通信,檢測到錯誤時(shí) ,發(fā)送活動(dòng)錯誤標志。當錯誤計數器任一數值超過(guò)127時(shí),節點(diǎn)進(jìn)入錯誤認可狀態(tài)。處于錯誤狀態(tài)的節點(diǎn)可 參與總線(xiàn)通信,但出錯后,發(fā)送認可錯誤標志,并在開(kāi)始進(jìn)一步發(fā)送數據之前等待一段附加時(shí)間(暫停發(fā)送 場(chǎng))。

當發(fā)送錯誤計數器和接收計數器均小于或等于127時(shí),節點(diǎn)從錯誤認可狀態(tài)再次變?yōu)殄e誤活動(dòng)狀態(tài)。若發(fā)送 錯誤計數器數值超過(guò)255后,節點(diǎn)進(jìn)入總線(xiàn)關(guān)閉狀態(tài),既不能向總線(xiàn)發(fā)送數據,也不能從總線(xiàn)接收數據。當 軟件執行操作模式請求命令,并等待128次總線(xiàn)釋放(BusˉFree)序列(11位連續隱性位)后,節點(diǎn)從總線(xiàn) 脫離狀態(tài)重新回到錯誤活動(dòng)狀態(tài)。

  錯誤幀由兩個(gè)不同的位場(chǎng)組成,第一個(gè)場(chǎng)由來(lái)自不同的節點(diǎn)的錯誤標志疊加而成,第二個(gè)場(chǎng)為錯誤界定符 ,錯誤幀結構如圖4所示。

圖4 錯誤幀結構   

(4)過(guò)載幀。

超載幀由超載標志和超載界定符組成。超載標志由6個(gè)顯性位組成,其格式與活動(dòng)錯誤標志相同。超載界 定符由8個(gè)隱性位組成,其格式與錯誤界定符相同。導致發(fā)送超載幀的兩個(gè)條件為:   

①一個(gè)接收節點(diǎn)內部接收條件未準備好,要求延遲下一個(gè)數據幀或遠程幀發(fā)送;   

②在間歇場(chǎng)(3位)檢測到顯性位。

當超載標志發(fā)出后,每個(gè)節點(diǎn)監視總線(xiàn)狀態(tài),直至檢測到從顯性至隱性位的跳變,此時(shí),所有的節點(diǎn)均己 完成了超載標志的發(fā)送,隨后所有節點(diǎn)開(kāi)始發(fā)送8個(gè)隱性位組成的超載界定符,超載幀結構如圖5所示。


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>