首页
/
每日頭條
/
科技
/
can總線四種幀類型
can總線四種幀類型
更新时间:2024-09-29 08:14:41

CAN總線上傳輸的信息稱為報文,當總線空閑時任何連接的單元都可以開始發送新的報文。

CAN通信是通過以下5種類型的幀進行的:

  • 數據幀
  • 遙控幀
  • 錯誤幀
  • 過載幀
  • 幀間隔

另外,數據幀和遙控幀有标準格式和擴展格式兩種格式。标準格式有 11 個位的标識符(Identifier: 以下簡稱 ID), 擴展格式有 29 各位的 ID。

各種幀的用途如下表所示:

can總線四種幀類型(詳解CAN總線CAN總線報文格式)1

近期打算寫5篇文章,分别詳細介紹這5種類型的CAN總線報文格式,本篇博文将詳細講解CAN數據幀格式,創作不易,請各位朋友多多點贊、收藏、關注支持~

關注公衆号:美男子玩編程,優先推送最新技術博文~

數據幀由7個段構成,圖解說明如下所示:

can總線四種幀類型(詳解CAN總線CAN總線報文格式)2

  • 幀起始:表示數據幀開始的段;
  • 仲裁段:表示該幀優先級的段,根據仲裁段ID碼長度的不同,分為标準幀(CAN 2.0A)和擴展幀(CAN 2.0B);
  • 控制段:表示數據的字節數及保留位的段;
  • 數據段:數據的内容,可發送0~8個字節的數據;
  • CRC段:檢查幀的傳輸錯誤的段;
  • ACK段:表示确認正常接收的段;
  • 幀結束:表示數據幀結束的段。
1、幀起始

幀起始由1個顯性位組成。總線空閑時,發送節點發送幀起始,其他接收節點同步于該幀起始位。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)3

總線上的電平有顯性電平和隐性電平兩種。

總線上執行邏輯上的線“與”時,顯性電平的邏輯值為“0”,隐性電平為“1”。

“顯性”具有“優先”的意味,隻要有一個單元輸出顯性電平,總線上即為顯性電平。并且,“隐性”具有“包容”的意味,隻有所有的單元都輸出隐性電平,總線上才為隐性電平。(顯性電平比隐性電平更強。)

2、仲裁段

仲裁段用于寫明需要發送到目的CAN節點的地址、确定發送的幀類型(當前發送的是數據幀還是遙控幀),并确定發送的幀格式是标準幀還是擴展幀。

仲裁段在标準格式幀和擴展格式幀中有所不同。标準格式幀的仲裁段由11位标識符和遠程發送請求位RTR組成,擴展格式幀的仲裁場由29位标識符和遠程發送請求位RTR組成。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)4

can總線四種幀類型(詳解CAN總線CAN總線報文格式)5

can總線四種幀類型(詳解CAN總線CAN總線報文格式)6

can總線四種幀類型(詳解CAN總線CAN總線報文格式)7

2.1、标準數據幀

标準數據幀基于早期的CAN規格(1.0和2.0A版),使用了11位的識别域。

CAN标準幀幀信息是11字節,包括幀描述符和幀數據兩部分。如下表所列:

can總線四種幀類型(詳解CAN總線CAN總線報文格式)8

前3字節為幀描述部分。字節1為幀信息,第7位(FF)表示幀格式,在标準幀中FF=0,第6位(RTR)表示幀的類型,RTR=0表示為數據幀,RTR=1表示為遠程幀。DLC表示在數據幀時實際的數據長度。

标準數據幀的 ID 有 11 個位。從 ID10 到 ID0 依次發送。禁止高 7 位都為隐性(禁止設定:ID=1111111XXXX)。

字節2~3為報文識别碼,其高11位有效。

字節4~11為數據幀的實際數據,遠程幀時無效。

2.2、擴展數據幀

CAN擴展幀幀信息是13字節,包括幀描述符和幀數據兩部分,如下表所示:

can總線四種幀類型(詳解CAN總線CAN總線報文格式)9

前5字節為幀描述部分。字節1為幀信息,第7位(FF)表示幀格式,在擴展幀中FF=1,第6位(RTR)表示幀的類型,RTR=0表示為數據幀,RTR=1表示為遠程幀。DLC表示在數據幀時實際的數據長度。

擴展格式的 ID 有 29 個位。基本 ID 從 ID28 到 ID18,擴展 ID 由 ID17 到 ID0 表示。基本 ID 和 标準格式的 ID 相同。禁止高 7 位都為隐性(禁止設定:基本 ID=1111111XXXX)。

字節2~5為報文識别碼,其高28位有效。

字節6~13為數據幀的實際數據,遠程幀時無效。

3、控制段

