摘要:研究了CAN總線在汽車EPB系統的應用,設計了一種EPB系統的控制器。通過CAN總線進行數據通信,并給出了控制器關鍵功能的部分軟件及硬件電路,EPB控制器在駐車測試中能有效地驅動EPB系統。
關鍵詞:CAN總線;EPB控制器;通信;STC89LE516RD+;MCP2515-I/SO
中圖分類號:TP399文獻標識碼:B 文章編號:1009-3044(2009)35-10090-02
Design of EPB Controller Based on CAN Bus
CHEN Shou-hong1, CHEN Xiong-wei2
(1.Shenzhen Jian Technology CO., LTD, Shenzhen 518038, China; 2.Shenzhen Municipal Administration Bureau of Organization Affairs, Shenzhen 518035, China)
Abstract: The application of CAN Bus in the EPB system of automobile is studied here and designs the controller of EPB system. The data communications with CAN Bus and partial software and hardware of main function is provided. EPB controller can effectively drives EPB system in the electric park brake test.
Key words: CAN Bus; EPB controller; communication; STC89LE516RD+; MCP2515-I/SO
控制器局域網(Controller Area Network,CAN)是一種多主的串行數據通信總線,能效地支持高安全等級的分布實時控制,廣泛應用于自動化電子領域的汽車內部網絡系統。通過對CAN總線在汽車電子系統中的應用研究,設計了基于CAN總線的EPB控制器,屬于EPB系統的按鈕控制開關部分,可替代原廠器件,具有低功耗,針對性強,攜帶方便適用于多種場合等特點。
1 EPB控制器的原理與功能
1.1 硬件原理及作用
電子駐車制動(EPB,Electric Park Brake)是指將行車時的制動和停車時的制動功能整合在一起,并且由電子控制方式實現停車制動的技術。系統包含按鈕控制開關、電子控制單元(ECU)及制動器三部分。當需要駐車制動時,EPB的控制按鈕被按下,按鈕操作信號反饋給電控單元,由控制器經過邏輯判斷后,通過與整車控制器局域網(CAN)通訊,送出控制信號到制動器,由制動器的電機實行制動。設計的EPB輔助控制器屬于EPB系統的按鈕控制開關部分。EPB 的控制器通過監測按鈕控制開關的狀態,通過CAN-BUS與汽車ECU通信,對ECU發送松開剎車皮與閉合剎車皮信號,對汽車實現啟動、停車功能的原理框圖如圖1所示。
1.2 硬件支持的主要功能
1) 通過按鍵控制來執行松開剎車皮(OFF)與閉合剎車皮(ON);
2) 與EPB系統的通信不成功,指示燈指示通信故障;
3) 通過單片機的串行口可以與PC機USB接口進行通信,從而完成數據交換,下載程序,及輔助器軟件升級;
4) 支持CAN Bus協議。
2 硬件電路及接口電路的設計
2.1 硬件電路的總體框架
該輔助器硬件系統主要包括以下模塊:STC89LE516RD+處理器[2]、LED顯示、按鈕、CAN通信模塊與汽車OBDII接口、PC通信模塊與USB接口、復位及電源電路。總體框圖如圖2所示。
2.2 主控STC89LE516RD+及其擴展電路
設計中MCU采用的是STC公司的STC89LE516RD+單片機[2],它采用具有與MCS-51指令集完全兼容的8051內核,64K 的Flash 存儲器,1280字節的RAM。同時具有低價、低功耗、高速可靠等特點,并且在一個芯片內集成了ISP/IAP,在系統可編程/在應用可編程,無需編程器/仿真器,為以后的軟硬件升級提供方便。單片機主要負責上層應用以及系統控制,包括CAN協議的應用層協議的實現,協調各芯片系統設備的工作。芯片及擴展電路圖如圖2所示。圖中P1.4、P1.5、P1.6、P1.7連接CAN控制器的SPI接口,采用軟件模擬SPI時序實現通信。P3.2連接CAN控制器的中斷請求。
電路中左右二個按鈕分別是EPB系統OFF/ON的信號輸入端,也是唯一的人機互動界面,是EPB輔助器判斷產生ON/OFF信號的依據。
LED指示電路選用的三個不同顏色的LED燈對應ON、OFF、SET。顯示EPB系統的狀態。按下ON鍵,發送閉合剎車皮命令,ON燈每秒閃5次,OFF燈滅。按下OFF鍵,發送松開剎車皮命令,OFF燈每秒閃5次,ON燈滅。SET燈具有多種狀態亮燈,分別表示EPB通信故障、沒有故障、發送命令等意義。
2.3 CAN通信電路
CAN通信電路設計包括CAN 控制器與MCU的接口電路和CAN總線收發器與物理CAN總線的接口電路。電路中選取了Microchip公司的CAN控制器MCP2515-I/SO以及MCP2551T-I/SN總線收發器[3]。MCP2515-I/SO是應用于汽車和一般工業環境的獨立CAN控制器,負責處理數據幀,完成數據的打包、解包,錯誤界定,并提供報文緩沖和傳輸濾波,具有CAN高性能通信協議所要求的全部必要特性,通過SPI接口與單片機相連,實現ECU與微處理器之間的數據傳輸。該器件主要由三個部分組成:1) CAN模塊,包括CAN協議引擎、驗收濾波寄存器、驗收屏蔽寄存器、發送和接收緩沖器;2) 用于配置該器件及其運行的控制邏輯和寄存器;3) SPI協議模塊。
MCP2551T-I/SO為CAN控制器和物理總線之間的接口,主要是接口電平的轉換,接口電氣特性的處理,可以用高達1Mb/s的速率在2條有差動電壓的總線電纜上傳輸數據。TXD和RXD引腳分別發送經過驅動后的發送和接收信號。CAN通信電路的主要功能是完成汽車CAN總線與單片機之間的通信,如圖4所示。
3 系統的軟件設計
3.1 軟件的功能與設計
本系統軟件的功能是使EPB控制器接入汽車的OBDII診斷座控制汽車剎車皮的松開與閉合,從而構成汽車完整的EPB系統。采用模塊化的設計方法,軟件設計大體分為四個部分:一部分為硬件初始化,其中包括單片機的初始化和CAN控制器的初始化。二部分為CAN數據通信程序,包括數據的發送和接收。三部分為串行口數據通訊程序。四部分是鍵盤與LED顯示程序。MCU的程序采用C語言編寫,方便的調試和以后的升級。系統的程序主要完成系統硬件的初始化、設置系統時鐘和功能寄存器,掃描鏈路判斷是否能進行CAN總線通信、調用鍵盤處理程序,完成不同的功能,如根據按鍵功能轉入相應的服務程序,調用CAN數據通信程序完成控制功能。軟件設計流程圖如圖5所示。
3.2 CAN通信程序
CAN通信程序完成系統的通信任務[4-5],是整個系統軟件的核心程序,主要包括三個部分:CAN初始化、數據發送和數據接收。MCP2515-I/SO在正常工作之前,必須進行初始化,包括設置CAN總線通信波特率、MCP2515-I/SO的接收過濾器和屏蔽器以及設置發關和接收中斷允許標志位等。通過SPI接口初始化,首先應使器件進入配置模式,對寄存器進行初始化操作后,再切換到正常模式。
CPU發送程序把需要發送的數據幀送到CAN的發送緩沖區,啟動RTS發送命令后,即可將數據發送到CAN總線上,數據信息從CAN控制器發送到CAN總線是由CAN控制器自動完成的。
接收數據是CPU通過SPI接口來讀取接收緩沖器里的數據。MCP2515-I/SO采用中斷模式進行CAN總線數據的接收,當配置MCP2515-I/SO到正常模式后,MCP2515-I/SO接收緩存器收到數據,INT引腳將產生中斷以通知單片機,其響應中斷后讀取數據。讀取數據操作時,CPU在向MCP2515-I/SO提供時鐘脈沖SCK的同時,先把讀命令和數據發送到SI引腳,在時鐘SCK的上升沿,命令和數據通過SI腳送入MCP2515-I/SO,在時鐘SCK的下降沿,通過SO引腳把數據送出。CAN通信模塊的發送和接收數據流程圖6,圖7如下。
4 結束語
在現代汽車的設計中,基于CAN總線的先進電氣裝備、控制系統的應用越來越多,本系統在AUDI A6進行了試驗,實現了與汽車ECU的通信及松開剎車片、閉合剎車片的判斷與操作。基于CAN總線的EPB控制器設計,具有成本低、操作方便,抗干擾能力強,可廣泛適用于車主、維修人員,具有廣闊的應用前景。
參考文獻:
[1] 崔玥.基于CAN總線的電子駐車制動系統[D].吉林大學碩士學位論文,2007:12-13.
[2] 宏晶科技.STC89C51RC/RD系列單片機器件手冊[Z].2007.
[3] Microchip Technology lnc.MCP2515 Data sheet[Z].2005.
[4] 殷洪波.CAN總線智能節點設計[J].電子測量技術,2008,31(11):137-138.
[5] 馮輝宗.汽車ECU標定系統CAN驅動模塊的實現[J].微計算機信息,2008,24(4-2):248-249.