遠(yuǎn)程幀
通常,數(shù)據(jù)傳輸是由數(shù)據(jù)源節(jié)點(diǎn)(例如,傳感器發(fā)出數(shù)據(jù)幀)自主完成的。但也可能存在目標(biāo)節(jié)點(diǎn)向源節(jié)點(diǎn)請求發(fā)送數(shù)據(jù)的情況。要做到這一點(diǎn),目標(biāo)節(jié)點(diǎn)需發(fā)送一個遠(yuǎn)程幀,其中的標(biāo)識符應(yīng)與所需數(shù)據(jù)幀的標(biāo)識符相匹配。隨后,相應(yīng)的數(shù)據(jù)源節(jié)點(diǎn)會發(fā)送一個數(shù)據(jù)幀以響應(yīng)遠(yuǎn)程幀請求。遠(yuǎn)程幀與數(shù)據(jù)幀存在兩點(diǎn)不同:
1)遠(yuǎn)程幀的RTR 位為隱性狀態(tài);
2)遠(yuǎn)程幀沒有數(shù)據(jù)字段。
當(dāng)帶有相同標(biāo)識符的數(shù)據(jù)幀和遠(yuǎn)程幀同時發(fā)出時,數(shù)據(jù)幀將贏得仲裁,因為其標(biāo)識符后面的RTR 位為顯性。這樣,可使發(fā)送遠(yuǎn)程幀的節(jié)點(diǎn)立即收到所需數(shù)據(jù)。
錯誤幀
錯誤幀是由檢測到總線錯誤的任一節(jié)點(diǎn)產(chǎn)生。錯誤幀包含兩個字段:錯誤標(biāo)志字段及緊隨其后的錯誤定界字段。錯誤標(biāo)志字段有兩種類型。節(jié)點(diǎn)發(fā)送哪種類型的錯誤標(biāo)志字段,取決于檢測到錯誤并產(chǎn)生錯誤標(biāo)志字段的節(jié)點(diǎn)的錯誤狀態(tài)。
主動錯誤
當(dāng)錯誤主動節(jié)點(diǎn)檢測到一個總線錯誤時,這個節(jié)點(diǎn)將產(chǎn)生一個主動錯誤標(biāo)志來中斷當(dāng)前的報文發(fā)送。主動錯誤標(biāo)志由6 個連續(xù)的顯性位構(gòu)成。這種位序列主動打破了位填充規(guī)則。所有其他節(jié)點(diǎn)在識別到所生成的位填充錯誤后,會自行產(chǎn)生錯誤幀,稱為錯誤反射標(biāo)志。錯誤標(biāo)志字段因此包含6 到12 個連續(xù)顯性位(由1 個或多個節(jié)點(diǎn)產(chǎn)生)。錯誤定界字段(8 個隱性位)為錯誤幀劃上句號。在錯誤幀發(fā)送完畢后,總線主動恢復(fù)正常狀態(tài),被中斷的節(jié)點(diǎn)會嘗試重新發(fā)送被中止的報文。
被動錯誤
當(dāng)錯誤被動節(jié)點(diǎn)檢測到一個總線錯誤時,該節(jié)點(diǎn)將發(fā)送一個被動錯誤標(biāo)志,并緊接著發(fā)送錯誤定界字段。錯誤被動標(biāo)志由6 個連續(xù)的隱性位構(gòu)成,而錯誤被動節(jié)點(diǎn)發(fā)出的錯誤幀包含14 個隱性位。由此可知,除非總線錯誤被錯誤主動節(jié)點(diǎn)或正在發(fā)送報文的節(jié)點(diǎn)檢測到,否則由于錯誤被動標(biāo)志不會影響總線運(yùn)行,將繼續(xù)發(fā)送報文。如果發(fā)送節(jié)點(diǎn)產(chǎn)生一個錯誤被動標(biāo)志,那么,由于位填充規(guī)則被打破,將導(dǎo)致其他節(jié)點(diǎn)產(chǎn)生錯誤幀。錯誤幀發(fā)送完畢后,錯誤被動節(jié)點(diǎn)必須等待總線上出現(xiàn)6 個連續(xù)隱性位后,才能嘗試重新參與總線通訊。錯誤定界符由8 個隱性位組成,允許總線節(jié)點(diǎn)在錯誤發(fā)生后重新啟動總線通訊。
-
數(shù)據(jù)源
+關(guān)注
關(guān)注
1文章
65瀏覽量
9922 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
49瀏覽量
6957
原文標(biāo)題:CAN總線遠(yuǎn)程幀和錯誤幀
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
can標(biāo)準(zhǔn)幀和擴(kuò)展幀區(qū)別
如何配置RTR位以在生成的CAN_NODE_0中接收遠(yuǎn)程幀?
stm32F103 CAN錯誤狀態(tài)寄存器 (CAN_ESR) 中LEC[2:0]為100: 隱性位錯怎么解決?
復(fù)雜電子裝備潛隱性故障診斷關(guān)鍵技術(shù)研究
CAN總線
STM8 CAN 總線的 IdMask 模式的講解
CAN總線要點(diǎn)
can總線報文的數(shù)據(jù)結(jié)構(gòu)原理
CAN(控制器局域網(wǎng))簡介
CAN總線的仲裁領(lǐng)域
CAN總線工作原理及數(shù)據(jù)鏈路層、延時分析
stm32F103 CAN錯誤狀態(tài)寄存器 (CAN_ESR) 中LEC[2:0]為100: 隱性位錯是哪方面的問題
在擴(kuò)展CAN數(shù)據(jù)幀中,緊隨SOF位的是32位的仲裁字段
CAN協(xié)議的幾種幀格式介紹

評論