基于CAN 總線的汽車空調控制系統開發
摘 要:本文首先對汽車空調控制系統的網絡化進行了研究,參照SAE J1939 協議制定了系統的整套通信協議,并
結合CAN 總線技術要求,設計出了基于CAN 控制器SJA1000 和CAN 收發器PCA82C250 的分布式的汽車空調
控制系統。
1 引 言
隨著汽車工業的高速發展,傳統的手動機械式空調難以滿足乘坐舒適性的需求和提升整車技術含量的要求。本文首先對汽車空調控制系統的網絡化進行研究,結合CAN 總線技術,采用CAN 控制器SJA1000 和收發器PCA82C250 設計了汽車空調系統的各節點,并參照汽車領域中廣泛應用的SAEJ 1939 協議制定了系統通訊協議,在此基礎上完成了基于CAN 總線的汽車空調控制系統的構建。
2 系統總體設計
2.1 汽車空調控制系統網絡化
傳統的汽車空調控制方法是直接控制:簡單功能通過控制開關直接實現,復雜功能由控制器完成。實現汽車空調控制系統的網絡化,就是從根本上改變控制對象和被控信號間的直接控制關系。模塊之間通過總線網絡建立連接并交互數據。在總線網絡
系統中,負責控制信號采集的模塊把采集到的控制信號發送到網絡上;負責執行控制功能的模塊則偵聽總線消息并接收與本模塊相關的數據,最后完成對相關器件的控制功能[1 ] 。
2.1 空調控制系統網絡
圖1 是汽車空調的混合式配氣系統的風道結構,圖[2 ] ,其工作過程如下:車外新鮮空氣+ 車內循環空氣→進入鼓風機→空氣進入蒸發器冷卻→由風門調節部分空氣進入加熱器加熱→進入各風口。

圖1 空調系統結構圖
根據系統結構圖抽象出基于CAN 總線的分布式網絡模型,在此基礎上添加主控節點、顯示節點和溫度采集節點。圖2 為抽象出來的分布式總線網絡模型。

圖2 空調控制系統網絡模型
3 系統通信協議設計
總線網絡系統通信協議是為保證數據信息能在網絡各功能模塊間可靠傳輸而定義的一系列規則、標準和慣例[3 ] 。CAN 總線網絡協議主要包括物理層、數據鏈路層[4 ] 。本系統參照SAE J 1939 協議設計,增加了網絡層和應用層。對于CAN 總線網絡,物理層和網絡層協議基本確定,因此本文主要進行數據鏈路層和應用層協議的設計。
3.1 數據鏈路層協議設計
數據鏈路層報文格式參考“CAN2. 0B”規范,將CAN 擴展幀的29 位標識符重新分組定義。本文數據鏈路層與標準CAN 協議的區別:信息幀的路由部分包含了節點地址,實現了點對點的數據傳輸。CAN 擴展幀格式如圖3 所示,其中數據場是要傳送
的信息,其余場均為保證數據可靠傳輸的控制信息。

將數據幀的29 位標識符(11 位標識符和18 位標識符擴展) 定義為協議數據單元( PDU , ProtocolData Unit) , PDU 包含7 個域:優先級、保留位、數據頁、協議數據單元格式( PDU Format ,簡稱PF) 、特定PDU (PDU Specific ,簡稱PS) 、源地址和數據域,如表1 所示。PDU 和數據域被分組封裝在一個或多個數據幀中傳輸到其它網絡設備。

3.2應用層協議設計
在網絡應用層協議的設計中,定義PS 域為目的地址(DA) 。網絡節點的地址分配如表2 所示。

4 CAN 接口電路設計
汽車空調控制系統主要由主控模塊、溫度采集模塊、顯示模塊、溫度調節模塊、送風模塊、內外循環模塊和駕駛室出風口模塊等功能模塊構成。本系統硬件設計的主體部分是CAN 接口電路。本系統的CAN 節點是由三部分構成的:微處理器89S51 、獨立CAN 控制器SJA1000 和總線收發器82C250 ,具體電路如圖4 所示。

4.1微處理器與CAN 控制器的接口設計
89S51 與SJA1000 分別采用獨立的復位電路和獨立的時鐘信號源,如圖4 所示,當P2. 7 為0 時,CPU 片外存儲器地址可選中SJA1000 ,CPU 通過地址對SJA1000 執行相應的讀寫操作。SJA1000的/ IN T 與89S51 的/ IN T0 相連, 89S51 也可以通
過中斷方式訪問SJA1000 。
4.2CAN 控制器與CAN 收發器的接口設計
SJA1000 通過引腳TX0/ RX0 或TX1/ RX1 與82C250 的引腳TXD/ RXD 相連。82C250 通過引腳CAN H 和CANL 與CAN 總線的CAN - H 和CAN - L 相連。
5 軟件設計
由于各節點都是分布在CAN 網絡的獨立功能模塊,因此CAN 通信模塊的軟件設計是系統的主體。CAN 通信包括:CAN 初始化、CAN 數據發送和CAN 數據接收。
(1) CAN 初始化。主要完成SJA1000 的初始化并設置相應的通信參數。SJA1000 的初始化在復位模式下進行;然后設置驗收濾波方式和波特率參數;只有當控制寄存器(CR) 中的復位要求位(CR.0) 置高時,初始化相關的寄存器才能被訪問。CAN
協議物理層中的同步跳轉寬度和通信波特率的大小由總線定時器B TR0 和B TR1 決定。對系統中的所有節點,這兩個寄存器的內容必須相同,否則無法通信。初始化流程如圖5 所示。

(2) CAN 數據發送。發送報文時,發送緩沖區對寫操作是鎖定的,微控制器89S51 必須查詢狀態寄存器的發送緩沖區狀態標志TBS ,以確定是否可以將新的報文寫入發送緩沖區,程序流程圖如圖6所示。

(3) CAN 數據接收。讀接收緩沖區內容后,微控制器89S51 必須通過將釋放接收緩沖位置高來釋放緩沖區,使得下一報文可以被接收,程序流程圖如圖7 所示。

6 結束語
本文成功地將汽車空調控制系統網絡化,使得分散在不同位置的節點可以共享信息。基于CAN總線的汽車空調控制系統的開發不僅提高了汽車空調的舒適性,而且還使得空調子網與其它車載網絡進行互連,從而加速了車身一體化的進程。
參考文獻
[1 ] 張蕾. 汽車空調[M] . 機械工業出版社,2006.
[2 ] 陳立輝,等. 汽車空調[M] . 人民交通出版社,2004.
[3 ] 宋雪樺,等. 汽車發動機電控單元CAN 通信模塊研制
[J ] . 計算機工程與設計,2006.
[4 ] 鄔寬明. CAN 總線原理和應用系統設計[M] . 北京:北京航空航天大學出版社,1996.
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















