遠(yuǎn)程幀
通常,數(shù)據(jù)傳輸是由數(shù)據(jù)源節(jié)點(diǎn)(例如,傳感器發(fā)出數(shù)據(jù)幀)自主完成的。但也可能存在目標(biāo)節(jié)點(diǎn)向源節(jié)點(diǎn)請(qǐng)求發(fā)送數(shù)據(jù)的情況。要做到這一點(diǎn),目標(biāo)節(jié)點(diǎn)需發(fā)送一個(gè)遠(yuǎn)程幀,其中的標(biāo)識(shí)符應(yīng)與所需數(shù)據(jù)幀的標(biāo)識(shí)符相匹配。隨后,相應(yīng)的數(shù)據(jù)源節(jié)點(diǎn)會(huì)發(fā)送一個(gè)數(shù)據(jù)幀以響應(yīng)遠(yuǎn)程幀請(qǐng)求。遠(yuǎn)程幀與數(shù)據(jù)幀存在兩點(diǎn)不同:
1)遠(yuǎn)程幀的RTR 位為隱性狀態(tài);
2)遠(yuǎn)程幀沒(méi)有數(shù)據(jù)字段。
當(dāng)帶有相同標(biāo)識(shí)符的數(shù)據(jù)幀和遠(yuǎn)程幀同時(shí)發(fā)出時(shí),數(shù)據(jù)幀將贏得仲裁,因?yàn)槠錁?biāo)識(shí)符后面的RTR 位為顯性。這樣,可使發(fā)送遠(yuǎn)程幀的節(jié)點(diǎn)立即收到所需數(shù)據(jù)。
錯(cuò)誤幀
錯(cuò)誤幀是由檢測(cè)到總線錯(cuò)誤的任一節(jié)點(diǎn)產(chǎn)生。錯(cuò)誤幀包含兩個(gè)字段:錯(cuò)誤標(biāo)志字段及緊隨其后的錯(cuò)誤定界字段。錯(cuò)誤標(biāo)志字段有兩種類型。節(jié)點(diǎn)發(fā)送哪種類型的錯(cuò)誤標(biāo)志字段,取決于檢測(cè)到錯(cuò)誤并產(chǎn)生錯(cuò)誤標(biāo)志字段的節(jié)點(diǎn)的錯(cuò)誤狀態(tài)。
主動(dòng)錯(cuò)誤
當(dāng)錯(cuò)誤主動(dòng)節(jié)點(diǎn)檢測(cè)到一個(gè)總線錯(cuò)誤時(shí),這個(gè)節(jié)點(diǎn)將產(chǎn)生一個(gè)主動(dòng)錯(cuò)誤標(biāo)志來(lái)中斷當(dāng)前的報(bào)文發(fā)送。主動(dòng)錯(cuò)誤標(biāo)志由6 個(gè)連續(xù)的顯性位構(gòu)成。這種位序列主動(dòng)打破了位填充規(guī)則。所有其他節(jié)點(diǎn)在識(shí)別到所生成的位填充錯(cuò)誤后,會(huì)自行產(chǎn)生錯(cuò)誤幀,稱為錯(cuò)誤反射標(biāo)志。錯(cuò)誤標(biāo)志字段因此包含6 到12 個(gè)連續(xù)顯性位(由1 個(gè)或多個(gè)節(jié)點(diǎn)產(chǎn)生)。錯(cuò)誤定界字段(8 個(gè)隱性位)為錯(cuò)誤幀劃上句號(hào)。在錯(cuò)誤幀發(fā)送完畢后,總線主動(dòng)恢復(fù)正常狀態(tài),被中斷的節(jié)點(diǎn)會(huì)嘗試重新發(fā)送被中止的報(bào)文。
被動(dòng)錯(cuò)誤
當(dāng)錯(cuò)誤被動(dòng)節(jié)點(diǎn)檢測(cè)到一個(gè)總線錯(cuò)誤時(shí),該節(jié)點(diǎn)將發(fā)送一個(gè)被動(dòng)錯(cuò)誤標(biāo)志,并緊接著發(fā)送錯(cuò)誤定界字段。錯(cuò)誤被動(dòng)標(biāo)志由6 個(gè)連續(xù)的隱性位構(gòu)成,而錯(cuò)誤被動(dòng)節(jié)點(diǎn)發(fā)出的錯(cuò)誤幀包含14 個(gè)隱性位。由此可知,除非總線錯(cuò)誤被錯(cuò)誤主動(dòng)節(jié)點(diǎn)或正在發(fā)送報(bào)文的節(jié)點(diǎn)檢測(cè)到,否則由于錯(cuò)誤被動(dòng)標(biāo)志不會(huì)影響總線運(yùn)行,將繼續(xù)發(fā)送報(bào)文。如果發(fā)送節(jié)點(diǎn)產(chǎn)生一個(gè)錯(cuò)誤被動(dòng)標(biāo)志,那么,由于位填充規(guī)則被打破,將導(dǎo)致其他節(jié)點(diǎn)產(chǎn)生錯(cuò)誤幀。錯(cuò)誤幀發(fā)送完畢后,錯(cuò)誤被動(dòng)節(jié)點(diǎn)必須等待總線上出現(xiàn)6 個(gè)連續(xù)隱性位后,才能嘗試重新參與總線通訊。錯(cuò)誤定界符由8 個(gè)隱性位組成,允許總線節(jié)點(diǎn)在錯(cuò)誤發(fā)生后重新啟動(dòng)總線通訊。
-
數(shù)據(jù)源
+關(guān)注
關(guān)注
1文章
63瀏覽量
9687 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
46瀏覽量
6748
原文標(biāo)題:CAN總線遠(yuǎn)程幀和錯(cuò)誤幀
文章出處:【微信號(hào):ALIFPGA,微信公眾號(hào):FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論