999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW的電池管理系統與充電機通信協議測試

2013-04-12 00:00:00劉武武國良徐冰亮李曉宇馮飛朱春波
現代電子技術 2013年17期

摘 要: 為了促進電動汽車技術的標準化,實現對基于J1939協議的《電動汽車非車載傳導式充電機與電池管理系統之間的通信協議》進行測試,利用NI PXI CAN接口板卡和LabVIEW軟件開發平臺構建J1939協議CAN通信平臺,在此平臺上模擬充電機,通過監測與電池管理系統通信的各報文發送接收狀態來測試通信過程是否出現錯誤,將解析的通信信息以及錯誤類型通過用戶界面顯示。實驗證明很好實現了J1939協議多幀傳輸機制,模擬了充電機與電池管理系統的通信,并能實時顯示通信狀態、指出錯誤類型。

關鍵詞: LabVIEW; J1939協議; 電池管理系統; 充電機; 協議測試

中圖分類號: TN915?34 文獻標識碼: A 文章編號: 1004?373X(2013)17?0114?04

0 引 言

隨著近年來電動汽車行業如火如荼的發展,電動汽車技術相關的各種標準也相繼推出,其中包括了《電動汽車非車載傳導式充電機與電池管理系統之間的通信協議》(GB/T 27930?2011)[1]。該協議是基于CAN應用層協議SAE J1939,J1939是目前在國內汽車行業中應用廣泛的CAN總線應用層協議[2?4]。只有電池管理系統與充電機之間的正常數據交互才能保證電動汽車進行高效、安全的充電。因此,電池管理系統與充電機通信協議測試是電池管理系統測試的一個必不可少的項目。本課題來源于北方車輛研究所電池管理系統測試平臺項目。美國國家儀器NI PXI CAN采集卡以及LabVIEW為模擬充電機與BMS通信提供了良好的軟硬件環境。

LabVIEW是美國國家儀器推出的一種程序開發環境,圖形化語言使其與其他的代碼類型語言相比之下更為方便直觀[5]。以計算機作為運行環境的LabVIEW,充分利用了計算機無可比擬的硬件優勢,具有強大的數據處理能力。開發者可以很容易實現多線程編程,極大降低了軟件開發的難度。LabVIEW的前面板提供了豐富的類似傳統儀器的控件,開發者可以很方便的創建用戶界面。

本文重點在于如何用LabVIEW實現SAE J1939多幀傳輸機制,完成超過8 B報文的接收重組、拆分發送。以及如何實時判斷通信過程出現的錯誤、指出錯誤類型、定位錯誤發生的階段。

1 SAE J1939協議

J1939協議是基于CAN 2.0B制定的,協議對物理層、數據鏈路層、網路層以及應用層都進行了相關的規定。本文針對數據鏈路層的規定進行簡單介紹。

1.1 協議數據單元(PDU)

J1939將CAN 2.0B的29位標識符ID劃分為六部分,每部分都代表不同的含義,包括優先級(P)、保留位(R)、數據頁(DP)、PDU格式(PF)、特定PDU(PS)、源地址(SA),見表1。

根據CAN 2.0總線的仲裁機制,標識符值越小,CAN幀優先級越高,J1939把這一權利賦予了標識符最高三位(P)。R、DP通常為0。SA代表了該幀數據的發送節點的地址,CAN網絡中每個設備都分配了惟一的SA。在介紹PF與PS之前有必要先介紹下參數組編號(PGN)的概念。每個PGN代表著惟一的參數組(可以包含一個或多個參數),當參數組的數據域大于8 B時,需要遵循J1939的多幀傳輸機制。PGN由R、DP、PF以及PS組成,見表2。從表2中可以看出PDU2格式報文沒有目標地址,此類報文只能發送給全局地址。由于PS作為PDU2格式參數組編號的一部分,因此PDU2比PDU1能定義更多的參數組編號。

1.2 多幀傳輸機制

CAN 2.0B數據域最多有8 B,而在J1939協議中當一個參數組編號(PGN)所對應的數據超過8 B時,規定了一種多幀傳輸機制,發送者按此機制拆分發送,接收者按此機制接收重組,因此一個參數組編號所對應的數據最多可以為1 785 B。點對點未發生錯誤的多幀傳輸機制如圖1所示,J1939對傳輸過程出現錯誤的情況也規定了相應的處理機制,在此不作介紹。

TP.CM_RTS、TP.CM_CTS、TP.DT、TP.EndofMsgACK均為J1939特定功能報文,其參數組編號也由J1939規定,因此這些參數組編號不能再被用戶定義。TP.CM_RTS為消息發送者發送的請求發送幀,由此開始建立多幀傳輸鏈接,其數據域包括了此次發送的消息全部字節數、全部數據包數(TP.DT幀數)以及該消息的參數組編號等信息。接收者根據自己的接收能力,發送準備發送幀TP.CM_CTS,通知發送者下次可發送的數據包數、下一個要發送的數據包編號以及消息的參數組編號。發送者根據接收者的要求開始發送數據包TP.DT,數據包的數據域第一字節代表了該包號,因此一個數據包最多包含消息的7 B。

