閆麗媛
(北京航空航天大學(xué),北京 100191)
隨著汽車電子技術(shù)的發(fā)展,大多數(shù)車上電子控制單元從研發(fā)原型到形成產(chǎn)品都需經(jīng)過(guò)匹配標(biāo)定的過(guò)程,以確定其運(yùn)行參數(shù)和控制參數(shù)。因此,標(biāo)定是產(chǎn)品開(kāi)發(fā)成功的關(guān)鍵因素之一。電池管理系統(tǒng)作為混合動(dòng)力電動(dòng)汽車的關(guān)鍵控制單元,對(duì)其實(shí)現(xiàn)可標(biāo)定功能具有重要意義[1]。通過(guò)標(biāo)定系統(tǒng),實(shí)驗(yàn)人員可以根據(jù)現(xiàn)場(chǎng)情況對(duì)電池管理系統(tǒng)的控制參數(shù)進(jìn)行在線修改,以適應(yīng)不同的運(yùn)行環(huán)境。同時(shí),標(biāo)定系統(tǒng)還可以監(jiān)測(cè)管理系統(tǒng)采集的電池狀態(tài)數(shù)據(jù),并對(duì)其進(jìn)行存儲(chǔ)、處理和分析,以便隨時(shí)掌握試驗(yàn)情況。
目前,一般的標(biāo)定系統(tǒng)都是采用基于串行口點(diǎn)對(duì)點(diǎn)的通信方式,這種通信方式容易實(shí)現(xiàn),但存在著通信速度較慢、可靠性較低等缺陷[2]。本文設(shè)計(jì)的電池管理標(biāo)定系統(tǒng)采用CCP協(xié)議,使用INCA軟件,利用 CAN接口對(duì)所需標(biāo)定參數(shù)進(jìn)行標(biāo)定,便于整車的調(diào)試和控制策略的優(yōu)化。
本文設(shè)計(jì)的標(biāo)定系統(tǒng)包括上位機(jī)標(biāo)定平臺(tái)、下位機(jī)CAN通信擴(kuò)展電路,CAN驅(qū)動(dòng)程序和CCP驅(qū)動(dòng)程序[3]。標(biāo)定平臺(tái)部分采用ETAS公司的標(biāo)定及監(jiān)測(cè)工具INCA(Integrated Calibration and Application Software),該工具功能強(qiáng)大,內(nèi)部集成有CCP協(xié)議,具有成熟可靠的軟硬件實(shí)現(xiàn)方案,是用于控制單元功能參數(shù)標(biāo)定的通用產(chǎn)品系列,可采集控制器的測(cè)量信號(hào),并且在線對(duì)參數(shù)進(jìn)行分析優(yōu)化。下位機(jī)采用SJA1000作為CAN控制器件,實(shí)現(xiàn)對(duì)CAN通信電路的擴(kuò)展,在此基礎(chǔ)上開(kāi)發(fā)底層CAN驅(qū)動(dòng)程序,包括CAN發(fā)送模塊和CAN接收模塊。CCP驅(qū)動(dòng)程序則包括了標(biāo)定處理任務(wù)和數(shù)據(jù)上傳處理任務(wù),設(shè)計(jì)的標(biāo)定系統(tǒng)總體方案如圖1所示。
BMS的核心控制器為TI公司的TMS320LF2407A DSP芯片,其內(nèi)部集成有1個(gè)CAN總線接口,該接口主要用于和整車上其他控制器交換信息。由于在標(biāo)定期間占用CAN總線資源較多,如果標(biāo)定功能和正常的CAN通信功能實(shí)現(xiàn)于同一條CAN總線上,會(huì)影響到BCU與其他控制器之間的通信,所以在硬件電路設(shè)計(jì)中采用SJA1000在BMS中擴(kuò)展出1個(gè)專用于標(biāo)定功能的CAN接口。其設(shè)計(jì)方案如圖2所示。
圖1 標(biāo)定總體方案圖
圖2 標(biāo)定用CAN接口擴(kuò)展方案
以現(xiàn)有BCU系統(tǒng)的核心控制器TMS320LF2407A作為上層控制器,通過(guò)地址/數(shù)據(jù)總線對(duì)SJA1000進(jìn)行控制命令的寫入和狀態(tài)、數(shù)據(jù)的讀取。同時(shí),DSP通過(guò)I/O口輸出控制字來(lái)控制CPLD,使其輸出片選以及讀寫控制信號(hào)至SJA1000,以便配合DSP對(duì)SJA1000的操作。
圖3 SJA1000外擴(kuò)電路圖
SJA1000是一種獨(dú)立的CAN控制器,用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,支持CAN2.0B協(xié)議。其內(nèi)部集成了控制寄存器和狀態(tài)寄存器,外部控制設(shè)備(如單片機(jī)、DSP等)可以訪問(wèn)這些寄存器來(lái)實(shí)現(xiàn)對(duì)其工作方式的配置和工作狀態(tài)的查詢。另外,其內(nèi)部還集成了發(fā)送和接收緩沖器,核心控制設(shè)備可以通過(guò)讀寫這些緩沖器來(lái)獲得和發(fā)送信息,實(shí)現(xiàn)信息的交換。
本設(shè)計(jì)選擇0x8000作為SJA1000地址輸入端口,0xA000作為SJA1000數(shù)據(jù)輸入輸出端口。由于SJA1000地址線和數(shù)據(jù)線復(fù)用,且均為8位,因此只需DSP的低8位數(shù)據(jù)線與SJA1000的AD[0…7]相連即可。SJA1000外擴(kuò)電路圖3所示。
標(biāo)定的軟件部分分為CAN底層通訊部分和CCP驅(qū)動(dòng)程序部分。CAN底層通信主要是實(shí)現(xiàn)CAN控制器的初始化,以及CAN報(bào)文的接收和發(fā)送。作為底層模塊,這些功能將被標(biāo)定處理任務(wù)調(diào)用。為了實(shí)現(xiàn)標(biāo)定,通信部分通過(guò)采用基于CAN通信模式的CCP協(xié)議,標(biāo)定平臺(tái)部分采用ETAS公司的標(biāo)定及監(jiān)測(cè)工具INCA。
CCP協(xié)議屬于CAN通信的應(yīng)用層協(xié)議,完全遵循CAN通信協(xié)議,主要用于實(shí)現(xiàn)對(duì)控制器的標(biāo)定,同時(shí)可進(jìn)行循環(huán)或事件驅(qū)動(dòng)的數(shù)據(jù)采集和監(jiān)測(cè)。用于標(biāo)定和數(shù)據(jù)采集的CAN通信協(xié)議是基于主從通信模式的協(xié)議。1個(gè)CCP主機(jī) (位于PC機(jī)的標(biāo)定平臺(tái))可與CAN總線上的1個(gè)或多個(gè)CCP從機(jī)(ECU)連接。圖4為CCP主從模式的通信配置示意圖。主機(jī)通過(guò)從機(jī)站地址的配置實(shí)時(shí)地建立主、從機(jī)之間的邏輯連接。該連接在另一站地址被選中或當(dāng)前站地址通過(guò)指令被明確斷開(kāi)連接之前一直有效。
圖4 主從通信方式框圖
CCP采用2個(gè)報(bào)文對(duì)象,每個(gè)對(duì)象對(duì)應(yīng)一個(gè)數(shù)據(jù)流向,具有唯一的ID標(biāo)識(shí)碼,主設(shè)備發(fā)送給從設(shè)備的數(shù)據(jù)對(duì)象為CRO(Command Receive Object),從設(shè)備反饋給主設(shè)備的數(shù)據(jù)對(duì)象為DTO(DataTransmission Object),CRO用于傳遞指令代碼和內(nèi)部功能碼或主、從機(jī)之間交換的存儲(chǔ)區(qū)數(shù)據(jù)。圖5、圖6為 2種 CCP報(bào)文對(duì)象 CRO、DTO的結(jié)構(gòu)示意圖。若主設(shè)備要求從設(shè)備周期性地自動(dòng)將需要被實(shí)時(shí)監(jiān)視的數(shù)據(jù)發(fā)送給主設(shè)備,此時(shí)該DTO被稱為DAQ。本標(biāo)定系統(tǒng)數(shù)據(jù)采集采用DAQ模式,即將BMS中需要標(biāo)定和監(jiān)視的參數(shù)按照要求的周期進(jìn)行上傳,無(wú)需對(duì)每個(gè)參數(shù)分別發(fā)送。圖7為DTO-DAQ結(jié)構(gòu)示意圖。
圖5 CRO結(jié)構(gòu)示意圖
圖6 DTO結(jié)構(gòu)示意圖
圖7 DTO-DAQ結(jié)構(gòu)示意圖
結(jié)合CCP協(xié)議的應(yīng)用架構(gòu),本標(biāo)定系統(tǒng)中CCP協(xié)議的應(yīng)用結(jié)構(gòu)如圖8所示。
圖8 CCP協(xié)議實(shí)現(xiàn)的結(jié)構(gòu)圖
CCP驅(qū)動(dòng)程序是一個(gè)比較復(fù)雜的程序,從CCP通信實(shí)現(xiàn)形式上劃分,主要由命令處理模塊和DAQ處理模塊兩大部分組成;從函數(shù)接口調(diào)用角度,主要由函數(shù)ccpInit()、ccpBackground()、ccpDAQ()、ccpCommand()、ccpSend()、ccpSendCallback()以及其他可選用函數(shù)組成。
CCP命令處理模塊是作為系統(tǒng)的一個(gè)任務(wù)來(lái)完成,在系統(tǒng)初始化后啟動(dòng)運(yùn)行。調(diào)用CAN驅(qū)動(dòng)程序從總線上獲取CCP主設(shè)備發(fā)給從設(shè)備的命令,從設(shè)備根據(jù)命令做相應(yīng)的動(dòng)作,并回送命令應(yīng)答,完成對(duì)話。其實(shí)現(xiàn)框圖如圖9所示。
命令處理模塊具體的操作是利用ccpCommand()函數(shù)來(lái)實(shí)現(xiàn),主要負(fù)責(zé)解析并執(zhí)行CRO命令,命令接收對(duì)象,用于傳遞指令代碼和內(nèi)部功能碼,其形參為指向CAN數(shù)據(jù)幀接收緩沖區(qū)首字節(jié)地址的指針,通過(guò)分析該CAN幀的第1個(gè)字節(jié)即命令代碼字節(jié)cmd從而判斷該CRO報(bào)文的功能。在建立好邏輯連接的前提下,采用條件語(yǔ)句(if語(yǔ)句)和選擇語(yǔ)句(switch語(yǔ)句)將任務(wù)分配到具體的模塊。
圖9 CCP通信框圖
圖10 DAQ模塊處理流程圖
DAQ處理模塊的主要任務(wù)是根據(jù)主設(shè)備要求,周期定時(shí)地通過(guò)CAN總線向主設(shè)備發(fā)送監(jiān)控?cái)?shù)據(jù)。通過(guò)讀取BMS內(nèi)部控制參數(shù)的當(dāng)前值,并用DAQ-DTO幀發(fā)送給主設(shè)備。命令處理模塊在收到主設(shè)備要求啟動(dòng)DAQ的命令時(shí),調(diào)用OS函數(shù)OSTaskCreat(),啟動(dòng)相應(yīng)的 DAQ任務(wù);該任務(wù)每完成1次DAQ發(fā)送后,調(diào)用OS函數(shù)OSTimeD-lyHMSM ()將其掛起,下一發(fā)送時(shí)間到來(lái)時(shí) ,OS 將自動(dòng)使該任務(wù)進(jìn)入就緒態(tài);在收到主設(shè)備要求停止DAQ的命令時(shí),調(diào)用 OS函數(shù) OSTaskDel()刪除該任務(wù)。
DAQ處理模塊主要是通過(guò) ccpDAQ()函數(shù)實(shí)現(xiàn),該函數(shù)的形參為Event Channel。通過(guò)主設(shè)備設(shè)置DAQ發(fā)送周期,即將相應(yīng)的周期值傳給形參,從而實(shí)現(xiàn)按主設(shè)備要求的周期發(fā)送監(jiān)控?cái)?shù)據(jù)。具體流程如圖10所示。
本設(shè)計(jì)硬件采用SJA1000在BCU系統(tǒng)中擴(kuò)展出一個(gè)專用于標(biāo)定功能的CAN接口,實(shí)現(xiàn)了在不妨礙電池管理系統(tǒng)的采集、通信以及估算等重要任務(wù)完成的情況下進(jìn)行標(biāo)定。軟件根據(jù)CCP協(xié)議的要求,以CAN驅(qū)動(dòng)程序?yàn)榛A(chǔ),完成CCP驅(qū)動(dòng)程序的開(kāi)發(fā),并集成了BCU主程序,實(shí)現(xiàn)與上層標(biāo)定系統(tǒng)的通信。
通過(guò)以上功能的開(kāi)發(fā),實(shí)現(xiàn)電池管理系統(tǒng)的標(biāo)定功能,對(duì)實(shí)現(xiàn)電池管理系統(tǒng)產(chǎn)業(yè)化具有重要意義。
[1]張忠義,羌嘉曦,楊林,等.混合動(dòng)力汽車電池管理系統(tǒng)[J].機(jī)電工程技術(shù),2006,35(1):61-64.
[2]池建軍,呂彩琴,王孝.電控發(fā)動(dòng)機(jī)標(biāo)定系統(tǒng)開(kāi)發(fā)的關(guān)鍵技術(shù)[J].柴油機(jī)設(shè)計(jì)與制造,2006,14(3):337-340.
[3]王鳳國(guó).ISG型混合動(dòng)力汽車電池管理系統(tǒng)優(yōu)化與標(biāo)定[D].北京:北京航空航天大學(xué),2007
[4]馮靜,王俊席,卓斌.基于CCP協(xié)議的電控發(fā)動(dòng)機(jī)標(biāo)定系統(tǒng)CAN通信模塊的研發(fā)[J].內(nèi)燃機(jī)工程,2003,24(5):33-38.
[5]GALLACHER A M.The automatic calibration optimization of powertrain for automotive.AVL ECU and Calibration Technology,2001.