基于LIN總線的純電動(dòng)車電池管理系統(tǒng)設(shè)計(jì)
2.1.2 LIN 通信接口設(shè)計(jì)
在現(xiàn)代汽車中總線技術(shù)越來越多的得到應(yīng)用,CAN/LIN網(wǎng)絡(luò)已經(jīng)成為以分布式為基礎(chǔ)的車載電子網(wǎng)絡(luò)的主流發(fā)展方向。CAN 總線作為高速傳輸總線具有速度快、帶寬高、功能多的突出特點(diǎn),但其成本比較昂貴;LIN 總線是一種低端總線,但其在降低成本方面具有突出優(yōu)勢,適合對網(wǎng)絡(luò)速度要求不高、實(shí)時(shí)性不強(qiáng)的數(shù)據(jù)的傳輸。因此,在不需要CAN 總線的帶寬和速度的場合下,LIN 總線補(bǔ)充了CAN 總線引導(dǎo)的汽車多路復(fù)用網(wǎng)絡(luò)的現(xiàn)有總線技術(shù)。電池的溫度、電流、電壓檢測并不要求極高的實(shí)時(shí)性和總線速度,因此LIN 總線能很好地契合電池管理系統(tǒng)的要求。
Dspic30f4012 芯片沒有LIN 總線的接口,但具有SCI 通信接口,本文選用TPIC1021 芯片作為SCI 與LIN 總線轉(zhuǎn)換的芯片,如圖3 所示。SCI 通信引腳U1RX 與U1TX 經(jīng)過磁耦合隔離器件電氣隔離后,分別接到LIN 驅(qū)動(dòng)器的LIN_RXD 和LIN_TXD,經(jīng)過轉(zhuǎn)換最后在LIN 引腳輸出LIN 總線信號(hào)。在底層控制器Dspic30f4012 和LIN 收發(fā)器TPIC1021 之間加上一個(gè)磁耦合隔離器件ADUM1201ARZ,用來提高電池組檢測系統(tǒng)通信的抗干擾能力和解決分布式檢測中共地產(chǎn)生短路的問題,有效地把各個(gè)檢測單元的電氣連接隔離開來,同時(shí)也把底層電壓與上層LIN 總線隔離開來。當(dāng)LIN 收發(fā)器作為主機(jī)節(jié)點(diǎn)時(shí),需要把圖3 中的J3 跳線用跳針短接,用于從機(jī)節(jié)點(diǎn)時(shí)不要跳針短接。
2.2 電池管理系統(tǒng)軟件設(shè)計(jì)
2.2.1 電池管理系統(tǒng)的軟件設(shè)計(jì)和總體結(jié)構(gòu)
ECU 中的軟件設(shè)計(jì)包括底層ECU 和上層ECU 軟件設(shè)計(jì)。底層ECU 的軟件設(shè)計(jì)主要包括電壓、電流、溫度的采集程序與采集結(jié)果的計(jì)算程序、數(shù)據(jù)通信程序、中斷程序等;上層ECU 的軟件設(shè)計(jì)主要包括SOC 估算程序、LIN 總線通信程序、故障分析及報(bào)警程序、電壓、電流、溫度和荷電狀態(tài)等顯示程序、時(shí)鐘程序、中斷程序等。整個(gè)程序設(shè)計(jì)采用結(jié)構(gòu)化和模塊化的編程方法來實(shí)現(xiàn)。上層ECU 的主程序流程圖如圖4 所示。
其中,電池的電壓檢測包括單體電池電壓的檢測和電池組電壓的檢測。當(dāng)單體電壓超限時(shí),系統(tǒng)能夠判斷超限單體電池的編號(hào),判斷單體電池是低電壓超限還是高電壓超限,在顯示器上顯示并且有聲音報(bào)警。電池組電壓超限時(shí)程序能夠分析出是何種原因超限,以此來進(jìn)入保護(hù)程序。電池溫度的檢測包括單體電池溫度的檢測和環(huán)境溫度的檢測,當(dāng)溫度超限時(shí),系統(tǒng)通過檢測到的數(shù)據(jù)能分析溫度超限的原因,以此進(jìn)入保護(hù)程序。電池的荷電狀態(tài)超限主要是指電池剩余電量過低,繼續(xù)放電可能會(huì)影響電池的壽命。
2.2.2 LIN 通信的實(shí)現(xiàn)
LIN 協(xié)議是一種開放的總線協(xié)議,一個(gè)完整的報(bào)文幀由報(bào)文頭和響應(yīng)組成。每一次數(shù)據(jù)的傳送都由主機(jī)節(jié)點(diǎn)開始,標(biāo)志著一次數(shù)據(jù)通信過程報(bào)文幀的開始[3].
圖5 為5 號(hào)單體磷酸鐵鋰電池LIN 總線標(biāo)識(shí)符場,以此為例說明LIN 總線標(biāo)識(shí)符場的設(shè)定。5 號(hào)單體電池ID 位為0101,所以此節(jié)單體電池的ID 為0x5,ID4、ID5 設(shè)為01,即設(shè)定發(fā)送的數(shù)據(jù)場字節(jié)為4 個(gè)字節(jié),通過前面的奇偶校驗(yàn)得到奇偶校驗(yàn)值為0、1,如圖5 所示。
由于各個(gè)信號(hào)的范圍不同,電壓、電流、溫度信號(hào)所用到的數(shù)據(jù)位數(shù)也不同,電壓的范圍在0~5 V 內(nèi),電流在0~20 A內(nèi),溫度在-40~125 ℃范圍內(nèi),所以本文在數(shù)據(jù)場中用第1個(gè)字節(jié)和第4 個(gè)字節(jié)的低兩位,共10 位來表示電壓;用第2個(gè)字節(jié)和第4 個(gè)字節(jié)的中間4 位,共12 位來表示電流;用第3 個(gè)字節(jié)和第4 個(gè)字節(jié)的高兩位,共10 位來表示溫度。由于電壓、電流、溫度都精確到小數(shù)點(diǎn)后,在數(shù)據(jù)場中表示小數(shù)比較復(fù)雜,本文用實(shí)際參數(shù)值的10 倍或100 倍在數(shù)據(jù)幀中表示,如圖6 所示。
表1 為各單體電池所對應(yīng)的LIN 總線節(jié)點(diǎn)的ID 資源分配表。
上層ECU作為LIN總線的主機(jī)節(jié)點(diǎn),當(dāng)LIN主機(jī)節(jié)點(diǎn)向單體電池從機(jī)節(jié)點(diǎn)請求數(shù)據(jù)時(shí),LIN 總線上將進(jìn)行從機(jī)節(jié)點(diǎn)到主機(jī)節(jié)點(diǎn)的數(shù)據(jù)傳輸,此時(shí)LIN 主機(jī)節(jié)點(diǎn)向總線發(fā)送報(bào)文幀頭,總線上的LIN 從機(jī)節(jié)點(diǎn)接收報(bào)文幀頭后,判斷是否與自己的ID 匹配,若匹配發(fā)送報(bào)文幀響應(yīng),LIN 主機(jī)節(jié)點(diǎn)接收報(bào)文幀響應(yīng),完成主機(jī)節(jié)點(diǎn)的數(shù)據(jù)請求。
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評論