技術領域
本發(fā)明涉及一種基于CAN/LIN/MOST混合型總線網(wǎng)關路由自動化測試系統(tǒng)及測試方法,屬于車載控制器總線測試領域。
背景技術:
隨著汽車電子行業(yè)的快速發(fā)展,車載總線網(wǎng)絡越來越復雜,往往采用混合型多路總線網(wǎng)絡進行電子電氣架構(gòu)的開發(fā)。不同網(wǎng)段之間需要網(wǎng)關進行報文及信號轉(zhuǎn)發(fā),進而實現(xiàn)不同網(wǎng)段之間的信息交互。為保證網(wǎng)關能夠及時正確轉(zhuǎn)發(fā)相關報文及信號,裝車前需要對網(wǎng)關進行測試驗證。
現(xiàn)有網(wǎng)關路由測試基本是通過手動測試完成,通過將總線工具仿真網(wǎng)關路由表中網(wǎng)關接收的報文,查看網(wǎng)關能否及時正確轉(zhuǎn)發(fā)相應的報文及信號,由于網(wǎng)關路由表中網(wǎng)關接收的報文成百上千,因此測試工作效率低,測試周期長。
可以在實車上通過總線工具監(jiān)測不同網(wǎng)段之間的報文信號,進行網(wǎng)關路由測試驗證。主要是查看報文信號是否能正確轉(zhuǎn)發(fā),測試方法較為簡單,但測試覆蓋度較低,不能夠模擬報文信號變化,只能通過控制車輛相關操作實現(xiàn)報文信號變化,且測試場景受到限制。
現(xiàn)有的網(wǎng)關路由測試只能夠進行簡單的CAN-CAN網(wǎng)關路由測試及CAN-LIN網(wǎng)關路由測試,對于新型多媒體總線MOST總線沒有相關路由測試經(jīng)驗,現(xiàn)有網(wǎng)關路由測試平臺無法通用,擴展性不強,且不具有相通性。
不是簡單的疊加就可以實現(xiàn),因為此發(fā)明在測試MOST-CAN路由測試時可以同時進行CAN-CAN及CAN-LIN的測試,且在同一個系統(tǒng)中實現(xiàn),可以同一時間軸觀測數(shù)據(jù),這樣能保證測試的同步性及實時性,而簡單的CAN-CAN及CAN-LIN相互疊加無法實現(xiàn)上述功能。
技術實現(xiàn)要素:
為了克服上述現(xiàn)有技術的不足,本發(fā)明的目的在于提供了一種基于CAN/LIN/MOST混合型總線網(wǎng)關路由自動化測試系統(tǒng)及測試方法,不僅實現(xiàn)了相同總線類型間的網(wǎng)關路由測試,而且也實現(xiàn)不同總線類型間的網(wǎng)關路由測試,且實現(xiàn)了多級路由測試(MOST-CAN-LIN),通用性較好,且具備可擴展性;同時通過上位機軟件及其它軟件自動化測試,克服了手動測試種種缺點,大大提高了網(wǎng)關路由測試的精確性、可靠性及工作效率。
本發(fā)明的技術方案是這樣實現(xiàn)的:一種基于CAN/LIN/MOST混合型總線網(wǎng)關路由自動化測試系統(tǒng)及測試方法,其硬件包括:程控電源、多通道CAN總線解析仿真工具CANcaseXL、LIN總線解析仿真工具、多通道MOST總線解析仿真工具MOCCA、控制器連接繼電器板卡及安裝自動化測試程序的實時工控機;其特征在于:通過以上硬件完成:CAN-CAN網(wǎng)關路由測試、CAN-LIN網(wǎng)關路由測試CAN-MOST網(wǎng)關路由測試;CAN-CAN網(wǎng)關路由測試支持任意路不同總線速率CAN總線的路由測試,通過路由信息列表導入到上位機軟件的方式仿真路由源網(wǎng)段的報文信息,檢測目標網(wǎng)段的總線行為完成網(wǎng)關節(jié)點路由功能的單件測試。測試內(nèi)容項包括:直接路由報文周期一致性測試、周期路由報文周期一致性測試、直接路由報文標識符一致性測試、周期路由報文標識符一致性、直接路由報文數(shù)據(jù)長度一致性測試、周期路由報文數(shù)據(jù)長度一致性測試、報文路由信號位置(最低位)一致性測試、報文路由信號位置(最高位)一致性測試、信號路由信號位置(最低位)一致性測試、信號路由信號位置(最高位)一致性測試、報文路由信號一致性測試、信號路由信號一致性測試、直接報文路由信號延時時間測試、直接信號路由信號延時時間測試、周期報文路由初始值測試、周期信號路由初始值測試、周期報文路由超時值測試、周期信號路由超時值測試、周期報文路由上次值測試、周期信號路由上次值測試、網(wǎng)關路由喚醒時間測試、網(wǎng)關路由睡眠時間測試等。
CAN-LIN網(wǎng)關路由測試支持LIN網(wǎng)段作為路由源網(wǎng)段、CAN網(wǎng)段作為路由目標網(wǎng)段的路由測試和支持CAN網(wǎng)段作為路由源網(wǎng)段、LIN網(wǎng)段作為路由目標網(wǎng)段的路由測試兩種形式。測試內(nèi)容項包括:報文路由周期一致性測試、信號路由一致性測試、報文路由一致性測試、信號路由延時測試等。
CAN-MOST網(wǎng)關路由測試支持MOST網(wǎng)段作為路由源網(wǎng)段、CAN網(wǎng)段作為路由目標網(wǎng)段的路由測試和支持CAN網(wǎng)段作為路由源網(wǎng)段、MOST網(wǎng)段作為路由目標網(wǎng)段的路由測試兩種形式。先通過CANdb++工具將CAN數(shù)據(jù)庫轉(zhuǎn)變成xml格式,這樣K2L Viewer可加載*.xml文件,進行報文解析及仿真發(fā)送。CAN-MOST網(wǎng)關路由測試可以通過MOCCA工具定制開發(fā)實現(xiàn)。通過K2L Viewer既可以仿真MOST報文、監(jiān)測CAN報文,又可以仿真CAN報文、監(jiān)測MOST報文,然后進行腳本開發(fā)實現(xiàn)相關測試用例,再通過上位機程序加載路由表進行路由解析,最后執(zhí)行相關測試用例即可實現(xiàn)MOST-CAN網(wǎng)關路由功能自動化測試,測試內(nèi)容項包括:報文路由周期一致性測試即MOST報文到CAN總線后周期是否正確、信號路由信號一致性測試即CAN-MOST信號路由位置及信號值是否正確、信號路由延時測試即CAN-MOST路由延遲時間有沒有超過設計要求時間。
網(wǎng)關路由自動化測試及管理的方法流程包括如下步驟:
步驟 S1,軟件啟動后,自動查詢信息數(shù)據(jù)庫[F6]獲取數(shù)據(jù)庫中保存的所有車型信息、測試類型信息、測試規(guī)范信息及測試用例信息等,并在軟件中顯示相關信息。根據(jù)當前系統(tǒng)需求,若下一步進行測試用戶管理,則進入步驟S4;若進行網(wǎng)關路由自動化測試執(zhí)行,則進入步驟S2。
步驟 S2,進行網(wǎng)關路由自動化測試時需要判斷此網(wǎng)關路由自動化測試是否進行過測試管理,若沒有進行測試管理,則進入步驟S3;若直接執(zhí)行網(wǎng)關路由自動化測試,則進入步驟S5。
步驟S3,測試管理需要判斷下一步進行用戶管理還是其它管理,若進行用戶管理,則進入步驟S4;若進行其它管理,則進入步驟S10。
步驟S4,用戶管理需要對測試用戶進行管理,包括新建用戶、編輯用戶、刪除用戶等,且新建用戶也包括對用戶權限的設置等。完成用戶管理后則執(zhí)行結(jié)束。
步驟S5,測試信息錄入。從信息數(shù)據(jù)庫[F6]中選擇所測網(wǎng)關的車型,通過上位機軟件[F4]導入按照用戶定義特定格式編寫的網(wǎng)絡路由表并進行解析生成可供測試軟件使用的INI文件。該特定格式路由表可以通過軟件解析數(shù)據(jù)庫文件[F3]獲取,如CAN總線的DBC文件、LIN總線的LDF文件及MOST總線的XML文件等。路由信息表中定義路由網(wǎng)段個數(shù),各網(wǎng)段編號,路由報文及路由報文相關信息,路由信號及路由信號相關信息等。
步驟 S6,選取需要進行測試的測試用例。所有測試用例信息保存在測試用例數(shù)據(jù)庫[F2]的測試用例數(shù)據(jù)庫中,根據(jù)選擇的車型信息及測試類型信息將可以執(zhí)行的測試用例名稱顯示在界面上,以供選擇。
步驟 S7,開始測試。將要被測網(wǎng)關節(jié)點按照上位機解析網(wǎng)段編號連接到測試設備上,若編譯通過則進入到步驟S8,否則查看并修改錯誤輸入信息,重新進入步驟S7。
步驟 S8,依次執(zhí)行選中的測試項。具體實現(xiàn)方法如下:
測試用例庫[2]將選中的測試項用例依次執(zhí)行。在每一個測試項中,通過繼電器的開閉及對程控電源的命令發(fā)送,搭建測試用例所需的測試環(huán)境。然后逐條執(zhí)行該測試用例中的測試語句,獲得最終的測試結(jié)果,并將結(jié)果與評定標準信息進行對比,確定測試項是否通過。每個測試用例均生成獨立的測試記錄文件以保存測試數(shù)據(jù)。
步驟 S9,測試結(jié)束后,生成測試報告。單擊“生成報告”按鈕,自動測試軟件根據(jù)本次測試所屬類型,調(diào)用對應的報告模板,將測試結(jié)果數(shù)據(jù)寫入報告。完成生成測試報告后則執(zhí)行結(jié)束。
步驟 S10,若進行車型管理,則執(zhí)行車型管理,否則進入步驟S11。
步驟 S11,若進行測試規(guī)范管理,則執(zhí)行測試規(guī)范管理,否則進入步驟S12。
步驟 S12,若進行測試數(shù)據(jù)庫管理,則執(zhí)行測試數(shù)據(jù)庫管理,否則進入步驟S13。
步驟 S13,若進行參數(shù)管理,則執(zhí)行參數(shù)管理,否則進入步驟S14。
步驟 S14,若進行網(wǎng)關路由管理,則執(zhí)行網(wǎng)關路由管理,否則執(zhí)行結(jié)束。
所述的測試系統(tǒng)的網(wǎng)關直接報文路由一致性測試方法如下:
1、上位機軟件通過總線仿真采集工具仿真源網(wǎng)段路由報文發(fā)送給網(wǎng)關控制器;
2、通過總線采集工具監(jiān)測目標網(wǎng)段路由轉(zhuǎn)發(fā)的此報文;
3、判斷目標路由報文ID與數(shù)據(jù)庫定義的路由報文ID是否一致,若不一致則測試結(jié)果為Fail;
4、判斷目標路由報文DLC與數(shù)據(jù)庫定義的路由報文DLC是否一致,若不一致則測試結(jié)果為Fail;
5、判斷目標路由報文周期時間與數(shù)據(jù)庫定義的路由報文周期時間是否一致,若不一致則測試結(jié)果為Fail,若一致則直接報文路由一致性測試結(jié)果為PASS。
其它網(wǎng)關路由測試方法流程與上面類似,都是開始仿真源網(wǎng)段的報文或者信號,監(jiān)測目標網(wǎng)段報文及信號是否與網(wǎng)關路由規(guī)范一致,這里不再詳細描述。
本發(fā)明的積極效果是可以同時進行MOST到CAN、CAN到CAN及CAN到LIN的路由功能驗證,保證了測試的同步性、實時性及精確性,縮短了路由功能驗證的測試周期,極大地提高了路由功能驗證的測試效率,使得網(wǎng)關路由功能測試變得更加簡便,節(jié)省了大量的人力,降低了測試成本。
附圖說明
圖1為網(wǎng)關路由自動化測試系統(tǒng)的架構(gòu)圖。
圖2為網(wǎng)關路由自動化測試系統(tǒng)硬件平臺的結(jié)構(gòu)框圖。
圖3為網(wǎng)關自動化測試系統(tǒng)軟件系統(tǒng)結(jié)構(gòu)框圖。
圖4為網(wǎng)關自動化測試系統(tǒng)測試及管理方法流程圖。
圖5為網(wǎng)關直接報文路由一致性測試方法流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進一步的描述:如圖1所示一種基于CAN/LIN/MOST混合型總線網(wǎng)關路由自動化測試系統(tǒng)及測試方法,包括軟件系統(tǒng)架構(gòu)和硬件系統(tǒng)架構(gòu)。
軟件系統(tǒng)框架包括:
1、上位機控制程序:包括測試相關參數(shù)輸入、測試用例管理、測試報告生成及測試用戶管理等
2、CAN總線、LIN總線及MOST總線的通信數(shù)據(jù)庫,用于數(shù)據(jù)解析;
3、測試用例庫:可以選擇相應測試用例進行路由測試;
4、網(wǎng)關路由信息導入程序:將路由信息導入到系統(tǒng),用于路由測試信息調(diào)用;
5、網(wǎng)絡信號測試程序:用于總線報文數(shù)據(jù)信號的采集及不同總線信號采集工具的時間同步;
6、信息數(shù)據(jù)庫:包括測試車型數(shù)據(jù)庫、測試規(guī)范數(shù)據(jù)庫、測試結(jié)果數(shù)據(jù)庫等。
7、測試管理:包括對測試用戶管理、車型管理、測試規(guī)范管理、數(shù)據(jù)庫管理等等。
硬件系統(tǒng)包括程控電源、CAN/LIN/MOST總線仿真采集工具、CAN/LIN/MOST總線干擾儀、外圍接口電路、故障注入電路、網(wǎng)絡負載匹配電路及斷線測試盒。
根據(jù)系統(tǒng)架構(gòu),首先進行網(wǎng)關路由自動化測試硬件平臺搭建,如圖2所示。其中,
1、測試主機上位機程序通過以太網(wǎng)控制程控電源,實現(xiàn)對網(wǎng)關的供電控制;
2、穩(wěn)壓電源用來給總線測試板卡供電;
3、電源控制單元控制程控電源及穩(wěn)壓電源供電;
4、測試主機通過總線仿真采集工具(CANcaseXL、MOST MOCCA)等實現(xiàn)總線報文仿真及采集。其中一個CANcaseXL具有兩路CAN接口,一路CAN用于仿真CAN報文信號發(fā)送給網(wǎng)關控制器,另一路CAN用來監(jiān)測網(wǎng)關某一路CAN發(fā)出的信息(由于網(wǎng)關至少有兩路CAN,如果想同時監(jiān)測多路CAN需要增加CANcaseXL工具即可)。另一個CANcaseXL具有一路LIN接口、一路CAN接口,當測試CAN信息通過網(wǎng)關轉(zhuǎn)發(fā)LIN信息時,CAN接口用于仿真CAN報文發(fā)送給網(wǎng)關控制器,LIN接口用于監(jiān)測網(wǎng)關發(fā)出的LIN信息;當測試LIN信息通過網(wǎng)關轉(zhuǎn)發(fā)CAN信息時,LIN接口用于仿真LIN報文發(fā)送給網(wǎng)關控制器,CAN接口用于監(jiān)測網(wǎng)關發(fā)出的CAN信息。MOCCA工具具備4路CAN接口,一路MOST接口,當測試CAN信息通過網(wǎng)關轉(zhuǎn)發(fā)MOST信息時,CAN接口用于仿真CAN報文發(fā)送給網(wǎng)關控制器,MOST接口用于監(jiān)測網(wǎng)關發(fā)出的MOST信息;當測試MOST信息通過網(wǎng)關轉(zhuǎn)發(fā)CAN信息時,MOST接口用于仿真MOST報文發(fā)送給網(wǎng)關控制器,CAN接口用于監(jiān)測網(wǎng)關發(fā)出的CAN信息。
5、測試主機通過NI板卡控制總線測試板卡輸出;
6、總線測試板卡完成電源保護功能、實現(xiàn)終端負載匹配及繼電器的控制;
7、網(wǎng)關通過總線測試板卡與測試系統(tǒng)連接,總線測試板卡可以實現(xiàn)對其電源開關的控制、總線短路斷路的控制等。
本發(fā)明的軟件系統(tǒng)結(jié)構(gòu)框圖如圖3所示,其中,
1、MOCCA工具與網(wǎng)關控制器搭建一個MOST總線環(huán)。網(wǎng)關可以將CAN信息轉(zhuǎn)換為MOST信息發(fā)到MOST總線上,也可以將MOST總線信息轉(zhuǎn)換為CAN信息發(fā)到CAN總線上。網(wǎng)關可以連接多路CAN總線進行信息交互,也可以將CAN信息轉(zhuǎn)換為LIN信息發(fā)到LIN總線上,也可以將LIN信息轉(zhuǎn)換為CAN信息發(fā)到CAN總線上;
2、MOST Editor將MOST報文制作成*.xml格式的MOST數(shù)據(jù)庫,可供K2L Viewer和K2L MAG使用。K2L MAG將*.xml文件編譯生成*.dll文件,在上位機軟件中可以直接使用,實現(xiàn)對MOST數(shù)據(jù)庫中定義的FBlock、Function和OPType的調(diào)用。K2L Viewer可加載*.xml文件,對MOST網(wǎng)絡中的報文進行監(jiān)控、解析,并且能夠交互發(fā)送*.xml中定義的報文。
3、上位機軟件通過加載.xls路由表,解析生成可供測試軟件使用的INI文件,供測試軟件仿真MOST/CAN路由報文及監(jiān)測轉(zhuǎn)發(fā)報文,并通過CANoe軟件仿真CAN/CAN路由報文、CAN/LIN路由報文及監(jiān)測轉(zhuǎn)發(fā)報文實現(xiàn)網(wǎng)關路由自動化測試。
本發(fā)明的網(wǎng)關自動化測試系統(tǒng)中測試及管理的方法流程如圖4所示,參考網(wǎng)關路由自動化測試系統(tǒng)的架構(gòu)圖圖1,網(wǎng)關路由自動化測試及管理的方法流程包括如下步驟:
步驟 S1,軟件啟動后,自動查詢信息數(shù)據(jù)庫[F6]獲取數(shù)據(jù)庫中保存的所有車型信息、測試類型信息、測試規(guī)范信息及測試用例信息等,并在軟件中顯示相關信息。根據(jù)當前系統(tǒng)需求,若下一步進行測試用戶管理,則進入步驟S4;若進行網(wǎng)關路由自動化測試執(zhí)行,則進入步驟S2。
步驟 S2,進行網(wǎng)關路由自動化測試時需要判斷此網(wǎng)關路由自動化測試是否進行過測試管理,若沒有進行測試管理,則進入步驟S3;若直接執(zhí)行網(wǎng)關路由自動化測試,則進入步驟S5。
步驟S3,測試管理需要判斷下一步進行用戶管理還是其它管理,若進行用戶管理,則進入步驟S4;若進行其它管理,則進入步驟S10。
步驟S4,用戶管理需要對測試用戶進行管理,包括新建用戶、編輯用戶、刪除用戶等,且新建用戶也包括對用戶權限的設置等。完成用戶管理后則執(zhí)行結(jié)束。
步驟S5,測試信息錄入。從信息數(shù)據(jù)庫[F6]中選擇所測網(wǎng)關的車型,通過上位機軟件[F4]導入按照用戶定義特定格式編寫的網(wǎng)絡路由表并進行解析生成可供測試軟件使用的INI文件。該特定格式路由表可以通過軟件解析數(shù)據(jù)庫文件[F3]獲取,如CAN總線的DBC文件、LIN總線的LDF文件及MOST總線的XML文件等。路由信息表中定義路由網(wǎng)段個數(shù),各網(wǎng)段編號,路由報文及路由報文相關信息,路由信號及路由信號相關信息等。
步驟S6,選取需要進行測試的測試用例。所有測試用例信息保存在測試用例數(shù)據(jù)庫[F2]的測試用例數(shù)據(jù)庫中,根據(jù)選擇的車型信息及測試類型信息將可以執(zhí)行的測試用例名稱顯示在界面上,以供選擇。
步驟 S7,開始測試。將要被測網(wǎng)關節(jié)點按照上位機解析網(wǎng)段編號連接到測試設備上,若編譯通過則進入到步驟S8,否則查看并修改錯誤輸入信息,重新進入步驟S7。
步驟 S8,依次執(zhí)行選中的測試項。具體實現(xiàn)方法如下:
測試用例庫[2]將選中的測試項用例依次執(zhí)行。在每一個測試項中,通過繼電器的開閉及對程控電源的命令發(fā)送,搭建測試用例所需的測試環(huán)境。然后逐條執(zhí)行該測試用例中的測試語句,獲得最終的測試結(jié)果,并將結(jié)果與評定標準信息進行對比,確定測試項是否通過。每個測試用例均生成獨立的測試記錄文件以保存測試數(shù)據(jù)。
步驟 S9,測試結(jié)束后,生成測試報告。單擊“生成報告”按鈕,自動測試軟件根據(jù)本次測試所屬類型,調(diào)用對應的報告模板,將測試結(jié)果數(shù)據(jù)寫入報告。完成生成測試報告后則執(zhí)行結(jié)束。
步驟 S10,若進行車型管理,則執(zhí)行車型管理,否則進入步驟S11。
步驟 S11,若進行測試規(guī)范管理,則執(zhí)行測試規(guī)范管理,否則進入步驟S12。
步驟 S12,若進行測試數(shù)據(jù)庫管理,則執(zhí)行測試數(shù)據(jù)庫管理,否則進入步驟S13。
步驟 S13,若進行參數(shù)管理,則執(zhí)行參數(shù)管理,否則進入步驟S14。
步驟 S14,若進行網(wǎng)關路由管理,則執(zhí)行網(wǎng)關路由管理,否則執(zhí)行結(jié)束。
通過圖5舉例此測試系統(tǒng)的網(wǎng)關直接報文路由一致性測試方法流程,
6、上位機軟件通過總線仿真采集工具仿真源網(wǎng)段路由報文發(fā)送給網(wǎng)關控制器;
7、通過總線采集工具監(jiān)測目標網(wǎng)段路由轉(zhuǎn)發(fā)的此報文;
8、判斷目標路由報文ID與數(shù)據(jù)庫定義的路由報文ID是否一致,若不一致則測試結(jié)果為Fail;
9、判斷目標路由報文DLC與數(shù)據(jù)庫定義的路由報文DLC是否一致,若不一致則測試結(jié)果為Fail;
10、判斷目標路由報文周期時間與數(shù)據(jù)庫定義的路由報文周期時間是否一致,若不一致則測試結(jié)果為Fail,若一致則直接報文路由一致性測試結(jié)果為PASS。
其它網(wǎng)關路由測試方法流程與上面類似,都是開始仿真源網(wǎng)段的報文或者信號,監(jiān)測目標網(wǎng)段報文及信號是否與網(wǎng)關路由規(guī)范一致,這里不再詳細描述。