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

        ?

        電池管理系統(tǒng)的報(bào)文采集與解析①

        2020-06-20 07:32:00任大恒黃碧雄
        關(guān)鍵詞:樹莓字節(jié)報(bào)文

        任大恒,嚴(yán) 曉,2,黃碧雄,王 影

        1(上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院,上海 201620)

        2(上海玫克生儲能科技有限公司,上海 201619)

        電動(dòng)汽車車用鋰電池發(fā)展十分迅速,全球電動(dòng)汽車保有量在逐年增加,但隨之而來的電池安全問題也日益嚴(yán)重,主要還是電池一致性問題.純電動(dòng)汽車的電池信息主要由電池管理系統(tǒng)(BMS)發(fā)出,因此采集BMS 發(fā)出的CAN 報(bào)文,準(zhǔn)確的診斷預(yù)測出電池存在的安全隱患至關(guān)重要.因?yàn)镃AN 協(xié)議格式并沒有固定標(biāo)準(zhǔn)格式,計(jì)算機(jī)無法識別CAN 協(xié)議,所以在CAN 報(bào)文解析需要將CAN 協(xié)議轉(zhuǎn)換為機(jī)器可讀的文件,在之前的研究中有采用XML 文件作為機(jī)器可讀文件,這種方法需要人工錄入?yún)f(xié)議內(nèi)容,按照對應(yīng)的格式將每一條信息轉(zhuǎn)換成XML 文件[1],這樣做會使工作量加大并且人工錄入容易出錯(cuò),導(dǎo)致結(jié)果不準(zhǔn)確,目前CAN 網(wǎng)絡(luò)中各邏輯節(jié)點(diǎn)信息采用由德國維克多公司發(fā)布的DBC 文件,DBC 文件能夠被機(jī)器識別,擁有固定的格式,依據(jù)DBC 文件可以開發(fā)出用來監(jiān)視CAN 網(wǎng)絡(luò)中所有邏輯節(jié)點(diǎn)的運(yùn)行狀態(tài),也可以是有針對性的ECU通信應(yīng)用軟件[2],因此被廣泛使用.但是DBC 文件目前主要依賴于專用軟件的建立和解析,而軟件的使用價(jià)格昂貴.本文基于樹莓派設(shè)計(jì)了一套便攜式可移動(dòng)的BMS 的CAN 報(bào)文采集與解析系統(tǒng),只需要將DBC 文件導(dǎo)入到樹莓派內(nèi),設(shè)備便能根據(jù)DBC 文件進(jìn)行報(bào)文解析.能夠?qū)崟r(shí)有效的檢測電池組一致性的好壞,有利于提高電池的利用率,方便維修檢查電池工作狀態(tài).

        1 CAN 報(bào)文采集系統(tǒng)設(shè)計(jì)

        1.1 CAN 總線概述

        CAN 總線是一種串行通信協(xié)議,能有效地支持具有很高安全等級的分布實(shí)時(shí)控制.CAN 控制器局域網(wǎng)是1986年Bosch 公司提出的面向汽車的串行通信協(xié)議,目前是國際上標(biāo)準(zhǔn)的汽車網(wǎng)絡(luò)協(xié)議[3].當(dāng)CAN 總線上的節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),以報(bào)文形式廣播給網(wǎng)絡(luò)中的所有節(jié)點(diǎn),總線上的所有節(jié)點(diǎn)都不使用節(jié)點(diǎn)地址等系統(tǒng)配置信息,只根據(jù)每組報(bào)文開頭的11 位標(biāo)識符(CAN 2.0A 規(guī)范)解釋數(shù)據(jù)的含義來決定是否接收[4].CAN總線可以分為3 個(gè)層次:物理層、傳輸層、對象層.物理層中定義實(shí)際信號的傳輸方法,用來定義不同節(jié)點(diǎn)之間根據(jù)電氣屬性如何進(jìn)行位的實(shí)際傳輸.傳輸層負(fù)責(zé)把接收到的報(bào)文提供給對象層,以及接收來自對象層的報(bào)文.對象層中可以為遠(yuǎn)程數(shù)據(jù)請求以及數(shù)據(jù)傳輸提供服務(wù),確定由實(shí)際要使用的傳輸層接收哪一個(gè)報(bào)文,并且為恢復(fù)管理和過載通知提供手段[5].

        1.2 硬件結(jié)構(gòu)設(shè)計(jì)

        本文采用樹莓派3B+作為CAN 報(bào)文采集的載體,樹莓派是一款基于ARM 的微型電腦主板,以SD/MicroSD卡為內(nèi)存硬盤,支持WiFi 和藍(lán)牙連接,主板周圍有4 個(gè)USB 接口和一個(gè)以太網(wǎng)接口,外部有40 個(gè)GPIO接口,支持Linux 系統(tǒng),體積小價(jià)格低廉.針對CAN 報(bào)文的采集本文設(shè)計(jì)了樹莓派的外接擴(kuò)展板,采用MCP2515作為CAN 的控制器,Microchip 的MCP2515 是一款CAN 協(xié)議控制器,完全支持CAN V2.0B 技術(shù)規(guī)范.該器件能發(fā)送和接收標(biāo)準(zhǔn)和擴(kuò)展數(shù)據(jù)幀以及遠(yuǎn)程幀.通過SPI 接口掛載在樹莓派上,樹莓派在使用該芯片時(shí)不需要手動(dòng)編寫驅(qū)動(dòng),打開設(shè)備樹中的內(nèi)核驅(qū)動(dòng)就能夠使用.同時(shí)選用DS1307 時(shí)鐘芯片為樹莓派斷電時(shí)提供準(zhǔn)確時(shí)間,在采集報(bào)文時(shí)同時(shí)能記錄下報(bào)文采集的絕對時(shí)間.擴(kuò)展板部分原理圖如圖1所示.

        圖1 原理圖

        1.3 軟件結(jié)構(gòu)設(shè)計(jì)

        CAN 報(bào)文采集使用C 語言編寫采集程序,采集速率更快數(shù)據(jù)更加準(zhǔn)確,在采集的同時(shí)在每條報(bào)文后添加采集時(shí)間,便于后續(xù)對電池性能的評估.CAN 報(bào)文在采集時(shí)軟件上主要分為5 步:

        (1)CAN 總線配置:主要用于設(shè)置CAN 總線的位速率以及使能CAN 設(shè)備;

        (2)創(chuàng)建套接字:Socket CAN 采用的是原始套接字,常用于檢驗(yàn)新的協(xié)議實(shí)現(xiàn)或訪問現(xiàn)有服務(wù)中配置的新設(shè)備;

        (3)指定CAN 設(shè)備:綁定要用的CAN 設(shè)備;

        (4)定義接收過濾規(guī)則:在數(shù)據(jù)接收時(shí),可以根據(jù)預(yù)先設(shè)置的過濾規(guī)則,實(shí)現(xiàn)對報(bào)文的過濾;

        (5)顯示報(bào)文:報(bào)文按照幀ID、數(shù)據(jù)長度、數(shù)據(jù)、時(shí)間的順序用空格分隔開,生成采集的報(bào)文文件.

        采集的CAN 報(bào)文如圖2所示.

        2 CAN 報(bào)文解析系統(tǒng)設(shè)計(jì)

        2.1 DBC 文件結(jié)構(gòu)

        目前DBC 文件的廣泛使用,它是CAN 矩陣的另一種表示,各節(jié)點(diǎn)通過CAN 網(wǎng)絡(luò)傳輸信號協(xié)議規(guī)定ECU 怎么發(fā)送和接收信號:例如信號長度、類型、精度、偏移量、信號名等,這些參數(shù)通過編輯工具生成DBC 文件[6].

        圖2 采集報(bào)文示例

        根據(jù)Vector 發(fā)布的DBC 文件格式規(guī)范,本文設(shè)計(jì)了針對DBC 文件的解析系統(tǒng).以一路CAN 對應(yīng)的文件為例,DBC 文件的格式如下:

        VERSION ""

        NS_ :

        BS_:

        BU_:Vector__XXX

        BO_ 408961267 Bms2VcuBasiInfo:8 Vector__XXX

        SG_ SysVolt :7|16@0+ (0.1,0)[0|6553.5] "V"Vector__XXX

        SG_ BatCurrent :23|16@0- (0.1,-1000)[-4276.8|2276.7] "A" Vector__XXX

        SG_ BatSoc :32|8@1+ (1,0)[0|255] "%"Vector__XXX

        SG_ BatSoh :40|8@1+ (1,0)[0|255] "%"Vector__XXX

        SG_ BatState :52|4@1+ (1,0)[0|15] ""Vector__XXX

        SG_ BatAlmLv :48|4@1+ (1,0)[0|15] ""Vector__XXX

        SG_ BatLife :56|8@1+ (1,0)[0|255] ""Vector__XXX

        DBC 頭部包含著VERSION 與NS( new symbol)的信息,BU 為網(wǎng)絡(luò)節(jié)點(diǎn)的定義,BS 為波特率設(shè)置,BO_為關(guān)鍵字表示報(bào)文,408 961 267 表示消息ID 的十進(jìn)制形式,Bms2VcuBasiInfo 是消息名稱,“8”為報(bào)文的數(shù)據(jù)長度幀字節(jié)數(shù),Vector__XXX 為發(fā)出消息的網(wǎng)絡(luò)節(jié)點(diǎn).SG_ SysVolt :7|16@0+ (0.1,0)[0|6553.5] "V" Vector__XXX 是一條消息下的一個(gè)信號,其中SG_表示消息的起始.SysVolt 表示信號名,7 代表起始位Bit,16 表示信號長度,0 或1 表示Motorola 格式或Intel 格式,±表示有無符號,括號內(nèi)表示精度值和偏移量,中括號內(nèi)表示最大和最小值,“V”為單位,Vector__XXX 為信號節(jié)點(diǎn).

        2.2 CAN 報(bào)文解析

        DBC 文件格式是固定不變的,且有固定的關(guān)鍵字表征不同的信息.因此本文采用Python 語言基于正則表達(dá)式對DBC 文件進(jìn)行識別讀取.其中關(guān)鍵匹配信息”BU_:(.*)”是匹配網(wǎng)絡(luò)節(jié)點(diǎn);“BO_ (.*?)(.*?):(.*?)(.*)”是匹配消息、幀ID、消息名、數(shù)據(jù)長度的模板;”SG_ (.*?):(.*?)|(.*?)@(.*?)((.*?),(.*?))[(.*?)|(.*?)]"(.*?)" (.*)”;匹配消息下的信號內(nèi)容.根據(jù)以上關(guān)鍵的匹配語句,讀取DBC 文件的關(guān)鍵信息來解析采集的CAN 報(bào)文.

        CAN 報(bào)文是指發(fā)送單元向接收單元傳送數(shù)據(jù)幀.通常所說的CAN 報(bào)文是指在CAN 線上利用ECU 和CAN 卡接收到的十六進(jìn)制報(bào)文.接收到的CAN 報(bào)文由很多部分組成,但解析時(shí)主要用到的是幀ID 和數(shù)據(jù)兩部分.幀ID 實(shí)際上是由29 位標(biāo)識符轉(zhuǎn)換得到的,目前的通信協(xié)議中都直接給出了對應(yīng)的幀ID,不需要再做轉(zhuǎn)換.數(shù)據(jù)一般由8 個(gè)字節(jié)組成,每個(gè)字節(jié)由兩個(gè)字符組成,讀取時(shí)要根據(jù)字節(jié)的順序讀取(Motorola 格式或者Inter 格式).CAN 總線的數(shù)據(jù)傳輸規(guī)則是首先傳輸一個(gè)字節(jié)的高位,最后傳輸該字節(jié)的低位,所以當(dāng)信號不超過一個(gè)字節(jié)時(shí)兩種格式解析沒有區(qū)別,當(dāng)發(fā)送的信號超過一個(gè)字節(jié)或跨字節(jié)時(shí),采用Inter 格式,該信號的高位將被放在高字節(jié)的高位,信號的低位將被放在低字節(jié)的低位.這樣,信號的起始位就是低字節(jié)的低位.當(dāng)采用Motorola 格式時(shí),該信號的高位將被放在低字節(jié)的高位,信號的低位將被放在高字節(jié)的低位.這樣,信號的起始位就是高字節(jié)的低位.例如報(bào)文“1827F402 0C 48 0C 3F 00 50 02 B1”中“1827F402”是幀ID,“0C 48 0C 3F 00 50 02 B1”是數(shù)據(jù)段,根據(jù)DBC 文件,如按照Motorola 的格式,解析時(shí)按照16 進(jìn)制就是0x0C48,而按照Inter 格式解析時(shí)就是0x480C,兩種解析格式在夸字節(jié)時(shí)有絕對的區(qū)別.

        本文在解析時(shí)將報(bào)文數(shù)據(jù)段轉(zhuǎn)換為二進(jìn)制字符串,即0-63 位總共64 個(gè)字符,將64 個(gè)字符串的序號與二進(jìn)制的位號做一轉(zhuǎn)換,例如數(shù)據(jù)段“0C880C670C5D0 C60”轉(zhuǎn)換為二進(jìn)制字符串后為0000110010001000 0000110001100111000011000101110100001100011000 00 解析時(shí)根據(jù)DBC 文件中的起始位和數(shù)據(jù)長度,將數(shù)據(jù)的起始位轉(zhuǎn)換成二進(jìn)制字符串的起始位,如果是Motorola 格式則根據(jù)轉(zhuǎn)換后的字符串起始位指直接取數(shù)據(jù)長度對應(yīng)的字符長度便能得到需要的數(shù)據(jù).如果是Inter 格式只需要將二進(jìn)制字符串前后順序顛倒即可.這樣使解析報(bào)文更加快捷.CAN 報(bào)文解析流程圖如圖3所示.

        圖3 報(bào)文解析流程圖

        3 實(shí)例驗(yàn)證

        開路電壓是電池組評判電池一致性的參數(shù)之一,根據(jù)各單體電壓的差值大小,可以判斷電池組的一致性優(yōu)劣,并且在必要時(shí)對電池組進(jìn)行均衡操作.

        實(shí)驗(yàn)采用24 串磷酸鐵鋰電池組進(jìn)行充放電實(shí)驗(yàn),在實(shí)驗(yàn)開始之前能夠測到各單體電池的開路電壓情況,根據(jù)各單體電池開路電壓的大小,可以評估電池組一致性.如圖4中箱型圖所示,箱型圖能夠顯示一組數(shù)據(jù)分散情況,提供了識別異常值的一個(gè)標(biāo)準(zhǔn),根據(jù)CAN報(bào)文中解析到的單體電池?cái)?shù)據(jù)可以看到大部分電池均分布在3200 mV 上下,有兩個(gè)電池屬于異常值,需要做進(jìn)一步處理.其他單體電池一致性相對較好.

        圖4 開路電壓箱型圖

        4 結(jié)論

        本文采用MCP2515 芯片設(shè)計(jì)了樹莓派擴(kuò)展板,能夠?qū)崿F(xiàn)BMS 的CAN 報(bào)文采集,并用其采集到的CAN報(bào)文,按照格式生成報(bào)文文件.根據(jù)協(xié)議的DBC 文件,對采集得到的CAN 報(bào)文進(jìn)行解析.解析系統(tǒng)將CAN 報(bào)文的數(shù)據(jù)段轉(zhuǎn)換成二進(jìn)制字符,根據(jù)DBC 文件的編碼類型,按Motorola 格式和Inter 格式對數(shù)據(jù)進(jìn)行翻譯,使得報(bào)文解析更加準(zhǔn)確快速.同時(shí),根據(jù)DBC 文件格式統(tǒng)一固定這一特點(diǎn),寫出了DBC 文件關(guān)鍵信息的正則表達(dá)式匹配模板,能夠任意組合便于篩選報(bào)文內(nèi)容得到需要的信息,本文所設(shè)計(jì)的CAN 報(bào)文采集系統(tǒng)只需要把DBC 文件導(dǎo)入樹莓派中即可完成對報(bào)文的解析,操作簡單便利,同時(shí)也是便攜可移動(dòng)式的CAN 報(bào)文采集解析系統(tǒng),并且在解析后能做簡單的計(jì)算分析,對電池的一致性從開路電壓等角度做出評估.由于本文是基于樹莓派設(shè)計(jì)的因此在之后的應(yīng)用中能夠進(jìn)行二次開發(fā),對解析數(shù)據(jù)做更深層次的處理,從更多的方面對電池組的性能做出診斷和預(yù)測,具有重大應(yīng)用價(jià)值.

        致謝

        感謝企業(yè)導(dǎo)師鄭小鹿教授在本文工作中技術(shù)上的指導(dǎo),研究過程中的支持和幫助!

        猜你喜歡
        樹莓字節(jié)報(bào)文
        基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        CTCS-2級報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
        淺析反駁類報(bào)文要點(diǎn)
        中國外匯(2019年11期)2019-08-27 02:06:30
        基于樹莓派的騎行智能頭盔設(shè)計(jì)
        電子制作(2019年11期)2019-07-04 00:34:32
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
        基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計(jì)
        電子制作(2017年17期)2017-12-18 06:40:43
        簡談MC7字節(jié)碼
        ATS與列車通信報(bào)文分析
        響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
        中國釀造(2016年12期)2016-03-01 03:08:19
        国产做床爱无遮挡免费视频 | 欧美成人秋霞久久aa片| 亚洲成av人在线播放无码| 国产二级一片内射视频插放| 亚洲国产精品嫩草影院久久| 免费现黄频在线观看国产| 青青青国产精品一区二区| 久久无码人妻一区=区三区| 亚洲欧洲国无码| 国产亚洲精品高清视频| 国产色视频在线观看了| 手机久草视频福利在线观看| 日本区一区二区三视频| www婷婷av久久久影片| 国产超碰人人做人人爽av大片| 日本韩国一区二区高清| 99热成人精品国产免| av熟女一区二区久久| 国产在线91精品观看| 精品国内在视频线2019| 色偷偷88888欧美精品久久久| 国产高清一区在线观看| 免费av日韩一区二区| 国产女人水真多18毛片18精品| 久久青草伊人精品| 精品蜜桃av一区二区三区| 久久国内精品自在自线| 亚洲色欲久久久综合网| 国产高清精品自在线看| 国产自拍成人在线免费视频| 久久无码字幕中文久久无码 | 国产午夜久久久婷婷| 东京热东京道日韩av| 国产精品美女久久久网av| 一本一道波多野结衣一区| 麻豆国产AV网站| 亚洲免费一区二区三区四区| 日韩精品久久久肉伦网站| 一级片麻豆| 国产精品视频白浆免费看| 国产区精品一区二区不卡中文|