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