《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的分布式電池管理系統(tǒng)
基于CAN總線的分布式電池管理系統(tǒng)
摘要: 隨著高科技及其產(chǎn)業(yè)的迅速發(fā)展,,大存儲(chǔ)容量的電池組能源系統(tǒng)已經(jīng)越來(lái)越被人們所重視,在很多領(lǐng)域中都得到廣泛地應(yīng)用,,如在汽車產(chǎn)業(yè)發(fā)展的新方向,、新熱點(diǎn)——電動(dòng)汽車及混合動(dòng)力車的研究及產(chǎn)業(yè)化中,,將作為車載能源的主要供給者。
Abstract:
Key words :

      1 前言

  隨著高科技及其產(chǎn)業(yè)的迅速發(fā)展,,大存儲(chǔ)容量的電池組能源系統(tǒng)已經(jīng)越來(lái)越被人們所重視,,在很多領(lǐng)域中都得到廣泛地應(yīng)用,如在汽車產(chǎn)業(yè)發(fā)展的新方向、新熱點(diǎn)——電動(dòng)汽車及混合動(dòng)力車的研究及產(chǎn)業(yè)化中,,將作為車載能源的主要供給者,。

  蓄電池組是由一定數(shù)量的單體電池串聯(lián)組成的,它可以進(jìn)行百次至千次的充放電,;在使用中必須注意其各個(gè)單體電池的各種特性,、電池溫度、電池的剩余電量及總電流等參數(shù),,因?yàn)檫@些參數(shù)直接影響電池的使用壽命,必須做到優(yōu)化運(yùn)行和有效監(jiān)控,,防止電池出現(xiàn)過(guò)充,、過(guò)放及溫度過(guò)高等問(wèn)題,從而延長(zhǎng)電池的使用壽命和降低成本,,特別是提高電池的可靠性,。可以把給電池組配套的電子,、控制及數(shù)字技術(shù)稱為數(shù)字“電池電子技術(shù)”,。同樣在汽車的電子、數(shù)字技術(shù)中,,已經(jīng)使用多個(gè)CPU完成各種參數(shù),、功能的控制問(wèn)題,考慮汽車的安全性,,運(yùn)行必須十分可靠,,于是發(fā)展了并聯(lián)的獨(dú)立多個(gè)系統(tǒng)結(jié)構(gòu),再由現(xiàn)場(chǎng)總線聯(lián)接,,組成統(tǒng)一的大系統(tǒng),。

  2 分布式結(jié)構(gòu)的管理系統(tǒng)

  2.1 系統(tǒng)結(jié)構(gòu)

  系統(tǒng)要實(shí)現(xiàn)不同類型的多種功能,集中的或中央處理方式無(wú)法滿足安全性要求,,自然要采用分布式結(jié)構(gòu) ,; 系統(tǒng)的工作環(huán)境惡劣,常處于強(qiáng)電磁干擾及脈沖電流的干擾下,,為了確??煽啃裕紤]采用和發(fā)展了高性能CAN現(xiàn)場(chǎng)總線作為通訊系統(tǒng),;而且CAN總線在汽車上已使用很久,,具有很強(qiáng)的抗干擾性,同時(shí)該技術(shù)比較成熟,,已成為汽車使用通訊的標(biāo)準(zhǔn),。因此,在系統(tǒng)的內(nèi)部通訊以及跟外部通訊都采用CAN總線來(lái)實(shí)現(xiàn),。

  本分布系統(tǒng)是以CPU80C552為公用模塊平臺(tái)來(lái)設(shè)計(jì)的,,由于CPU存儲(chǔ)空間及運(yùn)算的有限性,,必須采用多CPU來(lái)分別實(shí)現(xiàn)管理系統(tǒng)所需的各種功能。完成的基本系統(tǒng)由四個(gè)模塊并行組成:數(shù)據(jù)采集,、均衡充電,、電量估計(jì)及通訊顯示;各個(gè)模塊分別實(shí)現(xiàn)其功能,,通過(guò)CAN總線進(jìn)行數(shù)據(jù)通訊,,能夠?qū)崿F(xiàn)單電池電壓、總電壓,、充放電電流,、溫度的采集和測(cè)量,電量估算,。同時(shí),,系統(tǒng)還具有很強(qiáng)的擴(kuò)展性,可以進(jìn)行具體的電池診斷和電池安全性能保護(hù)等功能的研究和開(kāi)發(fā),。在鋰電池的管理系統(tǒng)中,,108只電池采用9塊測(cè)量主板,再加上4塊基本板,,共計(jì)13塊板,。

