《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 基于内网的远程监控车载终端标准化设计与实现
基于内网的远程监控车载终端标准化设计与实现
2016年微型机与应用第14期
孙似海,胡攀攀,唐晓新
(合肥国轩高科动力能源有限公司,安徽 合肥 230012)
摘要: 为了提高电池的实时监控能力,并确保其安全运行,电动汽车远程监控系统逐渐成为各个厂家积极研究的重要课题。着重介绍了一种标准化电动汽车远程监控系统的设计思路、关键技术分析以及具体实现手段。通过将车载终端连接到电池管理系统的内部CAN网络中,设计出一套标准化的内部CAN通信协议,标准化的电池管理系统主机软件、远程监控车载终端软件及其上位机配置软件,解决了整车厂通信协议差异导致的各种问题,并在多种车辆上实际验证了系统的正确性,达到了预期效果。
Abstract:
Key words :

  孫似海,胡攀攀,唐曉新

  (合肥國軒高科動力能源有限公司,安徽 合肥 230012)

  摘要:為了提高電池的實時監控能力,并確保其安全運行,電動汽車遠程監控系統逐漸成為各個廠家積極研究的重要課題。著重介紹了一種標準化電動汽車遠程監控系統的設計思路、關鍵技術分析以及具體實現手段。通過將車載終端連接到電池管理系統的內部CAN網絡中,設計出一套標準化的內部CAN通信協議,標準化的電池管理系統主機軟件、遠程監控車載終端軟件及其上位機配置軟件,解決了整車廠通信協議差異導致的各種問題,并在多種車輛上實際驗證了系統的正確性,達到了預期效果。

  關鍵詞:遠程監控;內部CAN;車載監控終端;標準化

0引言

  電動汽車具有節能、環保的優點,是未來汽車行業發展的一大趨勢。關注電動汽車最多的一點就是其安全性,非常有必要對電動汽車的位置信息、行駛狀態信息和動力電池組信息進行監測和分析,實現車輛的遠程調度和提前預警[1]。遠程監控終端是指通過GPS設備對被監控車輛實現衛星定位,將被監控車輛的經緯度、速度、衛星時間、動力電池組狀態等數據進行處理后,通過GSM/GPRS模塊實時上傳至中心監控服務器,再由服務器對數據進行處理,便可得到被監控車輛所在的精確位置信息及其電池組信息[23]。

  基于內網的遠程監控車載終端標準化的目的在于:(1)提高產品通用性,減少因客戶不同帶來二次開發;(2)提高產品穩定性,避免臨時設計帶來不確定性;(3)提高快速響應能力,降低遠程監控終端出差調測頻率。本文實現了內網批量數據的接收、分析及處理,遠端批量數據實時上傳,系統重要參數存儲等功能,使得標準化遠程監控終端模塊靈活捕捉電池管理系統INCAN報文信息,不再受限于客戶CAN線協議,并且上位機軟件設計靈活配置終端模塊重要關聯參數。

1遠程監控系統設計

001.jpg

  圖1遠程監控系統結構系統組織架構如圖1所示,可以看出,整個遠程監控系統架構可分為前端、后端兩個部分,前端部分安裝在整車上,包括電池管理系統(BMS)的主、從機模塊和車載遠程監控終端;后端部分是在遠程監控中心,運行在PC上,包括服務器和客戶端平臺。下面具體介紹各模塊的設計。

  1.1BMU(電池管理系統從機)

  BMU采用英飛凌XC886系列8位單片機,實時采集電池各個單體電壓及溫度信息并通過內部CAN發送給BMS主機,一般每個BMS主機模塊上都對應連接數個BMU從機模塊,這主要由電動汽車擁有的動力電池組數量和安裝方式決定。

  1.2CCU(電池管理系統主機)

  CCU采用英飛凌XC2267M系列16位單片機,實時采集電池組的總電流,并通過內部CAN接收各個BMU發送的電壓、溫度信息;同時經過程序運算處理,獲取當前電池組的總電壓、荷電狀態(State of Charge,SoC),以及電池組的單體最高電壓、最低電壓、最高溫度、最低溫度、絕緣阻值等,然后根據不同車輛的控制策略,判斷當前電池組運行狀況是否正常。CCU通過CAN總線將以上所有信息傳輸給車載遠程監控終端。

  1.3遠程車載終端

  遠程車載終端采用ARM CortexM3作為處理器,主要用來接收CCU上傳的電池組數據信息以及故障信息然后把接收的相關信息經過處理,按照一定的協議格式,通過GPRS網絡傳輸給監控中心服務器。

  1.4上位機終端配置

  根據不同車輛信息,統一配置車載遠程終端設備的具體參數,如電池組的從機個數、各個電池組的單體個數等。

  1.5遠程監控中心

  遠程監控中心主要包括PC端的遠程監控服務器和客戶端,服務器用于接收和存儲車載遠程監控終端上傳的實時電池信息,客戶端用于實時顯示各個監控終端上報的設備信息以及故障狀態、報警信息、地理位置等。目前應用服務器的標配時可以同時接收幾千個GPRS模塊上報的數據信息。

  考慮到車載遠程監控系統的標準化目的,主要研究的是前端部分的設計與實現,即電池管理系統主機模塊CCU、從機模塊BMU、車載遠程終端模塊之間的通信方式以及相關協議。至于后端部分,即從車載遠程終端到服務器以及服務器到客戶端之間的通信方式和實現方式,主要是網絡協議和數據庫操作相關內容,處理方式相對比較固定,并且在PC上運行處理,不在此文的研究之中。

