can協議的報文傳輸過程中有:資料幀、遠端幀、錯誤幀、過載幀和幀間隔。
1.資料幀:用於傳送節點向接收節點傳送資料的幀。
2.遠端幀:用於接收節點向具有相同id的傳送節點傳送資料的幀。
3.錯誤幀:用於當檢測出錯誤時向其他節點通知錯誤的幀。
4.過載幀:用於接收節點通知其尚未做好準備的幀。
5.幀間隔:用於將資料幀及遠端幀與前面的幀分隔開來。
標準幀和擴充套件幀:
資料幀和遠端幀都可以使用標準幀格式或者擴充套件幀格式
rtr:遠端傳送請求位,資料幀為顯性,遠端幀為隱性。
srr:代替遠端請求位(在擴充套件格式中在rtr位置,所以得此名),該位為隱性位。在這個地方占個位以保持標準幀和擴充套件幀ide對齊,便可以判斷標準幀優先於擴充套件幀。
ide:識別符號擴充套件位,標準幀為顯性,擴充套件幀為隱性。
r0、r1:保留位。
dlc:資料長度位。
crc:校驗位。
crc分隔符:隱性位
ack:應答位和應答界定位。在應答域中,傳送器發出兩個隱性位。接收器接收到報文後,在應答位期間,用顯性位填充應答位作為回應,應答界定則為保持隱性。
幀結束:由7個隱性位組成。
資料幀:
sof幀起始:資料幀開始的段。
仲裁場:該幀優先順序的段。
控制場:資料的位元組數以及保留位。
資料場:資料內容。
crc場:校驗資料。
應答場:確認正常接收的段。
幀結尾:資料幀結束的段。
遠端幀:
通過傳送遠端幀,作為資料接收器的節點可以發起各自資料來源的資料傳送請求,即向資料傳送器請求傳送具有相同id的資料幀。
遠端幀沒有資料段。
錯誤幀:
錯誤型別:應答錯誤,填充錯誤,crc錯誤,格式錯誤
錯誤幀由錯誤標誌的疊加和結束符組成。錯誤標誌有主動(積極)錯誤標誌和被動(消極)錯誤標誌。主動(積極)錯誤標誌為6個顯性位,被動(消極)錯誤標誌為6個隱性位。
錯誤積極節點:如果檢測到乙個錯誤條件,就會傳送積極錯誤標誌。這將引起其它節點檢測到填充錯誤,並開始傳送錯誤標誌。因此錯誤標誌疊加在6~12位之間。節點傳送完錯誤標誌之後就傳送乙個隱性位,並監控匯流排,直到匯流排上出現乙個隱性位,然後再傳送7個隱性位。這樣乙個錯誤幀就傳送完畢了。
消極錯誤節點:如果檢測到乙個錯誤條件,會試圖傳送乙個消極錯誤標誌進行指示。這個消極錯誤節點會一直等待6個具有相同極性的連續位,等待從消極錯誤標誌起始開始,當檢測到6個相同極性的連續位時,消極錯誤標誌傳送完成。
過載幀:
過載條件:接收器要求延遲下一次資料幀或遠端幀的到達;在幀間隔間歇場的第一位和第二位檢測到顯性位;如果can節點在錯誤界定符或過載界定符的第8位取樣到乙個顯性位,則節點會傳送乙個過載幀,錯誤計數器不會增加。
幀間空間:
資料幀和遠端幀的前面必然有幀間空間。對於主動錯誤節點和被動錯誤節點,幀間空間的結構稍有不同。對於主動錯誤節點,幀空間由3個顯性位的間歇欄位和匯流排空閒組成。在間歇欄位不允許傳送資料幀和遠端幀。匯流排空閒的長度任意,當有顯性位時就被認為是幀起始。被動錯誤標誌除了上邊兩部分外,在間歇欄位後還有8個顯性位的掛起傳輸。在掛起傳輸階段被動錯誤節點不可以傳送資料幀與遠端幀。
can幀格式 dlc CAN報文格式
can協議的報文傳輸過程中有 資料幀 遠端幀 錯誤幀 過載幀和幀間隔。1.資料幀 用於傳送節點向接收節點傳送資料的幀。2.遠端幀 用於接收節點向具有相同id的傳送節點傳送資料的幀。3.錯誤幀 用於當檢測出錯誤時向其他節點通知錯誤的幀。4.過載幀 用於接收節點通知其尚未做好準備的幀。5.幀間隔 用於將...
CAN匯流排之CAN的報文格式
來自部落格 一 幀can協議的報文傳輸主要由下面的4種幀來實現 資料幀 從傳送端攜帶資料到接收端。遠端幀 匯流排單元發出遠端幀,請求傳送具有同一識別符的資料幀。錯誤幀 任何單元檢測到一匯流排錯誤就發出錯誤幀。過載幀 過載幀用以在先行的和後續的資料幀 或遠端幀 之間提供一附加的延時。同時幀間空間用來間...
mysql報文格式 Mysql 報文格式
mysql client和server端之間的的資料根據不同的協議規則的進行組織傳送。每包資料在傳送的時候都要新增上協議頭。mysql原始碼採用5.7.10版本 協議頭 每個協議頭共4個位元組 包資料長度 前三個位元組表示資料部分的長度 不包括協議頭 三位元組能表示的最大長度是16m 1 2 24 ...