電池管理系總體結(jié)構(gòu)圖

圖1 電池管理系總體結(jié)構(gòu)圖

  2.2 管理系統(tǒng)主模塊的設(shè)計(jì)

  系統(tǒng)的主要功能包括數(shù)據(jù)采集、電量估計(jì)及顯示診斷等,。由于80C552具有8路10位A/D轉(zhuǎn)換的功能,,因此,采集模塊先采用線性光耦法測(cè)量單電池的電壓,,通過(guò)其4個(gè)A/D口將模擬量轉(zhuǎn)換為數(shù)字量存入存儲(chǔ)器,,溫度測(cè)量采用單總線技術(shù),使用Dallas數(shù)字芯片來(lái)測(cè)量溫度,,該芯片具有12位的精度等級(jí),,能非常準(zhǔn)確地測(cè)量到系統(tǒng)的溫度??傠妷?、電流信號(hào)通過(guò)特殊的傳感器將其信號(hào)轉(zhuǎn)換為0~10V的信號(hào),通過(guò)14位的A/D轉(zhuǎn)換器件轉(zhuǎn)換為數(shù)字量存入系統(tǒng),。

  通訊及顯示模塊提供了雙CAN通訊接口,,能夠與系統(tǒng)內(nèi)各個(gè)模塊及外部整車系統(tǒng)通過(guò)CAN進(jìn)行數(shù)據(jù)傳輸;同時(shí)系統(tǒng)提供RS232接口,,能夠?qū)崿F(xiàn)與PC機(jī)通訊,;模塊還提供5口寸半液晶顯示驅(qū)動(dòng)功能,和按鍵進(jìn)行人機(jī)友好操作;模塊還設(shè)有電壓,、電量,、電流及溫度的上下限報(bào)警及自檢功能,保證系統(tǒng)的安全性,。

  各個(gè)系統(tǒng)模塊的基本結(jié)構(gòu)框圖如圖2所示,。

模塊結(jié)構(gòu)框圖

圖2 模塊結(jié)構(gòu)框圖

  2.3 電量估算

  電量估算采用實(shí)時(shí)電流積分的安時(shí)法進(jìn)行基本估算,然后通過(guò)對(duì)影響電池電量的溫度,、自放電及老化等各種參數(shù)進(jìn)行修正,,并考慮單塊電池間的不一致性,從而得到精確的電池組電量,。

電池電量估算框圖

圖3 電池電量估算框圖

  3 CAN總線系統(tǒng)

  3.1 CAN簡(jiǎn)介

  CAN總線是現(xiàn)場(chǎng)總線的一種,是德國(guó)Bosch公司在1986年為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行高速數(shù)據(jù)通信總線,。它采用了ISO/OSI模型的七層結(jié)構(gòu)中的物理層和數(shù)據(jù)鏈路層,具有較高的可靠性、實(shí)時(shí)性和靈活性,。

  CAN總線具有以下獨(dú)特的優(yōu)點(diǎn):

  1)CAN能以多主方式工作,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可以在任意時(shí)刻向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息,,而不分主從,,通信方式靈活;

  2)CAN可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn),、一點(diǎn)對(duì)多點(diǎn)及全局廣播等方式傳送和接受數(shù)據(jù),,通信介質(zhì)采用雙絞線、同軸電纜或光纖,,選擇靈活,,通信距離最遠(yuǎn)可達(dá)10km/5kb/s,通信速率最高可達(dá)1Mb/s/40m,。CAN上節(jié)點(diǎn)數(shù)取決于總線驅(qū)動(dòng)電路,,實(shí)際可達(dá)110個(gè);

  3)CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,,具有自動(dòng)關(guān)閉輸出的功能,,切斷它與總線的聯(lián)系,以使總線上其它操作不受影響,。采用NRZ編碼/解碼方式,,并采用位填充技術(shù)。用戶接口簡(jiǎn)單,編程方便,很容易構(gòu)成用戶系統(tǒng),;

  4)CAN采用非破壞性仲裁技術(shù),,當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上傳送信息時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)主動(dòng)停止數(shù)據(jù)發(fā)送,,而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),有效避免了總線沖突,。


  5)CAN采用短幀結(jié)構(gòu),每一幀為8bite,傳輸時(shí)間短,,受干擾的概率低,,每幀信息都有CRC校驗(yàn)及其它檢錯(cuò)措施,保證了數(shù)據(jù)的出錯(cuò)率極低,。

 

       3.2 CAN總線設(shè)計(jì)

  CAN總線總體結(jié)構(gòu)如圖4所示,,在總線的兩端配置了兩個(gè)120Ω的電阻,其作用是總線匹配阻抗,,可以增加總線傳輸?shù)姆€(wěn)定性和抗干擾能力,,減少數(shù)據(jù)傳輸中的出錯(cuò)率。CAN總線節(jié)點(diǎn)結(jié)構(gòu)一般分為兩類:一類采用CAN適配卡與PC機(jī)相連,,實(shí)現(xiàn)上位機(jī)與CAN總線的通訊,;另一類則是由單片機(jī)、CAN控制器及CAN驅(qū)動(dòng)器構(gòu)成,,作為一類節(jié)點(diǎn)與CAN總線進(jìn)行數(shù)據(jù)傳輸,。在本系統(tǒng)中,CAN控制器采用Philips公司生產(chǎn)的SJA1000和82C200,,它作為一個(gè)發(fā)送,、接受緩沖器,實(shí)現(xiàn)主控制器和總線之間的數(shù)據(jù)傳輸,;CAN收發(fā)器采用PCA82C250芯片,,它是CAN控制器和物理總線的接口,主要可以提供對(duì)總線的差動(dòng)發(fā)送能力和對(duì)CAN控制器的差動(dòng)接受能力,。

