基于CAN总线的汽车诊断服务网络层测试系统及方法技术方案

技术编号:24994786 阅读:18 留言:0更新日期:2020-07-24 17:57
本发明专利技术公开了一种基于CAN总线的汽车诊断服务网络层测试系统及方法,它包括CAN数据转换设备和外部测试装置,所述CAN数据转换设备用于通过CAN总线连接至待测试ECU;所述外部测试装置用于通过CAN数据转换设备连接至待测试ECU,以在启动待测试ECU时,通过外部测试装置对待测试ECU的汽车统一诊断服务网络层的时间参数和数据格式进行检测,并对汽车统一诊断服务网络层的异常操作进行测试。

【技术实现步骤摘要】
基于CAN总线的汽车诊断服务网络层测试系统及方法
本专利技术属于汽车电控测试
,具体涉及一种基于CAN(ControllerAreaNetwork,控制器局域网络)总线的汽车诊断服务网络层测试系统及方法。技术背景汽车统一诊断服务(Unifieddiagnosticservices,缩写UDS)是实现车辆标准化诊断通信的系统。对其进行专业而规范的测试必不可少。它能保证协议栈符合国际标准,满足通信设计需求。因此,汽车统一诊断服务测试技术也是汽车电控开发过程中较为重要的一个方面。目前,汽车控制器统一诊断服务的诊断测试工作均依靠德国Vector公司的诊断工具链进行。诊断测试时,先通过CANdelaStudio软件(Vector公司一款专门用于编辑诊断数据库的软件)建立诊断数据库文件,再利用CANoeOptionDiVa软件自动生成测试用例,然后在CANoe软件中搭配硬件进行执行测试,其中,CANdelaStudio软件为用于编辑诊断数据库的软件,CANoeOptionDiVa软件为用于诊断自动化测试的软件,CANoe软件为CAN通信工具。一套完整的工具链需要的软、硬件数量多,成本巨大,并且以上方法为对整个UDS协议的测试,上述工具对诊断的测试偏重于诊断功能,不具备单独对网络层测试的功能,无法单独对网络层进行测试。
技术实现思路
本专利技术的目的是针对上述技术问题,提供一种基于CAN总线的汽车诊断服务网络层测试系统及方法,本专利技术能够避免使用高成本的诊断测试工具链,有效地降低了测试成本,而且能够单独对网络层进行准确测试。为实现此目的,本专利技术所设计的一种基于CAN总线的汽车诊断服务网络层测试系统,它包括CAN数据转换设备(Kvaser硬件)和外部测试装置,所述CAN数据转换设备用于通过CAN总线连接至待测试ECU(ElectronicControlUnit,电子控制单元);所述外部测试装置用于通过CAN数据转换设备连接至待测试ECU,以在启动待测试ECU时,通过外部测试装置对待测试ECU的汽车统一诊断服务网络层的时间参数、数据格式及异常操作测试。本专利技术通过上述方式,能够避免使用高成本的诊断测试工具链,有效地降低测试成本,另外,本专利技术能够单独对网络层进行测试,满足了系统开发时,对网络层单独测试的需求。附图说明图1为本专利技术的结构示意图;图2为本专利技术的流程图。其中,1—CAN数据转换设备、2—外部测试装置。具体实施方式以下结合附图和实施例对本专利技术作进一步的详细说明:如图1所示的基于CAN总线的汽车诊断服务网络层测试系统,它包括CAN数据转换设备1和外部测试装置2,所述CAN数据转换设备1用于通过CAN总线连接至待测试ECU;所述外部测试装置2用于通过CAN数据转换设备1连接至待测试ECU,以在启动待测试ECU时,通过外部测试装置2根据ISO15765标准对待测试ECU的汽车统一诊断服务网络层的时间参数、数据格式及异常操作进行测试。上述技术方案中,所述汽车统一诊断服务网络层的时间参数测试包括Bs时间测试、Cr时间测试、STmin时间测试和可用STmin测试,以上Bs时间、Cr时间、STmin时间和可用STmin均为ISO15765标准里的专用定义,分别为接收下一个流控制帧的最长时间、接收下一个连续帧的最长时间、两个连续帧之间的最小间隔时间、可用的两个连续帧之间的最小间隔。上述技术方案中,所述汽车统一诊断服务网络层的数据格式测试包括单帧数据长度测试、首帧数据长度测试、等待流控帧测试、溢出流控帧测试和Blocksize(数据块大小)测试。上述技术方案中,所述汽车统一诊断服务网络层的异常操作测试包括传输数据丢失测试、单帧无效测试、单帧DLC位不正确测试(DateLengthCode位为根据ISO15765规定,用于规定数据场长度的字节位)、双帧测试、单帧中断请求测试、首帧短于DLC位定义测试、首帧中断请求测试、单独的首帧测试、首帧功能寻址测试、连续帧丢失测试、丢失某一连续帧测试、连续帧延迟测试、连续帧无效测试、连续帧DLC位不正确测试、不期望的连续帧测试、连续帧中断请求测试、无流控制帧测试、流控制帧延迟测试、多余流控制帧测试、流控帧短于DLC位定义测试、错误的流控帧测试、不期望的流控制帧测试、流控制帧功能寻址测试、流控制帧中断请求测试、溢出流控制帧中断响应测试、未知帧测试和未知帧中断响应测试。上述技术方案中,数据异常测试是指容错性测试,如不期望的连续帧这一测试项测试,测试设备将会在正常回复的帧后面加一帧不期望的连续帧,如控制器不理会,正常回复,则该项OK,否则该项NOK。所有项测试完成将生成一个报告。上述技术方案中,所述CAN数据转换设备1的高位CAN总线接口(CAN_H)和低位CAN总线(CAN_L)接口分别连接到待测试ECU的高位CAN总线接口和低位CAN总线接口。上述技术方案中,所述外部测试装置2的测试软件采用Python语言和Qt语言进行编制,其中,Python语言用于进行调用硬件、后台处理,Qt语言用于进行外部测试装置2的软件操作界面设计。硬件是图1中的CAN转换装置。后台处理是外部测试设备的上位机软件的后台,后台处理包括:调用收发报文模块、数据分析模块、上位机显示模块等。上述技术方案中,所述待测试ECU直接上电启动或者通过车辆主控制器统一控制进行启动和关闭。进而根据不同的控制策略进行操作测试。上述技术方案中,所述CAN数据转换设备1为CAN卡,CAN卡用于实现CAN接口转USB接口,外部测试装置2通过USB接口连接CAN数据转换设备1。需要说明的是,在本实施方式中,USB接口还可以采用USB集线器的方式,以实现同时在线的多测试功能(一个外部测试装置只能对一个控制器进行测试,但多个外部测试装置可以同时在线同时为多个控制器进行测试,每个外部测试装置的配置步骤是一样的),此外,外部测试装置2可以为PC,PC可以为近端线路连接、也可以进一步通过USB连接至局域网或者广域网直至云端服务器的方式存在。上述设计可以将CAN总线网络上的报文通过USB接口传输到PC个人电脑上,通过txt、excel、CANoe软件来查看CAN报文,以此可以实现离线数据回放功能。一种基于CAN总线的汽车诊断服务网络层测试方法,如图2所示,它包括如下步骤:步骤1:将待测试ECU通过CAN总线连接至CAN数据转换设备1;步骤2:将外部测试装置2通过CAN数据转换设备1连接至待测试ECU;步骤3:在外部测试装置2的测试软件界面中填写测试输入,启动待测试ECU,通过外部测试装置2对待测试ECU的汽车统一诊断服务网络层的时间参数、数据格式及异常操作测试。所述测试输入包括:请求ID、响应ID、功能寻址ID、DID(单帧)、DID(多帧)等。通过上位机输入后,即可开始测试。上位机软件就会根据输入,按测试用例依次进行汽车统一诊断服务网络层的时间参数、数据格式及数据状态异常容错性测试,测试完本文档来自技高网...

