《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于DSP和OZ890 的電池管理系統(tǒng)設計
基于DSP和OZ890 的電池管理系統(tǒng)設計
北京航空航天大學機械工程及自動
王濤 齊鉑金 吳紅杰
摘要: 本文從設計要求和功能出發(fā),設計了一種用于混合動力汽車的電池管理系統(tǒng)。其中硬件系統(tǒng)包括:電源模塊、基于OZ890的單體電壓采集電路和I2C通信電路、基于DSP的RS232串口通信和CAN通信等硬件系統(tǒng)的設計;軟
Abstract:
Key words :

摘要:本文從設計要求和功能出發(fā),設計了一種用于混合動力汽車的電池管理系統(tǒng)。其中硬件系統(tǒng)包括:電源模塊、基于OZ890 的單體電壓采集電路和I2C 通信電路、基于DSP 的RS232
串口通信和CAN 通信等硬件系統(tǒng)的設計;軟件系統(tǒng)包括:利用周期中斷和下溢中斷實現(xiàn)數(shù)據(jù)采集處理、SOC 估算和各種通信程序。
關鍵詞:電池管理系統(tǒng);OZ890;I2C 雙向隔離;下溢中斷

Design of battery management system based on DSP and OZ890 WANG Tao, QI Bo-jin, WU Hong-jie, LI Wei (School of Mechanical Engineering & Automation, Beihang University, Beijing 100191, China) Abstract: A battery management system for Hybrid Electrical Vehicle is designed according to its design requirements and functions. The design of BMS contains two parts: hardware system and software system. The hardware system comprises power module, data acquisition and communication circuit, I2C bus circuit, CAN bus circuit, RS232 circuit and so on. The software comprises data acquisition and processing program based on periodic interrupt and underflow interrupt, evaluation of SOC and communication programs.
Key words: battery management system; OZ890; Dual I2C Isolator; underflow interrupt
電池管理系統(tǒng)(BMS, Battery Management System)是電動汽車的關鍵零部件之一。高
性能、高可靠性的電池管理系統(tǒng)能使電池在各種工作條件下獲得最佳的性能。電池管理系統(tǒng)
可以實時監(jiān)測電池狀態(tài),如電池電壓、充放電電流、使用溫度等;預測電池荷電狀態(tài)(SOC,
State of Charge),防止電池過充過放,從而達到提升電池使用性能和壽命,提高混合動力汽
車的可靠性和安全性的目的。
本設計主要實現(xiàn)數(shù)據(jù)采集、電池狀態(tài)計算、均衡控制、熱管理、各種通信以及故障診斷
等功能。
1 電池管理系統(tǒng)硬件組成
電池管理系統(tǒng)電路由電源模塊、DSP 芯片TMS320LF2407A[1](簡稱為“LF2407”)、基
于多個OZ890[2]的數(shù)據(jù)采集模塊、I2C[3]通信模塊、SCI 通信模塊、CAN 通信模塊組成。系
統(tǒng)硬件框圖如圖1 所示。
1.1 電源模塊
整車提供的電源為+12V,管理系統(tǒng)需要的電壓包括:+3.3V(DSP,隔離電路用)、+5V(總
線驅(qū)動等芯片用)、±15V(電流傳感器),可以通過DC-DC 轉(zhuǎn)換得到,這樣不但可以滿足各
個芯片的供電要求而且可以起到隔離抗干擾的作用。

1.2 數(shù)據(jù)采集模塊
由DSP 完成總電壓、電流及溫度的采集。電池單體電壓的采集和均衡由OZ890 芯片完
成,并利用I2C 總線發(fā)給DSP,本模塊電路主要包括前端采集處理和均衡電路。
1.3 I2C 通信模塊
OZ890 采樣模塊將采集處理后的數(shù)據(jù)通過I2C 總線發(fā)送到LF2407,由于LF2407 自身不
帶I2C 接口,本設計利用PCA9564[4]擴展其I2C 接口。為了防止電磁干擾影響I2C 總線上數(shù)
據(jù)的傳輸,必須對總線信號進行隔離,考慮到I2C 總線是雙向傳輸?shù)模褂肁DuM1250[5]
雙向隔離芯片進行隔離。PCA9564 及雙向隔離電路如圖2 所示。

圖2 PCA9564 及雙向隔離電路
PCA9564 是I2C 總線擴展器,與LF2407 的GPIO 口相連,它支持主從模式的數(shù)據(jù)收發(fā),
在BMS 中設定LF2407 為主器件,OZ890 位從器件。LF2407 通過讀寫PCA9564 內(nèi)部四個
寄存器的內(nèi)容來與OZ890 通信。
ADuM1250 是熱插拔數(shù)字隔離器,包含與I2C 接口兼容的非閂鎖、雙向通信通道。這樣
就不需要將I2C 信號分成發(fā)送信號與接收信號供單獨的光電耦合器使用。
1.4 串口通信模塊
電池管理系統(tǒng)將采集處理后的數(shù)據(jù)通過串口發(fā)送到PC 機界面上,實現(xiàn)人機交互。通過
串口界面,可以觀察到電池的總電壓、單體電壓、電流、SOC、故障狀態(tài)、充放電功率等參
數(shù),還可以通過串口發(fā)送實現(xiàn)管理系統(tǒng)的在線標定。其硬件電路主要基于MAX232 芯片,如圖3a)所示。

