1 CAN總線原理
控制器局域網絡CAN屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡。CAN是1986年由Bosch公司推出的一種初應用于現代汽車微控制器通信的多主機局部網,實現車裁各類電子控制裝置之間的信息交換。國際標準組織ISO為其制訂了規范CAN總線的國際標準,CAN已被公認為幾種有前途的現場總線之一,它在當今自動控制領域的發展中將發揮出越來越重要的作用。CAN協議建立在國際標準組織ISO的開放系統互連參考模型OSI基礎上,主要工作在物理層、數據鏈路層和應用層,用戶可在其基礎上開發適合實際系統需要的應用層通信協議。信號的傳輸一般采用雙絞線、同軸電纜或光纖。CAN總線系統通信距離遠,通信速率高,通信速率可達1Mbit/s,當信號傳輸距離達到10km時,仍可提供高達5kbit/s的數據傳輸速率。由于CAN總線的這一特點,使其更利于構成大系統。
2 系統硬件設計
2.1 空調控制系統結構
由于整個汽車系統是一個復雜的控制系統,可以將其分成若干個模塊或子系統,每個子系統負責完成一定的功能。各個控制單元都通過CAN總線連接在一起,構成總線型結構的局域網絡。雖然CAN中各個節點處于對等的地位,但為了更好協調各個控制單元,以整車控制器作為核心控制單元部分,控制其他電控單元的運行和系統動力的分配。系統CAN總線結構圖如圖1所示。空調控制系統一方面作為整個汽車系統的一個子系統,同時也作為CAN總線上的一個節點,其主要功能是通過CAN總線接收主控節點的控制命令及將空調相關數據傳送給主控節點,完成汽車空調的開啟、溫度設定、車內外溫度采集等控制。空調系統與CAN總線上的整車控制器的通信至關重要,而空調控制部分又涉及到高壓部分,為了整車系統的安全和可靠,將空調系統的CAN通訊部分和壓縮機驅動部分分開設計,兩者之間通過光電耦合器進行電氣隔離,保證空調系統與整車的通訊安全、可靠。
由于空調控制系統的智能節點處理的信息量不是很大,主要完成和主控節點即整車控制器的通信,其次負責對空調控制器的控制和幾路溫度模擬量的采集以及顯示控制,因此,選用通用性較好、開發較靈活的微控制器(MCU)和獨立CAN控制器及CAN總線驅動器方案完成,智能節點硬件設計原理如圖2所示。其中,智能節點中微控制器選用P89C51Rx2,CAN接口由獨立控制器SJA1000和CAN總線驅動器PCA82C250組成。SJA1000作為微控制器MCU的片外擴展芯片,SJA1000和MCU之間的數據傳送通過MCU數據端口P0來完成,數據接收信號用中斷方式,以提高數據處理的實時性。CAN控制器SJA1000通過總線驅動器PCA82C250連接在物理總線上。PCA82C250器件提供對總線的差動發送能力和對CAN控制器的差動接受能力,采用差分驅動有助于抑制汽車等惡劣電氣環境下的瞬變干擾。為增強CAN總線節點的抗干擾能力,SJA1000的TX0和RX0并不直接與82C250的TXD和RXD相連,而是通過高速光耦與82C250相連,這樣就很好地實現了收發器與控制器之間的電氣隔離,保護智能節點核心電路安全工作,并實現了總線上各CAN節點間的電氣隔離。為了進一步增強系統抗干擾能力,可在總線入口處并接雙向穩壓管,限制線路上可能出現的短時尖峰過電壓和增加共模抑制線圈以消除共模信號的干擾。此外,通信信號在線路上傳輸時,信號傳輸到導線的端點時會發生反射,反射信號會干擾正常信號的傳輸。為消除這種影響,可在CAN總線兩端并接2個120Ω的電阻起到匹配總線阻抗和消除反射的雙重作用。若忽略這些措施,會使數據通信的抗干擾性和可靠性大大降低,甚至無法通信。
圖2中無刷直流壓縮機驅動控制部分,其核心控制芯片采用TI公司的電機控制專用數字信號處理器TMS320LF2407,由于其運算速度的快速性,能夠保證系統復雜算法的實現和轉子何置的檢測。位置檢測通過檢測反電動勢的方法來實現,DSP除了完成驅動信號的發生和位置檢測外,還接受空調智能節點的指令來啟動壓縮機和反饋壓縮機運行狀態。
3 系統軟件設計
空調控制系統軟件設計主要包括智能節點部分和壓縮機控制部分,智能節點主要完成有關初始化;溫度采樣;接收主控節點的控制指令及發送相關數據,如空調允許的功率上限等;檢測空調開關狀態和設定溫度值;發送給空調控制器的啟動信號以及運行頻率信號;檢測壓縮機的運行狀態和故障處理等。壓縮機控制器部分主要完成壓縮機的驅動信號的產生、位置檢測信號的處理和接受空調智能節點的起停信號和運行頻率等。限于篇幅,這里只對控制節點部分程序進行討論。控制節點的主程序流程圖如圖3所示。