《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP和OZ890構(gòu)成的電池管理系統(tǒng)設(shè)計(jì)
基于DSP和OZ890構(gòu)成的電池管理系統(tǒng)設(shè)計(jì)
摘要: 電池管理系統(tǒng)電路由電源模塊,、DSP芯片TMS320LF2407A[1](簡(jiǎn)稱為“LF2407”),、基于多個(gè)OZ890[2]的數(shù)據(jù)采集模塊、I2C[3]通信模塊,、SCI通信模塊,、CAN通信模塊組成,。
Abstract:
Key words :

本設(shè)計(jì)主要實(shí)現(xiàn)數(shù)據(jù)采集、電池狀態(tài)計(jì)算,、均衡控制,、熱管理、各種通信以及故障診斷等功能,。

1 電池管理系統(tǒng)硬件組成

電池管理系統(tǒng)電路由電源模塊,、DSP 芯片TMS320LF2407A[1](簡(jiǎn)稱為“LF2407”)、基于多個(gè)OZ890[2]的數(shù)據(jù)采集模塊,、I2C[3]通信模塊,、SCI 通信模塊、CAN 通信模塊組成,。系統(tǒng)硬件框圖如圖1 所示,。



1.1 電源模塊

整車提供的電源為+12V,管理系統(tǒng)需要的電壓包括:+3.3V(DSP,,隔離電路用),、+5V(總線驅(qū)動(dòng)等芯片用)、±15V(電流傳感器),,可以通過(guò)DC-DC 轉(zhuǎn)換得到,,這樣不但可以滿足各個(gè)芯片的供電要求而且可以起到隔離抗干擾的作用。

1.2 數(shù)據(jù)采集模塊

由DSP 完成總電壓,、電流及溫度的采集,。電池單體電壓的采集和均衡由OZ890 芯片完成,并利用I2C 總線發(fā)給DSP,,本模塊電路主要包括前端采集處理和均衡電路,。

1.3 I2C 通信模塊

OZ890 采樣模塊將采集處理后的數(shù)據(jù)通過(guò)I2C 總線發(fā)送到LF2407,,由于LF2407 自身不帶I2C 接口,本設(shè)計(jì)利用PCA9564[4]擴(kuò)展其I2C 接口,。為了防止電磁干擾影響I2C 總線上數(shù)據(jù)的傳輸,,必須對(duì)總線信號(hào)進(jìn)行隔離,考慮到I2C 總線是雙向傳輸?shù)?,使用ADuM1250雙向隔離芯片進(jìn)行隔離,。PCA9564 及雙向隔離電路如圖2 所示。



圖2 PCA9564 及雙向隔離電路

PCA9564 是I2C 總線擴(kuò)展器,,與LF2407 的GPIO 口相連,,它支持主從模式的數(shù)據(jù)收發(fā),在BMS 中設(shè)定LF2407 為主器件,,OZ890 位從器件,。LF2407 通過(guò)讀寫PCA9564 內(nèi)部四個(gè)寄存器的內(nèi)容來(lái)與OZ890 通信。
ADuM1250 是熱插拔數(shù)字隔離器,,包含與I2C 接口兼容的非閂鎖,、雙向通信通道。這樣就不需要將I2C 信號(hào)分成發(fā)送信號(hào)與接收信號(hào)供單獨(dú)的光電耦合器使用,。

1.4 串口通信模塊

電池管理系統(tǒng)將采集處理后的數(shù)據(jù)通過(guò)串口發(fā)送到PC 機(jī)界面上,,實(shí)現(xiàn)人機(jī)交互。通過(guò)串口界面,,可以觀察到電池的總電壓,、單體電壓、電流,、SOC,、故障狀態(tài)、充放電功率等參數(shù),,還可以通過(guò)串口發(fā)送實(shí)現(xiàn)管理系統(tǒng)的在線標(biāo)定,。其硬件電路主要基于MAX232 芯片,如圖3a)所示,。



圖3 串口通信接口電路

MAX232 是+5V 電源的收發(fā)器,,與計(jì)算機(jī)串口連接,,實(shí)現(xiàn)RS-232 接口信號(hào)和TTL 信號(hào)
的電平轉(zhuǎn)換,,使BMS 和PC 機(jī)能夠進(jìn)行異步串行通訊。為了防止電磁干擾影響串口上數(shù)據(jù)的傳輸,,必須對(duì)總線信號(hào)進(jìn)行隔離,。串口是單向傳輸,所以利用6N137 光電耦合較為方便,,圖3b)所示為232TXD 信號(hào)光耦隔離電路,。

1.5 CAN 通信模塊

