國標《電動汽車遠程服務與管理系統技術規范》解讀三部曲:
系統架構及協議概述: https://blog.csdn.net/XiuHua_Wu/article/details/113530169 車載設備設計規范: https://blog.csdn.net/XiuHua_Wu/article/details/113530895 協議資料包結構及定義(重點):https://blog.csdn.net/XiuHua_Wu/article/details/113732636
本文為國標的閱讀筆記第3篇:
國標:《電動車遠程服務于管理系統技術規范 第3部分:通訊協議及資料格式》GB/T 32960.3-2016 http://c.gb688.cn/bzgk/gb/showGb?type=online&hcno=674DE45C0AD3DE2CD75B9C4CD8ED57C1 建議在閱讀本文前,先閱讀:【車載IoT】國標《電動汽車遠程服務與管理系統技術規范》:系統架構及協議概述https://blog.csdn.net/XiuHua_Wu/article/details/113530169 若要落實到具體實作,還請仔細閱讀國標,
文章目錄
傳輸規則 資料包結構
資料單元格式和定義 車輛登入資料格式和定義 實時資訊上報資料格式和定義 資訊型別標志 整車資料格式和定義 驅動電機資料 燃料電池資料 車輛位置資料 極值資料 報警資料 自定義資料 檔位狀態位定義
車輛登出資料格式和定義 平臺登入資料格式和定義 平臺登出資料格式和定義
傳輸規則
協議應采用大端模式 的網聯位元組序來傳遞字和雙字
資料包結構
起始位元組 定義 資料型別 描述及要求 0 起始符 STRING 固定為ASCII字符“##” 2 命令單元:命令標識 BYTE 見定義表 3 命令單元:應答標志 BYTE 見定義表 4 唯一識別碼 STRING 當傳輸車輛資料實時,應使用車輛VIN,其字碼應符合GB 16735的規定;如傳輸其他資料,則使用唯一自定義編碼 21 資料單元加密方式 BYTE 0x01:資料不加密,0x02:資料經過RSA演算法加密,0x03:資料經過AES128位演算法加密,0xFE:例外,0xFF:無效,其他:預留 22 資料單元長度 WORD 資料單元長度是資料單元的總位元組數,有效值范圍:0~65531 24 資料單元 - 資料單元格式和定義見定義表 倒數第1位 校驗碼 BYTE 采用BCC(異或校驗),校驗范圍:從命令單元的第1個位元組開始,同后1個位元組異或,知道校驗碼前1位元組為止,校驗碼占用1個位元組,當資料單元存在加密時,應先加密后校驗,先校驗后解密
命令標識定義
編碼 定義 方向 0x01 車輛登入 上行 0x02 實時資訊上報 上行 0x03 補發資訊上報 上行 0x04 車輛登入 上行 0x05 平臺登入 上行 0x06 平臺登出 上行 0x07~0x08 終端資料預留 上行 0x09~0x7F 上行資料系統預留 上行 0x80~0x82 終端資料預留 下行 0x83~0xBF 下行資料系統預留 下行 0xC0~0xFE 平臺交換自定義資料 自定義
應答標志
應答包定義:
命令的主動發起方應答標志為0xFE時,表示此包為命令包;當應答標志不是0xFE時,被動接受方應不應答, 當命令的被動接收方應答標志不是0xFE時,此包表示為應答包, 當服務端發送應答時,應變更應答標志,保留報文時間,洗掉其余報文內容,并重新計算校驗位,
編碼 定義 說明 0x01 成功 接受到的資訊正確 0x02 錯誤 設定未成功 0x03 VIN重復 VIN重復錯誤 0xFE 命令 表示資料包為命令包,而非應答包
時間(均采用北京時間)
資料表示內容 長度/位元組 資料型別 有效值范圍 年 1 BYTE 0~99 月 1 BYTE 1~12 日 1 BYTE 1~31 小時 1 BYTE 0~23 分鐘 1 BYTE 0~59 秒 1 BYTE 0~59
資料單元格式和定義
車輛登入資料格式和定義
資料標識內容 長度/位元組 資料型別 描述及要求 資料采集時間 6 BYTE[6] 見時間定義 登入流水號 2 WORD 車載終端每登入一次,登入流水號自動+1,從1開始回圈累加,最大值:65531回圈周期:天 ICCID 20 STRING SIM卡ICCID號(ICCID應為終端從SIM卡獲取的值,不應人為填寫或修改) 可充電儲能子系統數 1 BYTE 可充電儲能子系統數n,有效值范圍:0~250 可充電儲能系統編碼長度 1 BYTE 可充電充能系統編碼長度m,有效范圍:0~50("0"表示不上傳該編碼) 可充電儲能系統編碼 n×m STRING 可充電儲能系統編碼宜為終端從車輛獲取的值
備注 :可充電儲能子系統指當車輛存在多套可充電儲能系統混合使用時,每套可充電儲能系統為一個可充電儲能子系統
實時資訊上報資料格式和定義
資料表示內容 長度/位元組 資料型別 描述及要求 資料采集時間 6 BYTE[6] 見時間定義 資訊型別標志(1) 1 BYTE 見資訊型別標志定義 資訊體(1) - - 根據資料型別不同,長度和資料型別不同 … - - … 資訊型別標志(n) 1 BYTE 見資訊型別標志定義 資訊體(n) - - 根據資料型別不同,長度和資料型別不同
資訊型別標志
型別編碼 說明 備注 0x01 整車資料 見資訊體的整車資料定義 0x02 驅動電機資料 見資訊體的驅動電機資料定義(停車充電程序無需傳輸該資料) 0x03 燃料電池資料 見資訊體的燃料電池資料定義 0x04 發動機資料 見資訊體的發動機資料定義(停車程序無需傳輸該資料) 0x05 車輛位置資料 見資訊體的車輛位置資料定義 0x06 極值資料 見資訊體的極值資料定義 0x07 報警資料 見資訊體的報警資料定義 0x08~0x09 終端資料預留 - 0x0A~0x2F 平臺交換協議自定義資料 - 0x30~0x7F 預留 0x80~0xFE 用戶自定義 見資訊體的用戶自定義
整車資料格式和定義
資料表示內容 長度/位元組 資料型別 描述及要求 車輛狀態 1 BYTE 0x01:車輛啟動狀態,0x02:熄火,0x03:其他狀態,0xFE:例外,0xFF:表示無效, 充電狀態 1 BYTE 0x01:停車充電,0x02:行駛充電,0x03:未充電狀態,0x04:充電完成,0xFE:例外,0xFF:無效, 運行模式 1 BYTE 0x01:純電,0x02:混動,0x03:燃油,0xFE:例外,0xFF:無效, 車速 2 WORD 有效值范圍:02200(表示0km/h 220km/h)最小計量單元:0.1km/h,0xFF,0xFE:例外,0xFF,0xFF:無效, 累計里程 4 DWORD 有效值范圍:09999999(表示0km 999999.9km),最小計量單元:0.1km,0xFF,0xFF,0xFF,0xFE:例外,0xFF,0xFF,0xFF,0xFF:無效, 總電壓 2 WORD 有效值范圍:010000(表示0V 1000V),最小計量單元:0.1V,0xFF,0xFE:例外,0xFF,0xFF:無效, 總電流 2 WORD 有效值范圍:020000(偏移量1000A,表示-1000A +1000A),最小計量單元:0.1A,0xFF,0xFE:例外,0xFF,0xFF:無效, SOC 1 BYTE 有效值范圍:0100(表示0% 100%),最小計量單元:1%,0xFE:例外,0xFF:無效, DC-DC狀態 1 BYTE 0x01:作業,0x02:斷開,0xFE:例外,0xFF:無效, 檔位 1 BYTE 見檔位定義 絕緣電阻 2 WORD 有效范圍060000(表示0kΩ 60000kΩ),最小計量單元:1kΩ 預留 2 WORD 預留位
驅動電機資料
資料表示內容 長度/位元組 資料型別 描述及要求 驅動電機個數 1 BYTE 有效值1~253 驅動電機總成資訊串列 ∑每個驅動電機總成資訊長度 - 按驅動電機序號依次排列,每個驅動電機資料格式和定義見《每個驅動電機資料格式和定義》(本文未列出,見國標)
燃料電池資料
資料表示內容 長度/位元組 資料型別 描述及要求 燃料電池電壓 2 WORD 有效值范圍:020000(表示0V 2000V),最小計量單元:0.1V,0xFF,0xFE:例外,0xFF,0xFF:無效, 燃料電池電流 2 WORD 有效值范圍:020000(表示0A +2000A),最小計量單元:0.1A,0xFF,0xFE:例外,0xFF,0xFF:無效, 燃料消耗率 2 WORD 有效值范圍:060000(表示0kg/100km 600kg/100km),最小計量單元:0.01kg/100km,0xFF,0xFE:例外,0xFF,0xFF:無效, 燃料電池溫度探針總數 2 WORD N個燃料電池溫度探針,有效值范圍:0~65531,0xFF,0xFE:例外,0xFF,0xFF:無效, 探針溫度值 1×N BYTE[N] 有效值范圍:0240(數值偏移量40°C,表示-40°C +200°C),最小計量單元:1°C, 氫系統中最高溫度 2 WORD 有效值范圍:02400(偏移量40°C,表示-40°C 200°C),最小計量單元:0.1°C,0xFF,0xFE:例外,0xFF,0xFF:無效, 氫系統中最高溫度探針代號 1 BYTE 有效值范圍:1~252,0xFE:例外,0xFF:無效, 氫氣最高濃度 2 WORD 有效值范圍:060000(表示0mg/kg 50000mg/kg),最小計量單元:1mg/kg,0xFF,0xFE:例外,0xFF,0xFF:無效, 氫氣最高濃度傳感器代號 1 BYTE 有效值范圍:1~252,0xFE:例外,0xFF:無效, 氫氣最高壓力 2 WORD 有效值范圍:01000(表示0MPa 100MPa),最小計量單元:0.1MPa, 氫氣最高壓力傳感器代號 1 BYTE 有效值范圍:1~252,0xFE:例外,0xFF:無效, 高壓DC/DC狀態 1 BYTE 0x01:作業,0x02:斷開,0xFE:例外,0xFF:無效,
車輛位置資料
資料表示內容 長度/位元組 資料型別 描述及要求 定位狀態 1 BYTE 【BIT0】0:有效定位;1:無效定位,(當資料通信正常,而不能獲取定位資訊時,發送最后一次有效定位資訊,并將定位狀態置為無效,【BIT1】0:北緯;1:南緯,【BIT2】0:東經;1:西經,【BIT3~7】保留 經度 4 DWORD 以度為單位的緯度值乘以106,精確到百萬分之一度 緯度 4 DWORD 以度為單位的緯度值乘以106,精確到百萬分之一度
極值資料
資料表示內容 長度/位元組 資料型別 描述及要求 最高電壓電池子系統號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 最高電壓電池單體代號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 電池單體電壓最高值 2 WORD 有效值范圍:015000(表示0V 15V),最小計量單元:0.001V,0xFF,0xFE:例外,0xFF,0xFF:無效, 最低電壓電池子系統號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 最低電壓電池單體代號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 電池單體電壓最低值 2 WORD 有效值范圍:015000(表示0V 15V),最小計量單元:0.001V,0xFF,0xFE:例外,0xFF,0xFF:無效, 最高溫度子系統號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 最高溫度探針序號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 最高溫度值 1 BYTE 有效值范圍:0250(數值偏移量40°C,表示-40°C +210°C),最小計量單元:1°C,0xFE:例外,0xFF:無效 最低溫度子系統號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 最低溫度探針序號 1 BYTE 有效值范圍:1~250,0xFE:例外,0xFF:無效, 最低溫度值 1 BYTE 有效值范圍:0250(數值偏移量40°C,表示-40°C +210°C),最小計量單元:1°C,0xFE:例外,0xFF:無效
報警資料
資料表示內容 長度/位元組 資料型別 描述及要求 最高報警等級 1 BYTE 為當前發生的故障中的最高等級值,有效值范圍:0~3,0:無故障,1:1級故障,指代不影響車輛正常行駛的故障,2:2級故障,指代影響車輛性能,需駕駛員限制行駛的故障,3:3級故障,為最高級別故障,指代駕駛員應立即停車處理或請求救援的故障具體等級對應的故障內容由廠商自行定義,0xFE:例外,0xFF:無效, 通用報警標志 4 DWORD 見通用報警標志位定義(本文未列出,具體見國標) 可充電儲能裝置故障總數N1 1 BYTE N1個可充電儲能裝置故障有效值范圍:0~252,0xFE:例外,0xFF:無效, 可充電儲能裝置故障代碼串列 4×N1 DWORD 擴展性資料,由廠商自行定義,可充電儲能裝置故障個數等于可充電儲能裝置故障總數N1 驅動電機故障總數N2 1 BYTE N2個驅動電機故障有效值范圍:0~252,0xFE:例外,0xFF:無效 驅動電機故障代碼串列 4×N2 DWORD 廠商自行定義,驅動電機故障個數等于驅動電機故障總數N2 發動機故障總數N3 1 BYTE N3個驅動電機故障,有效值范圍:0~252,0xFE:例外,0xFF:無效 發動機故障串列 4×N3 DWORD 廠商自行定義,發動機故障個數等于驅動電機故障總數N3 其他故障總數N4 1 BYTE N4個其他故障,有效值范圍:0~252,0xFE:例外,0xFF:無效 其他故障代碼串列 4×N4 DWORD 廠商自行定義,故障個數等于故障總數N4
自定義資料
資料表示內容 長度/位元組 資料型別 描述及要求 自定義資料長度 2 WORD 自定義資料長度n,有效范圍1~65531 自定義資料 1×N BYTE[N] 擴展性資料,由用戶自行定義
檔位狀態位定義
位 定義 Bit7 預留,預留位用0表示 Bit6 預留,預留位用0表示 Bit5 1:有驅動力,0:無驅動力, Bit4 1:有制動力,0:無制動力, Bit3~0 擋位:=0000:空擋,=0001:1擋,=0010:2擋,=0011:3擋,=0100:4擋,=0101:5擋,=0110:6擋,=…,=1101:倒擋,=1110:自動D擋,=1111:停車P,
車輛登出資料格式和定義
資料表示內容 長度/位元組 資料型別 描述及要求 登出時間 6 BYTE[6] 見時間定義 登出流水號 2 WORD 登出流水號與當次登入流水號一致
平臺登入資料格式和定義
資料表示內容 長度/位元組 資料型別 描述及要求 平臺登入時間 6 BYTE[6] 見時間定義 登入流水號 2 WORD 下級平臺每登入一次,登入流水號自動加1,從1開始回圈累加,最大值為65531,回圈周期為天 平臺用戶名 12 STRING 平臺登入用戶名 平臺密碼 20 STRING 平臺登入密碼 加密規則 1 BYTE 0x01:資料不加密,0x02:資料經過RSA演算法加密,0x03:資料經過AES128位演算法加密,0xFE:例外,0xFF:無效,其他:預留
平臺登出資料格式和定義
資料表示內容 長度/位元組 資料型別 描述及要求 登出時間 6 BYTE[6] 見時間定義 登出流水號 2 WORD 登出流水號與當次登入流水號一致