- 分布式結(jié)構(gòu)的管理系統(tǒng)
- CAN總線系統(tǒng)
- CAN總線的軟件設(shè)計(jì)
- CAN總線應(yīng)用問(wèn)題
- 管理系統(tǒng)主模塊的設(shè)計(jì)
- CAN總線設(shè)計(jì)
隨著高科技及其產(chǎn)業(yè)的迅速發(fā)展,大存儲(chǔ)容量的電池組能源系統(tǒng)已經(jīng)越來(lái)越被人們所重視,在很多領(lǐng)域中都得到廣泛地應(yīng)用,如在汽車(chē)產(chǎn)業(yè)發(fā)展的新方向、新熱點(diǎn)——電動(dòng)汽車(chē)及混合動(dòng)力車(chē)的研究及產(chǎn)業(yè)化中,將作為車(chē)載能源的主要供給者。
蓄電池組是由一定數(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)電池的使用壽命和降低成本,特別是提高電池的可靠性??梢园呀o電池組配套的電子、控制及數(shù)字技術(shù)稱(chēng)為數(shù)字“電池電子技術(shù)”。同樣在汽車(chē)的電子、數(shù)字技術(shù)中,已經(jīng)使用多個(gè)CPU完成各種參數(shù)、功能的控制問(wèn)題,考慮汽車(chē)的安全性,運(yùn)行必須十分可靠,于是發(fā)展了并聯(lián)的獨(dú)立多個(gè)系統(tǒng)結(jié)構(gòu),再由現(xiàn)場(chǎng)總線聯(lián)接,組成統(tǒng)一的大系統(tǒng)。
分布式結(jié)構(gòu)的管理系統(tǒng)
1系統(tǒng)結(jié)構(gòu)
系統(tǒng)要實(shí)現(xiàn)不同類(lèi)型的多種功能,集中的或中央處理方式無(wú)法滿(mǎn)足安全性要求,自然要采用分布式結(jié)構(gòu);系統(tǒng)的工作環(huán)境惡劣,常處于強(qiáng)電磁干擾及脈沖電流的干擾下,為了確??煽啃裕紤]采用和發(fā)展了高性能CAN現(xiàn)場(chǎng)總線作為通訊系統(tǒng);而且CAN總線在汽車(chē)上已使用很久,具有很強(qiáng)的抗干擾性,同時(shí)該技術(shù)比較成熟,已成為汽車(chē)使用通訊的標(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塊板。
圖1電池管理系總體結(jié)構(gòu)圖
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è)模塊及外部整車(chē)系統(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所示。
圖2模塊結(jié)構(gòu)框圖
[page]
3電量估算
電量估算采用實(shí)時(shí)電流積分的安時(shí)法進(jìn)行基本估算,然后通過(guò)對(duì)影響電池電量的溫度、自放電及老化等各種參數(shù)進(jìn)行修正,并考慮單塊電池間的不一致性,從而得到精確的電池組電量。
圖3電池電量估算框圖
CAN總線系統(tǒng)
1CAN簡(jiǎn)介
CAN總線是現(xiàn)場(chǎng)總線的一種,是德國(guó)Bosch公司在1986年為解決現(xiàn)代汽車(chē)中眾多的控制與測(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ù)。用戶(hù)接口簡(jiǎn)單,編程方便,很容易構(gòu)成用戶(hù)系統(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ò)率極低。
2CAN總線設(shè)計(jì)
CAN總線總體結(jié)構(gòu)如圖4所示,在總線的兩端配置了兩個(gè)120Ω的電阻,其作用是總線匹配阻抗,可以增加總線傳輸?shù)姆€(wěn)定性和抗干擾能力,減少數(shù)據(jù)傳輸中的出錯(cuò)率。CAN總線節(jié)點(diǎn)結(jié)構(gòu)一般分為兩類(lèi):一類(lèi)采用CAN適配卡與PC機(jī)相連,實(shí)現(xiàn)上位機(jī)與CAN總線的通訊;另一類(lèi)則是由單片機(jī)、CAN控制器及CAN驅(qū)動(dòng)器構(gòu)成,作為一類(lèi)節(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)接受能力。
圖4CAN總線系統(tǒng)結(jié)構(gòu)圖
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ò)的處理。
[page]
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所示。
圖5CAN總線初始化
圖6CAN的發(fā)送數(shù)據(jù)流程
圖7CAN接收數(shù)據(jù)的流程
例如:電池管理系統(tǒng)向整車(chē)系統(tǒng)發(fā)送總電壓的格式,見(jiàn)表1所列。
表1BCU_VCU_VOLTAGE(0x08)向VCU送回電池組當(dāng)前的電壓
其中,ID為接收節(jié)點(diǎn)總線的地址,電壓值先乘10取整再發(fā)送,0x08表示發(fā)送幀的內(nèi)容為電池組的電壓。
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í)鐘頻率都在特定的頻率容差限值以?xún)?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ù)通訊。
在“863重大專(zhuān)項(xiàng)”電動(dòng)汽車(chē)的電池管理模塊的研制中,就是采用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)性和較大的靈活性。