【技术保护点】
1.一种基于CAN总线的汽车诊断服务网络层测试系统,其特征在于,它包括CAN数据转换设备(1)和外部测试装置(2),所述CAN数据转换设备(1)用于通过CAN总线连接至待测试ECU;所述外部测试装置(2)用于通过CAN数据转换设备(1)连接至待测试ECU,以在启动待测试ECU时,通过外部测试装置(2)对待测试ECU的汽车统一诊断服务网络层的时间参数、数据格式及异常操作进行测试。/n

【技术特征摘要】
1.一种基于CAN总线的汽车诊断服务网络层测试系统,其特征在于,它包括CAN数据转换设备(1)和外部测试装置(2),所述CAN数据转换设备(1)用于通过CAN总线连接至待测试ECU;所述外部测试装置(2)用于通过CAN数据转换设备(1)连接至待测试ECU,以在启动待测试ECU时,通过外部测试装置(2)对待测试ECU的汽车统一诊断服务网络层的时间参数、数据格式及异常操作进行测试。


2.根据权利要求1所述的基于CAN总线的汽车诊断服务网络层测试系统,其特征在于:所述汽车统一诊断服务网络层的时间参数测试包括Bs时间测试、Cr时间测试、STmin计时测试和可用STmin测试。


3.根据权利要求1所述的基于CAN总线的汽车诊断服务网络层测试系统,其特征在于:所述汽车统一诊断服务网络层的数据格式测试包括单帧数据长度测试、首帧数据长度测试、等待流控帧测试、溢出流控帧测试和Blocksize测试。


4.根据权利要求1所述的基于CAN总线的汽车诊断服务网络层测试系统,其特征在于:所述汽车统一诊断服务网络层的异常操作测试包括传输数据丢失测试、单帧无效测试、单帧DLC位不正确测试、多帧测试、单帧中断请求测试、首帧短于DLC位定义测试、首帧中断请求测试、单独的首帧测试、首帧功能寻址测试、连续帧丢失测试、丢失某一连续帧测试、连续帧延迟测试、连续帧无效测试、连续帧DLC位不正确测试、不期望的连续帧测试、连续帧中断请求测试、无流控制帧测试、流控制帧延迟测试、多余流控制帧测试、流控帧短于DLC位定义测试、错误的流控帧测试、不期望的流控制帧测试、流控制帧功能寻址测试、流控制帧中断请求测试、溢出流控制帧中断响应测试、未知帧测试和未知帧中断响应测试。


