- CAN總線下的燃料電池汽車空調(diào)控制節(jié)點
- 采用MCU和獨立CAN控制器和收發(fā)器
- 由數(shù)字信號處理器DSP2407為控制芯片
在能源日趨緊張、空氣污染日益嚴(yán)重的今天,開發(fā)具有自主知識產(chǎn)權(quán)的新型燃料電池汽車是我國汽車產(chǎn)業(yè)的一個重要飛躍和里程碑,也是國家重點扶持的主要領(lǐng)域之一。燃料電池汽車與傳統(tǒng)燃油汽車相比具有環(huán)保、節(jié)能(氫氣為燃料)、運行平穩(wěn)無噪聲等特點。燃料電池汽車系統(tǒng)的核心 是它的動力系統(tǒng),即燃料電池發(fā)動機,同時配備高功率鋰離子電池,能夠回收下坡和制動能量。整個汽車系統(tǒng)由若干控制單元組成,各單元通過汽車總線彼此相連, 其中空調(diào)控制系統(tǒng)是這種新型能源汽車的一個輔助控制單元,但它也是汽車系統(tǒng)的一個重要組成部分。本文將給出一種采用通用微控制器(MCU)和獨立CAN控制器和收發(fā)器為核心的智能節(jié)點,完成與汽車系統(tǒng)之間的通信和控制由數(shù)字信號處理器DSP2407為控制芯片的直流變轉(zhuǎn)速空調(diào)控制器的運行,并且整個空調(diào)系統(tǒng)已成功地運行在以燃料電池為動力的試驗汽車當(dāng)中。
1 CAN總線原理
控制器局域網(wǎng)絡(luò)CAN屬于現(xiàn)場總線的范疇,它是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò)。CAN是1986 年由Bosch公司領(lǐng)先推出的一種最初應(yīng)用于現(xiàn)代汽車微控制器通信的多主機局部網(wǎng),實現(xiàn)車裁各類電子控制裝置之間的信息交換。國際標(biāo)準(zhǔn)組織ISO為其制訂 了規(guī)范CAN總線的國際標(biāo)準(zhǔn),CAN已被公認(rèn)為幾種最有前途的現(xiàn)場總線之一,它在當(dāng)今自動控制領(lǐng)域的發(fā)展中將發(fā)揮出越來越重要的作用。CAN協(xié)議建立在國 際標(biāo)準(zhǔn)組織ISO的開放系統(tǒng)互連參考模型OSI基礎(chǔ)上,主要工作在物理層、數(shù)據(jù)鏈路層和應(yīng)用層,用戶可在其基礎(chǔ)上開發(fā)適合實際系統(tǒng)需要的應(yīng)用層通信協(xié)議。 信號的傳輸一般采用雙絞線、同軸電纜或光纖。CAN總線系統(tǒng)通信距離遠,通信速率高,最高通信速率可達1Mbit/s,當(dāng)信號傳輸距離達到10km時,仍 可提供高達5kbit/s的數(shù)據(jù)傳輸速率。由于CAN總線的這一特點,使其更利于構(gòu)成大系統(tǒng)。
2 系統(tǒng)硬件設(shè)計
2.1 空調(diào)控制系統(tǒng)結(jié)構(gòu)
由于整個汽車系統(tǒng)是一個復(fù)雜的控制系統(tǒng),可以將其分成若干個模塊或子系統(tǒng),每個子系統(tǒng)負(fù)責(zé)完成一定的功能。各個控制 單元都通過CAN總線連接在一起,構(gòu)成總線型結(jié)構(gòu)的局域網(wǎng)絡(luò)。雖然CAN中各個節(jié)點處于對等的地位,但為了更好協(xié)調(diào)各個控制單元,以整車控制器作為核心控 制單元部分,控制其他電控單元的運行和系統(tǒng)動力的分配。系統(tǒng)CAN總線結(jié)構(gòu)圖如圖1所示。空調(diào)控制系統(tǒng)一方面作為整個汽車系統(tǒng)的一個子系統(tǒng),同時也作為 CAN總線上的一個節(jié)點,其主要功能是通過CAN總線接收主控節(jié)點的控制命令及將空調(diào)相關(guān)數(shù)據(jù)傳送給主控節(jié)點,完成汽車空調(diào)的開啟、溫度設(shè)定、車內(nèi)外溫度 采集等控制??照{(diào)系統(tǒng)與CAN總線上的整車控制器的通信至關(guān)重要,而空調(diào)控制部分又涉及到高壓部分,為了整車系統(tǒng)的安全和可靠,將空調(diào)系統(tǒng)的CAN通訊部 分和壓縮機驅(qū)動部分分開設(shè)計,兩者之間通過光電耦合器進行電氣隔離,保證空調(diào)系統(tǒng)與整車的通訊安全、可靠。
2.2 硬件設(shè)計
由于空調(diào)控制系統(tǒng)的智能節(jié)點處理的信息量不是很大,主要完成和主控節(jié)點即整車控制器的通信,其次負(fù)責(zé)對空調(diào)控制器的 控制和幾路溫度模擬量的采集以及顯示控制,因此,選用通用性較好、開發(fā)較靈活的微控制器(MCU)和獨立CAN控制器及CAN總線驅(qū)動器方案完成,智能節(jié) 點硬件設(shè)計原理如圖2所示。其中,智能節(jié)點中微控制器選用P89C51Rx2,CAN接口由獨立控制器SJA1000和CAN總線驅(qū)動器 PCA82C250組成。SJA1000作為微控制器MCU的片外擴展芯片,SJA1000和MCU之間的數(shù)據(jù)傳送通過MCU數(shù)據(jù)端口P0來完成,數(shù)據(jù)接 收信號用中斷方式,以提高數(shù)據(jù)處理的實時性。CAN控制器SJA1000通過總線驅(qū)動器PCA82C250連接在物理總線上。PCA82C250器件提供 對總線的差動發(fā)送能力和對CAN控制器的差動接受能力,采用差分驅(qū)動有助于抑制汽車等惡劣電氣環(huán)境下的瞬變干擾。為增強CAN總線節(jié)點的抗干擾能 力,SJA1000的TX0和RX0并不直接與82C250的TXD和RXD相連,而是通過高速光耦與82C250相連,這樣就很好地實現(xiàn)了收發(fā)器與控制 器之間的電氣隔離,保護智能節(jié)點核心電路安全工作,并實現(xiàn)了總線上各CAN節(jié)點間的電氣隔離。為了進一步增強系統(tǒng)抗干擾能力,可在總線入口處并接雙向穩(wěn)壓 管,限制線路上可能出現(xiàn)的短時尖峰過電壓和增加共模抑制線圈以消除共模信號的干擾。此外,通信信號在線路上傳輸時,信號傳輸?shù)綄?dǎo)線的端點時會發(fā)生反射,反 射信號會干擾正常信號的傳輸。為消除這種影響,可在CAN總線兩端并接2個120Ω的電阻起到匹配總線阻抗和消除反射的雙重作用。若忽略這些措施,會使數(shù) 據(jù)通信的抗干擾性和可靠性大大降低,甚至無法通信。
節(jié)點中MCU除了與CAN控制器連接外,還需要完成空調(diào)系統(tǒng)的控制和數(shù)據(jù)采集,采集的數(shù)據(jù)主要有車內(nèi)溫度、空調(diào)設(shè)定 溫度、空調(diào)盤管溫度、車外溫度、日照強度、壓力保護等模擬量,根據(jù)采集的數(shù)據(jù)通過閉環(huán)控制方式,給空調(diào)壓縮驅(qū)動器發(fā)出啟動指令和運行頻率,同時壓縮機驅(qū)動 器會實時將壓縮機的運行狀態(tài)傳遞給MCU。根據(jù)狀態(tài)信息,MCU會做出相應(yīng)的處理。
圖2中無刷直流壓縮機驅(qū)動控制部分,其核心控制芯片采用TI公司的電機控制專用數(shù)字信號處理器 TMS320LF2407,由于其運算速度的快速性,能夠保證系統(tǒng)復(fù)雜算法的實現(xiàn)和轉(zhuǎn)子何置的檢測。位置檢測通過檢測反電動勢的方法來實現(xiàn),DSP除了完 成驅(qū)動信號的發(fā)生和位置檢測外,還接受空調(diào)智能節(jié)點的指令來啟動壓縮機和反饋壓縮機運行狀態(tài)。
[page]
3 系統(tǒng)軟件設(shè)計
空調(diào)控制系統(tǒng)軟件設(shè)計主要包括智能節(jié)點部分和壓縮機控制部分,智能節(jié)點主要完成有關(guān)初始化;溫度采樣;接收主控節(jié)點 的控制指令及發(fā)送相關(guān)數(shù)據(jù),如空調(diào)允許的功率上限等;檢測空調(diào)開關(guān)狀態(tài)和設(shè)定溫度值;發(fā)送給空調(diào)控制器的啟動信號以及運行頻率信號;檢測壓縮機的運行狀態(tài) 和故障處理等。壓縮機控制器部分主要完成壓縮機的驅(qū)動信號的產(chǎn)生、位置檢測信號的處理和接受空調(diào)智能節(jié)點的起停信號和運行頻率等。限于篇幅,這里只對控制 節(jié)點部分程序進行討論。控制節(jié)點的主程序流程圖如圖3所示。
對于智能節(jié)點軟件設(shè)計 而言,主要是節(jié)點初始化、報文發(fā)送和接收。而要使節(jié)點能夠正常工作,關(guān)鍵是節(jié)點的初始化要正確。節(jié)點的初始化主要是指系統(tǒng)上電后對微處理器和CAN控制器 SJA1000進行的初始化,以確定工作主頻、波特率和輸出特性等。對P89C51Rx2的初始化可根據(jù)具體的控制對象進行,主要是對中斷、定時器的使用 與設(shè)置等,這里不作詳細(xì)介紹。此處主要介紹SJA1000的初始化。由于SJA1000內(nèi)部無微處理器,故其初始化仍要通過P89C51Rx2對其進行編 程實現(xiàn)。SJA1000初始化程序流程如圖4所示。SJA1000的初始化應(yīng)在復(fù)位模式下進行,所以在SJA1000初始化程序中首先要將工作方式置為復(fù) 位模式,之后要設(shè)置驗收濾波方式、驗收屏蔽寄存器(AMR)和驗收代碼寄存器(ACR)、波特率參數(shù)和中斷允許寄存器(IER)等。CAN協(xié)議物理層中的 同步跳轉(zhuǎn)寬度和通信波特率的大小由定時寄存器BTR0、BTR1的內(nèi)容決定。這里需要指出的是:對于一個系統(tǒng)中的所有節(jié)點,這兩個寄存器的內(nèi)容必須相同, 否則將無法進行通信。初始化設(shè)置完成后,將復(fù)位請求位置“0”,SJA1000就可以進入工作狀態(tài),執(zhí)行正常的通信任務(wù)。
設(shè)計的CAN智能節(jié)點具有很高的可靠性和較優(yōu)的性能價格比,尤其使用獨立CAN控制器實現(xiàn)智能節(jié)點具有實現(xiàn)方便和很 好的通用性等特點。整個空調(diào)控制系統(tǒng)能夠很好地實現(xiàn)和主控制節(jié)點的通信和無刷直流壓縮機的驅(qū)動控制,各項運行參數(shù)達到設(shè)計的要求。文中設(shè)計的汽車空調(diào)控制 系統(tǒng)已經(jīng)在燃料電池汽車上進行了實際運行,能夠滿足設(shè)計要求。