2關鍵技術研究

  本項目中,為了兼容各個電動汽車廠家的通信協議,基于內部CAN網絡,研究設計一種新型的標準化遠程監控系統,形成一種內網協議標準化、內網各模塊軟件功能標準化以及車載遠程監控終端模塊上位機配置標準化的標準化遠程監控系統,如圖2所示。

  

002.jpg

  2.1遠程監控系統內網協議標準化

  CAN總線采用了多主競爭式總線結構,具有多主站運行和分散仲裁的串行總線以及廣播通信的特點[4]。CAN總線上任意節點可在任意時刻主動地向網絡上其他節點發送信息而不分主次,因此可在各節點之間實現自由通信[5]。

  本項目中,參考CAN2.0B和SAE J1939的相關規定,內網傳輸應用CAN總線通信的方式,并開發設計內網協議。車載遠程監控終端一方面循環接收電池管理系統各從機模塊發送的各個電池單體電壓、溫度信息,另一方面接收電池管理系統主機發送的經過運算處理后的電池信息。為了完成上述功能,需要重新開發設計基于內部CAN總線的通信協議,實現內網協議標準化、統一化。設計后的協議主要內容如下。

  (1) 電池組總信息報文BMU_INFO_ TOTAL。此報文ID為0x18014201,用于BMS主機傳輸從機個數、電池組總電壓、總電流、SOC等值給遠程監控終端。

  (2) 電池組極值電壓報文BMU_INFO _VOLTAGE。此報文ID為0x18014202,用于BMS主機將電池組的極值電壓值及其地址傳輸給遠程監控終端。

  (3) 電池組極值溫度報文BMU_INFO _TEMP。此報文ID為0x18014203,用于BMS主機將電池組的極值溫度值及其地址值傳輸給遠程監控終端。

  (4) 每個從機監控的電池單體個數配置報文BMU_INFO_CELL_COUNT。此報文ID為0x18014204和0x18014105,每條報文可以表示8個從機模塊各自監控的電池單體個數,總計可以監控16個從機模塊各自監控的電池單體個數。

  2.2遠程監控內網各模塊軟件標準化

  考慮到電池管理系統從機模塊軟件比較穩定,且從機模塊往往安裝在電池箱內部,所以盡量不去修改它,重點是重新開發CCU和車載終端部分的軟件。CCU和車載終端的程序代碼均是用C語言編寫,在Keil uVision4環境中編譯生成燒寫文件。

  (1)BMS主機程序按照協議規定,以CAN報文的方式將相關電池信息發送到內網中。下面以發送電池組極值電壓信息為例說明。

  首先在頭文件中定義:

  #define CAN_BMUCRGP_VOLTAG E_TXID0x18014202// 獲取極值電壓信息

  #define CAN_BMUCRGP_VOLTAG E_TXMOB102

  #define CAN_BMUCRGP_VOLTAG E_TXMOB_MOAR (CAN_MOB_PRICAN_MOB_IDE | CAN_BMUCRGP_ VOLTAGE_ TXID)

  然后在源文件中進行CAN報文的組包并調用發送函數。

  FrameObj.ubMOCfg=0x78;//IDE,(DIR=TX)DATA Frame,8Data Length code

  FrameObj.ulID=CAN_BMUCRGP_VOLTAGE_TXID;

  FrameObj.ulMask=CAN_BMURX_MASK ;

  FrameObj.ubData[0]=(INT8U)(MaxCellVolt );// 最高電壓低字節

  FrameObj.ubData[1]=(INT8U)(MaxCellVolt >> 8);// 最高電壓高字節

  FrameObj.ubData[2]=(INT8U)(MinCellVolt );// 最低電壓低字節

  FrameObj.ubData[3]=(INT8U)(MinCellVolt>>8);// 最低電壓高字節

  FrameObj.ubData[4]=(INT8U)(((MaxCellVolt No & 0xF00) >> 8 ));// 最高電壓箱號

  CAN_vConfigMsgObj(CAN_BMUCRGP_VOLTAGE_TXMOB,&FrameObj);

  CAN_vTransmit(CAN_BMUCRGP_VOLTAGE_TXMOB);

  (2) 編寫車載遠程監控終端程序代碼,從內網中接收各個從機模塊傳輸的各個單體電壓信息和溫度信息,同時接收BMS主機傳輸的電池總體信息和極值信息,然后將以上所有信息通過GPRS模塊上傳到遠程服務器。下面分別以接收BMU從機模塊單體電壓信息和接收BMS主機模塊的極值電壓信息為例說明。

  ①車載遠程監控終端循環接收各BMU從機模塊的單體電壓信息,代碼如下。

  if((MessageCAN0.CANID&0xFFF0FF00) == 0x18004100)// 過濾從機報文ID

  {

  SA=(unsignedshort)(MessageCAN0.CANID & 0x000000FF)-1;// 從機編號

  volIndex=(unsignedchar)(((Message CAN0.CANID&0x000F0000) >>16)) - 1;//電池序號

  for (mesID = 0; mesID < 8; mesID++)

  {if(MessageCAN0.DATA[mesID+1] > 0)

  {g_sCellInfo.CellVtg[bmu_cell_num_start[SA]+volIndex*8+mesID]=MessageCAN0.DATA[mesID+1];// 獲取電池單體電壓

  }

  }

  }

  FrameObj.ubData[6]=(INT8U)(((MinCellVoltNo & 0xF00) >> 8));//最低電壓箱號

  FrameObj.ubData[7]=(INT8U)MinCellVoltNo;// 最低電壓節號

  FrameObj.ubData[5]=(INT8U)MaxCellVoltNo;// 最高電壓節號

  while((!(CAN_ubRequestMsgObj(CAN_BMUCRGP_VOLTAGE_TXMOB))) && (uitemp ++ < 1000)){;}

  ②車載遠程監控終端接收BMS主機模塊的極值電壓代碼如下。

  if(MessageCAN0.CANID==0x18014202)// 獲取極值電壓信息值

  {

  index=(MessageCAN0.DATA[3]* 256+MessageCAN0.DATA[2]);// 單體最高電壓

  g_sExtremInfo.MinVtgCell[2]=(unsigned char)(index >> 8);

  g_sExtremInfo.MinVtgCell[3]=(unsigned char)index;

  index=(MessageCAN0.DATA[1] * 256 + MessageCAN0.DATA[0]);// 單體最低電壓

  g_sExtremInfo.MaxVtgCell[2]=(unsigned char)(index >> 8);

  g_sExtremInfo.MaxVtgCell[3]=(unsigned char)index;

  g_sExtremInfo.MaxVtgCell[0]=MessageCAN0.DATA[4];// 最高電壓箱號

  g_sExtremInfo.MaxVtgCell[1]=

  MessageCAN0.DATA[5];// 最高電壓節號

  g_sExtremInfo.MinVtgCell[0]=MessageCAN0.DATA[6];// 最低電壓箱號

  g_sExtremInfo.MinVtgCell[1]=MessageCAN0.DATA[7];// 最低電壓節號

  }

  (3)車載遠程監控終端模塊上位機配置標準化

  標準化的車載遠程終端模塊,除了修改底層通信模塊程序以外,還需要根據實際電池組信息,配置車載遠程終端模塊的運行參數,達到兼容各種不同電動汽車、不同電池組的目的。為此開發了一款運行在PC上的上位機軟件,用于配置具體參數。

  此款上位機軟件基于Qt平臺開發而成。Qt是1991年奇趣科技開發的一個跨平臺的C++圖形用戶界面應用程序框架[6],開發起來簡單易學,并提供給應用程序開發者建立藝術級的圖形用戶界面所需的所有功能[7]。

  終端配置上位機界面如圖3所示,可以看出,界面左半部分為串口信息和相關操作,右半部分是具體的參數值,如當前車載遠程監控終端需要配置的參數為:車輛ID20151202,電池總串數168,BMS從機個數4,每個從機監控的電池單體串數是42,當這些值設置好之后,點擊“參數配置”按鈕,車載遠程監控終端會通過RS232串口接收這些配置參數,并保存到Flash中。另外,可以將設置好的參數以文件的形式存儲到PC的硬盤里,使用時,直接讀取參數即可。