5.根据权利要求1所述的基于CAN总线的汽车诊断服务网络层测试系统,其特征在于:所述CAN数据转换设备(1)的高位CAN总线接口和低位CAN总线接口分别连接到待测试ECU的高位CAN总线接口和低位CAN总线接口;
所述待测试ECU直接上电启动或者通过车辆主控制器统一控制进行启动和关闭;
所述CAN数据转换设备(1)为CAN卡,CAN卡用于实现CAN接口转USB接口,外部测试装置(2)通过USB接口连接CAN数据转换设备(1)。


6.根据权利要求1所述的基于CAN总线的汽车诊断服务网络层测试系统,其特征在于:所述外部测试装置(2)的测试软件采用Python语言和Qt语言进行编制,其中,Python语言用于进行调用硬件、后台处理,Qt语言用于进行外部测试装置(2)的软件操作界面设计。


7.一种基于CAN总线的汽车诊断服务网络层测试方法,其特征在于,它包括如下步骤:
步骤1:将待测试ECU通过CAN总线连接至CAN数据转换设备(1);
步骤2:将外部测试装置(2)通过CAN数据转换设备(1)连接至待测试ECU;
步骤3:在外部测试装置(2)的测试软件界面中填写测试输入,启动待测试ECU,通过外部测试装置(2)对待测试ECU的汽车统一诊断服务网络层的时间参数、数据格式及异常操作测试。


8.根据权利要求7所述的基于CAN总线的汽车诊断服务网络层测试方法,其特征在于:所述汽车统一诊断服务网络层的时间参数测试的具体方法如下:
Bs时间测试:外部测试装置(2)通过CAN数据转换设备(1)向待测ECU发送多帧请求,以验证待测ECU能否在Bs时间内发送流控制帧,如果待测ECU能在Bs时间内发送流控制帧,则该项测试通过,否则不通过;
Cr时间测试:外部测试装置(2)通过CAN数据转换设备(1)向待测ECU发送请求,当Blocksize为0时,待测ECU应发送全部响应,不需要等待流控制帧,验证能否在Cr时间内接收到全部连续帧,如外部测试装置(2)通过CAN数据转换设备(1)在Cr时间接收到全部连续帧,则该项测试通过;否则不通过;
STmin计时测试:外部测试装置(2)通过CAN数据转换设备(1)对多帧响应发送流控制帧,待测ECU应给出全部响应,外部测试装置通过CAN数据转换设备(1)监控待测ECU任意两条连续帧之间的时间不低于STmin,如待测ECU任意两条连续帧之间的时间不低于STmin,则该项测试通过,否则不通过;
可用STmin测试:外部测试装置(2)通过CAN数据转换设备(1)向待测ECU发送多帧报文请求来测试待测ECU的STmin时间,STmin时间应在0x01-0x7F之间,如待测ECU响应的STmin时间在0x01-0x7F之间,则该项测试通过,否则不通过。


9.根据权利要求8所述的基于CAN总线的汽车诊断服务网络层测试方法,其特征在于:所述汽车统一诊断服务网络层的数据格式测试的具体方法如下:
单帧数据长度测试:外部测试装置(2)通过CAN数据转换设备(1)向待测ECU发送预期响应为单帧的请求报文,并检查待测ECU响应单帧的数据长度是否在允许范围内,如果待测ECU响应单帧的数据长度在允许范围内,则该项测试通过,否则不通过;
首帧数据长度测试:外部测试装置(2)通过CAN数据转换设备(1)向待测ECU发送预期响应为多帧的请求报文,在接收首帧之后应确认首帧中数据长度是否在有效的范围内,如果首帧中数据长度在有效的范围内,则该项测试通过,否则不通过;
等待流控帧测试:外部测试装置(2)通过CAN数据转换设备(1)对多帧响应报文的首帧发送等待流控制帧,并判断待测ECU是否进行响应,如不响应,则该项测试通过,否则不通过;
溢出流控帧测试:外部测试装置(2)通过CAN数据转换设备(1)对多帧响应报文的首帧发送溢出流控制帧,并判断待测ECU是否进行响应,如果不响应,则该项测试通过,否则不通过;
Blocksize测试:外部测试装置(2)通过CAN数据转换设备(1)对待测ECU发送具有Blocksize参数的流控帧,待测ECU响应的连续帧必须满足BlockSize要求,如果待测ECU响应的连续帧满足BlockSize要求,则该项测试通过,否则不通过。


10.根据权利要求8所述的基于CAN总线的汽车诊断服务网络层测试方法,其特征在于:所述汽车统一诊断服务网络层的异常操作测试的具体方法如下:
传输数据丢失测试...

【专利技术属性】
技术研发人员:鲁盼郑韩麟叶婷
申请(专利权)人:东风汽车集团有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1