本發(fā)明涉及通信技術,尤其涉及一種數據傳輸處理方法、電池檢測單元和電池管理系統(tǒng)。
背景技術:
控制器局域網絡(can)總線,為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發(fā)的一種串行數據通信協(xié)議,它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維,通信速率最高可達1mbps,目前已經廣泛的應用于汽車領域和其他工業(yè)控制領域。
隨著新能源產業(yè)的發(fā)展,電動車的市場也越來越寬廣。電池管理系統(tǒng)(bms)在電動車里是非常重要的,它可以管理電池組內的各電池單體,解決電池組內各電池單體之間的不均衡問題,實現電池單體之間的能量轉移給。bms通常由一個電池控制單元(bcu)和多個電池檢測單元(bmu)構成,bmu通過can總線將實時采集到的電池參數信息,例如:電池的電壓、溫度、狀態(tài)等數據,傳遞給bcu,以便bcu對電池組內各電池進行均衡控制。
在實現本發(fā)明的過程中,本發(fā)明人通過調查研究發(fā)現,現有技術的電池管理系統(tǒng)中,各bmu同步采集電池參數信息、并在采集到電池參數信息后實時通過can總線傳輸給bcu,使得can總線上需要瞬時傳輸的數據報文數量很大,can總線的瞬時負載率過高,從而導致can總線擁堵,可能由于bcu無法及時can總線上的數據報文而導致數據報文丟失。
技術實現要素:
本發(fā)明實施例所要解決的一個技術問題是:提供一種數據傳輸處理方法、電池檢測單元和電池管理系統(tǒng),以解決現有技術can總線瞬時負載率過高、導致can總線擁堵的技術問題。
根據本發(fā)明實施例的一個方面,提供的一種數據傳輸處理方法,包括:
電池管理系統(tǒng)中的各電池檢測單元在同步周期t內,同步采集電池參數信息;
電池管理系統(tǒng)中的各電池檢測單元分別在所述同步周期t內的不同時刻,通過控制器局域網絡can總線傳輸采集到的電池參數信息。
在基于上述方法的另一個實施例中,所述各電池檢測單元分別在所述同步周期t內的不同時刻,通過can總線傳輸采集到的電池參數信息包括:
各電池檢測單元i分別獲取各自在所述同步周期t內的發(fā)送時刻ti,并監(jiān)測當前時刻是否到達發(fā)送時刻ti;其中,電池管理系統(tǒng)包括n個電池檢測單元,n為大于1的整數;i為電池檢測單元在電池管理系統(tǒng)中的編號,i依次取值為【1,n】中的整數;
響應于當前時刻到達發(fā)送時刻ti,電池檢測單元i通過can總線傳輸該電池檢測單元i采集到的電池參數信息。
在基于上述方法的另一個實施例中,所述電池檢測單元i獲取發(fā)送時刻ti包括:
電池檢測單元i通過ti=t0+ts+δt*(i-1),獲取發(fā)送時刻ti;
其中,t0為所述同步周期t的同步時刻,ts為電池參數信息的采集時長,δt為信息發(fā)送間隔時長,ts與δt的取值分別大于0,且滿足t≥ts+n*δt。
在基于上述方法的另一個實施例中,所述各電池檢測單元在同步周期t內,同步采集電池參數信息包括:
所述各電池檢測單元在同步周期t的同步時刻t0,同時開始采集電池參數信息。
在基于上述方法的另一個實施例中,所述各電池檢測單元接收電池管理系統(tǒng)中電池控制單元發(fā)送的同步信號,并將接收到同步信號的同步時刻作為同步時刻t0開始計時,同時開始執(zhí)行所述采集電池參數信息的操作。
在基于上述方法的另一個實施例中,所述電池檢測單元接收電池控制單元發(fā)送的同步信號包括:
電池檢測單元接收電池控制單元通過硬線方式或can總線發(fā)送的同步信號。
在基于上述方法的另一個實施例中,還包括:電池檢測單元上電啟動,將電池檢測單元的工作狀態(tài)標識設置為初始狀態(tài),并開始按照預設有效時長為監(jiān)控周期tm進行監(jiān)控;
響應于在監(jiān)控周期tm內接收到電池控制單元發(fā)送的同步信號,將工作狀態(tài)標識保持或切換為正常狀態(tài);
否則,若在監(jiān)控周期tm內未接收到電池控制單元發(fā)送的同步信號,將工作狀態(tài)標識保持或切換為錯誤狀態(tài)。
在基于上述方法的另一個實施例中,還包括:
各電池檢測單元分別識別各自的工作狀態(tài)標識;
若工作狀態(tài)標識為初始狀態(tài)或正常狀態(tài),執(zhí)行所述各電池檢測單元在同步周期t內,同步采集電池參數信息的操作;
若工作狀態(tài)標識為錯誤狀態(tài),以預設間隔時長td為周期,采集電池參數信息并通過can總線傳輸采集到的電池參數信息。
在基于上述方法的另一個實施例中,還包括:
各電池檢測單元分別更新記錄最近一次采集電池參數信息的時刻tx和最近一次傳輸電池參數信息的時刻ty;
所述以預設間隔時長td為周期,采集電池參數信息并通過can總線傳 輸采集到的電池參數信息包括:
監(jiān)測當前時刻是否到達采集時刻tc=tx+td;
響應于當前時刻到達采集時刻tc,開始采集電池參數信息;以及
監(jiān)測當前時刻是否到達發(fā)送時刻tj=tx+td;
響應于當前時刻到達發(fā)送時刻tj,通過can總線傳輸該電池檢測單元i采集到的電池參數信息。
在基于上述方法的另一個實施例中,td≥t。
根據本發(fā)明實施例的另一個方面,提供的一種電池檢測單元,包括:
采集單元,用于在同步周期t內,與所在電池管理系統(tǒng)中的其他電池檢測單元同步采集電池參數信息;
獲取單元,用于獲取所述電池檢測單元在所述同步周期t內的發(fā)送時刻ti;
監(jiān)測單元,用于監(jiān)測當前時刻是否到達發(fā)送時刻ti;
發(fā)送單元,用于根據監(jiān)測單元的監(jiān)測結果,響應于當前時刻到達發(fā)送時刻ti,在所述同步周期t內的發(fā)送時刻ti,通過控制器局域網絡can總線傳輸采集到的電池參數信息;
其中,電池管理系統(tǒng)包括n個電池檢測單元,n個電池檢測單元中的各電池檢測單元i在所述同步周期t內的發(fā)送時刻ti不同;其中,n為大于1的整數;i為電池檢測單元在電池管理系統(tǒng)中的編號,i依次取值為【1,n】中的整數。
在基于上述電池檢測單元的另一個實施例中,所述獲取單元,具體用于通過ti=t0+ts+δt*(i-1),獲取發(fā)送時刻ti;
其中,t0為所述同步周期t的同步時刻,ts為電池參數信息的采集時長,δt為信息發(fā)送間隔時長,ts與δt的取值分別大于0,且滿足t≥ts+n*δt。
在基于上述電池檢測單元的另一個實施例中,所述采集單元,具體用于 在同步周期t的同步時刻t0,同時開始采集電池參數信息。
在基于上述電池檢測單元的另一個實施例中,還包括:
接收單元,用于接收所在電池管理系統(tǒng)中電池控制單元發(fā)送的同步信號,并將接收到同步信號的同步時刻作為同步時刻t0指示計時單元開始計時,同時指示采集單元采集電池參數信息。
在基于上述電池檢測單元的另一個實施例中,所述接收單元,具體通過硬線方式或can總線與所述電池控制單元連接,具體用于接收電池控制單元通過硬線方式或can總線發(fā)送的同步信號。
在基于上述電池檢測單元的另一個實施例中,還包括狀態(tài)管理單元,用于:
在所述電池檢測單元上電啟動后,將所述電池檢測單元的工作狀態(tài)標識設置為初始狀態(tài),并開始按照預設有效時長為監(jiān)控周期tm進行監(jiān)控;
響應于在監(jiān)控周期tm內接收到電池控制單元發(fā)送的同步信號,將工作狀態(tài)標識保持或切換為正常狀態(tài);
否則,若在監(jiān)控周期tm內未接收到電池控制單元發(fā)送的同步信號,將工作狀態(tài)標識保持或切換為錯誤狀態(tài)。
在基于上述電池檢測單元的另一個實施例中,還包括:識別單元,用于:
識別所述電池檢測單元的工作狀態(tài)標識;以及
若工作狀態(tài)標識為初始狀態(tài)或正常狀態(tài),指示所述采集單元在同步周期t內,與所在電池管理系統(tǒng)中的其他電池檢測單元同步采集電池參數信息的操作;
若工作狀態(tài)標識為錯誤狀態(tài),指示所述采集單元以預設間隔時長td為周期,采集電池參數信息,以便所述發(fā)送單元以預設間隔時長td為周期通過can總線傳輸采集到的電池參數信息。
在基于上述電池檢測單元的另一個實施例中,還包括:
記錄單元,用于分別更新記錄采集單元最近一次采集電池參數信息的時刻tx和發(fā)送單元最近一次傳輸電池參數信息的時刻ty;
所述監(jiān)測單元,還用于:
監(jiān)測當前時刻是否到達采集時刻tc=tx+td;
響應于當前時刻到達采集時刻tc,指示采集單元采集電池參數信息;以及
監(jiān)測當前時刻是否到達發(fā)送時刻tj=tx+td;
響應于當前時刻到達發(fā)送時刻tj,指示發(fā)送單元通過can總線傳輸該電池檢測單元i采集到的電池參數信息。
在基于上述電池檢測單元的另一個實施例中,td≥t。
根據本發(fā)明實施例的再一個方面,提供的一種電池管理系統(tǒng),包括一個電池控制單元、和分別與所述電池控制單元通過控制器局域網絡can總線連接的n個電池檢測單元,n為大于1的整數;
所述n個電池檢測單元中的各電池檢測單元,分別用于在同步周期t內,同步采集電池參數信息;以及分別在所述同步周期t內的不同時刻,通過can總線想所述電池控制單元傳輸采集到的電池參數信息。
在基于上述電池管理系統(tǒng)的另一個實施例中,所述電池檢測單元具體為上述任意一項的電池檢測單元。
基于本發(fā)明實施例提供的數據傳輸處理方法、電池檢測單元和電池管理系統(tǒng),電池管理系統(tǒng)中的各電池檢測單元在同步周期t內同步采集電池參數信息,并分別在同步周期t內的不同時刻,通過can總線傳輸采集到的電池參數信息。由此,本發(fā)明實施例實現了bms中各bmu與bcu之間電池參數信息的錯時發(fā)送,降低了can總線上最大瞬時傳輸數據報文數量和can總線的最大瞬時負載率,避免了can總線上瞬時傳輸數據報文的數量過大、瞬時負載率過高導致can總線擁堵、從而導致數據報文丟失的技術問題。
附圖說明
構成說明書的一部分的附圖描述了本發(fā)明的實施例,并且連同描述一起用于解釋本發(fā)明的原理。
參照附圖,根據下面的詳細描述,可以更加清楚地理解本發(fā)明,其中:
圖1為本發(fā)明數據傳輸處理方法一個實施例的流程圖。
圖2為本發(fā)明數據傳輸處理方法另一個實施例的流程圖。
圖3為圖2所示實施例中數據傳輸處理的一個時序圖。
圖4為本發(fā)明數據傳輸處理方法又一個實施例的流程圖。
圖5為本發(fā)明數據傳輸處理方法再一個實施例的流程圖。
圖6為本發(fā)明bms一個實施例的結構示意圖。
圖7為本發(fā)明bmu一個實施例的結構示意圖。
圖8為本發(fā)明bmu另一個實施例的結構示意圖。
圖9為本發(fā)明bmu又一個實施例的結構示意圖。
具體實施方式
下面結合說明書附圖,對本發(fā)明實施例提供的一種can總線傳輸方法的具體實施方式進行說明。
圖1為本發(fā)明數據傳輸處理方法的一個實施例的流程圖。如圖1所示,本發(fā)明實施例的數據傳輸處理方法包括:
101,bms中的各bmu在同步周期t內,同步采集電池組的電池參數信息,例如:電池的電壓、溫度、狀態(tài)等。
102,bms中的各bmu分別在同步周期t內的不同時刻,通過can總線,向bcu傳輸采集到的電池參數信息。
基于本發(fā)明實施例提供的數據傳輸處理方法,bms中的各bmu在同步周期t內同步采集電池參數信息,并分別在同步周期t內的不同時刻,通過 can總線傳輸采集到的電池參數信息。由此,本發(fā)明實施例實現了bms中各bmu與bcu之間電池參數信息的錯時發(fā)送,降低了can總線上最大瞬時傳輸數據報文數量和can總線的最大瞬時負載率,避免了can總線上瞬時傳輸數據報文的數量過大、瞬時負載率過高導致can總線擁堵、從而導致數據報文丟失的技術問題。
在上述數據傳輸處理方法實施例的一個具體示例中,操作102具體可以通過如下方式實現:各bmui分別獲取各自在同步周期t內的發(fā)送時刻ti,并監(jiān)測當前時刻是否到達發(fā)送時刻ti;其中,bms包括n個bmu,n為大于1的整數;i為bmu在bms中的編號,i依次取值為【1,n】中的整數;響應于當前時刻到達發(fā)送時刻ti,bmui通過can總線向bcu傳輸該電池檢測單元i采集到的電池參數信息。
圖2為本發(fā)明數據傳輸處理方法另一個實施例的流程圖。如圖2所示,本發(fā)明實施例的數據傳輸處理方法,包括:
201,bms中的各bmui在同步周期t內,同步采集電池組的電池參數信息,例如:電池的電壓、溫度、狀態(tài)等。
示例性地,各bmui可以在同步周期t的同步時刻t0,同時開始采集電池組的電池參數信息。其中,t0為同步周期t的同步時刻。
202,bms中的各bmui分別執(zhí)行:獲取各自在同步周期t內的發(fā)送時刻ti。
示例性地,bmui可以通過ti=t0+ts+δt*(i-1),獲取其發(fā)送時刻ti。其中,ts為電池參數信息的采集時長,即:采集電池參數信息所需時長,δt為相鄰bmu之間的信息發(fā)送間隔時長,ts與δt的取值分別大于0,且滿足t≥ts+n*δt。
203,監(jiān)測當前時刻是否達到發(fā)送時刻ti。
若當前時刻到達發(fā)送時刻ti,執(zhí)行操作204。否則,繼續(xù)執(zhí)行該操作203。
204,通過can總線向bcu傳輸采集到的電池參數信息。
具體地,bmui在ti時刻發(fā)送的是最近一次采集到的電池參數信息,具體可以是在當前同步周期t內或上一同步周期t內的同步時刻t0開始采集的電池參數信息。在圖2所示數據傳輸處理方法實施例中,ts的取值可以根據需求設定,具體可以小于或等于同步周期t的時長。在一個具體示例中,ts的取值可以與δt的取值相等,即:電池參數信息的采集時長與bmu之間的信息發(fā)送間隔時長的取值相等。另外,對于采集時長較長、而同步周期t又較短的情況,ts的取值可以是同步周期t的時長,此時,bmui在ti時刻發(fā)送的可能是在上一同步同期t內開始采集的電池參數信息。
如圖3所示,為圖2所示實施例中該具體示例的數據傳輸處理的一個時序圖。圖3中,所有的時間被分割成無數個同步周期t,每個同步周期t內數據傳輸處理操作如下:
在同步周期t的同步時刻t0,bms中的所有bmu1~n開始同步采集電池組的電池參數信息;
bmu1~n分別通過ti=t0+δt*i,獲取各自的發(fā)送時刻ti,并監(jiān)測當前時刻是否到達發(fā)送時刻ti;
自t0時刻起經過電池參數信息的采集時長ts(該實施例中取值即為δt),到達時刻t1=t0+δt,bmu1將采集到的電池參數信息封裝到數據報文中,通過can總線發(fā)送給bcu;
自t1時刻起再次經過信息發(fā)送間隔時長δt,到達時刻t2,bmu2將采集到的電池參數信息封裝到數據報文中,通過can總線發(fā)送給bcu;
自t2時刻起再次經過信息發(fā)送間隔時長δt,到達時刻t3,bmu3將采集到的電池參數信息封裝到數據報文中,通過can總線發(fā)送給bcu;
以此類推,到達時刻tn,bmun將采集到的電池參數信息封裝到數據報文中,通過can總線發(fā)送給bcu。
基于上述應該示例,所有bmu1~n在同步時刻t0開始同步采集電池參 數信息,各bmui在ti=t0+δt*i時刻,通過can向bcu發(fā)送封裝有電池參數信息的數據報文。
進一步地,在基于本發(fā)明上述數據傳輸處理方法的另一個實施例中,還可以包括:
各bmu接收bms中的bcu,例如通過硬線方式或can總線等方式,發(fā)送的同步信號,并將接收到該同步信號的同步時刻作為同步時刻t0開始計時,以便同時開始執(zhí)行上述采集電池參數信息的操作。
具體地,bms中各bmu的同步方式有多種,例如,可以示例性地通過如下兩種方式同步:
方式一,硬線同步。bcu通過硬線分別連接到所有bmu1~n,bcu通過硬線向bmu1~n發(fā)送同步信號,可以預先約定同步信號的有效方式為沿有效,例如上升沿或下降沿有效,則bmu1~n監(jiān)測到有效沿時記錄當前時刻為同步時刻t0。
方式二,can總線報文同步。bcu通過can總線分別向bmu1~n發(fā)送某一特定can報文(例如canid為特定值的can報文)作為同步信號,bmu1~n接收到canid為特定值的can報文時,記錄當前時刻為同步時刻t0。
圖4為本發(fā)明數據傳輸處理方法又一個實施例的流程圖。如圖4所示,與本發(fā)明上述各實施例的數據傳輸處理方法相比,本發(fā)明實施例的數據傳輸處理方法還包括各bmu分別執(zhí)行的如下操作:
401,bmu上電啟動,將本bmu的工作狀態(tài)標識設置為初始狀態(tài),并開始按照預設有效時長為監(jiān)控周期tm進行監(jiān)控。
其中的工作狀態(tài)標識用于標識bmu的工作狀態(tài)。示例性地,bmu的工作狀態(tài)可以有初始狀態(tài)、正常狀態(tài)和錯誤狀態(tài)三種。
402,判斷在監(jiān)控周期tm內是否接收到bcu發(fā)送的同步信號。
如果在監(jiān)控周期tm內是否接收到bcu發(fā)送的同步信號,執(zhí)行操作 403。否則,如果在監(jiān)控周期tm內未接收到bcu發(fā)送的同步信號,執(zhí)行操作404。
其中,tm的取值例如可以是0.5~1.5倍的同步周期t。
403,將本bmu的工作狀態(tài)標識保持或切換為正常狀態(tài)。
具體地,若本bmu的工作狀態(tài)標識目前為正常狀態(tài),則只需保持該正常狀態(tài)即可,而無需再進行狀態(tài)切換;否則,若本bmu的工作狀態(tài)標識目前為正常狀態(tài)以外的其他工作狀態(tài),則將本bmu的工作狀態(tài)標識切換為正常狀態(tài)。
之后,不執(zhí)行本實施例的后續(xù)流程?;蛘?,在進一步實施例中,可以選擇性地執(zhí)行操作405。
404,將工作狀態(tài)標識保持或切換為錯誤狀態(tài)。
具體地,若本bmu的工作狀態(tài)標識目前為錯誤狀態(tài),則只需保持該錯誤狀態(tài)即可,而無需再進行狀態(tài)切換;否則,若本bmu的工作狀態(tài)標識目前為錯誤狀態(tài)以外的其他工作狀態(tài),則將本bmu的工作狀態(tài)標識切換為錯誤狀態(tài)。
之后,不執(zhí)行本實施例的后續(xù)流程。或者,在進一步實施例中,可以選擇性地執(zhí)行操作405。
405,bmu分別識別各自的工作狀態(tài)標識。
若工作狀態(tài)標識為初始狀態(tài)或正常狀態(tài),執(zhí)行各bmu在同步周期t內,同步采集電池參數信息的操作,即:開始執(zhí)行101、201或301的操作。
若工作狀態(tài)標識為錯誤狀態(tài),執(zhí)行操作406。
406,以預設間隔時長td為周期,采集電池參數信息并通過can總線傳輸采集到的電池參數信息。
示例性地,td≥t。具體應用中,td的取值可以是同步周期t的值或2倍同步周期t或其他整數倍的同步周期t值。
基于本發(fā)明實施例提供的數據傳輸處理方法,由于各bmu均在特定時 刻發(fā)送電池參數信息,即使在某一bmu的工作狀態(tài)錯誤(即:bmu故障)時,仍然保證故障bmu在特定時刻周期性采集和發(fā)送電池參數信息,由于其他bmu在不同的時刻發(fā)送電池參數信息,仍能保證電池參數信息的錯時發(fā)送,避免了bms中常見的can總線瞬時負載率過高的問題。
圖5為本發(fā)明數據傳輸處理方法再一個實施例的流程圖。如圖5所示,本發(fā)明實施例的數據傳輸處理方法包括:
501,bms中的各bmui上電啟動,將本bmui的工作狀態(tài)標識設置為初始狀態(tài),并開始按照預設有效時長為監(jiān)控周期tm進行監(jiān)控。
其中的工作狀態(tài)標識用于標識bmu的工作狀態(tài)。示例性地,bmu的工作狀態(tài)可以有初始狀態(tài)、正常狀態(tài)和錯誤狀態(tài)三種。
502,bmui分別判斷在監(jiān)控周期tm內是否接收到bcu發(fā)送的同步信號。
如果在監(jiān)控周期tm內是否接收到bcu發(fā)送的同步信號,執(zhí)行操作503。否則,如果在監(jiān)控周期tm內未接收到bcu發(fā)送的同步信號,執(zhí)行操作504。
503,將本bmui的工作狀態(tài)標識保持或切換為正常狀態(tài)。
具體地,若本bmui的工作狀態(tài)標識目前為正常狀態(tài),則只需保持該正常狀態(tài)即可,而無需再進行狀態(tài)切換;否則,若本bmui的工作狀態(tài)標識目前為正常狀態(tài)以外的其他工作狀態(tài),則將本bmui的工作狀態(tài)標識切換為正常狀態(tài)。
之后,不執(zhí)行本實施例的后續(xù)流程?;蛘?,在進一步實施例中,可以選擇性地執(zhí)行操作505。
504,將工作狀態(tài)標識保持或切換為錯誤狀態(tài)。
具體地,若本bmui的工作狀態(tài)標識目前為錯誤狀態(tài),則只需保持該錯誤狀態(tài)即可,而無需再進行狀態(tài)切換;否則,若本bmui的工作狀態(tài)標識目前為錯誤狀態(tài)以外的其他工作狀態(tài),則將本bmui的工作狀態(tài)標識切換為錯 誤狀態(tài)。
之后,不執(zhí)行本實施例的后續(xù)流程?;蛘?,在進一步實施例中,可以選擇性地執(zhí)行操作505。
505,bmui分別識別各自的工作狀態(tài)標識。
若工作狀態(tài)標識為初始狀態(tài)或正常狀態(tài),執(zhí)行操作506;否則,若工作狀態(tài)標識為錯誤狀態(tài),執(zhí)行操作510。
506,bms中的各bmui在同步周期t內的同步時刻t0,同步采集電池組的電池參數信息,例如:電池的電壓、溫度、狀態(tài)等,并記錄或更新記錄最近一次采集電池參數信息的時刻tx。
507,bmui分別獲取各自在同步周期t內的發(fā)送時刻ti。
508,bmui分別監(jiān)測當前時刻是否達到發(fā)送時刻ti。
若當前時刻到達發(fā)送時刻ti,執(zhí)行操作509。否則,繼續(xù)執(zhí)行該操作508。
509,bmui通過can總線向bcu傳輸采集到的電池參數信息,并記錄或更新記錄最近一次傳輸電池參數信息的時刻ty。
510,bmui監(jiān)測當前時刻是否到達采集時刻tc=tx+td。
響應于當前時刻到達采集時刻tc,執(zhí)行操作511。否則,繼續(xù)執(zhí)行操作510。
511,開始采集電池參數信息,并記錄或更新記錄最近一次采集電池參數信息的時刻tx。
512,監(jiān)測當前時刻是否到達發(fā)送時刻tj=tx+td。
響應于當前時刻到達發(fā)送時刻tj,執(zhí)行操作513。否則,繼續(xù)執(zhí)行操作512。
513,通過can總線傳輸該bmui采集到的電池參數信息,并記錄或更新記錄最近一次傳輸電池參數信息的時刻ty。
圖6為本發(fā)明bms一個實施例的結構示意圖。圖6所示實施例的bms 可用于實現本發(fā)明上述任一實施例的數據傳輸處理方法。如圖6所示,本發(fā)明實施例的bms包括一個bcu和分別與bcu通過can總線連接的n個bmu,其中,n為大于1的整數。
其中,各bmu,分別用于在同步周期t內,同步采集電池參數信息,例如:電池的電壓、溫度、狀態(tài)等數據;以及分別在同步周期t內的不同時刻,通過can總線向bcu傳輸采集到的電池參數信息,以便bcu對電池組內各電池進行均衡控制。
bcu,用于根據各bmu傳輸的電池參數信息對電池組內各電池進行均衡控制。
基于本發(fā)明實施例提供的bms,其中的各bmu在同步周期t內同步采集電池參數信息,并分別在同步周期t內的不同時刻,通過can總線傳輸采集到的電池參數信息。由此,本發(fā)明實施例實現了bms中各bmu與bcu之間電池參數信息的錯時發(fā)送,降低了can總線上最大瞬時傳輸數據報文數量和can總線的最大瞬時負載率,避免了can總線上瞬時傳輸數據報文的數量過大、瞬時負載率過高導致can總線擁堵、從而導致數據報文丟失的技術問題。
圖7為本發(fā)明bmu一個實施例的結構示意圖。圖7所示實施例的bmu可用于圖6所示實施例中的bmu,實現本發(fā)明上述任一實施例數據傳輸處理方法中的bmu功能。如圖7所示,本發(fā)明實施例的bmu包括:
采集單元,用于在同步周期t內,與所在bms中的其他bmu同步采集電池參數信息。
示例性地,采集單元,具體可用于在同步周期t的同步時刻t0,同時開始采集電池參數信息。
獲取單元,用于獲取本bmu在同步周期t內的發(fā)送時刻ti。
示例性地,獲取單元,具體可用于通過ti=t0+ts+δt*(i-1),獲取發(fā)送時刻ti。其中,t0為所述同步周期t的同步時刻,ts為電池參數信息的 采集時長,δt為信息發(fā)送間隔時長,ts與δt的取值分別大于0,且滿足t≥ts+n*δt。在具體應用中,ts的取值可以根據需求設定,具體可以小于或等于同步周期t的時長。在一個具體示例中,ts的取值可以與δt的取值相等,即:電池參數信息的采集時長與bmu之間的信息發(fā)送間隔時長的取值相等。另外,對于采集時長較長、而同步周期t又較短的情況,ts的取值可以是同步周期t的時長,此時,bmui在ti時刻發(fā)送的可能是在上一同步同期t內開始采集的電池參數信息。
監(jiān)測單元,用于監(jiān)測當前時刻是否到達發(fā)送時刻ti。
發(fā)送單元,用于根據監(jiān)測單元的監(jiān)測結果,響應于當前時刻到達發(fā)送時刻ti,在同步周期t內的發(fā)送時刻ti,通過can總線傳輸采集到的電池參數信息。
具體地,發(fā)送單元發(fā)送的可以是其所在的bmui在ti時刻發(fā)送的是最近一次采集到的電池參數信息,具體可以是在當前同步周期t內或上一同步周期t內的同步時刻t0開始采集的電池參數信息。
其中,bms包括n個bmu,n個bmu中的各bmui在同步周期t內的發(fā)送時刻ti不同;其中,n為大于1的整數;i為bmu在bms中的編號,i依次取值為【1,n】中的整數。
基于本發(fā)明實施例提供的bmu,可以在同步周期t內同步采集電池參數信息,并分別在同步周期t內的不同時刻,通過can總線傳輸采集到的電池參數信息。由此,本發(fā)明實施例實現了bms中各bmu與bcu之間電池參數信息的錯時發(fā)送,降低了can總線上最大瞬時傳輸數據報文數量和can總線的最大瞬時負載率,避免了can總線上瞬時傳輸數據報文的數量過大、瞬時負載率過高導致can總線擁堵、從而導致數據報文丟失的技術問題。
圖8為本發(fā)明bmu另一個實施例的結構示意圖。如圖8所示,與圖7所示的實施例相比,本發(fā)明實施例的bmu還包括接收單元,用于接收所在 bms中bcu發(fā)送的同步信號,并將接收到同步信號的同步時刻作為同步時刻t0指示計時單元開始計時,同時指示采集單元采集電池參數信息。
具體地,接收單元具體可以通過硬線方式或can總線與所述電池控制單元連接,具體用于接收電池控制單元通過硬線方式或can總線發(fā)送的同步信號。
另外,再參見圖8,在本發(fā)明bmu的又一個實施例中,還可以包括狀態(tài)管理單元,用于在本bmu上電啟動后,將本bmu的工作狀態(tài)標識設置為初始狀態(tài),并開始按照預設有效時長為監(jiān)控周期tm進行監(jiān)控;響應于在監(jiān)控周期tm內接收到bcu發(fā)送的同步信號,將工作狀態(tài)標識保持或切換為正常狀態(tài);否則,若在監(jiān)控周期tm內未接收到bcu發(fā)送的同步信號,將工作狀態(tài)標識保持或切換為錯誤狀態(tài)。
進一步地,再參見圖8,在本發(fā)明bmu的再一個實施例中,還可以包括識別單元,用于識別bmu工作狀態(tài)標識;若工作狀態(tài)標識為初始狀態(tài)或正常狀態(tài),指示采集單元在同步周期t內,與所在bms中的其他bmu同步采集電池參數信息的操作;若工作狀態(tài)標識為錯誤狀態(tài),指示采集單元以預設間隔時長td為周期,采集電池參數信息,以便發(fā)送單元以預設間隔時長td為周期通過can總線傳輸采集到的電池參數信息。
示例性地,td≥t。具體應用中,td的取值可以是同步周期t的值或2倍同步周期t或其他整數倍的同步周期t值。
基于本發(fā)明實施例提供的bmu,由于各bmu均在特定時刻發(fā)送電池參數信息,即使在某一bmu的工作狀態(tài)錯誤(即:bmu故障)時,仍然保證故障bmu在特定時刻周期性采集和發(fā)送電池參數信息,由于其他bmu在不同的時刻發(fā)送電池參數信息,仍能保證電池參數信息的錯時發(fā)送,避免了bms中常見的can總線瞬時負載率過高的問題。
圖9為本發(fā)明bmu又一個實施例的結構示意圖。如圖9所示,與圖8所示的實施例相比,本發(fā)明實施例的bmu還包括記錄單元,用于分別更新 記錄采集單元最近一次采集電池參數信息的時刻tx和發(fā)送單元最近一次傳輸電池參數信息的時刻ty。相應地,該實施例中,監(jiān)測單元還可用于:監(jiān)測當前時刻是否到達采集時刻tc=tx+td;響應于當前時刻到達采集時刻tc,指示采集單元采集電池參數信息;以及監(jiān)測當前時刻是否到達發(fā)送時刻tj=tx+td;響應于當前時刻到達發(fā)送時刻tj,指示發(fā)送單元通過can總線傳輸該電池檢測單元i采集到的電池參數信息。
本說明書中各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似的部分相互參見即可。對于系統(tǒng)實施例而言,由于其與方法實施例基本對應,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
可能以許多方式來實現本發(fā)明的方法、裝置和系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實現本發(fā)明的方法、裝置和系統(tǒng)。用于方法的步驟的上述順序僅是為了進行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實施例中,還可將本發(fā)明實施為記錄在記錄介質中的程序,這些程序包括用于實現根據本發(fā)明的方法的機器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行根據本發(fā)明的方法的程序的記錄介質。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領域的普通技術人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應用,并且使本領域的普通技術人員能夠理解本發(fā)明從而設計適于特定用途的帶有各種修改的各種實施例。
本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。