《GB/T 27930-2015》國標協議中報文幀ID該怎樣計算

我們首先要了解的信息有以下五點:

    1、充電機和BMS之間通信網絡採用CAN2.0B通訊協議。

    2、在充電過程中,充電機和BMS監測電壓、電流和溫度等參數,同時BMS管理整個充電過程。

    3、充電機和BMS之間的CAN通信網絡應由充電機和BMS兩個節點組成。

數據信息傳輸採用低字節先發送的格式。

    4、正的的電流表示放電,負的電流表示充電。

    5、執行本標準的充電機和BMS宜具備向前兼容性。

 

1、什麼是報文?

    一個或多個具有相同參數組編號的“CAN數據幀”

    --《GB/T 27930-2015》3.3

 

2、什麼是CAN數據幀?

    用於傳輸數據的CAN協議所必需的有序位域,以幀起始(SOF)開始,幀結束(EOF)結尾。

    --《GB/T 27930-2015》3.2

 

3、一個CAN數據幀包都含什麼?

    每個CAN數據幀包含一個單一的協議數據單元(PDU),協議數據單元由七部分組成,恩別是優先權、保留位、數據頁、PDU格式、PDU待定、源地址和數據域。其中前六部分組成CAN標識符(幀ID)完整的協議數據單元如下:

    從上圖可以看出協議數據單元由CAN標識符(幀ID)和數據域組成,而標識符由以下部分組成:

    P:優先權,從最高0設置到最低7

    R:保留位,本協議中默認爲0

    DP:數據頁,本協議中默認爲0

    PF:PDU格式,用來確定PDU的格式,以及數據與對應的參數組編號

    PS:PDU特定格式,PS值取決於PDU格式,本標準中採用PDU1格式,PS值爲目標地址

    SA:源地址,即此發送報文的源地址

    DATA:數據域,若給定參數組數據長度≤8字節,按照第九章規定的報文長度進行傳輸。若給定參數組數據長度爲9-1785字節時,數據傳輸需多個CAN數據域,通過傳輸協議功能 的連接管理能力來建立和關閉多包參數組的通信,詳見6.5的規定。附圖如下

    以上引自《GB/T 27930-2015》6.2

 

    充電機和BMS的地址分配如下:

 

裝置

首選地址

充電機

86(56H)

BMS

244(F4H)

    由以上信息得知,組成幀ID的29位數據其中R(保留位)、DP(數據頁)、PS(目標地址)、SA(源地址)這18位數據是已知數據,我們要得出幀ID只需再確定P(優先權)、PF(PDU格式)兩項即可。

    同時協議中又指出,PGN的第二個字節爲PDU格式(PF)值,高字節和低字節均爲00H。那麼PF值也是已知數據,所以我們只需要根據協議中給出的報文優先權和PGN(參數組便函)值即可得出幀ID。《GB/T 27930-2015》6.4

    下面我們以協議中的第一條報文CHM爲例計算它對應的幀ID

    從協議中可獲取CHM報文相關信息如下:

    SA源地址:56H

    PS目的地址:F4H

    PGN參數組編號:002600H

    PF值:PF值爲PGN的第二個字節,即26H

    DP:0

    R:0

    P:6

    將已知數據填充到相應位以後可得上表第三行,然後將十六進制數據展開爲二進制數據可以得到第四行,然後再將29位數據從低位到高位去轉換成16進制數據可以得到第5行數據,所以最後CHM的幀ID爲1826F456H。

    按照上面同樣的方法可以得到整個通訊協議中,所有報文的幀ID如下表:

    

    部分報文數據傳輸長度超過8字節,啓動TP.CM協議將數據分包發送,TP.CM協議具體格式在《SAE J1939-21》5.3.10中有詳細說明。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章