基于CAN總線的分布式電池管理系統(tǒng)
圖 7 CAN接 收 數(shù) 據(jù) 的 流 程
例如:電池管理系統(tǒng)向整車系統(tǒng)發(fā)送總電壓的格式,見表1所列。
表1 BCU_VCU_VOLTAGE(0x08)向VCU送回電池組當前的電壓
備注 | ||
---|---|---|
ID | FRM_BCU_VCU | 0x40 |
FrameType | DataFrame | |
DataLength | 3 | |
DataByte0 | BCU_VCU_VOLTAGE | 0x08 |
DataByte1 | VoltageLowByte | LowByte(10×電壓值) |
DataByte2 | VoltageHighByte | HighByte(10×電壓值) |
其中,ID為接收節(jié)點總線的地址,電壓值先乘10取整再發(fā)送,0x08表示發(fā)送幀的內(nèi)容為電池組的電壓。
5 CAN總線應用問題
在硬件方面必須考慮合理的供電,注意對各個CAN器件的電源、地之間的濾波,以及復位電路的設計;同時在實際進行印刷電路板的設計時,合理布線,要加強地線,增強系統(tǒng)的抗干擾性。
在軟件設計時,CAN總線定時器的設置非常關鍵,BTR0決定傳播時間段、相位緩沖段1和相位緩沖段2;BTR1決定同步跳轉(zhuǎn)寬度和分頻值。在位定時寄存器中,TSEG1,TSEG2,SJW和BRP設定的值要比其功能值小1,因此設定范圍是[0.....N-1]而不是[1.....N]。所以位時間可以由[TSEG1+TSEG2+3]tq或者[同步段+傳播段+相位緩沖段1+相位緩沖段2]tq得到,其中,tq由系統(tǒng)時鐘tSCL和波特率預分頻值BRP決定:tq=BRP/tSCL。同時,還要注意由于不同節(jié)點的CAN系統(tǒng)時鐘是由不同振蕩器提供的,每個節(jié)點的實際CAN系統(tǒng)時鐘頻率與實際位時有一容差,環(huán)境溫度的變化和振蕩器老化影響起始容差,為確保準確地進行數(shù)據(jù)傳輸,必須保證每個節(jié)點對CAN系統(tǒng)時鐘頻率都在特定的頻率容差限值以內(nèi),因此,在選擇振蕩器時要以對振蕩器容差范圍要求最高的節(jié)點為準。而且,在一個可以擴展的總線結(jié)構(gòu)中,最大節(jié)點延遲和總線最大長度必須考慮,一般情況下,延遲為5.5ns/m。
在實際運行中,經(jīng)常會遇到CAN總線不通或者總線突然關閉現(xiàn)象,其主要原因是由于在數(shù)據(jù)傳輸過程中出現(xiàn)丟幀現(xiàn)象,從而引起出錯,當錯誤計數(shù)器達到一定時會自動關閉總線,因此,必須在軟件設計的過程中,及時對其錯誤狀態(tài)ES位進行判別,在出現(xiàn)錯誤時需對SJA1000進行軟件復位,恢復通訊。
6 結(jié)語
在“863重大專項”電動汽車的電池管理模塊的研制中,就是采用CAN總線通訊的分布式結(jié)構(gòu)。通過對鎳氫電池組、鋰電池組的臺架試驗結(jié)果表明了系統(tǒng)結(jié)構(gòu)的先進性,實現(xiàn)了各模塊的獨自功能,工作正??煽?,鋰電池組系統(tǒng)的CAN總線的節(jié)點數(shù)增加到12,在強電磁干擾下,仍能正常工作,而且線路連接十分簡單、實用。
兩種電池組的參數(shù)、測量方法、電池個數(shù)、安全要求都不相同,分組也不一樣,但系統(tǒng)均能有效地適應,反映出其具有良好的適應性和較大的靈活性。
評論