控制段由6個位組成,包括數據長度代碼和兩個将來作為擴展用的保留位,标準格式和擴展格式的構成有所不同。

數據長度代碼指示了數據段中的字節數量。數據長度代碼為4個位,在控制段裡被發送,數據幀長度允許的字節數為0、1、2、3、4、5、6、7、8,其他數值為非法的。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)10

保留位(r0、r1)必須全部以顯性電平發送。但接收方可以接收顯性、隐性及其任意組合的電平。

數據長度碼(DLC)與數據的字節數的對應關系如下表所示:

can總線四種幀類型(詳解CAN總線CAN總線報文格式)11

數據的字節數必須為 0~8 字節,但接收方對 DLC = 9~15 的情況并不視為錯誤。

4、數據段

數據段由數據幀中的發送數據組成,它可以為0~8字節,每字節包含了8位,首先發送最高有效位MSB,依次發送至最低有效位LSB。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)12

5、CRC段

CRC段是檢查幀傳輸錯誤的幀,包括:15 個位的 CRC序列(CRC SEQUENCE)和1 個位的CRC界定符(CRC DELIMITER)構成。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)13

CRC序列是根據多項式生成的 CRC 值,CRC 的計算範圍包括:幀起始、仲裁段、控制段、數據 段。 接收方以同樣的算法計算 CRC 值并進行比較,不一緻時會通報錯誤。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)14

6、ACK段

ACK段用來确認是否正常接收。由 ACK 槽(ACK SLOT)和 ACK 界定符(ACK DELIMITER)2 個位構成。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)15

發送單元在 ACK 段發送 2 個位的隐性位。當接收器正确地接收到有效的報文時,接收器就會在應答間隙(ACK SLOT)期間(發送ACK 信号)向發送器發送一個“顯性”的位以示應答,通知發送單元正常接收結束,這稱作“發送 ACK”或者“返回 ACK”。

發送 ACK/返回 ACK是在既不處于總線關閉态也不處于休眠态的所有接收單元中,接收到正常消息的單元 (發送單元不發送 ACK)。所謂正常消息是指不含填充錯誤、格式錯誤、CRC 錯誤的消息。

7、幀結束

幀結束是由每一個數據幀和遠程幀的标志序列界定的,這個标志序列由7個“隐性”位組成。

can總線四種幀類型(詳解CAN總線CAN總線報文格式)16

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
微信文件傳輸功能如何用
微信文件傳輸功能如何用
微信文件傳輸功能如何用?微信已經成為了每個人必裝的手機應用軟件,除了常見的微信聊天和刷朋友圈之外,辦公一族也經常使用“文件傳輸助手”在電腦和手機之間互相傳輸一些資料雖然使用這種方式可以在一定程度上提高工作效率,但是在大多數情況下傳輸的文件都...
2024-09-29
顯卡風扇不轉可以嗎
顯卡風扇不轉可以嗎
電腦顯卡是很重要的存在,它能夠帶動電腦的正常運行,如果壞了顯示器是不會顯示的。那麼,顯卡風扇是平時不轉的嗎?電腦顯卡風扇不轉有什麼影響?一起來看看介紹吧!顯卡風扇平時不轉的嗎顯卡不到一定溫度都是不轉的。大家都知道顯卡上的風扇是幹什麼用的,主...
2024-09-29
11代處理器支持四插槽嗎
11代處理器支持四插槽嗎
說到電腦系統重裝,大家都不陌生了,早些時候多數是采用光碟進行系統重裝,接着就是使用U盤,而且重裝系統也越來越方便,裝系統對于懂的人來說就太簡單了,但是對于不懂的人來說,裝系統真的是太難了,我也說過,電腦沒有裝不上的系統,隻有裝不上的人,今天...
2024-09-29
華為手機密碼忘了如何解鎖密碼
華為手機密碼忘了如何解鎖密碼
如今,許多人都用指紋解鎖手機,相比手勢解鎖,确實很方便。不過要是指紋鍵出故障,或者不靈了,或許隻能通過鎖屏密碼來解鎖了!那麼問題來了:萬一不小心忘記鎖屏密碼,這該怎麼辦呢?1、用備用數字密碼如果你事先設置了【備用數字密碼】,但忘記鎖屏密碼時...
2024-09-29
長虹玻璃使用感受
長虹玻璃使用感受
長虹玻璃是壓花玻璃的其中一種,近年來越來多設計師在裝飾空間時應用其中。這種玻璃給我們的視覺感看起來更寬闊,還不受光線的影響,并具備隐私性、通透性、美感等優點于一身。下面和廣州海博特種玻璃一起來看看他有什麼特點吧~一、長虹玻璃特點1、分割空間...
2024-09-29
Copyright 2023-2024 - www.tftnews.com All Rights Reserved