這個過程循環進行,直至接收者接收到全部數據包后發送消息結束應答幀TP.EndofMsgACK代表著這次多幀傳輸的結束。若發送的消息是全局消息,則所有接收者不應有任何應答,整個傳輸過程如圖2所示。

2 基于LabVIEW實現J1939協議平臺

2.1 硬件接口

利用NI PXI?8513 CAN接口板卡實現該系統的硬件接口。NI已為開發者提供了該板卡的底層驅動,可以很方便對CAN節點參數進行配置以及接收和發送符合CAN 2.0的消息幀,然而對于多幀傳輸機制還需開發者自行設計。由于J1939協議涉及發送者與接收者的應答,因此在基于LabVIEW開發J1939同時也利用C語言開發基于飛思卡爾單片機的電池管理系統中使用的J1939協議,兩者相輔相成,并且利用VECTOR CANoe軟件監視總線,以保證程序開發的順利進行。

2.2 軟件實現

利用LabVIEW多線程編程以及生產者消費者結構實現J1939協議。分別為未拆分的發送報文、已拆分發送報文、未重組的接收報文、已重組的接收報文建立隊列。創建已重組報文讀取線程,已重組報文出隊列用于應用層協議。創建接收報文處理線程,用于按多幀傳輸機制處理接收到的CAN 2.0數據幀,程序流程圖如圖3所示,經過目的地址過濾報文后,利用條件結構按照報文參數組編號進行分類處理,在計算參數組編號時要注意PDU1與PDU2格式的區別,主要分為以下幾種情況:數據小于7 B的正常數據報文:直接入已處理接收報文隊列供應用層使用;請求發送幀TP.CM_RTS:由于兩個節點之間同一時間最多只能有一個發送和一個接收的多幀傳輸鏈接,若這時已有一個接收鏈接,則需要發送放棄鏈接幀TP.ABORT告知發送者,若無接收鏈接,創建新的接收狀態機并插入接收狀態機數組。接收狀態機為一個數據簇,包含了參數組編號、下一個接收數據包編號、數據包總數、當前已接收字節數、字節總數、以及已接收字節數組。之后應發送準備發送幀TP.CM_CTS通知發送者發送數據包,同時應開始計時,若發送者響應時間超過規定時間,應發送放棄幀TP.ABORT;準備發送幀TP.CM_CTS:此報文為接收者對發送報文的應答,此次發送狀態機已建立,搜索相應狀態機,根據準備發送幀要求拆分數據創建數據包TP.DT;數據包TP.DT:搜索相應的接收狀態機并核對是否與目前狀態機相符,如果相符則對數據進行重組存入狀態機的接收字節數組,若不符則發送該參數組編號的放棄鏈接幀,最后判斷多幀傳輸是否結束,并根據是否為全局報文決定是否發送完成鏈接幀;完成鏈接幀TP.EndofMsgACK:表示相應的多幀發送鏈接已完成,刪除相應的發送狀態機。廣播公告消息TP.CM_BAM:收到全局消息的請求鏈接幀,只需建立相應的接收狀態機,等待接收數據包,而不需要任何的應答。

發送報文均先入未拆分發送報文隊列;創建未拆分發送報文處理線程,用于按多幀傳輸機制處理發送報文,程序流程圖如圖4所示,若發送報文數據超過8 B則需要通過多幀傳輸機制拆分發送。

2.3 J1939平臺應用效果

定義電池管理系統BMS和LabVIEW的J1939協議地址分別為244和86。首先由BMS發送PGN為256的9 B報文給LabVIEW,CANoe監視到總線時序如圖5所示。

由第一幀ID可以看出源地址為0xF4(244),目的地址為0x56(86),PGN為0xEC00,因此該幀為鏈接管理幀TP.CM,并且Data域控制字節(第1字節)為0x10,綜上該幀為BMS發送給LabVIEW的請求發送幀,并由Data域可以看出此次報文共有0x09字節(第2,3字節),數據包共有0x02包(第4字節),PGN為0x0100(第6,7,8字節)。同理第二幀為LabVIEW發送的準備發送幀,通知BMS從第0x01包(第3字節)開始發送0x02(第2字節)包數據包。待接收到BMS發送的兩幀TP.DT,LabVIEW發送TP.EndofMsgACK代表此次多幀傳輸完成。LabVIEW接收重組后的數據如圖6所示。

同理分析LabVIEW作為發送節點的情況,總線時序圖如圖7所示,LabVIEW拆分前的發送數據如圖8所示。綜上分析,利用LabVIEW開發平臺很好地實現了J1939協議。

3 通信協議測試軟件的開發

通信協議將整個通信分為多個階段:充電握手階段、充電參數配置階段、充電階段、充電結束階段。每個通信階段均涉及充電機與BMS的信息交互,每次信息交互均有超時限制。為了實現對通信協議進行測試,不僅要模擬充電機與BMS進行通信,還要實時監測通信的狀態,判斷通信過程是否出錯并解析BMS發送的信息。測試軟件主要測試通信階段出現的時序錯亂以及信息交互超時這兩種錯誤。

