CN102033141B - 一种基于can总线汽车仪表的测试系统及方法 - Google Patents
一种基于can总线汽车仪表的测试系统及方法 Download PDFInfo
- Publication number
- CN102033141B CN102033141B CN200910190554.1A CN200910190554A CN102033141B CN 102033141 B CN102033141 B CN 102033141B CN 200910190554 A CN200910190554 A CN 200910190554A CN 102033141 B CN102033141 B CN 102033141B
- Authority
- CN
- China
- Prior art keywords
- test
- automobile instrument
- module
- speed
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
一种基于CAN总线汽车仪表的测试系统,包括单片机和CAN收发器,所述单片机包括控制模块、发送模块及计时模块,所述存储模块、发送模块、计时模块分别与所述控制模块电连接,所述发送模块通过CAN收发器与CAN总线汽车仪表相连接,还提供一种测试方法,测试系统进行初始化;控制模块根据其内部设定的程序:a.控制发送模块按照设定的周期向CAN总线汽车仪表发送速度报文;b.控制计时模块进行计时和/或计数;根据以上测试判断CAN总线汽车仪表的工作情况。以上技术方案,利用测试系统通过向CAN总线模拟发送连续甚至复杂的通讯报文,缩短了CAN总线汽车组合仪表的测试周期,有效降低了仪表的测试成本。
Description
技术领域
本发明涉及一种测试汽车仪表的系统和方法,尤其涉及一种测试CAN总线汽车仪表的系统和方法。
背景技术
CAN(Controller Area Network,控制器局域网)总线协议作为一种技术先进、实时性强、可靠性高的通讯协议,已经被广泛地应用于各种自动化控制系统中,在汽车电子领域,尤其在车用电控模块和仪表上也有着很好的应用前景。在汽车仪表系统内引入CAN总线,使得汽车仪表系统具有开放式、易扩展的结构,可以将以前的模拟组合的各分离式仪表数字化地统一管理起来,不仅减少了汽车系统的线束,简化了仪表系统的接口,提高了系统的抗干扰性,而且提高了仪表的稳定性、精度和寿命,大大增加了系统的数据流量。
CAN总线汽车仪表就是基于这一理念设计出来的,作为我国汽车业的一项科技含量高、具有自主技术知识产权的产品,得到了众多国内汽车制造尚的急切关注。它可以从汽车内部CAN网络上接收车辆的各种行驶状况参数,并以指针方式或数字方式实时显示给驾驶员。
而CAN总线汽车仪表在装车或者出售之前,首先应该对CAN总线汽车仪表产品进行测试,现有技术中存在一种对CAN总线汽车仪表产品进行测试的系统及方法,该系统包括配置模块、输入模块、虚拟输出模块和比较模块;在配置模块中,配置CAN总线汽车仪表的控制逻辑;输入模块向所述CAN总线汽车仪表和虚拟输出模块发送CAN报文;虚拟输出模块根据配置模块中的控制逻辑和输入模块发送的CAN报文,模拟所述CAN总线汽车仪表的输出;比较模块检测所述虚拟输出模块的输出与所述CAN总线汽车仪表的输出是否一致,如果一致则表明CAN总线汽车仪表测试正确;如果不一致则表明CAN总线汽车仪表测试错误。以上对CAN总线汽车仪表的测试方法,主要是通过给汽车仪表和虚拟输出模块发送单个报文点来测试仪表模块是否与虚拟输出模块输出的一致,显然,这种测试方法只是发送单个的间断报文,测试方法过于单一,不能反应仪表在CAN总线上复杂通讯情况下及变化的报文输出时的工作情况。
发明内容
本发明旨在解决现有技术中CAN总线汽车仪表测试过于单一,不能全面反应汽车仪表性能的问题,提供一种能够动态测试CAN总线汽车仪表的测试系统及方法,达到全面检测CAN总线汽车组合仪表的目的。
一种基于CAN总线汽车仪表的测试系统,包括单片机和CAN收发器,所述单片机包括控制模块、存储模块、发送模块及计时模块,所述存储模块、发送模块、计时模块分别与所述控制模块电连接,所述发送模块通过CAN收发器与CAN总线汽车仪表相连接;
所述存储模块,用于存储CAN总线汽车仪表测试用的各种速度报文信息;
所述发送模块,用于向CAN总线汽车仪表发送速度报文;
所述计时模块,用于在CAN总线汽车仪表测试中计时和/或计数;
所述控制模块,用于控制所述存储模块、发送模块及计时模块工作。
本发明还提供一种上述CAN总线汽车仪表测试系统的测试方法,包括以下步骤:
测试系统进行初始化;
控制模块根据其内部设定的程序:
a、控制发送模块按照设定的周期向CAN总线汽车仪表发送速度报文,
b、控制计时模块进行计时和/或计数;
根据以上测试判断CAN总线汽车仪表的工作情况。
以上技术方案,利用测试系统通过向CAN总线汽车仪表模拟发送连续甚至复杂的通讯报文,以此来精确检测CAN总线汽车仪表的工作情况,通过检测CAN总线汽车仪表在各种复杂情况下的工作状况,不仅为了在CAN总线汽车仪表在装车前能够及时发现问题,而且为车上CAN总线汽车仪表的更换带来很大的便捷性和精确性,同时缩短了CAN总线汽车组合仪表的测试周期,有效降低了仪表的测试成本。
附图说明
图1是本发明测试系统与CAN总线汽车仪表的连接示意图;
图2是本发明测试系统单片机的一种实施例的结构框图;
图3是本发明测试系统的主要测试流程图;
图4是本发明测试系统一种单片机的结构图;
图5是本发明测试系统的抖动车速测试流程图;
图6是本发明测试系统的匀加减速测试流程图;
图7是本发明测试系统的CAN负载率测试一种实施例的流程图;
图8是本发明测试系统的CAN负载率测试另一种实施例的流程图;
图9是本发明测试系统的丢包测试一种实施例的流程图;
图10是本发明测试系统的丢包测试另一种实施例的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
结合图1和图2所示,本发明CAN总线汽车仪表的测试系统包括单片机和CAN收发器,该单片机包括控制模块、存储模块、发送模块及计时模块,存储模块、发送模块、计时模块分别与所述控制模块电连接,发送模块通过CAN收发器与CAN总线汽车仪表相连接;
存储模块,用于存储CAN总线汽车仪表测试用的各种速度报文信息;
发送模块,用于向CAN总线汽车仪表发送各种速度报文;
计时模块,用于在CAN总线汽车仪表测试中计时和计数;;
控制模块,用于控制所述存储模块、发送模块及计时模块对所述CAN总线汽车仪表进行相应检测试。
测试系统与CAN总线汽车仪表通过CAN总线进行通讯,具体地,测试系统的发送模块通过通道RX和TX与CAN收发器相连接,CAN收发器通过CAN_H和CAN_L连接CAN总线汽车仪表,测试系统通过控制模块控制模拟产生CAN总线汽车仪表需要接收和处理的各种车速报文信息,并按一定的周期将该通信报文通过CAN线路(CAN_H和CAN_L)发送给CAN总线汽车仪表。
存储模块,预先存储CAN总线汽车仪表测试用的各种车速报文信息,建立一个CAN总线汽车仪表报文数据库,包括各种车速报文,即从最小车速到最大车速之间的所有连续值速度报文。
发送模块,依照控制模块的控制向CAN总线汽车仪表发送各种车速报文;如控制模块需要控制测试系统发送一个15km/h的速度报文信息,首先控制模块会通过存储模块调取一个15km/h的报文信息,然后控制模块控制发送模块发送此报文信息到CAN总线汽车仪表,这样CAN总线汽车仪表就会显示一个15km/h的速度信息。
计时模块,在CAN总线汽车仪表的测试过程中,需要通过计时模块来进行相应的计时和计数,如报文发送周期计时、报文发送次数的计数和计时及一些数据变量的计数等,其具体的计时原理和计数过程将在下面具体的测试过程中一一详述。
控制模块,根据需求或者输出控制来控制存储模块、发送模块、计时模块进行相应的工作。控制模块可以根据需求调出存储模块内预存的相关速度报文信息,调出相关速度报文信息后,控制模块可以控制发送模块进行对此速度报文信息的模拟发送,控制发送模块将此报文信息模拟发送给CAN总线汽车仪表,而且,控制模块可以控制计时模块对相应速度报文的发送周期及报文次数进行计时或者计数,控制完成对CAN总线汽车仪表的各种的测试功能。
以上所述的单片机可以采用现有普通的带有计时模块的单片机对该CAN总线汽车仪表进行检测,只要对该单片机的内部控制程序按照本发明的控制策略进行重新编程即可。图4所示为本发明中优选采用的一种单片机,其型号为freescale的MC9S08DZ60单片机,该单片机的控制模块包括CPU,存储模块包括用户闪存、用户EEPROM、用户RAM,计时模块包括实时计数器、定时器,发送模块包括转换器、比较器及相应的输入输出端口,因该单片机为本领域的公知技术,因此其中每个模块的具体结构在此不做详述。该单片机通过发送模块的RX和TX接口与CAN收发器相连接,然后通过CAN收发器的CAN_H和CAN_L接口接入CAN总线汽车仪表。
如图3所示,本发明测试系统具有的对CAN总线汽车仪表的测试包括抖动车速测试、匀加减速测试、CAN负载率测试和/或丢包测试。CAN总线汽车仪表测试系统开始工作后,整个系统首先进行初始化,将原内部计时模块的各种计时或者计数清零,然后对CAN总线汽车仪表进行相应的测试。其中,上述几种测试相互之间可以进行切换,如果对CAN总线汽车仪表进行抖动车速测试,那么在测试开始前,可以提前将测试系统的测试切换到抖动车速测试,然后对CAN总线汽车仪表进行抖动车速测试;当抖动车速测试结束后,可以将测试系统的测试切换到匀加减速测试,对CAN总线汽车仪表进行匀加减速测试,当匀加减速测试完成后,可以将测试系统的测试切换到CAN负载率测试或者丢包测试,总之,几种测试之间可以根据需求相互切换。当然,所述测试系统可以只设置一种测试,可以只包括抖动车速测试、或者匀加减速测试、或者CAN负载率测试、或者丢包测试。测试系统也可以设置抖动车速测试、匀加减速测试、CAN负载率测试及丢包测试中的至少两种测试,优选地,当测试系统设置抖动车速测试、匀加减速测试、CAN负载率测试及丢包测试中的至少两种测试时,所设置的测试之间的切换可通过设置在测试系统中的按键来实现,通过单片机上的普通I/O接口连接一个或几个按键,通过按键来实现测试系统不同测试之间的切换。如果测试系统只设置一种测试模式,则可以设置与单片机上的普通I/O接口连接的按键来实现控制测试的开始和结束,也可以不设置按键而通过内部程序直接控制测试的开始。作为进一步改进,所述单片机通过I/O接口还连接一复位键,当系统需要初始化或者四种测试相互转换后并进行下一个模式的测试前,都可通过操作此复位键来对测试系统的控制程序进行初始化。
下面,结合以上所述对汽车仪表的各种测试的过程进行一一讲解。
图5所示为对CAN总线汽车仪表的抖动车速测试控制流程图,在测试前,根据CAN总线汽车仪表应用的车型来进行设置测试系统的各种参数,设定车速能够在时间T1内从车速0加速到车速V,或者在时间T1内能够从车速V减速到车速0,设定发送模块的固定发送车速报文的周期为T_SPD,测试系统内部的速度报文变量为newSPD,CAN总线汽车仪表接收的速度报文变量为curSPD,当测试系统中的计时模块计时达到发送模块的固定发送车速报文的周期T_SPD时,控制模块根据特定的计算公式计算后从存储模块调取一个车速报文并赋予变量newSPD此速度报文值,然后控制模块控制发送模块将此车速报文发送给CAN总线汽车仪表,CAN总线汽车仪表就会显示该车速,即curSPD等于该车速,CAN总线测试仪表的指针指示该车速。此时,因为汽车在时间T1内能够从车速0加速到车速V,或者在时间T1内能够从车速V减速到车速0,所以在周期T_SPD内,车速变化范围为-V*T_SPD/T1-V*T_SPD/T1,也就是说,发送模块第一次发送给CAN总线汽车仪表的速度报文与第二次发送给CAN总线汽车仪表的速度报文之间的差异范围为-V*T_SPD/T1-V*T_SPD/T1,这样CAN总线汽车仪表的指针会出现相应的抖动,指针的抖动范围为-V*T_SPD/T1-V*T_SPD/T1。具体的控制步骤如下:
步骤一,测试系统选择抖动车速测试;
步骤二,系统初始化;
步骤三,控制系统设定车速报文变量newSPD的初始值为V1,同时计时模块开始计时;
步骤四,当计时模块计时时间达到其内部设定的车速报文发送周期T_SPD时,控制模块控制发送模块发送该车速报文V1给CAN总线汽车仪表,此时curSPD=V1;如果计时模块的计时时间没有达到其内部设定的车速报文发送周期T_SPD,那么系统会继续等待直到计时模块的计时时间达到其内部设定的车速报文周期T_SPD;
步骤五,控制系统控制计时模块的计时数据清零,并重新开始计时;
步骤六,基于仪表显示的当前车速curSPD,控制系统赋予车速报文变量newSPD一个新的报文值V2,使得V2=V1±V*T_SPD/T1,(这里设定车速在时间T1内可由0加速到V,或者由车速V减速到0);
步骤七,当计时模块计时时间达到其内部设定的车速报文发送周期T_SPD时,控制模块控制发送模块发送该车速报文V2给CAN总线汽车仪表;如果计时模块的计时时间没有达到其内部设定的车速报文发送周期T_SPD,那么系统会继续等待直到计时模块的计时时间达到其内部设定的车速报文周期T_SPD;
步骤八,观察指针的反映,当CAN总线汽车仪表车速指针摆动灵敏、平滑,指针指数正确时表明仪表工作状况完好;反之,当CAN总线汽车仪表车速指针不能正确指示读数,或者指针移动过程中有卡步现象,则说明此CAN总线汽车仪表指针的灵活性差,其控制存在问题,需进一步改进和优化。
为了增加对CAN总线汽车仪表的测试精确度,在以上测试过程中可以多次重复步骤三到步骤八。
作为一种优选的技术方案,为了能够尽量适应各种汽车仪表的测试,以上方案中T1的取值范围为8S-12S,优选为T1=10S;T_SPD的取值范围为0.1S-0.2S,优选为T_SPD=0.1S;速度V的取值范为90km/h-120km/h,优选地V=100km/h,即汽车能够在10秒内从0加速到100km/h,或者在10秒内从100km/h减速到0,根据车速报文的固定发送周期T_SPD=0.1S可知,测试系统发送给CAN总线汽车仪表的每两次相邻车速值的差值范围应在-1km/h-1km/h内。如果上一次测试系统发送给CAN总线汽车仪表的速度报文所指示的速度是60km/h,那么下一次测试系统发送给CAN总线汽车仪表的速度报文所指示的速度应在59km/h-61km/h内,即本次测试,CAN总线汽车仪表的指针波动范围在表盘读数59km/h-61km/h内。通过此种控制,CAN总线汽车仪表的指针会在一个速度范围值内发生抖动,当CAN总线汽车仪表车速指针不能正确指示读数,或者指针抖动过程中有卡步现象,则说明此CAN总线汽车仪表指针的灵活性差,其控制存在问题,需进一步改进和优化。当然根据测试仪表的不同,为了检测的精确性和直观性,其T1、T_SPD和V可以设置其他不同的数值。
通过单片机上的与普通I/O接口连接的按键,将测试切换到匀加减速测试。如图6所示,测试系统对CAN总线汽车仪表的匀加减速测试过程如下:
首先系统内部程序设定其匀加速测试的加速度为a1,匀减速测试的加速度为a2,其内部发送模块发送速度报文的周期为T_SPD,同时,根据被测试的CAN总线汽车仪表的所应用的车型的最大速度设定测试系统的最大速度为Vmax,然后测试系统通过连接在单片机上的按键选择匀加减速测试,并通过复位键对系统进行初始化。
步骤S01,首先控制模块判断当前测试是否为匀加速测试,如果判断结果为是,系统进入步骤S02,如果判断结果为否的话,系统进入步骤S07对CAN总线汽车仪表进行匀减速测试;
步骤S02,计时模块开始计时,系统进入步骤S03;
步骤S03,控制模块判断计时模块的计时时间是否达到其系统内部设定的速度报文发送周期T_SPD,如果是系统进入步骤S04,如果判断结果为否,则计时模块会继续计时直到其计时达到内部速度报文发送周期T_SPD;
步骤S04,此时计时模块对整数变量i进行累加计数,i初始值为1,然后系统进入步骤S05;
步骤S05,控制模块从存储模块调取一个速度报文值Vi,并控制发送模块将此速度报文发送给CAN总线汽车仪表,同时计时模块的计时清零,计数不清零,然后系统进入步骤S06;
步骤S06,控制系统判断速度Vi是否达到其内部设定的最大车速Vmax,如果Vi达到了其内部设定的最大车速Vmax,那么系统进入步骤S07,从而对CAN总线汽车仪表转入匀减速测试,如果Vi没有达到其内部设定的最大车速Vmax,则系统返回步骤S02从而进入下一个匀加速测试循环;
以上是对CAN总线汽车仪表进行的匀加速测试过程,以上测试步骤中对整数变量i进行累加计数从而发送不同的速度报文值Vi,为了满足对CAN总线汽车仪表进行匀加速测试的要求,控制模块会在前一次速度报文Vi的基础上计算下一次所要输出的报文Vi+1,使得Vi与Vi+1满足下面的公式:Vi+1=Vi+a1*T_SPD。下面所述为对CAN总线汽车仪表进行匀减速测试的过程:
步骤S07,系统转入匀减速测试,开始对CAN总线汽车仪表进行匀减速测试;
步骤S08,计时模块开始计时,系统进入步骤S09;
步骤S09,控制模块判断计时模块的计时时间是否达到其系统内部设定的速度报文发送周期T_SPD,如果是系统进入步骤S10,如果判断结果为否,则计时模块会继续计时直到其计时达到内部速度报文发送周期T_SPD;
步骤S10,此时计时模块对n进行累加计数,n的初始值为1,然后系统进入步骤S11;
步骤S11,控制模块从存储模块调取一个速度报文值Vn,并控制发送模块将此速度报文发送给CAN总线汽车仪表,同时计时模块的计时清零,计数不清零,然后系统进入步骤S12;
步骤S12,控制系统判断速度Vn是否达到其内部设定的最小车速0,如果Vn达到了其内部设定的最小车速0,那么系统又转入匀加速测试,进入步骤S02,从而对CAN总线汽车仪表转入匀加速测试,如果Vn没有达到其内部设定的最小车速0,则系统返回步骤S08从而进入下一个匀减速测试循环;
在以上测试过程中,同样对整数变量n进行累加计数从而发送不同的速度报文值Vn,为了满足对CAN总线汽车仪表进行匀减速测试,控制模块会在前一次速度报文Vn的基础上计算下一次所要输出的报文Vn+1,使得Vn与Vn+1满足下面的公式:Vn+1=Vn+a2*T_SPD。
以上所述,为了增大测试的精确性,可以多次重复步骤S02到步骤S05以及步骤S08到S11,或者对CAN总线汽车仪表进行匀加速测试,直到CAN总线汽车仪表达到或者指示其最大车速后,然后系统转入匀减速测试,继续以上过程,直到CAN总线汽车仪表达到或者指示其最小车速零后,系统控制再将测试转入匀加速测试,如此往复,测试不同匀加减速情况下仪表指针的工作情况。
匀加减速测试主要用于测试CAN总线汽车仪表在模拟汽车匀加减速状态下,通过观察仪表车速指针的动作,优化完善仪表对车速指针的控制,达到仪表车速指针响应灵活、移动平滑的目的,增加仪表的动感;如果测试过程中,CAN总线汽车仪表的指针移动出现跳跃或者卡步现象,那么可以判定所测试的CAN总线汽车仪表的指针相应灵活性低,需要进一步完善和优化对CAN总线汽车仪表指针的控制。
为了适应尽可能多的CAN总线汽车仪表的测试,作为一种优选的技术方案,以上对CAN总线汽车仪表进行匀加减速测试的过程中其系统内设的Vmax的取值范围为90km/h-120km/h,优选为100km/h,其加速度a1的值的取值范围为2.5m/s2-4m/s2,优选为a1=2.8m/s2,其加速度a2的取值范围为-5m/s2--8m/s2,a2优选为-6m/s2。当然根据测试的CAN总线汽车仪表的不同,为了检测的精确性和直观性,其设定值Vmax、a1和a2可以设置其他不同的数值。
图7是测试系统对CAN总线汽车仪表的CAN负载率测试流程,通过按键将测试系统选择CAN负载率测试,然后系统开始初始化,控制模块控制发送模块按照系统设定的车速报文发送周期T_SPD对CAN总线汽车仪表发送车速报文,这样每次发送的车速报文都会在CAN总线汽车仪表有一个相应的指示,然后控制模块控制按照每次时间t的幅值改变车速报文的发送周期。例如,以时间t的幅值逐渐减小车速报文的发送周期,或者以时间t的幅值逐渐增大车速报文的发送周期,即发送模块第一次发送车速报文的周期为T_SPD,如果按照以时间t的幅值来逐渐减小车速报文的发送周期,那么控制模块控制发送模块第二次发送车速报文的周期变为T_SPD-t,第三次发送车速报文的周期变为T_SPD-2t,第四次发送车速报文的周期相应变为T_SPD-3t,以此类推;如果按照以时间t的幅值来逐渐增大车速报文的发送周期,那么控制模块控制发送模块第二次发送车速报文的周期变为T_SPD+t,第三次发送车速报文的周期变为T_SPD+2t,第四次发送车速报文的周期相应变为T_SPD+3t,以此类推;通过以上方式,不断缩短或者延长车速报文的发送周期,即单位时间内测试系统往与CAN总线相连的CAN总线汽车仪表上发送报文数据量越来越大或者越来越小;通过观察记录CAN总线汽车仪表在不同CAN总线负载率的状况下,CAN总线汽车仪表的工作状况,找出一个临界点,当CAN负载率高于此临界点时对仪表工作状况会产生影响;反之,当CAN负载率在此临界点之下时,CAN总线汽车仪表工作正常。
传统的CAN总线汽车仪表CAN负载率的临界点一般位于0与测试系统内设的车速报文发送周期T_SPD之间,即发生在控制系统逐渐减小车速报文的发送周期的测试中,一般情况下,控制系统逐渐增大车速报文发送周期时不会存在临界点的情况,因为增大控制系统内部的车速报文发送周期有效减少了CAN总线汽车仪表的工作频率和疲劳度,CAN总线汽车仪表在此种状态下工作可以延长其使用寿命。
当CAN总线汽车仪表达到其负载率的临界点时,此时如果测试系统内部的负载率继续增加的话,CAN总线汽车仪表的相应速度就跟不上测试系统发送车速报文的速度了,这样相比于测试系统速度报文发送频率,CAN总线汽车仪表的指针反应就会变得滞后一些。优选地,测试系统的单片机通过I/O接口还连接有一显示装置,用来显示测试系统的报文发送周期及每次发送的车速报文数值。当出现CAN总线汽车仪表指针指示的速度比测试系统发送车速报文的显示滞后时,可以判定CAN总线汽车仪表达到其负载率临界点。
作为一种优选的技术方案,通过测试系统的单片机的普通I/O口可以接出两个按钮KEY1和KEY2,按钮KEY1用于增加测试系统的CAN负载率,即缩短测试系统内部的车速报文发送周期,按钮KEY2用于降低测试系统的CAN负载率,即延长测试系统内部的车速报文发送周期。
如图8所示,系统进行初始化后,系统进入步骤S001,按照其内部设定的固有周期T_SPD向CAN总线汽车仪表发送速度报文;
步骤S002,控制模块会时时检测是否有按钮按下,如果有,则会进一步判断是按钮KEY1还是按钮KEY2;如果没有检测到按钮按下的信息,则测试系统会返回步骤S001,按照原有的车速报文发送周期发送其车速报文;
步骤S003,如果判断按钮KEY1被按下,控制系统进入对CAN总线汽车仪表的增加CAN负载率的测试,然后系统进入步骤S004,如果判断按钮KEY1没有被按下,则会判断按钮KEY2被按下,系统进入步骤S006;
步骤S004,控制模块会控制系统按照时间t的降幅减少系统上一次发送报文时的报文发送周期,如果上一次是T_SPD,则本次车速报文发送周期就会被修改为T_SPD-t,然后系统进入步骤S005;
步骤S005,测试系统的车速报文发送周期变化后,控制模块控制发送模块按照减小后的报文发送周期对CAN总线汽车仪表进行车速报文的发送,然后系统进入步骤S002重新进行下一个报文发送循环;
步骤S006,当控制模块判断按钮KEY2被按下时,控制模块会控制系统按照时间t的增幅增大系统上一次发送车速报文时的报文发送周期,如果上一次是的车速报文发送周期是T_SPD,则本次车速报文发送周期就会被修改为T_SPD+t,然后系统进入步骤S007;
步骤S007,测试系统的车速报文发送周期变化后,控制模块控制发送模块按照增大后的报文发送周期对CAN总线汽车仪表进行车速报文的发送,然后系统进入步骤S002重新进行下一个报文发送循环。
以上测试过程中,时间t的取值范围为0.005-0.015,优选为t=0.01。
通过本测试方法解决了目前CAN总线汽车仪表测试只注重测试仪表对CAN总线上有效报文的处理、响应,而忽视了CAN总线上大量报文数据对组合仪表造成的冲击。通过本测试方法,可以检测出CAN总线汽车仪表的负载率临界点,测试出CAN总线汽车仪表在不同CAN总线负载率状况下的工作情况,对暴露出的问题及时解决,避免组合仪表在装车后,汽车高CAN负载时工作状况差的问题。
下面讲述测试系统对CAN总线汽车仪表进行丢包测试的控制过程。当测试系统通过按键选定丢包测试时,相应的与测试系统的单片机相连接的按钮KEY1和KEY2也就被赋予了新的功能,按钮KEY1用于增加测试系统的CAN负载率,即缩短测试系统内部的车速报文发送周期,按钮KEY2用于降低测试系统的CAN负载率,在丢包测试中,通过按钮KEY1可以增加报文发送时不能正确发送数据报文的概率,通过按钮KEY2可以减小报文发送时不能正确发送数据报文的概率,例如,测试系统内部设定报文不能正确发送的概率为15%,也就是说,每发送100次速度报文的时候,系统应该模拟有15次的速度报文数据发送是不正确的,那么通过操作按钮KEY1可以增加报文发送时不能正确发送数据报文的概率,如增大到20%,只要变化为比15%大的一个概率就可以;而通过按钮KEY2可以减小报文发送时不能正确发送数据报文的概率,如减小到10%,只要变化为比15%小的一个概率就可以。
同时,在系统内部设定一个变量数据random,random的取值可取1-100内的任意一个数值,即测试过程中测试系统可以将1-100以内的任何一个数值以均等的机会分配给数据变量random,也就是数据变量random被赋予1-100内的任意一个数值的概率都是相等的,都为1%,然后系统内部设定两个变量值data1和data2,两个变量的关系为,1≤data1≤data2≤100,然后测试系统可以开始对CAN总线汽车仪表进行丢包测试的测试。
实施例一
如图9所示,测试系统先进行初始化;
步骤S0001,控制模块控制计时模块清零并开始计时;
步骤S0002,控制模块判断计时模块的计时时间是否达到其系统内部设定的车速报文发送周期T_SPD;如果判断结果为是,系统进入步骤S0003,如果判断结果为否,则控制模块控制计时模块继续进行计时;
步骤S0003,控制模块控制随机变量random从数值1-100内随意取一整数值,然后系统进入步骤S0004;
步骤S0004,控制模块比较随机变量random的数值与其内部设定的数据变量data1和data2的大小;如果满足data1≤random≤data2,则系统进入步骤S0005,如果不满足关系式data1≤random≤data2,则系统进入步骤S006。
步骤S0005,控制模块控制发送模块放弃当前速度报文的发送,即形成丢包;然后系统返回步骤S0001继续进行下一个循环;
步骤S0006,即random不满足关系式data1≤random≤data2,此时控制模块控制发送模块发送当前速度报文,之后系统返回步骤S0001进行下一个速度报文发送循环;
在以上测试流程中,测试系统内部报文丢包的概率为(data2-data1+1)/100,如果需要增大测试系统的丢包的概率,则可以通过控制按钮KEY1的操作来实现,通过控制按钮KEY1的操作可以实现改变测试系统内部变量data1和data2的数值,即通过增大变量data2的取值或者减小变量data1的取值来实现增大测试系统内部的丢包概率。但是变量data1和data2的数值在满足关系式data1≤data2的同时不能超出1-100的数值范围;同样通过控制按钮KEY2的操作可以实现改变测试系统内部变量data1和data2的数值,即通过减小变量data2的取值或者增大变量data1的取值来实现减小测试系统内部的丢包概率。但是变量data1和data2的数值同样在满足关系式data1≤data2的同时不能超出1-100的数值范围;通过以上方式,可以在通过按钮KEY1或按钮KEY2改变测试系统内部设定的丢包概率后再对CAN总线汽车仪表进行重复检测。
实施例二
如图10所示,测试系统先进行初始化;
步骤S0001,控制模块控制计时模块清零并开始计时;
步骤S0002,控制模块判断计时模块的计时时间是否达到其系统内部设定的车速报文发送周期T_SPD;如果判断结果为是,系统进入步骤S0003,如果判断结果为否,则控制模块控制计时模块继续进行计时;
步骤S0003,控制模块控制随机变量random从数值1-100内随意取一整数值,然后系统进入步骤S0004;
步骤S0004,控制模块比较随机变量random的数值与其内部设定的数据变量data1和data2的大小;如果满足data1≤random≤data2,则系统进入步骤S0005,如果不满足关系式data1≤random≤data2,则系统进入步骤S006。
步骤S0005,控制模块调取并修改当前速度报文,将修改后一个错误速度报文发送给CAN总线汽车仪表;然后系统返回步骤S0001继续进行下一个循环;
步骤S0006,即random不满足关系式data1≤random≤data2,此时控制模块控制发送模块发送当前速度报文,之后系统返回步骤S0001进行下一个速度报文发送循环;
这样通过按钮KEY1或按钮KEY2也可以改变测试系统内部设定的发送错误报文数据的概率,然后再对CAN总线汽车仪表进行重复检测。
以上两个实施例中,考虑到测试的便捷性,变量data1优选取值为1,变量data2优选取值为15。
在以上测试过程中,对CAN总线汽车仪表进行丢包测试的目的是为了观察仪表在恶劣的CAN通信状况下的工作状况,通过测试观察仪表指示、显示部分的工作状况间接的反应出整车的CAN通信状况,如果在检测过程中发现汽车仪表的显示与测试系统发送的内部速度报文不一致,则表明CAN总线汽车仪表存在问题需要进一步优化,通过这种检测可以为CAN总线汽车仪表装车时可能出现的问题做提前测试、分析、改进。
本测试方法是对汽车组合仪表失效模式的一种测试,通过测试、观察CAN总线汽车仪表在恶劣的汽车CAN总线通信状况下的工作情况,为CAN总线汽车仪表装车时可能出现的问题做分析、参考,做到提前发现、暴露问题,及时解决问题。缩短了CAN总线汽车组合仪表的测试周期,降低了CAN总线汽车仪表的测试成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种基于CAN总线汽车仪表的测试系统,其特征在于,所述测试系统包括单片机和CAN收发器,所述单片机包括控制模块、存储模块、发送模块及计时模块,所述存储模块、发送模块、计时模块分别与所述控制模块电连接,所述发送模块通过CAN收发器与CAN总线汽车仪表相连接;
所述存储模块,用于存储CAN总线汽车仪表测试用的速度报文信息;
所述发送模块,用于向CAN总线汽车仪表发送速度报文;
所述计时模块,用于在CAN总线汽车仪表测试中计时和/或计数;
所述控制模块,用于控制所述存储模块、发送模块及计时模块工作。
2.根据权利要求1所述的测试系统,其特征在于,所述测试系统对CAN总线汽车仪表的测试包括抖动车速测试、匀加减速测试、CAN负载率测试和/或丢包测试。
3.根据权利要求1所述的测试系统,其特征在于,所述测试系统还设有用于切换抖动车速测试、匀加减速测试、CAN负载率测试及丢包测试中至少两种测试的按键,所述按键通过I/O接口与所述单片机相连。
4.根据权利要求1所述的测试系统,其特征在于,所述测试系统还通过单片机上的I/O接口连接一复位键,所述复位键用于对测试系统进行初始化操作。
5.根据权利要求1所述的测试系统,其特征在于,所述测试系统还设有按钮KEY1和KEY2,所述按钮通过单片机上的I/O接口与所述单片机连接。
6.根据权利要求1所述的测试系统,其特征在于,所述单片机的型号为MC9S08DZ60。
7.根据权利要求1所述的测试系统,其特征在于,所述测试系统还包括用于显示测试系统工作情况的显示装置,所述显示装置与所述控制模块电连接。
8.一种基于CAN总线汽车仪表测试系统的测试方法,其特征在于,包括以下步骤:
测试系统进行初始化;
控制模块根据其内部设定的程序:
a、控制发送模块按照设定的报文发送周期向CAN总线汽车仪表发送速度报文,
b、控制计时模块进行相应的计时和/或计数;
根据以上测试判断CAN总线汽车仪表的工作情况。
9.一种基于CAN总线汽车仪表测试系统的测试方法,其特征在于,系统进行初始化后,包括以下步骤:
步骤S001,按照系统内设的固有周期T_SPD发送车速报文;
步骤S002,控制模块检测是否有按钮按下,如果有,控制模块进一步判断是按钮KEY1还是按钮KEY2;如果没有检测到按钮按下的信息,系统返回步骤S001;
步骤S003,如果判断按钮KEY1被按下,系统进入步骤S004;
步骤S004,控制模块控制发送模块按照时间t的降幅减少系统上一次发送报文时的报文发送周期;
步骤S005,控制模块控制发送模块按照减小后的报文发送周期发送车速报文,然后系统返回步骤S002重新进行下一个报文发送循环。
10.根据权利要求9所述的测试方法,其特征在于,所述测试方法还包括:
步骤S006,当控制模块判断按钮KEY2被按下时,控制模块控制系统按照时间t的增幅增大系统上一次发送车速报文时的报文发送周期;
步骤S007,控制模块控制发送模块按照增大后的报文发送周期发送车速报文,然后系统进入步骤S002重新进行下一个报文发送循环。
11.根据权利要求9所述的测试方法,其特征在于,所述时间t的取值范围为0.005S-0.015S。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910190554.1A CN102033141B (zh) | 2009-09-30 | 2009-09-30 | 一种基于can总线汽车仪表的测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910190554.1A CN102033141B (zh) | 2009-09-30 | 2009-09-30 | 一种基于can总线汽车仪表的测试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033141A CN102033141A (zh) | 2011-04-27 |
CN102033141B true CN102033141B (zh) | 2013-01-02 |
Family
ID=43886304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910190554.1A Expired - Fee Related CN102033141B (zh) | 2009-09-30 | 2009-09-30 | 一种基于can总线汽车仪表的测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033141B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102032927B (zh) * | 2009-09-30 | 2013-09-18 | 比亚迪股份有限公司 | 一种检测can总线汽车仪表灵敏度的测试系统及方法 |
CN104345177B (zh) * | 2013-08-05 | 2017-12-12 | 哈尔滨飞机工业集团有限责任公司 | 三针转速表试验器 |
CN104852825A (zh) * | 2014-09-15 | 2015-08-19 | 北汽福田汽车股份有限公司 | 总线通讯测试方法及系统 |
DE102015218941A1 (de) * | 2015-09-30 | 2017-03-30 | Siemens Aktiengesellschaft | Verfahren zur Erkennung eines Defekts eines Beschleunigungssensors und Messsystem |
CN106411956B (zh) * | 2016-12-02 | 2019-05-31 | 北京奇虎科技有限公司 | 分析汽车总线安全性的方法和装置 |
CN106872827B (zh) * | 2017-03-10 | 2020-11-13 | 北京理工大学 | 一种电动车的电传动机构动态测试系统和方法 |
CN109991955A (zh) * | 2017-12-29 | 2019-07-09 | 长城汽车股份有限公司 | 一种整车控制器测试方法、装置及设备 |
CN108545039B (zh) * | 2018-04-11 | 2021-07-06 | 航天科技控股集团股份有限公司 | 基于汽车仪表can总线信号的行车信息自动检测系统及检测方法 |
CN109061364B (zh) * | 2018-08-21 | 2020-12-01 | 天津经纬恒润科技有限公司 | 一种无应答状态检测方法及装置 |
CN109342929A (zh) * | 2018-11-12 | 2019-02-15 | 卡斯柯信号有限公司 | 一种cvc-200t硬件智能测试系统及方法 |
CN113347058B (zh) * | 2021-05-20 | 2022-04-08 | 江铃汽车股份有限公司 | 汽车整车can网络周期一致性的测试方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719782A (zh) * | 2005-03-24 | 2006-01-11 | 袁光辉 | 车载网络中央控制单元及其对车载网络管理、控制方法 |
DE102004041428A1 (de) * | 2004-08-27 | 2006-03-02 | Daimlerchrysler Ag | Systemintegrationsprüfstand für vernetzte mechatronische Gesamtsysteme |
CN1794123A (zh) * | 2005-11-03 | 2006-06-28 | 重庆邮电学院 | 车辆控制系统can/lin网络监测仪及测试方法 |
KR20080032770A (ko) * | 2006-10-10 | 2008-04-16 | 현대자동차주식회사 | 차속 신호 출력 방법 및 이를 구현하는 차량 클러스터 |
CN102032927A (zh) * | 2009-09-30 | 2011-04-27 | 比亚迪股份有限公司 | 一种检测can总线汽车仪表灵敏度的测试系统及方法 |
CN102033541A (zh) * | 2009-09-30 | 2011-04-27 | 比亚迪股份有限公司 | 一种can总线汽车仪表的测试系统及其测试方法 |
-
2009
- 2009-09-30 CN CN200910190554.1A patent/CN102033141B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004041428A1 (de) * | 2004-08-27 | 2006-03-02 | Daimlerchrysler Ag | Systemintegrationsprüfstand für vernetzte mechatronische Gesamtsysteme |
CN1719782A (zh) * | 2005-03-24 | 2006-01-11 | 袁光辉 | 车载网络中央控制单元及其对车载网络管理、控制方法 |
CN1794123A (zh) * | 2005-11-03 | 2006-06-28 | 重庆邮电学院 | 车辆控制系统can/lin网络监测仪及测试方法 |
KR20080032770A (ko) * | 2006-10-10 | 2008-04-16 | 현대자동차주식회사 | 차속 신호 출력 방법 및 이를 구현하는 차량 클러스터 |
CN102032927A (zh) * | 2009-09-30 | 2011-04-27 | 比亚迪股份有限公司 | 一种检测can总线汽车仪表灵敏度的测试系统及方法 |
CN102033541A (zh) * | 2009-09-30 | 2011-04-27 | 比亚迪股份有限公司 | 一种can总线汽车仪表的测试系统及其测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102033141A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033141B (zh) | 一种基于can总线汽车仪表的测试系统及方法 | |
CN102032927B (zh) | 一种检测can总线汽车仪表灵敏度的测试系统及方法 | |
CN103999410B (zh) | 通信系统及通信方法 | |
US10951631B2 (en) | In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method | |
CN103416035B (zh) | 具有can总线模块及自动速度检测的微控制器 | |
CN107566235B (zh) | 一种报文数据传输方法、装置及电动汽车 | |
CN102033540B (zh) | 一种测试can总线汽车仪表的测试系统及方法 | |
JP3657027B2 (ja) | 車両故障診断装置の時間管理システム及び方法 | |
CN102546843B (zh) | 一种通过软件模拟实现多个uart通信接口的方法 | |
CN100532165C (zh) | 一种车辆刮水器控制系统及方法 | |
CN102033541B (zh) | 一种can总线汽车仪表的测试系统及其测试方法 | |
CN107450515A (zh) | 故障诊断自动测试方法及装置 | |
CN105981336A (zh) | 不正常检测电子控制单元、车载网络系统以及不正常检测方法 | |
CN103197978B (zh) | 控制器、多重冗余控制系统及其同步控制方法 | |
CN104035901B (zh) | 一种ttcan总线对时及发送数据的方法 | |
CN109802878A (zh) | 一种can设备与can总线波特率自动匹配方法及装置 | |
CN105515911A (zh) | Can网络的网关自动测试系统及方法 | |
CN104378260A (zh) | Can总线的负载率测试方法及装置、系统 | |
CN111064449A (zh) | 一种基于uvm平台的数字降采样滤波器的验证平台及方法 | |
CN107719153A (zh) | 电池管理系统中采集板地址自动分配方法及装置 | |
CN104076806A (zh) | 一种对汽车的电控装置进行自动化测试的方法及设备 | |
CN115190030A (zh) | 一种实现can fd的硬件装置和uvm验证平台 | |
CN100493005C (zh) | 一种基于ttcan的燃料电池汽车整车通讯网络测试系统 | |
EP2789127A1 (en) | Self -learning automotive data logger identifying automotive messages transmitted over a can bus connecting automotive electronic control units | |
CN109080380A (zh) | 胎压传感器信号解析方法、其装置、胎压接收器及诊断系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130102 Termination date: 20210930 |
|
CF01 | Termination of patent right due to non-payment of annual fee |