亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電動(dòng)汽車BMS測試系統(tǒng)的數(shù)據(jù)通信

        2014-12-12 03:50:38楊劉倩詹昌輝
        關(guān)鍵詞:通信協(xié)議報(bào)文總線

        楊劉倩,詹昌輝

        (合肥國軒高科動(dòng)力能源股份公司工程研究院,安徽 合肥 230011)

        0 引言

        電動(dòng)汽車行業(yè)的發(fā)展,對各電動(dòng)汽車組成部分性能要求不斷提升[1]。因此,開發(fā)了BMS(Battery Management System,電池管理系統(tǒng))測試系統(tǒng),對BMS信息的采集精度、數(shù)據(jù)傳輸速率、準(zhǔn)確性進(jìn)行測試分析。

        在BMS系統(tǒng)開發(fā)過程中,BMS測試系統(tǒng)對BMS的流程控制及其故障響應(yīng)進(jìn)行驗(yàn)證;BMS生產(chǎn)過程中,BMS測試系統(tǒng)對BMS進(jìn)行進(jìn)一步測試[2],保障系統(tǒng)功能完善;BMS售后階段,BMS測試系統(tǒng)可對BMS進(jìn)行故障診斷和排查。

        目前,電動(dòng)汽車領(lǐng)域多采用CAN總線實(shí)現(xiàn)各控制單元之間的通信[3]。BMS測試系統(tǒng)亦通過 CAN通信實(shí)現(xiàn)與BMS的信息交互,即可實(shí)現(xiàn)對BMS系統(tǒng)的測試、狀態(tài)監(jiān)控及數(shù)據(jù)分析等功能。

        1 CAN通信原理及通信協(xié)議

        1.1 CAN通信介紹

        CAN(Controller Area Network,控制局域網(wǎng)絡(luò))屬于現(xiàn)場總線的范疇,現(xiàn)場總線被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)[4]。CAN為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持,應(yīng)用于工業(yè)自動(dòng)化設(shè)備、船舶、醫(yī)療設(shè)備等領(lǐng)域。

        CAN總線是德國Bosch公司從20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,通信速率可達(dá)1 Mbps。當(dāng)信號(hào)傳輸距離達(dá)10 km時(shí),CAN仍可提供高達(dá)50 kbps的數(shù)據(jù)傳輸速率[5]。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理。

        在CAN總線中有4種不同的幀類型[6]:

        (1)數(shù)據(jù)幀(Data Frame):數(shù)據(jù)幀帶有應(yīng)用數(shù)據(jù)。

        (2)遠(yuǎn)程幀(Remote Frame):通過發(fā)送遠(yuǎn)程幀可以向網(wǎng)絡(luò)請求數(shù)據(jù),啟動(dòng)其他資源節(jié)點(diǎn)傳送它們各自的數(shù)據(jù)。遠(yuǎn)程幀包含6個(gè)不同的位域:幀起始、仲裁域、控制域、CRC域、應(yīng)答域、幀結(jié)尾。仲裁域中的RTR位的隱極性表示為遠(yuǎn)程幀。

        (3)錯(cuò)誤幀(Error Frame):能夠報(bào)告每個(gè)節(jié)點(diǎn)的出錯(cuò),由2個(gè)不同的域組成。第一個(gè)域是不同站提供的錯(cuò)誤標(biāo)志的疊加,第二個(gè)域是錯(cuò)誤界定符。

        (4)過載幀(Overload Frame):如果節(jié)點(diǎn)的接收尚未準(zhǔn)備好就會(huì)傳送過載幀,由2個(gè)不同的域組成。第一個(gè)域是過載標(biāo)志,第二個(gè)域是過載界定符。

        1.2 電池管理系統(tǒng)的CAN通信協(xié)議

        CAN協(xié)議是建立在OSI的7層開放互連參考模型基礎(chǔ)之上的。但CAN協(xié)議只定義了模型的最下面2層:數(shù)據(jù)鏈路層和物理層,僅保證了節(jié)點(diǎn)間無差錯(cuò)的數(shù)據(jù)傳輸。CAN的應(yīng)用層協(xié)議必須由CAN用戶自行定義,或采用一些國際組織制訂的標(biāo)準(zhǔn)協(xié)議。

        BMS所采用的CAN通信協(xié)議中數(shù)據(jù)鏈路層的規(guī)定主要參考 CAN2.0B和 SAE J1939的相關(guān)規(guī)定。CAN擴(kuò)展幀有29位標(biāo)識(shí)符,可自行規(guī)定其含義,定義29位ID,如圖1所示。

        圖1 擴(kuò)展幀ID定義

        (1)優(yōu)先級Priority為3位,可以有8個(gè)優(yōu)先級;保留位(Reserved)值一般固定為0;數(shù)據(jù)頁(Data Page)值現(xiàn)固定為0;8位的PDU Format為報(bào)文的代碼;8位的PDU Specific為目標(biāo)地址或組擴(kuò)展;8位的Source Address為發(fā)送此報(bào)文的源地址。

        (2)接入網(wǎng)絡(luò)的每一個(gè)節(jié)點(diǎn)都有名稱和地址,名稱用于識(shí)別節(jié)點(diǎn)的功能和進(jìn)行地址仲裁,地址用于節(jié)點(diǎn)的數(shù)據(jù)通信;每個(gè)節(jié)點(diǎn)至少有一種功能,可能會(huì)有多個(gè)節(jié)點(diǎn)具有相同的功能,也可能一個(gè)節(jié)點(diǎn)具有多個(gè)功能。

        2 BMS測試系統(tǒng)的CAN通信結(jié)構(gòu)及原理

        2.1 測試系統(tǒng)與BMS的連接結(jié)構(gòu)

        BMS測試系統(tǒng)上位機(jī)與BMS的CAN通信硬件連接示意圖如圖2所示:BMS測試系統(tǒng)上位機(jī)應(yīng)用軟件以PC機(jī)為載體,在Windows XP操作系統(tǒng)下開發(fā)的應(yīng)用軟件生成的EXE文件運(yùn)行在PC上[7],形成一個(gè)上位機(jī)結(jié)構(gòu),該上位機(jī)可進(jìn)行CAN通信,上位機(jī)通過USB接口與CAN通信傳輸模塊連接,CAN通信傳輸模塊通過CAN_H、CAN_L連接電池管理系統(tǒng)的CAN通信接口。

        圖2 BMS測試系統(tǒng)與BMS的CAN通信連接示意圖

        2.2 測試系統(tǒng)與BMS的CAN通信實(shí)現(xiàn)原理

        測試系統(tǒng)應(yīng)用程序在電腦上運(yùn)行,電腦USB接口連接CAN通信數(shù)據(jù)傳輸模塊,調(diào)用CAN通信的接口函數(shù)實(shí)現(xiàn)與下位機(jī)BMS的CAN通信連接,連接通信成功后,該應(yīng)用程序可實(shí)現(xiàn)CAN報(bào)文的發(fā)送及接收功能。CAN通信通過電平變化體現(xiàn)傳輸內(nèi)容,CAN通信傳輸模塊將模擬信號(hào)轉(zhuǎn)化成數(shù)字信號(hào)傳遞給BMS測試系統(tǒng)應(yīng)用軟件,軟件接收信息后根據(jù)CAN通信協(xié)議解讀、處理,用曲線圖、圖像、數(shù)字的形式將數(shù)據(jù)信息體現(xiàn)出來。

        3 BMS測試系統(tǒng)的軟件流程及CAN通信實(shí)現(xiàn)

        采用Borland公司開發(fā)的Delphi7作為BMS測試系統(tǒng)應(yīng)用軟件開發(fā)工具,完成軟件界面設(shè)計(jì)與底層驅(qū)動(dòng)的設(shè)計(jì)[8],添加兼容CAN通信傳輸模塊的CAN接口函數(shù)庫,設(shè)計(jì)并開發(fā)具有CAN通信報(bào)文收發(fā)功能、解讀CAN通信協(xié)議并對通信數(shù)據(jù)進(jìn)行處理分析功能的應(yīng)用軟件[9]。一方面,該應(yīng)用軟件將CAN報(bào)文信息轉(zhuǎn)化成直觀信息數(shù)據(jù)或圖表在軟件界面上顯示,為單片機(jī)系統(tǒng)調(diào)試、測試工作提供便捷的途徑。另一方面,BMS測試系統(tǒng)的上位機(jī)應(yīng)用軟件可發(fā)送請求幀報(bào)文,BMS接收到請求報(bào)文后回復(fù)所請求的數(shù)據(jù)或狀態(tài)信息,實(shí)現(xiàn)信息交互。

        3.1 通信流程的實(shí)現(xiàn)

        首先設(shè)置好通信參數(shù),根據(jù)下位機(jī)控制器CAN總線實(shí)際通信需要,將CAN總線通信速率設(shè)定為250 kbps。將通信連接請求通過CAN數(shù)據(jù)傳輸模塊傳輸至BMS,通信連接成功后,向BMS發(fā)送相關(guān)測試信息請求報(bào)文或者直接接收來自BMS的廣播信息報(bào)文,然后BMS測試系統(tǒng)應(yīng)用程序?qū)AN報(bào)文接收緩存中的報(bào)文進(jìn)行分析處理,將數(shù)據(jù)或狀態(tài)信息顯示或存儲(chǔ);對BMS系統(tǒng)信息進(jìn)行實(shí)時(shí)監(jiān)測時(shí),CAN通信是個(gè)循環(huán)過程,將循環(huán)發(fā)送請求或接收廣播報(bào)文,當(dāng)監(jiān)測結(jié)束條件達(dá)到,退出該循環(huán)。最后完成BMS系統(tǒng)測試操作后關(guān)閉CAN通信連接[10]。詳細(xì)流程如圖3所示。

        圖3 CAN通信實(shí)現(xiàn)流程

        3.2 CAN通信主要流程及示例程序

        3.2.1 設(shè)定CAN通信傳輸參數(shù),建立CAN通信連接

        CAN通信硬件連接如圖2所示,采用CAN通信數(shù)據(jù)傳輸模塊連接BMS測試系統(tǒng)和BMS,CAN通信協(xié)議采用SAE J1939,建立BMS測試系統(tǒng)工程,首先設(shè)計(jì)圖4所示窗體及底層驅(qū)動(dòng)[11-12],用來輸入?yún)?shù),建立通信連接。定義CAN通信時(shí)所需用到的結(jié)構(gòu)體及函數(shù)體,在Delphi7建立的應(yīng)用軟件工程中調(diào)用該相關(guān)函數(shù)來實(shí)現(xiàn)串口通信。

        圖4 BMS測試系統(tǒng)中CAN通信連接窗體

        CAN通信數(shù)據(jù)模塊通信連接結(jié)構(gòu)體定義如下:

        本文的CAN通信連接實(shí)現(xiàn)調(diào)用了CAN數(shù)據(jù)傳輸模塊的接口函數(shù)庫中函數(shù)FD_StartCAN,如:

        function FD_StartCAN(DevType:dword;DevIndex:dword;CANindex:dword):dword;stdcall;

        3.2.2 發(fā)送遠(yuǎn)程幀請求信息報(bào)文

        (1)在Delphi工程中定義一個(gè)幀結(jié)構(gòu)體,用來傳輸CAN信息幀,如:

        (2)定義一個(gè)過程arrary,用來初始化即將要發(fā)送的幀結(jié)構(gòu)體,它的形參只有報(bào)文的ID,其他信息都賦給默認(rèn)值。這樣,在需要通過讀取某一個(gè)報(bào)文信息時(shí),只需傳遞相應(yīng)的ID,發(fā)送一個(gè)遠(yuǎn)程幀,請求相應(yīng)的報(bào)文信息,如:

        (3)調(diào)用函數(shù)FD_Transmit:

        Function FD_Transmit(DevType:dword;DevIndex:dword;CANindex:dword;psend:pVCI_CAN_OBJ;len:integer):integer;stdcall;

        DevType是設(shè)備類型,DevIndex是設(shè)備索引號(hào),CANindex表示第幾路CAN,psend是要發(fā)送數(shù)據(jù)幀數(shù)組的首指針,len是要發(fā)送的數(shù)據(jù)幀數(shù)組的長度。

        3.2.3 接收數(shù)據(jù)幀報(bào)文

        調(diào)用函數(shù)FD_Receive接收單片機(jī)控制器發(fā)過來的信息報(bào)文:

        function FD_Receive(DevType:dword;DevIndex:dword;CANindex:dword;preceive:pVCI_CAN_OBJ;len:integer;wait-time:integer):integer;stdcall;

        DevType是設(shè)備類型,DevIndex是設(shè)備索引號(hào),CANindex表示第幾路CAN,preceive是要接收的數(shù)據(jù)幀數(shù)組的首指針,len是要發(fā)送的數(shù)據(jù)幀數(shù)組的長度,waittime是等待時(shí)間。

        另外,需定義一個(gè)動(dòng)態(tài)數(shù)組list,將接收到的數(shù)據(jù)放到動(dòng)態(tài)數(shù)組里。

        3.2.4 對接收到報(bào)文信息分析處理

        在實(shí)際工程中,上位機(jī)應(yīng)用軟件通過CAN數(shù)據(jù)模塊對接收的報(bào)文信息分析處理后顯示在界面上,或?qū)⑿畔⒋鏅n。

        (1)接收的一條數(shù)據(jù)幀報(bào)文信息存入數(shù)組list中,每個(gè)數(shù)據(jù)幀可傳輸8字節(jié)數(shù)據(jù),list[0]用來存放報(bào)文的 ID,list[1]至 list[8]存放數(shù)據(jù)內(nèi)容。通過判斷l(xiāng)ist[0]的內(nèi)容,對應(yīng)通信協(xié)議分辨出該報(bào)文用來傳輸?shù)臄?shù)據(jù)代表信息內(nèi)容。

        (2)對數(shù)組中數(shù)據(jù)進(jìn)行轉(zhuǎn)換,得到具體參數(shù)值或系統(tǒng)狀態(tài)。

        (3)通過顯示控件在軟件界面上顯示出BMS的信息參數(shù)或狀態(tài)。

        3.3 CAN通信數(shù)據(jù)實(shí)時(shí)數(shù)據(jù)處理

        (1)通信數(shù)據(jù)存儲(chǔ)和讀出。

        利用控件OpenDialog和SaveDialog實(shí)現(xiàn)文件打開、保存功能,對應(yīng)用軟件底層驅(qū)動(dòng)代碼編寫實(shí)現(xiàn)BMS測試系統(tǒng)讀取的通信信息的存儲(chǔ)和讀出[13]。保存信息操作代碼如下:

        (2)實(shí)時(shí)繪制參數(shù)動(dòng)態(tài)曲線圖[14]。

        在窗體中加入控件chart及Timer,通過Timer控件設(shè)定定時(shí)間隔觸發(fā),每間隔500 ms更新數(shù)據(jù)繪制到chart。以時(shí)間為橫軸,參數(shù)值為縱坐標(biāo)。其中,坐標(biāo)點(diǎn)繪制采用函數(shù)Addxy(X,Y)。

        通過CAN通信,上位機(jī)與下位機(jī)單片機(jī)控制系統(tǒng)進(jìn)行信息交互,得到下位機(jī)中系統(tǒng)參數(shù)后,立即對實(shí)時(shí)數(shù)據(jù)進(jìn)行直觀顯示,并體現(xiàn)出數(shù)據(jù)變化趨勢,因此選用chart控件繪圖。

        4 實(shí)驗(yàn)結(jié)果與分析

        BMS測試系統(tǒng)可監(jiān)控BMS各種數(shù)據(jù)信息,觀測BMS是否正常運(yùn)行,如監(jiān)控電池組總電壓及電池組總電流數(shù)據(jù)信息。BMS測試系統(tǒng)以讀取的總電壓或總電流數(shù)值為縱坐標(biāo),間隔500 ms繪制一個(gè)坐標(biāo)點(diǎn)。隨著監(jiān)控時(shí)間、電壓值及電流值的變化,曲線動(dòng)態(tài)地變化,如圖5所示。

        圖5 CAN通信實(shí)時(shí)數(shù)據(jù)曲線圖

        監(jiān)控信息用來分析BMS運(yùn)行狀態(tài),為系統(tǒng)反饋提供依據(jù)。圖5(b)中電池組電流值為負(fù),相應(yīng)圖5(a)中電池組電壓值處于增大趨勢,表示BMS處于充電控制狀態(tài),BMS測試系統(tǒng)給出電池組充電狀態(tài)的指示。

        5 結(jié)束語

        本文描述用Delphi7開發(fā)設(shè)計(jì)BMS測試系統(tǒng)上位機(jī)應(yīng)用軟件,實(shí)現(xiàn)與電動(dòng)汽車的BMS系統(tǒng)的CAN通信的功能,通過CAN通信完成對BMS的測試、監(jiān)控,并對參數(shù)及狀態(tài)做出分析、信息存儲(chǔ)等。這一功能的實(shí)現(xiàn),為工控生產(chǎn)、售后服務(wù)提供一個(gè)跳過通信協(xié)議分析過程的智能測試、監(jiān)控的工具。另外,本BMS測試系統(tǒng)上位機(jī)應(yīng)用軟件界面友好,易操作,可移植,具有很好的實(shí)用性。

        [1] 袁方偉,陳思忠.電動(dòng)汽車電池管理系統(tǒng)的研究[J].汽車研究與開發(fā),2003(3):41-44.

        [2] 張美云,潘玲.國內(nèi)外電動(dòng)汽車的發(fā)展概況和趨勢[J].廣西機(jī)械,1997(3):19-22,13.

        [3] 曾光群.基于無線通信技術(shù)的鋰電池監(jiān)測系統(tǒng)的設(shè)計(jì)與仿真研究[D].重慶:重慶大學(xué),2007.

        [4] 吳慧英.基于CAN總線的工業(yè)測控系統(tǒng)的應(yīng)用研究[D].北京:北京航空航天大學(xué),1996.

        [5] 羅峰,孫澤昌.汽車CAN總線系統(tǒng)原理、設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2010:31-35.

        [6] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996:20-23.

        [7] 黃芳.Delphi7存取配置文件實(shí)現(xiàn)與SQL Sever數(shù)據(jù)庫連接[J].電腦編程技巧與維護(hù),2012(10):44-45,77.

        [8] 趙晨,吳錘紅.Delphi高級通信調(diào)試助手軟件的設(shè)計(jì)[J].福建農(nóng)機(jī),2007(3):33-39.

        [9] 孔令彬,葉敦范,付闖.微機(jī)控制蓄電池監(jiān)測系統(tǒng)[J].微電子技術(shù),2001,29(6):35-38.

        [10]張敬華.Delphi5開發(fā)與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2000.

        [11]徐謖,張雷,徐立,等.Delphi應(yīng)用與開發(fā)案例教程[M].北京:清華大學(xué)出版社,2005:57-67.

        [12]明日科技,梁水,李方超,等.Delphi開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007:539-545.

        [13][美]Marco Cantu,等.Delphi7從入門到精通[M].羅征,等譯.北京:電子工業(yè)出版社,2003:39-63.

        [14]高德欣,尚繼良,王景景,等.Delphi編程中的串口通訊技術(shù)[J].青島科技大學(xué)學(xué)報(bào):自然科學(xué)版,2003,24(z1):125-127.

        猜你喜歡
        通信協(xié)議報(bào)文總線
        基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        CTCS-2級報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
        淺析反駁類報(bào)文要點(diǎn)
        中國外匯(2019年11期)2019-08-27 02:06:30
        基于PCI Express總線的xHC與FPGA的直接通信
        機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
        ATS與列車通信報(bào)文分析
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
        基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
        電測與儀表(2016年2期)2016-04-12 00:24:52
        多通道ARINC429總線檢查儀
        人人妻人人澡人人爽人人精品| 不卡一本av天堂专区| 国产在线第一区二区三区| 88久久精品无码一区二区毛片| AV无码一区二区三区国产| 国产成人精品一区二区日出白浆| 中文字幕日韩有码在线| 久久精品欧美日韩精品| h国产视频| 免费观看成人稀缺视频在线播放| av中国av一区二区三区av| 国产精品久久久久aaaa| 91av小视频| 日韩国产有码精品一区二在线| 国产亚洲成人精品久久| 久久国内精品自在自线图片 | 亚洲国产综合精品一区| 少妇高潮av久久久久久| 国产自国产在线观看免费观看| 国产亚洲精品hd网站| av在线免费观看麻豆| 男女做爰高清免费视频网站| а中文在线天堂| 岛国av一区二区三区| 国产精品一区二区三区免费视频 | 91精品亚洲一区二区三区| 国产自拍视频在线观看免费 | 极品美女aⅴ在线观看| 久久中国国产Av秘 入口| 色婷婷一区二区三区久久亚洲| 欧美最猛黑人xxxx| 5级做人爱c视版免费视频| 国产黄色污一区二区三区| 亚洲国产精品亚洲一区二区三区 | 熟女精品视频一区二区三区| 最新国产精品亚洲二区| 国产成人av三级三级三级在线| 亚洲av无码电影在线播放| 无码欧亚熟妇人妻AV在线外遇 | 久久精品av在线观看| 人妻夜夜爽天天爽一区|