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