CAN 通信是架接電池管理系統(tǒng)(BMS)與整車HCU 之間的信息橋梁,,BMS 將電池的狀態(tài)參數(shù)通過(guò)CAN 總線發(fā)給HCU,HCU 通過(guò)判斷當(dāng)前的電池狀態(tài)來(lái)做出決策,,分配電機(jī)和發(fā)動(dòng)機(jī)之間的功率,,控制電池的充放電。同時(shí)BMS 還可以接收HCU 發(fā)來(lái)的相關(guān)命令,,做出相應(yīng)的處理,。其硬件方面主要是通過(guò)PCA82C250 通用CAN 收發(fā)器來(lái)提供對(duì)總線數(shù)據(jù)的差動(dòng)發(fā)送能力和對(duì)通信總線數(shù)據(jù)的差動(dòng)接收能力。通過(guò)類似于圖3b)的光耦隔離電路來(lái)加強(qiáng)CAN 總線上的抗干擾能力,。其硬件電路由圖4 所示,。



圖4 CAN 通信接口電路

在電路中可根據(jù)整車要求,是否接入120Ω 的終端電阻,,當(dāng)JP201 跳線接1 腳和2 腳時(shí),,不接入電阻,當(dāng)接2 腳和3 腳時(shí),,電阻接入,。

2 電池管理系統(tǒng)的軟件設(shè)計(jì)

電池管理系統(tǒng)軟件[6]系統(tǒng)包括6 個(gè)任務(wù)和5 個(gè)中斷。6 個(gè)任務(wù)包括:AD 轉(zhuǎn)換處理任務(wù)(包括讀取OZ890 中的數(shù)據(jù)),、CAN 接收任務(wù),、CAN 發(fā)送任務(wù)、SOC 計(jì)算任務(wù),、系統(tǒng)監(jiān)視故障診斷任務(wù)和串口發(fā)送任務(wù),。5 個(gè)中斷包括:AD 采集中斷服務(wù)子程序、Timer1 下溢中斷服務(wù)子程序,、周期中斷子程序,、CAN 總線接收中斷服務(wù)子程序和串口接收中斷服務(wù)子程序,如下面的中斷向量表所示:

 .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,故設(shè)置周期中斷的時(shí)鐘節(jié)拍為10ms,;相應(yīng)地設(shè)置以上幾個(gè)任務(wù)的執(zhí)行周期均為10ms,。



圖5 周期時(shí)鐘節(jié)拍圖

從圖5 中可以看出,系統(tǒng)初始化完成以后,,Time1 開始計(jì)時(shí),,當(dāng)達(dá)到5ms 時(shí),在A 點(diǎn)發(fā)生周期中斷,,然后進(jìn)入周期中斷子程序,,啟動(dòng)AD 轉(zhuǎn)換,通過(guò)I2C 總線讀取OZ890 中的數(shù)據(jù),。AD 轉(zhuǎn)換完畢后,,軟件觸發(fā)ADC 中斷保存數(shù)據(jù)并進(jìn)行相應(yīng)的處理,,清除周期中斷標(biāo)志。當(dāng)達(dá)到10ms 時(shí),,發(fā)生下溢中斷,,進(jìn)入下溢中斷服務(wù)子程序,執(zhí)行CAN 發(fā)送任務(wù),、SOC計(jì)算任務(wù),、系統(tǒng)監(jiān)視故障診斷任務(wù)、串口發(fā)送任務(wù),。另外,,CAN 接收和串口接收?qǐng)?zhí)行采用中斷觸發(fā)方式。利用周期中斷和下溢中斷來(lái)劃分任務(wù)執(zhí)行時(shí)間區(qū)域不僅能夠滿足整車10ms
每幀數(shù)據(jù)的CAN 發(fā)送要求,,而且每一個(gè)任務(wù)時(shí)間也都能通過(guò)計(jì)數(shù)器和標(biāo)志位的狀態(tài)來(lái)計(jì)算任務(wù)的執(zhí)行時(shí)間,,以便更好的分配任務(wù)的執(zhí)行時(shí)間段。

3 結(jié)論

電池管理系統(tǒng)采用了DSP+OZ890 的結(jié)構(gòu),,加之相應(yīng)的抗干擾措施,,具有高性能、低成本等特點(diǎn),。由于采用了專門的電池采樣芯片OZ890,,提高了采樣精度、解決了電池單體電壓不均衡造成的過(guò)充問(wèn)題,。同時(shí)使硬件的開發(fā)周期大大縮短,,增強(qiáng)了系統(tǒng)的可靠性和可維護(hù)性,在實(shí)際應(yīng)用中取得了良好的效果,。

本文作者創(chuàng)新點(diǎn):使用OZ890 電池采樣芯片測(cè)量電池?cái)?shù)據(jù),,同時(shí)使用PCA9564 擴(kuò)展LF2407 的I2C 接口,實(shí)現(xiàn)了LF2407 與OZ890 之間的通信,。
 

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