在已開發J1939協議基礎上進行測試軟件的開發,J1939協議提供了兩個接口:需要發送報文直接入未處理發送報文隊列、已處理接收報文出隊列供應用層使用。通信階段改變利用LabVIEW狀態機結構來實現。創建充電機接收狀態、充電機發送狀態兩個數據簇,記錄接收報文是否已被接收、發送報文是否已被發送以及發送的時間。利用單獨程序線程通過這兩個數據簇實時判斷是否有錯誤發生。

應用效果如圖9所示,為了試驗是否能準確測試出錯誤類型,有意將BMS程序設置為不發送電池充電需求報文,測試軟件指示超時類型代碼為5,即電池充電需求報文超時,接收錯誤類型主要為通信順序出錯。通過對每個接收超時類型以及順序出錯類型進行測試,結果表明能很好地實現對通信協議進行測試。

4 結 語

在LabVIEW開發平臺上,利用其強大的數據處理能力以及豐富實用的程序結構實現了J1939協議,在此基礎上開發電動汽車非車載傳導式充電機與電池管理系統之間的通信協議測試軟件,不僅可以輔助BMS的程序開發,還可以作為BMS測試平臺的部分功能評價BMS合格與否。通過與BMS進行通信,并利用CANoe對總線進行監視,試驗結果表明該測試軟件可以實現J1939協議,能完成多幀傳輸機制,并且可以測試出通信協議中出現的通信流程錯亂以及通信超時錯誤,可以滿足要求。

參考文獻

[1] 中國國家標準化管理委員會.GB/T 27930?2011電動汽車非車載傳導式充電機與電池管理系統之間的通信協議[S].北京:中國標準出版社,2011.

[2] SAE Group. SAE J1939?21 data link layer standard [S]. USA: SAE Group, 2001.

[3] 高松.淺談J1939協議在客車CAN總線中的應用[J].農業裝備與車輛工程,2005(2):30?31.

[4] 蘇喜紅.基于J1939的汽車網絡控制系統CAN高層協議設計與實現[D].哈爾濱:哈爾濱工業大學,2007.

[5] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業出版社,2011.

[6] 阮奇楨.我和LabVIEW[M].北京:北京航空航天大學出版社,2009.

作者簡介:劉 武 男,1989年出生,福建人,碩士。主要研究方向為儲能系統綜合測試與控制技術。

朱春波 男,1964年出生,哈爾濱人,博士,教授。主要研究方向為儲能系統綜合測試與控制技術、無線能量傳輸技術。

主站蜘蛛池模板: 亚洲av无码久久无遮挡| 伊人久久婷婷五月综合97色 | 亚洲天堂久久新| 偷拍久久网| 亚洲第一成人在线| 欧美国产精品不卡在线观看| 中国一级特黄视频| 欧美色综合久久| 永久免费无码成人网站| 18禁高潮出水呻吟娇喘蜜芽| 亚洲日韩AV无码一区二区三区人 | 色网站在线免费观看| 亚洲一区二区视频在线观看| 中文字幕亚洲另类天堂| 欧美精品v日韩精品v国产精品| 国模沟沟一区二区三区| 亚洲三级网站| 精品国产免费第一区二区三区日韩| 亚洲精品欧美重口| 精品国产免费观看一区| 中文字幕 欧美日韩| 中文无码影院| 美女毛片在线| 手机在线免费不卡一区二| 欧美精品在线视频观看| 国产va视频| 午夜欧美理论2019理论| 午夜性刺激在线观看免费| 国产欧美日韩综合在线第一| 精品国产美女福到在线直播| 日本久久网站| 免费黄色国产视频| 三级视频中文字幕| 91美女在线| 亚洲精品视频免费| 专干老肥熟女视频网站| 久久国产精品嫖妓| 国产成人免费视频精品一区二区| 女人天堂av免费| 久久人搡人人玩人妻精品| 在线播放91| 成人免费网站久久久| 亚洲第一区欧美国产综合| 成人另类稀缺在线观看| 最近最新中文字幕免费的一页| 亚洲水蜜桃久久综合网站 | 国产精品手机在线观看你懂的| 国产黄色片在线看| 一本久道久综合久久鬼色| 国产成人精品一区二区| 四虎精品国产AV二区| 亚洲欧州色色免费AV| 日本午夜视频在线观看| 亚洲一区波多野结衣二区三区| 精品无码一区二区在线观看| 亚洲精品爱草草视频在线| 依依成人精品无v国产| 91区国产福利在线观看午夜| 另类重口100页在线播放| 91最新精品视频发布页| 伊人91视频| 九九这里只有精品视频| 精品在线免费播放| 91精品情国产情侣高潮对白蜜| 国产亚洲高清在线精品99| 国产91精选在线观看| 99久久精品免费看国产电影| 亚洲AV永久无码精品古装片| 91在线一9|永久视频在线| 日韩av无码DVD| 2020亚洲精品无码| 激情影院内射美女| 欧美高清国产| 欧美一区精品| 欧美日韩精品一区二区在线线| 青青青国产视频手机| 日本午夜在线视频| 久久免费视频6| 国产一区成人| 亚洲成a人片| 四虎永久免费网站| 日本精品视频一区二区|