一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向车机测试的自检方法及自检装置与流程

2022-04-16 13:29:45 来源:中国专利 TAG:


1.本发明涉及一种面向车机测试的自检方法,同时也涉及相应的自检装置,属于汽车电子技术领域。


背景技术:

2.can(controller area network)是控制器局域网络的简称,是目前国际上应用最广泛的现场总线之一。电动汽车作为电子产品,车机系统内部具有复杂的通信设备,需要使用can协议进行内部通信。然而,在车机系统的使用过程中,存在很多不易判断原因导致的can消息发送失败,需要对其开展专门的测试工作。
3.通常,在车机测试的过程中,通常采用车机测试系统(简称测试系统,通常由安装测试软件的计算机实现)发送测试指令,通过分析车机系统返回的日志文件,或者通过其他验证手段来验证车机系统处理指令的合理性。这就需要分析大量基于can总线触发的测试用例。由于can总线由can_high和can_low两条信号线共同构成一组差分信号线,若要分析其是否有输出信号,需要连接逻辑分析仪,查看输出波形图,不能通过简单地闭环来完成自检。并且在验证的过程中,如果接收端没有收到can信息,却无法判断是发送端发生错误还是接收端接收出错,因而无法快速解决问题。
4.所以,如何避免can消息发送失败导致出错,或者快速解决can消息发送失败导致的问题,仍然是现有车机测试场景亟待解决的痛点之一。


技术实现要素:

5.本发明所要解决的首要技术问题在于提供一种面向车机测试的自检方法。
6.本发明所要解决的另一技术问题在于提供一种面向车机测试的自检装置。
7.为实现上述技术目的,本发明采用以下技术方案:
8.根据本发明实施例的第一方面,提供一种面向车机测试的自检方法,用于对测试设备和车机系统之间的can总线的通信进行检测,包括以下步骤:
9.从数据通道获取来自测试设备或车机系统中将要发送的包含can消息的数据帧,解码后获得所述can消息并且存储解码后can消息;
10.从can总线实时获取待验证can消息,并且对所述待验证can消息进行存储;
11.比对所述待验证can消息和所述解码后can消息,进行仲裁,确认所述can消息是否通过所述can总线进行了正确发送,并记录失败次数;
12.如果判断出发送在所述can总线上的can消息失败次数超过门限值,则将与失败次数对应的can消息通过所述can总线打包补发。
13.其中较优地,比对所述待验证can消息和所述解码后can消息,进行仲裁,确认所述can消息是否通过所述can总线进行了正确发送,包括以下子步骤:
14.从所述can总线获得所述待验证can消息时,记录从所述can总线上接收的接收时间t2和接收内容c2;
15.从所述数据通道接收到数据帧后,解析出can消息的预计的发送时间t1及发送内容c1;
16.根据所述接收时间t2,确定出与所述接收内容c2所对应的发送时间,然后再确定与所述接收内容c2所对应的解码后can消息;
17.将所述接收内容c2中的待验证can消息与所述接收内容c2所对应的解码后can消息进行比较,如果一致则判断为成功;如果不一致则判断为失败。
18.其中较优地,所述失败次数是指连续失败的次数,如果有一次发送成功,则将失败次数清零。
19.其中较优地,所述打包补发是指将从所述测试设备或所述车机系统发送失败的所有can消息,封装到消息帧,以一个数据包的形式,通过所述can总线发送给所述发送失败的can消息的接收方。
20.其中较优地,所述打包补发还包括由数据通道告知测试系统已完成can消息的补发。
21.根据本发明实施例的第二方面,提供一种面向车机测试的自检装置,用于对测试设备和车机系统之间的can总线的通信进行检测,包括:
22.所述自检装置包括can收发模块和can自检监测模块;
23.所述can收发模块通过can总线与所述测试设备和所述车机系统连接;
24.所述can自检监测模块通过数据通道与所述测试设备和所述车机系统连接,并且通过can总线连接所述测试设备和所述车机系统。
25.其中较优地,所述can自检监测模块通过数据服务器,利用所述数据通道与所述测试设备和所述车机系统连接,以获得来自所述测试设备和所述车机系统的数据帧。
26.其中较优地,所述can自检监测模块从数据通道获取来自测试设备或车机系统中将要发送的包含can消息的数据帧,解码后获得所述can消息并且存储解码后can消息;
27.所述can收发模块从can总线实时获取待验证can消息,并且对所述待验证can消息进行存储;
28.所述can自检监测模块比对所述待验证can消息和所述解码后can消息,进行仲裁,确认所述can消息是否通过所述can总线进行了正确发送,并记录失败次数;如果判断出发送在所述can总线上的can消息失败次数超过门限值,则将与失败次数对应的can消息通过所述can总线打包补发。
29.其中较优地,所述can自检监测模块被配置为执行以下操作:
30.从所述can总线获得所述待验证can消息时,记录从所述can总线上接收的接收时间t2和接收内容c2;
31.从所述数据通道接收到数据帧后,解析出can消息的预计的发送时间t1及发送内容c1;
32.根据所述接收时间t2,确定出与所述接收内容c2所对应的发送时间,然后再确定与所述接收内容c2所对应的解码后can消息;
33.将所述接收内容c2中的待验证can消息与所述接收内容c2所对应的解码后can消息进行比较,如果一致则判断为成功;如果不一致则判断为失败。
34.其中较优地,所述打包补发是指将从所述测试设备或所述车机系统发送失败的所
有can消息,封装到消息帧,以一个数据包的形式,通过所述can总线发送给所述发送失败的can消息的接收方。
35.与现有技术相比较,本发明所提供的面向车机测试的自检方法及自检装置具有以下技术效果:(1)快速高效地对can消息发送失败的原因进行定位,节约人力资源、时间成本和测试成本;(2)使测试系统持续正常工作,自动容灾,有效地提高了测试效率。
附图说明
36.图1a为本发明的一个实施例中,测试系统的整体结构示意图;
37.图1b为本发明的一个实施例中,测试系统的连接关系示意图;
38.图2为图1所示的实施例中,测试系统的硬件配置示意图;
39.图3为图1所示的实施例中,can自检监测模块的结构示意图;
40.图4为本发明的一个实施例中,面向车机测试的自检方法流程图;
41.图5为图4所示的实施例中,判断can总线中can消息是否符合预期的流程图;
42.图6为图4所示的实施例中,自检方法的另一示例的部分流程图;
43.图7为本发明的另一个实施例中,can自检监测模块的结构示意图;
44.图8为本发明的另一个实施例中,面向车机测试的自检方法流程图。
具体实施方式
45.下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。
46.如图1a所示,典型的车机测试系统100包括测试设备1100、自检装置1200以及车机系统1300。其中,自检装置1200包括can收发模块1210和can自检监测模块1220。
47.测试设备1100通过有线或无线通信方式与can收发模块1210连接。同时,测试设备1100与can自检监测模块1220通过通信网络1230连接。can收发模块1210通过can总线与测试设备1100和车机系统1300连接。并且,can自检监测模块1220通过数据通道连接车机系统1300,还通过can总线连接测试设备1100和车机系统1300。如图1b所示,can收发模块也可以被can模块代替,其作为测试系统的can接口,测试系统通过该can模块与车机系统之间在can总线上通信。can自检监测模块则通过usb连接线或网线与can模块通信,同时也通过can总线与车机系统及测试系统进行通信。
48.本发明实施例中,测试设备1100是具有通信功能、业务处理功能的电子设备。如图2所示,测试设备1100包括处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260、扬声器1270、麦克风1280。其中,处理器1210包括中央处理器cpu、微处理器mcu等。存储器1220包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等,用于存储控制处理器1210进行操作以执行本发明实施例提供的包含can消息的数据帧的指令。接口装置1230包括usb接口、耳机接口等。通信装置1240包括有线通信和无线通信。显示装置1250包括液晶显示屏、触摸显示屏等。输入装置1260包括触摸屏、键盘等。扬声器1270和麦克风1280用于输入/输出语音信息。
49.如图3所示,即图1中can自检监测模块1220的结构框图。can自检监测模块1220包括数据帧获取模块7100、can消息获取模块7200、数据验证模块7300、can消息发送模块7400和数据帧发送模块7500。can自检监测模块1220的数据帧获取模块7100、数据验证模块7300
和数据帧发送模块7500,通过数据通道与机车系统1300或测试设备1100进行通信;can自检监测模块1220的can消息获取模块7200和can消息发送模块7400通过can总线与机车系统1300或测试设备1100进行通信,因此实现两路独立的通信,从而可以通过can自检监测模块1220对can总线上的数据传送情况进行监测,并及时补发can消息。
50.数据帧获取模块7100用于从数据通信获取待验证的数据帧,该数据帧包含在can总线上即将传输的can消息中。can消息获取模块7200用于从can总线获取与所述数据帧对应的can消息。数据验证模块7300用于验证从can总线接收的can消息与从数据通信获得的数据帧中携带的can消息的一致性,即对针对所述can消息帧发送的正确性进行验证。
51.当数据验证模块7300验证出can总线上没能连续成功发送的can消息帧的数目超过预设的阈值时,利用由数据帧获取模块7100接收到的数据帧,将其转换成对应的can消息帧(即,未发出的消息帧),并由can消息发送模块7400打包发送给机车系统1300(或者测试设备1100)。数据帧发送模块7500用于发送验证的测试结果给测试设备1100(或者机车系统1300)。
52.如图4所示,本发明还提供一种面向车机测试的自检方法,具体包括以下步骤:
53.s4100:通过数据帧获取模块7100从数据通道获取来自测试设备或车机系统中将要发送的包含can消息的数据帧(该数据帧中携带有can消息),解码后获得can消息并且将该can消息进行存储。
54.数据帧一般包括帧头、数据部分和帧尾,其中,帧头和帧尾包含一些必要的控制信息,例如同步信息、差错控制信息等,数据部分则包含实际待传输的can消息,例如车辆行驶速度,车内温度,车窗车门开关情况等。
55.在具体实施时,数据帧可以在软件测试过程中由用户控制将终端设备与应用服务器通信时,终端设备生成的日志文件中产生的数据帧发送至实施该方法的数据验证服务器,并由该数据验证服务器根据该数据帧验证其编码处理是否正确。另外,数据帧也可以由用户直接将用于进行编码处理的应用程序部署在数据验证服务器上,由数据验证服务器在该应用程序与应用服务器通信的过程中,自动获取该数据帧,并与can自检监测模块1220或测试设备1100进行信息比对,其详细处理过程此处不再赘述。
56.通过数据帧获取模块7100从数据通道获取来自测试设备1100或车机系统1300中将要发送的包含can消息的数据帧(该数据帧中携带有can消息),解码后获得can消息并且将其作为解码后can消息进行存储。
57.s4200:通过can消息获取模块7200从can总线实时获取待验证的can消息,并且将实时检测到的can消息进行存储。
58.can消息获取模块7200,从can总线实时获取的can总线上的待验证的can消息,并将其作为待验证can消息进行存储。
59.s4300:通过数据验证模块7300比对待验证can消息和解码后can消息,进行仲裁,确认can消息是否通过can总线进行了正确发送,并记录失败次数。
60.待验证can消息来自can总线,因此需要判断待验证can消息(来自测试设备1100或车机系统1300)发送是否符合预期,即可分析出测试系统是否正确地发送(接收)了测试消息。
61.如图5所示,从数据通道接收到数据帧后,解析出can消息的预计发送时间t1及发
送内容(即解码后can消息)c1。由于数据通道是通过单片机从测试设备1100直接获得数据,不是从can总线获得,因此从数据通道获得的数据帧的准确性是可靠的,可以用作仲裁的基准。
62.从can总线获得的待验证can消息,并已记录从can总线上接收的接收时间t2和接收的内容(即待验证can消息)c2。
63.首先根据待验证can消息的接收时间t2与实时获得的数据帧的发送时间进行比对,以接收时间t2相关的t2-1s至t2 1s的区间去查找数据帧进行比对,确定出该待验证can消息所对应的发送时间t1,从而进一步根据发送时间t1确定对应的解码后can消息。也可以较优的,通过用户设定的一个时间范围值(t2-δt,t2 δt),在该时间范围内查找与待验证can消息对应的数据帧,并将该数据帧与待验证can消息进行比对。
64.由此实现将时间对应的待验证can消息(来自can总线)与解码后can消息(来自数据通道)进行比较。在此,将检测can消息的错误码定义如下:
65.0001:车机系统侧发送消息丢失
66.0002:测试装置侧发送消息丢失
67.0003:延迟超出预置的阈值
68.0004:协议帧解析失败,误码告警。
69.如果数据验证模块7300判断出:在发送时间t1发出数据帧,但是与发送时间t1对应的接收时间t2的时间范围内没有接收到来自can总线的待验证can消息,那么就判断为失败原因为0001或0002。将会在网络页面显示验证结果为0001(如果在t1时间是车机系统1300发送can消息)或0002(如果在t1时间是测试设备1100发送can消息)。
70.如果在与发送时间t1对应的接收时间t2接收到来自can总线的待验证can消息,那么进行下一步骤:验证消息帧内容是否一致。
71.如果can总线接收成功,数据验证模块7300则会验证消息帧内容是否一致。如果发送内容c1和接收内容c2不一致,即待验证can消息与解码后can消息不同,可判断出该失败的原因可能为延迟(t2-t1)超出预设的阈值(根据can总线为高速或低速来进行设定阈值)或协议帧解析失败导致误码告警,验证结果将会在网络页面显示0003或0004。如判断出该失败的原因可能为延迟(t2-t1)超出预设的阈值(根据can总线为高速或低速来进行设定阈值),则验证结果会在网络页面显示为0003;如果是协议帧解析失败而导致误码告警,则验证结果将会在网络页面显示为0004。
72.如果发送内容c1和接收内容c2一致,则表示记录can总线接收成功。
73.s4400:将验证结果提供至访问自身的网络页面进行展示。
74.如图6所示,本发明所提供的自检方法的另一实施例,在前述步骤的基础上还包括以下步骤:
75.s5100:判断出测试设备can收发模块发送在can总线上的can消息连续失败的次数超过事先设定的门限值。
76.在步骤s4300中已判断出并记录了can总线消息发送失败的失败次数。在步骤s5100中判断失败次数是否超过预定的门限值。如果失败次数已超过预定的门限值,则进入下一步;如果失败次数没有超过预定的门限值,则等待下一次判断。
77.此处失败原因不做区分,无论是can总线接收失败的次数超过门限值、发送内容c1
和接收内容c2不一致的次数超过门限值以及两种情况失败的次数加起来超过门限值都会进入下一步。并且,前述失败的次数是连续失败的次数,即,如果有一次发送成功,则将失败次数清零。
78.s5200:监测模块启动应急模式,将失败次数对应的can消息打包补发。
79.从测试设备1100或车机系统1300发送失败的can消息,通过can消息发送模块7400,以消息帧(携带有要发送的can消息)形式,打包发送至can总线,同时由数据通道告知测试系统已完成can消息的发送。
80.打包补发是指将从所述测试设备或所述车机系统发送失败的每个can消息,封装到消息帧,以一个数据包的形式,在判定失败后的设定时间内,通过所述can总线发送给所述发送失败的can消息的接收方
81.由此,本发明通过设置can接收失败的门限值,该值代表了测试系统发送can消息连续失败次数,当比对发现测试系统发送can消息连续失败次数超过门限时,can自检监测模块将启动发送机制。从测试系统发送失败的can消息将从自检监测模块发送至can总线中,同时由数据通道告知测试系统,其已完成can消息的发送。
82.s5300:将容灾处理结果提供至访问自身的网络页面进行展示。
83.图7为本发明的另一个实施例中,can自检监测模块的结构示意图。其中,can自检监测模块构成can总线协议的一个节点,包括can控制器和can收发器。can控制器包括单片机(例如独立can通信控制器mcp2515,也可以是arduino或者其他单片机),本发明实施例中采用树莓派系统。由于树莓派本身并不支持can总线,因此使用sp i接口的can控制器,搭配一个收发器完成can功能。这是本领域的公知技术,故在此不做详细描述。can自检监测模块中的can控制器与测试设备1100通过usb、有线或无线连接方式进行信息交互,并控制can收发器从can总线接收或发送can消息,从而与车机系统1300或测试设备1100通信。
84.如图8所示,测试系统1在can总线上发送测试指令,can自检监测模块1220通过can总线接口监测到测试指令或can消息,并传递给控制器(例如树莓派);同时,测试系统1通过数据通道(例如网线或usb线),以数据帧(即将can消息作为数据帧的数据部分)的形式,发送给控制器(树莓派)测试系统1在can总线上发送的can消息(测试指令)。控制器(树莓派)通过websocket接口或者usb传输线接收到该条信息。控制器判断由测试系统发送出来的can消息是否符合预置的指令,并将比对结果反馈给测试系统。
85.如果测试系统连续发生can消息的次数超出了预置,can自检监测模块可发送预置的can消息至can总线,完成容灾。
86.本发明实施例中的数据验证是由控制器(树莓派)实现。即,控制器实现数据帧获取、数据验证和数据帧发送。同时,利用can控制器和can收发器配合实现从can总线上收发can消息。
87.可在测试用例开始之前(但不限于此),测试系统向车机发送一条测试指令,同时测试系统通过usb通信或者网络通信(数据通信是一种方式,但不限于此)告知can自检监测模块,can总线发送过来的数据以备比对使用。
88.can自检监测模块通过对比来自can总线监测到的数据和来自数据通信的can发送比对数据,如果比对成功,判断该次通信测试系统发送成功。如果比对失败,对进行测试系统发送失败的计数,存放在can自检监测模块的数据库中,同时将该次失败发送回测试系
统。
89.综上所述,本发明所提供的面向车机测试的自检方法及自检装置具有以下技术效果:(1)快速高效地对can消息发送失败的原因进行定位,节约人力资源、时间成本和测试成本;(2)使测试系统持续正常工作,自动容灾,有效地提高了测试效率。
90.上面对本发明所提供的面向车机测试的自检方法及自检装置进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质内容的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献