宋超
(湖南中車(chē)時(shí)代電動(dòng)汽車(chē)股份有限公司,湖南株洲412007)
基于CAN總線(xiàn)的整車(chē)控制器自動(dòng)測(cè)試系統(tǒng)
宋超
(湖南中車(chē)時(shí)代電動(dòng)汽車(chē)股份有限公司,湖南株洲412007)
針對(duì)整車(chē)控制器大量IO端口測(cè)試需求,提出一種基于CAN總線(xiàn)的簡(jiǎn)易自動(dòng)測(cè)試系統(tǒng),以已測(cè)整車(chē)控制器為測(cè)試設(shè)備,結(jié)合自定義測(cè)試交互協(xié)議,自動(dòng)實(shí)現(xiàn)對(duì)被測(cè)控制器任意類(lèi)型、方向、位置端口的批量測(cè)試任務(wù)。
整車(chē)控制器;CAN總線(xiàn);自動(dòng)測(cè)試
整車(chē)控制器作為新能源汽車(chē)電控的核心部分,參與了車(chē)輛信號(hào)狀態(tài)的采集與部件控制,其IO端口數(shù)量占據(jù)了整個(gè)車(chē)輛新增電控系統(tǒng)的絕大部分。目前,行業(yè)內(nèi)整車(chē)控制器硬件開(kāi)發(fā)普遍采用OEM方式,即由專(zhuān)業(yè)的汽車(chē)電子設(shè)計(jì)公司進(jìn)行控制器的硬件設(shè)計(jì)、生產(chǎn)與出廠(chǎng)測(cè)試,并提供配套的基礎(chǔ)軟件庫(kù);新能源整車(chē)廠(chǎng)家或系統(tǒng)集成商基于模型開(kāi)發(fā)應(yīng)用功能,通過(guò)自動(dòng)代碼生成技術(shù),與基礎(chǔ)軟件耦合實(shí)現(xiàn)整車(chē)控制器的完整功能。
為確保整車(chē)控制器出廠(chǎng)時(shí)的可靠性與可用性,各整車(chē)廠(chǎng)家或系統(tǒng)集成商在產(chǎn)品交付前都需要進(jìn)行控制器端口的功能測(cè)試。由于端口數(shù)量眾多,采用人工方式檢測(cè)必然導(dǎo)致極低的檢測(cè)效率和較高的測(cè)量成本,所以越來(lái)越多地開(kāi)始采用自動(dòng)化的檢測(cè)手段進(jìn)行控制器的端口測(cè)試,常用的方式是采用專(zhuān)業(yè)的測(cè)試設(shè)備,如NI、dSPACE硬件測(cè)試產(chǎn)品。自動(dòng)化的專(zhuān)業(yè)測(cè)試設(shè)備能夠提供各類(lèi)型信號(hào)輸出與采集,配合自動(dòng)化測(cè)試軟件完成所有端口功能的測(cè)試。這種測(cè)試過(guò)程操作簡(jiǎn)單,效率高,但是帶來(lái)的問(wèn)題是測(cè)試設(shè)備成本較為昂貴[1-4]。
為此,本文提出一種基于CAN總線(xiàn)的整車(chē)控制器的自動(dòng)測(cè)試系統(tǒng),該系統(tǒng)的測(cè)試設(shè)備與被測(cè)控制器均為同類(lèi)型產(chǎn)品,測(cè)試設(shè)備已提前采用人工方式測(cè)試通過(guò),實(shí)際測(cè)試時(shí)測(cè)試設(shè)備對(duì)被控控制器進(jìn)行信號(hào)生成與采集,再通過(guò)自定義的測(cè)試協(xié)議實(shí)現(xiàn)測(cè)試任務(wù)分解、命令下發(fā)、狀態(tài)校驗(yàn)、結(jié)果反饋等過(guò)程的自動(dòng)執(zhí)行。
新能源系統(tǒng)中,整車(chē)控制器承擔(dān)了核心的控制任務(wù),它收集駕駛員的駕駛行為與操作裝置的狀態(tài),控制車(chē)輛的上下電過(guò)程與運(yùn)行模式,決定系統(tǒng)的動(dòng)力組成與能量分配,優(yōu)化部件的燃油消耗與工作效率,監(jiān)督系統(tǒng)的異常狀態(tài)與運(yùn)行故障,實(shí)現(xiàn)人-機(jī)-車(chē)的高效運(yùn)行與安全保護(hù)。
整車(chē)控制器主控芯片一般選用16位或32位汽車(chē)級(jí)單片機(jī),具備強(qiáng)大的輸入輸出功能與數(shù)據(jù)處理能力,能夠?qū)崿F(xiàn)車(chē)輛的復(fù)雜功能控制與眾多部件保護(hù)。在硬件層面,完成了多路數(shù)字量輸入(DI)、模擬量輸入(AI)、頻率量輸入(FI)、數(shù)字量輸出(DO)、模擬量輸出(AO)、PWM、CAN等驅(qū)動(dòng)功能。圖1為整車(chē)控制器硬件的典型
架構(gòu)[5-8]。
圖1 整車(chē)控制器硬件架構(gòu)圖
整車(chē)控制器采集的車(chē)載電氣信號(hào),包括由儀表臺(tái)鑰匙、開(kāi)關(guān)、按鈕產(chǎn)生的開(kāi)關(guān)量輸入(即數(shù)字量輸入)信號(hào),其他部件、裝置的開(kāi)關(guān)量反饋信號(hào),加速踏板、制動(dòng)踏板構(gòu)成的模擬量輸入信號(hào)等。
整車(chē)控制器控制車(chē)載設(shè)備的電氣信號(hào),包括驅(qū)動(dòng)繼電器、接觸器的開(kāi)關(guān)量輸出信號(hào),控制風(fēng)扇、直流電機(jī)的PWM(脈沖寬度調(diào)制)輸出信號(hào),控制發(fā)動(dòng)機(jī)油門(mén)的模擬量輸出信號(hào)等。
整車(chē)控制器的網(wǎng)絡(luò)信號(hào)具備雙向性,主要基于CAN總線(xiàn)與其他部件進(jìn)行信息交互。以AMT(機(jī)械式自動(dòng)變速器)并聯(lián)插電式系統(tǒng)為例,上電后,整車(chē)控制器需要與驅(qū)動(dòng)電機(jī)MCU(電機(jī)控制器單元)、動(dòng)力電池BMS(電池管理系統(tǒng))、發(fā)動(dòng)機(jī)ECU、AMT控制器、打氣泵DC/AC、助力轉(zhuǎn)向DC/AC、儀表、空調(diào)等部件電控單元進(jìn)行周期性的數(shù)據(jù)通信[9],如圖2所示。
圖2AMT并聯(lián)插電式系統(tǒng)整車(chē)控制器關(guān)聯(lián)信號(hào)與部件
整車(chē)控制器采樣端口較多,但信號(hào)種類(lèi)較為集中,且輸入信號(hào)可通過(guò)輸出端口生成,輸出信號(hào)可通過(guò)輸入端口進(jìn)行測(cè)量。因此,利用已測(cè)量的整車(chē)控制器作為測(cè)試設(shè)備,對(duì)其他整車(chē)控制器進(jìn)行測(cè)試是完全可行的。
基于CAN總線(xiàn)的整車(chē)控制器自動(dòng)測(cè)試系統(tǒng)(以下測(cè)試系統(tǒng)),利用端口類(lèi)型匹配特點(diǎn)搭建測(cè)試設(shè)備與被測(cè)對(duì)象的聯(lián)合測(cè)試環(huán)境,通過(guò)自定義的CAN協(xié)議實(shí)現(xiàn)測(cè)試設(shè)備對(duì)被測(cè)對(duì)象指定類(lèi)型、方向、位置端口的測(cè)量,同時(shí)結(jié)合自行開(kāi)發(fā)的上位機(jī)測(cè)試軟件,完成被測(cè)端口信息的批量導(dǎo)入、下發(fā),測(cè)試結(jié)果的自動(dòng)獲取,報(bào)表生成等功能。
2.1 系統(tǒng)結(jié)構(gòu)
測(cè)試系統(tǒng)各部件之間通過(guò)CAN總線(xiàn)進(jìn)行組網(wǎng),實(shí)現(xiàn)數(shù)據(jù)交互。整個(gè)系統(tǒng)由4部分組成:已測(cè)試完成的整車(chē)控制器,即測(cè)試設(shè)備;待測(cè)試的整車(chē)控制器,即被測(cè)對(duì)象;上位機(jī)與自動(dòng)化測(cè)試軟件;CAN連接設(shè)備。系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 整車(chē)控制器自動(dòng)測(cè)試系統(tǒng)結(jié)構(gòu)
其中,測(cè)試設(shè)備與被測(cè)整車(chē)控制器之間既有普通的IO電氣線(xiàn)束連接,也有CAN總線(xiàn)連接,根據(jù)被測(cè)對(duì)象CAN接口數(shù)量的不同,CAN總線(xiàn)依此命名為CANA、CANB、CANC等。測(cè)試設(shè)備通過(guò)CAN總線(xiàn)與上位機(jī)連接,中間需要CAN連接設(shè)備進(jìn)行協(xié)議轉(zhuǎn)換,測(cè)試設(shè)備與上位機(jī)之間的CAN屬于測(cè)試系統(tǒng)內(nèi)部CAN。
2.2 通信協(xié)議
測(cè)試過(guò)程中,測(cè)試軟件將測(cè)試命令下發(fā)到測(cè)試設(shè)備,測(cè)試設(shè)備發(fā)起到被測(cè)整車(chē)控制器的測(cè)試任務(wù)。測(cè)試完成后,測(cè)試設(shè)備將結(jié)果反饋給測(cè)試軟件。因此,基于CAN總線(xiàn)的整車(chē)控制器自動(dòng)測(cè)試系統(tǒng)需要建立測(cè)試軟件到測(cè)試設(shè)備、測(cè)試設(shè)備到被測(cè)整車(chē)控制器的兩條網(wǎng)絡(luò)鏈路。
為實(shí)現(xiàn)對(duì)測(cè)試端口方向、類(lèi)型、數(shù)值等多參數(shù)的適用性,靈活、可靠的通信協(xié)議制定成了整個(gè)測(cè)試系統(tǒng)的核心。自動(dòng)測(cè)試系統(tǒng)采用CAN2.0協(xié)議,基于擴(kuò)展幀進(jìn)行信息收發(fā),8個(gè)數(shù)據(jù)字節(jié)長(zhǎng)度的報(bào)文內(nèi)容被明確分配給不同意義的命令或狀態(tài)[10]。
自動(dòng)測(cè)試系統(tǒng)的消息幀分為控制幀和狀態(tài)幀兩大類(lèi)(見(jiàn)表1和表2),根據(jù)消息的發(fā)送方向進(jìn)行區(qū)別。其中,由測(cè)試軟件到測(cè)試設(shè)備的消息幀HC1、測(cè)試設(shè)備到被測(cè)控制器的消息幀TC1屬于控制幀,由被測(cè)控制器到測(cè)試設(shè)備的消息幀CS1、測(cè)試設(shè)備到測(cè)試軟件的消息幀TS1屬于狀態(tài)幀。
表1 控制幀結(jié)構(gòu)
表2 狀態(tài)幀結(jié)構(gòu)
命令碼分為寫(xiě)命令與讀命令兩類(lèi)。寫(xiě)命令時(shí),測(cè)試設(shè)備產(chǎn)生信號(hào),被測(cè)控制器讀取信號(hào)并進(jìn)行反饋;讀命令時(shí),被測(cè)控制產(chǎn)生信號(hào),測(cè)試設(shè)備讀取后進(jìn)行反饋。
控制器被測(cè)端口信號(hào)類(lèi)型分為DI(低有效)、DI(高有效)、DO(低邊驅(qū)動(dòng))、DO(高邊驅(qū)動(dòng))、AI、AO、FI、PWM、CAN。
信號(hào)數(shù)值根據(jù)“控制器被測(cè)端口信號(hào)類(lèi)型”進(jìn)行區(qū)分,控制幀發(fā)送的是信號(hào)的設(shè)定值,狀態(tài)幀反饋的是信號(hào)的采樣值。
2.3 應(yīng)答機(jī)制
測(cè)試開(kāi)始時(shí),測(cè)試系統(tǒng)自動(dòng)建立測(cè)試軟件到測(cè)試設(shè)備、測(cè)試設(shè)備到被測(cè)控制器的“握手”連接;實(shí)現(xiàn)測(cè)試設(shè)備、被測(cè)控制器輸出端口的初始化操作。
對(duì)于DI、AI、FI類(lèi)型輸入端口的測(cè)試,測(cè)試軟件首先發(fā)送HC1報(bào)文到測(cè)試設(shè)備,“通知”測(cè)試設(shè)備在哪個(gè)端口輸出信號(hào)、被測(cè)控制器在哪個(gè)端口接收信號(hào)以及信號(hào)的目標(biāo)值。數(shù)字信號(hào)的目標(biāo)值為0、1,模擬量信號(hào)的目標(biāo)值為0~100,頻率量信號(hào)的目標(biāo)值包括目標(biāo)頻率與占空比。測(cè)試設(shè)備接收到HC1報(bào)文后,判斷命令序號(hào)是否更新、目標(biāo)端口是否為指定類(lèi)型的輸入端口、目標(biāo)數(shù)值是否在正常范圍,判斷結(jié)果在TS1報(bào)文進(jìn)行反饋。如果HC1信息正確,測(cè)試設(shè)備在目標(biāo)端口輸出信號(hào),同時(shí)發(fā)送TC1報(bào)文給被測(cè)控制器,“通知”被測(cè)控制器在指定端口接收數(shù)據(jù)。被測(cè)控制器接收到TC1報(bào)文后,同樣會(huì)進(jìn)行命令序號(hào)、端口索引、數(shù)值范圍的判斷,如果正常則在指定端口讀取數(shù)據(jù)后進(jìn)行反饋,否則直接報(bào)錯(cuò)。以上過(guò)程持續(xù)進(jìn)行,直到測(cè)試軟件接收到錯(cuò)誤或被測(cè)控制器反饋的數(shù)據(jù)到達(dá)目前數(shù)值有效范圍或超時(shí)。
對(duì)于DO、AO、PWM類(lèi)型輸出端口的測(cè)試,測(cè)試軟件通知測(cè)試設(shè)備在哪個(gè)端口讀取信號(hào)、被測(cè)控制器在哪個(gè)端口輸出信號(hào)以及信號(hào)的目標(biāo)值,測(cè)試過(guò)程與輸入端口的測(cè)試類(lèi)似。
對(duì)于CAN網(wǎng)絡(luò)通信功能的測(cè)試,測(cè)試軟件將目標(biāo)周期與目標(biāo)報(bào)文數(shù)量通過(guò)測(cè)試設(shè)備轉(zhuǎn)發(fā)給被測(cè)控制器,被測(cè)控制器接收到命令后按設(shè)定周期自動(dòng)進(jìn)行指定數(shù)量報(bào)文的發(fā)送,發(fā)送完成后,被測(cè)對(duì)象自動(dòng)退出本次測(cè)試任務(wù)。測(cè)試設(shè)備統(tǒng)計(jì)本次測(cè)試任務(wù)接收到CAN報(bào)文的通信時(shí)間與數(shù)量。測(cè)試軟件對(duì)結(jié)果進(jìn)行分析,判斷被測(cè)控制器的通信功能與時(shí)間基準(zhǔn)是否滿(mǎn)足設(shè)計(jì)要求。
2.4 超時(shí)保護(hù)
除了正常的校驗(yàn)錯(cuò)誤,測(cè)試過(guò)程還會(huì)出現(xiàn)由于網(wǎng)絡(luò)中斷、延時(shí)導(dǎo)致的測(cè)試故障。為確保系統(tǒng)實(shí)現(xiàn)故障響應(yīng)與退出,測(cè)試系統(tǒng)支持超時(shí)保護(hù)功能。測(cè)試軟件到測(cè)試設(shè)備、測(cè)試設(shè)備到被測(cè)控制器之間的主動(dòng)連接都會(huì)設(shè)置超時(shí)限制,以500 ms為例,如果沒(méi)有接收到對(duì)應(yīng)的反饋報(bào)文,報(bào)文發(fā)送方會(huì)進(jìn)行報(bào)文的再次發(fā)送,如此重復(fù)3次。超時(shí)確認(rèn)后,測(cè)試軟件結(jié)束當(dāng)前測(cè)試任務(wù)。同樣,對(duì)于測(cè)試設(shè)備、被測(cè)控制器,如果本次測(cè)試任務(wù)開(kāi)啟后,待接收的目前報(bào)文持續(xù)丟失,也會(huì)觸發(fā)超時(shí)響應(yīng)。
2.5 測(cè)試系統(tǒng)驗(yàn)證
基于CAN總線(xiàn)的整車(chē)控制器自動(dòng)測(cè)試系統(tǒng)示意圖如圖4所示,最頂部電腦為安裝有自動(dòng)測(cè)試軟件的上位機(jī)。測(cè)試設(shè)備和被測(cè)對(duì)象由兩個(gè)完全相同的整車(chē)控制器組成,其中代表測(cè)試設(shè)備的整車(chē)控制器IO端口功能已經(jīng)測(cè)試通過(guò)。測(cè)試設(shè)備和被測(cè)對(duì)象都集成了自動(dòng)測(cè)試通信協(xié)議底層驅(qū)動(dòng),能夠主動(dòng)響應(yīng)各項(xiàng)測(cè)試任務(wù)與功能。為驗(yàn)證測(cè)試系統(tǒng)的功能及效果,兩臺(tái)上位機(jī)安裝標(biāo)定軟件后,對(duì)設(shè)備與被測(cè)對(duì)象內(nèi)部變量數(shù)值進(jìn)行實(shí)時(shí)監(jiān)控。車(chē)輛實(shí)際運(yùn)行時(shí),整車(chē)控制器部分端口信息通過(guò)CAN網(wǎng)絡(luò)發(fā)送給儀表進(jìn)行顯示,為驗(yàn)證測(cè)試任務(wù)與其他任務(wù)的優(yōu)先級(jí)關(guān)系,測(cè)試系統(tǒng)也提供了被測(cè)控制器到儀表的連接與信息顯示。
圖4 整車(chē)控制器自動(dòng)測(cè)試系統(tǒng)示意圖
利用測(cè)試系統(tǒng)對(duì)整車(chē)控制器的各類(lèi)端口進(jìn)行測(cè)試,基于測(cè)試設(shè)備標(biāo)定軟件采集對(duì)應(yīng)端口的目標(biāo)值、實(shí)際值進(jìn)行實(shí)時(shí)存儲(chǔ)。從各類(lèi)型端口的歷史數(shù)據(jù)中選擇一例作目標(biāo)信號(hào)、實(shí)際信號(hào)的數(shù)值對(duì)比,結(jié)果如圖5所示。由圖5可知,目標(biāo)數(shù)值給定后,信號(hào)正確給出,測(cè)試設(shè)備在約一個(gè)周期后正確獲取到信號(hào)的實(shí)際值,測(cè)試流程正確執(zhí)行;對(duì)于單一的數(shù)字量、模擬量、PWM、CAN通信等測(cè)試任務(wù),利用自動(dòng)測(cè)試系統(tǒng)均可在100ms內(nèi)完成,信號(hào)給定、狀態(tài)檢測(cè)、結(jié)果分析等耗時(shí)幾乎可以忽略,和人工測(cè)試方式相比,在測(cè)試時(shí)間與測(cè)試人員數(shù)量方面得到極大改善。同時(shí)由于測(cè)試軟件自行開(kāi)發(fā),測(cè)試設(shè)備為已有整車(chē)控制器產(chǎn)品,整個(gè)測(cè)試系統(tǒng)成本僅限于線(xiàn)束、CAN連接設(shè)備,和動(dòng)輒數(shù)十萬(wàn)的商用測(cè)試系統(tǒng)相比,成本大幅降低。
圖5 整車(chē)控制器端口測(cè)試曲線(xiàn)
基于CAN總線(xiàn)的整車(chē)控制器自動(dòng)測(cè)試系統(tǒng),以現(xiàn)有設(shè)備為基礎(chǔ)構(gòu)建簡(jiǎn)易測(cè)試環(huán)境,不需要額外的專(zhuān)業(yè)測(cè)試軟件與信號(hào)生成、采集設(shè)備,大幅降低自動(dòng)測(cè)試系統(tǒng)使用成本。通過(guò)設(shè)計(jì)可靠、靈活的自動(dòng)測(cè)試協(xié)議,實(shí)現(xiàn)不同信號(hào)類(lèi)型、方向、引腳位置的控制器接口測(cè)試。通過(guò)開(kāi)發(fā)測(cè)試報(bào)文的應(yīng)答響應(yīng)與超時(shí)保護(hù)機(jī)制,建立了測(cè)試軟件、測(cè)試設(shè)備、被測(cè)整車(chē)控制器之間有效的CAN網(wǎng)絡(luò)連接。整個(gè)測(cè)試過(guò)程協(xié)議交互、參數(shù)設(shè)置、信號(hào)輸出采集轉(zhuǎn)換等功能均可靠完成,測(cè)試過(guò)程快速、穩(wěn)定,能夠有效地滿(mǎn)足整車(chē)控制器端口的自動(dòng)化測(cè)試需求。
[1]鄧冠豐.dSPACE系統(tǒng)在整車(chē)控制器開(kāi)發(fā)上的應(yīng)用[J].機(jī)電技術(shù),2013(1):80-82.
[2]柳熹,于蘭,辛明華,等.電動(dòng)汽車(chē)整車(chē)控制器自動(dòng)檢測(cè)技術(shù)[J].汽車(chē)工程師,2014(12):54-56.
[3]張戟,孫澤昌,金明,等.清潔能源汽車(chē)整車(chē)控制器硬件設(shè)計(jì)及模擬負(fù)載硬件在環(huán)仿真系統(tǒng)[J].機(jī)械與電子,2007(4):35 -37.
[4]邱靜,湯峰.純電動(dòng)客車(chē)整車(chē)控制器設(shè)計(jì)及測(cè)試[J].合肥學(xué)院學(xué)報(bào):自然科學(xué)報(bào),2015,25(2):54-57.
[5]張翔.純電動(dòng)汽車(chē)整車(chē)控制器進(jìn)展[J].汽車(chē)電器,2011(2):1-5.
[6]童志剛,方進(jìn),鐘崢華.電動(dòng)汽車(chē)整車(chē)控制器設(shè)計(jì)與應(yīng)用[J].客車(chē)技術(shù)與研究,2013,35(3):33-36.
[7]孟祥志,孫曉山,邊敦新,等.電動(dòng)客車(chē)整車(chē)控制器CAN接口設(shè)計(jì)[J].自動(dòng)化應(yīng)用,2013(8):28-29.
[8]郭盟,南金瑞,郭峰.增程式電動(dòng)客車(chē)整車(chē)控制器的設(shè)計(jì)[J].重慶理工大學(xué)學(xué)報(bào):自然科學(xué),2013,27(1):7-12.
[9]宋超,席力克,羅銳,等.基于AMT并聯(lián)混合動(dòng)力系統(tǒng)的CAN通信設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(13):59-61.
[10]羅峰,孫澤昌.汽車(chē)CAN總線(xiàn)系統(tǒng)原理設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2010.
修改稿日期:2017-02-17
Automatic Test System for Vehicle Controller Based on CAN Bus
SongChao
(Hunan CCRCTimes Electric Vehicle Co.,Ltd,Zhuzhou 412007,China)
Accordingtothe test requirements ofvehicle controller's manyIO ports,the author presents a simple automatic test system based on CAN bus,which uses a measured vehicle controller as the test equipment and combines with the custom test communication protocol to automatically implement the batch testing tasks for any type,direction and position ports ofthe controller tobe measured.
vehicle controller;CANbus;automatic test
U463.6
B
1006-3331(2017)03-0056-04
宋超(1987-),男,碩士;工程師;主要從事新能源客車(chē)控制軟件平臺(tái)開(kāi)發(fā)與動(dòng)力系統(tǒng)設(shè)計(jì)工作。