003.jpg

  (4)各模塊軟件開發調試完成后,通過CAN截取的內網報文如圖4所示。

  

004.jpg

3應用狀況

  此項目自開發結束后,已應用在多個公司項目多輛車上,包括電動大巴車和商務車等,功能良好。通過車載遠程監控終端,在PC上的客戶端中可以實時觀察車輛運行狀況,并且服務器每天都會將數據存儲到數據庫中,方便后續追蹤了解電池的健康狀態,最終達到提升電池生產工藝和品質的目的。圖5是應用標準化車載遠程監控系統的車輛監控數據界面。

005.jpg

4結論

  基于內網的標準化車載遠程監控系統,解決了不同整車廠商差異導致的通信協議不兼容的問題。只要動力電池系統內網協議一致,該系統基本上可以應用在所有電動汽車上,實時監控動力電池組和整車的運行狀況。從目前我公司的應用情況來看,實際效果也確實如此,既減少售后人員的現場出差頻率,又能快速響應新產品的應用,提高開發效率,無論是實用效益還是經濟效益都能很好地滿足。

參考文獻

  [1] 陳清泉,孫逢春,祝嘉光.現代電動汽車技術[M]. 北京:北京理工大學出版社, 2002.

  [2] 徐海霞.燃運車輛GPS監控系統的分析與設計[J].微型機與應用,2014,33(11):1215.

  [3] 方仁桂. 基于GPRS的遠程監控系統的研究與設計[D]. 廈門:廈門大學,2009.

  [4] 王任重.基于CAN總線的車載網絡控制系統研究與設計[D]. 上海:上海工程技術大學 2015.

  [5] 郭海濤.集成CAN/GPS/GSM的嵌入式電動車車載終端的研究與設計[D]. 北京:北京交通大學, 2007.

  [6] 王浩,陳邦瓊,浦錄敏,等. 嵌入式Qt開發項目教程[M]. 北京:中國水利水電出版社,2014.

  [7] 陸文周. Qt開發及實例[M].北京:電子工業出版社,2014.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲欧美日韩不卡| 欧美日韩国产一二| 国精产品一区一区三区视频| 国产精品91久久| 久久人人爽人人爽爽久久| 国产精品久久久| 国产精品初高中精品久久| 91精品久久久久久久久久久| 日韩中文字幕亚洲精品欧美| 尤物av无码色av无码| 国产午夜大地久久| 国产成人精品电影久久久| 日韩在线视频网| 婷婷久久伊人| 伊人久久大香线蕉av一区V| 欧美日韩国产91| 亚洲最新免费视频| 久久国产精品网站| 免费看又黄又无码的网站| 国产精品激情自拍| 国产a∨精品一区二区三区不卡| 日本高清一区| 免费久久99精品国产自| 久久亚洲精品毛片| 亚洲综合视频1区| 欧美日韩一区二区视频在线| 久久国产日韩欧美| av免费观看网| 日韩中文字幕二区| 日本精品免费视频| 亚洲av综合色区| 日韩不卡一二区| 久久中文字幕一区| 国产精品香蕉av| 国产精品极品尤物在线观看| 国产高清不卡av| 亚洲乱码一区二区三区| 亚洲91精品在线观看| 欧美极品在线视频| 韩国成人一区| 色播亚洲婷婷|