圖3 串口通信接口電路
MAX232 是+5V 電源的收發(fā)器,與計算機串口連接,實現(xiàn)RS-232 接口信號和TTL 信號
的電平轉(zhuǎn)換,使BMS 和PC 機能夠進行異步串行通訊。
為了防止電磁干擾影響串口上數(shù)據(jù)的傳輸,必須對總線信號進行隔離。串口是單向傳輸,
所以利用6N137 光電耦合較為方便,圖3b)所示為232TXD 信號光耦隔離電路。
1.5 CAN 通信模塊
CAN 通信是架接電池管理系統(tǒng)(BMS)與整車HCU 之間的信息橋梁,BMS 將電池的狀
態(tài)參數(shù)通過CAN 總線發(fā)給HCU,HCU 通過判斷當前的電池狀態(tài)來做出決策,分配電機和
發(fā)動機之間的功率,控制電池的充放電。同時BMS 還可以接收HCU 發(fā)來的相關命令,做
出相應的處理。其硬件方面主要是通過PCA82C250 通用CAN 收發(fā)器來提供對總線數(shù)據(jù)的
差動發(fā)送能力和對通信總線數(shù)據(jù)的差動接收能力。通過類似于圖3b)的光耦隔離電路來加
強CAN 總線上的抗干擾能力。其硬件電路由圖4 所示。

圖4 CAN 通信接口電路
在電路中可根據(jù)整車要求,是否接入120Ω 的終端電阻,當JP201 跳線接1 腳和2 腳時,
不接入電阻,當接2 腳和3 腳時,電阻接入。
2 電池管理系統(tǒng)的軟件設計
電池管理系統(tǒng)軟件[6]系統(tǒng)包括6 個任務和5 個中斷。6 個任務包括:AD 轉(zhuǎn)換處理任務
(包括讀取OZ890 中的數(shù)據(jù))、CAN 接收任務、CAN 發(fā)送任務、SOC 計算任務、系統(tǒng)監(jiān)視
故障診斷任務和串口發(fā)送任務。5 個中斷包括:AD 采集中斷服務子程序、Timer1 下溢中斷
服務子程序、周期中斷子程序、CAN 總線接收中斷服務子程序和串口接收中斷服務子程序,
如下面的中斷向量表所示:
.ref _c_int0
.ref _ADC, _INT2, _INT5

.sect ".vectors"
rset: B _c_int0;00h reset
int1: B ADC ;02h ADC
int2: B _INT2 ;04h 周期、下溢中斷
int3: B int3 ;06h INT3
int4: B int4 ;08h INT4
int5: B _INT5 ;0Ah CAN, SCI
int6: B int6 ;0Ch INT6
根據(jù)整車控制策略,CAN 上電池狀態(tài)數(shù)據(jù)每幀的刷新周期為10ms,故設置周期中斷的
時鐘節(jié)拍為10ms;相應地設置以上幾個任務的執(zhí)行周期均為10ms。

圖5 周期時鐘節(jié)拍圖
從圖5 中可以看出,系統(tǒng)初始化完成以后,Time1 開始計時,當達到5ms 時,在A 點
發(fā)生周期中斷,然后進入周期中斷子程序,啟動AD 轉(zhuǎn)換,通過I2C 總線讀取OZ890 中的
數(shù)據(jù)。AD 轉(zhuǎn)換完畢后,軟件觸發(fā)ADC 中斷保存數(shù)據(jù)并進行相應的處理,清除周期中斷標
志。當達到10ms 時,發(fā)生下溢中斷,進入下溢中斷服務子程序,執(zhí)行CAN 發(fā)送任務、SOC
計算任務、系統(tǒng)監(jiān)視故障診斷任務、串口發(fā)送任務。另外,CAN 接收和串口接收執(zhí)行采用
中斷觸發(fā)方式。利用周期中斷和下溢中斷來劃分任務執(zhí)行時間區(qū)域不僅能夠滿足整車10ms
每幀數(shù)據(jù)的CAN 發(fā)送要求,而且每一個任務時間也都能通過計數(shù)器和標志位的狀態(tài)來計算
任務的執(zhí)行時間,以便更好的分配任務的執(zhí)行時間段。
3 結(jié)論
電池管理系統(tǒng)采用了DSP+OZ890 的結(jié)構(gòu),加之相應的抗干擾措施,具有高性能、低成
本等特點。由于采用了專門的電池采樣芯片OZ890,提高了采樣精度、解決了電池單體電
壓不均衡造成的過充問題。同時使硬件的開發(fā)周期大大縮短,增強了系統(tǒng)的可靠性和可維護
性,在實際應用中取得了良好的效果。
本文作者創(chuàng)新點:使用OZ890 電池采樣芯片測量電池數(shù)據(jù),同時使用PCA9564 擴展
LF2407 的I2C 接口,實現(xiàn)了LF2407 與OZ890 之間的通信。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。