CAN總線系統(tǒng)結(jié)構(gòu)圖

圖4 CAN總線系統(tǒng)結(jié)構(gòu)圖

  4 CAN總線的軟件設(shè)計(jì)

  CAN總線的三層結(jié)構(gòu)模型為:物理層,、數(shù)據(jù)鏈路層和應(yīng)用層。其中物理層和數(shù)據(jù)鏈路層的功能由SJA1000完成,,系統(tǒng)的開(kāi)發(fā)主要在應(yīng)用層軟件的設(shè)計(jì)上,,它主要由三個(gè)子程序:初始化子程序、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)程序,。同時(shí),,還包括一些數(shù)據(jù)溢出中斷以及幀出錯(cuò)的處理。

  SJA1000在上電硬件復(fù)位之后,,必須對(duì)其進(jìn)行軟件初始化之后才可以進(jìn)行數(shù)據(jù)通訊,,初始化過(guò)程主要包括對(duì)其復(fù)位模式下配置時(shí)鐘分頻寄存器CDR、總線定時(shí)寄存器BTR0和BTR1,、驗(yàn)收代碼寄存器ACR,、驗(yàn)收屏蔽寄存器AMR及輸出控制寄存器OCR等,實(shí)現(xiàn)對(duì)總線的速率,、驗(yàn)收屏蔽碼,、輸出引腳驅(qū)動(dòng)方式,、總線模式及時(shí)鐘分頻進(jìn)行定義。具體的流程如圖5所示,。下面為SJA1000發(fā)送和接收數(shù)據(jù)的流程,,基本過(guò)程為主控制器將數(shù)據(jù)保存到SJA1000發(fā)送緩沖器,然后對(duì)命令寄存器的發(fā)送請(qǐng)求TR標(biāo)志位進(jìn)行置位開(kāi)始發(fā)送,;接收過(guò)程為SJA1000將從總線上接收到的數(shù)據(jù)存入接收緩沖器,,通過(guò)其中斷標(biāo)志位通知主控制器來(lái)處理接收到的信息,接收完畢之后清空緩沖器,,等待下次接收,,具體的流程如圖6和圖7所示。

CAN總線初始化

圖 5 CAN總線初始化

CAN的發(fā)送數(shù)據(jù)流程

圖 6 CAN的發(fā)送數(shù)據(jù)流程

CAN接收數(shù)據(jù)的流程

圖 7 CAN接收數(shù)據(jù)的流程

  例如:電池管理系統(tǒng)向整車系統(tǒng)發(fā)送總電壓的格式,,見(jiàn)表1所列,。

表1 BCU_VCU_VOLTAGE(0x08)向VCU送回電池組當(dāng)前的電壓

BCU

  其中,ID為接收節(jié)點(diǎn)總線的地址,,電壓值先乘10取整再發(fā)送,,0x08表示發(fā)送幀的內(nèi)容為電池組的電壓。

  5 CAN總線應(yīng)用問(wèn)題

  在硬件方面必須考慮合理的供電,,注意對(duì)各個(gè)CAN器件的電源,、地之間的濾波,以及復(fù)位電路的設(shè)計(jì),;同時(shí)在實(shí)際進(jìn)行印刷電路板的設(shè)計(jì)時(shí),,合理布線,,要加強(qiáng)地線,,增強(qiáng)系統(tǒng)的抗干擾性。

  在軟件設(shè)計(jì)時(shí),,CAN總線定時(shí)器的設(shè)置非常關(guān)鍵,,BTR0決定傳播時(shí)間段、相位緩沖段1和相位緩沖段2,;BTR1決定同步跳轉(zhuǎn)寬度和分頻值,。在位定時(shí)寄存器中,TSEG1,,TSEG2,,SJW和BRP設(shè)定的值要比其功能值小1,因此設(shè)定范圍是[0.....N-1]而不是[1.....N],。所以位時(shí)間可以由[TSEG1+TSEG2+3]tq或者[同步段+傳播段+相位緩沖段1+相位緩沖段2]tq得到,,其中,tq由系統(tǒng)時(shí)鐘tSCL和波特率預(yù)分頻值BRP決定:tq=BRP/tSCL,。同時(shí),,還要注意由于不同節(jié)點(diǎn)的CAN系統(tǒng)時(shí)鐘是由不同振蕩器提供的,,每個(gè)節(jié)點(diǎn)的實(shí)際CAN系統(tǒng)時(shí)鐘頻率與實(shí)際位時(shí)有一容差,環(huán)境溫度的變化和振蕩器老化影響起始容差,,為確保準(zhǔn)確地進(jìn)行數(shù)據(jù)傳輸,,必須保證每個(gè)節(jié)點(diǎn)對(duì)CAN系統(tǒng)時(shí)鐘頻率都在特定的頻率容差限值以內(nèi),因此,,在選擇振蕩器時(shí)要以對(duì)振蕩器容差范圍要求最高的節(jié)點(diǎn)為準(zhǔn),。而且,在一個(gè)可以擴(kuò)展的總線結(jié)構(gòu)中,,最大節(jié)點(diǎn)延遲和總線最大長(zhǎng)度必須考慮,,一般情況下,延遲為5.5ns/m,。

  在實(shí)際運(yùn)行中,,經(jīng)常會(huì)遇到CAN總線不通或者總線突然關(guān)閉現(xiàn)象,其主要原因是由于在數(shù)據(jù)傳輸過(guò)程中出現(xiàn)丟幀現(xiàn)象,,從而引起出錯(cuò),,當(dāng)錯(cuò)誤計(jì)數(shù)器達(dá)到一定時(shí)會(huì)自動(dòng)關(guān)閉總線,因此,,必須在軟件設(shè)計(jì)的過(guò)程中,,及時(shí)對(duì)其錯(cuò)誤狀態(tài)ES位進(jìn)行判別,在出現(xiàn)錯(cuò)誤時(shí)需對(duì)SJA1000進(jìn)行軟件復(fù)位,,恢復(fù)通訊,。

  6 結(jié)語(yǔ)

  在“863重大專項(xiàng)”電動(dòng)汽車的電池管理模塊的研制中,就是采用CAN總線通訊的分布式結(jié)構(gòu),。通過(guò)對(duì)鎳氫電池組,、鋰電池組的臺(tái)架試驗(yàn)結(jié)果表明了系統(tǒng)結(jié)構(gòu)的先進(jìn)性,實(shí)現(xiàn)了各模塊的獨(dú)自功能,,工作正??煽浚囯姵亟M系統(tǒng)的CAN總線的節(jié)點(diǎn)數(shù)增加到12,,在強(qiáng)電磁干擾下,,仍能正常工作,而且線路連接十分簡(jiǎn)單,、實(shí)用,。

  兩種電池組的參數(shù)、測(cè)量方法,、電池個(gè)數(shù),、安全要求都不相同,分組也不一樣,,但系統(tǒng)均能有效地適應(yīng),,反映出其具有良好的適應(yīng)性和較大的靈活性,。
 

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