一种完全配置化车机和T-BOX测试装置及其测试方法与流程

文档序号:21661902发布日期:2020-07-29 05:21阅读:255来源:国知局
一种完全配置化车机和T-BOX测试装置及其测试方法与流程
本发明涉及电动汽车测试
技术领域
,尤其涉及一种完全配置化车机和t-box测试装置及其测试方法。
背景技术
:车机和t-box(远程信息处理器)在研发验证和量产测试阶段需要进行大量的测试,这些设备往往只通过can总线与整车进行通讯,测试过程中需要模拟各种条件向车机和/或t-box发送不同的can报文,观察被测试的车机和/或t-box是否做出正确的响应。目前,市场上的车机和t-box测试系统大部分采用控制盒和上位机搭配的模式,针对每个产品开发人员需求进行软件和硬件的定制开发。这种模式的缺陷在于:每次更换产品都需要进行重新开发,开发周期长,通用性差。此外,这种模式还需要搭配上位机,成本较高,体积较大。同时也要求有较高的编程能力,无疑提高了测试的难度。为此,申请人进行了有益的探索和尝试,找到了解决上述问题的办法,下面将要介绍的技术方案便是在这种背景下产生的。技术实现要素:本发明所要解决的技术问题之一在于:针对现有技术的不足而提供一种可灵活进行配置、结构简单、成本低的完全配置化车机和t-box测试装置。本发明所要解决的技术问题之二在于:提供一种完全配置化车机和t-box测试装置的测试方法。作为本发明第一方面的一种完全配置化车机和t-box测试装置,其为一can模拟机,包括:一机盒;一安装在所述机盒内的sd卡模块,所述sd卡模块具有一用于导入配置文件和can描述文件的sd卡接口;一安装在所述机盒内的io输入输出模块,所述io输入输出模块具有若干用于与按键开关、数字信号开关、单选开关和/或旋转编码器连接的io端口;一安装在所述机盒内的ad转换模块,所述ad转换模块具有若干用于与电位器连接的ad转换端口;一安装在所述机盒内的can通讯模块,所述can通讯模块具有两个用于分别与车机、t-box连接的can通讯端口;以及一安装在所述机盒内且分别与所述sd卡模块、io输入输出模块、ad转换模块和can通讯模块连接的中央处理单元。在本发明的一个优选实施例中,还包括一安装在所述机盒内且与所述中央处理单元连接的拓展sram缓存模块。作为本发明第二方面的一种上述的完全配置化车机和t-box测试装置的测试方法,包括以下步骤:步骤s10,通过sd卡模块读取can配置文件内容,并对can配置文件内容进行解析,再将解析后的配置信息存放至配置链表中;步骤s20,通过sd卡模块读取can描述文件内容,并对can描述文件内容进行解析,再将解析后的文件内容存放至dbc配置链表中;步骤s30,对dbc配置链表进行检索,找出canid信息;步骤s40,将找出的canid信息进行处理,生成can报文数据;步骤s50,根据配置链表中记录的配置信息将can报文数据与车机和/或t-box进行循环交互测试。在本发明的一个优选实施例中,在所述步骤s10中,所述can配置文件内容包括两路can信号的波特率、can消息的周期、can信号的数值以及can信号的发送条件。在本发明的一个优选实施例中,在所述步骤s20中,所述can描述文件内容包括can的消息名称、can的消息id、can的消息长度以及can的信号消息。在本发明的一个优选实施例中,在所述步骤s50中,所述根据配置链表中记录的配置信息将can报文数据与车机和/或t-box进行循环交互测试,包括以下子步骤:步骤s51,将can报文数据发送至车机和/或t-box进行处理;步骤s52,接收车机和/或t-box反馈的can报文数据;步骤s53,检测硬件状态是否发生改变;步骤s54,周期性对can报文数据进行处理;步骤s55,对can报文数据进行记录;步骤s56,循环执行步骤s51至步骤s55。在本发明的一个优选实施例中,在所述步骤s53中,所述检测硬件状态是否发生改变,包括以下子步骤:步骤s531,检查硬件状态是否发生改变,若发生改变,则进入步骤s532,若未发生改变,则结束;步骤s532,检查can信号值是否包含硬件变量,若包含硬件变量,则进入步骤s533,若未包含硬件变量,则结束;步骤s533,重新构建包含硬件变量的can报文数据;步骤s544,将重新构建的can报文数据复制至发送缓冲区内,等待下一次发送。在本发明的一个优选实施例中,在所述步骤s54中,所述周期性对can报文数据进行处理,包括以下子步骤:步骤s541,判断can报文数据是否进入发送周期;若判断为是,则进入步骤s542,若判断为否,则结束;步骤s542,判断can报文数据是否满足发送条件;若判断为是,则进入步骤s543,若判断为否,则结束;步骤s543,构建can报文数据;步骤s544,将构建的can报文数据复制至发送缓冲区内,等待下一次发送。由于采用了如上技术方案,本发明的有益效果在于:本发明采用can配置文件和can描述文件的方式,把按键信号,单选开关,旋转编码器和can信号变成配置变量,通过对can帧的发送条件和can的信号值进行灵活配置,几乎能模拟任意的can消息,不需要软件上的定制开发。同时,本发明具有结构简单,成本低的优势。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明的测试装置的结构示意图。图2是本发明的测试方法的流程图。图3是本发明的循环交互测试步骤的流程图。图4是本发明的检测硬件状态是否发生改变的流程图。图5是本发明的周期性对can报文数据进行处理的流程图。图6是本发明的can报文数据的发送条件的处理流程图。图7是本发明的can报文数据的构建流程图。具体实施方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。参见图1,图中给出的是一种完全配置化车机和t-box测试装置,其为一can模拟机,该can模拟机可采用意法半导体的stm32f407单片机。其具体包括机盒100、sd卡模块200、io输入输出模块300、ad转换模块400、can通讯模块500、拓展sram缓存模块600以及中央处理单元700。sd卡模块200安装在机盒100内,sd卡模块200具有一sd卡接口,该sd卡接口用于导入配置文件和can描述文件。io输入输出模块300安装在机盒100内,io输入输出模块300具有若干io端口,这些io端口可用于与按键开关11、数字信号开关12、单选开关13和/或旋转编码器14连接,用于获取这些外置硬件设备的配置变量,实现音量、菜单选择等功能。ad转换模块400安装在机盒100内,ad转换模块400具有若干ad转换端口,ad转换端口可用于与电位器20连接,用于获取电位器20输入的配置变量。can通讯模块500安装在机盒100内,can通讯模块500具有两个用于分别与车机30、t-box40连接的can通讯端口,用于与车机30、t-box40进行can通讯。拓展sram缓存模块600安装在机盒100内,其用于存放can报文数据及其记录日志等信息。中央处理单元700安装在机盒100内且分别与sd卡模块200、io输入输出模块300、ad转换模块400、can通讯模块500和拓展sram缓存模块600连接,用于控制各个模块进行协同工作。参见图2,图中给出的是本发明的完全配置化车机和t-box测试装置的测试方法,包括以下步骤:步骤s10,通过sd卡模块读取can配置文件(.csv)内容,并对can配置文件内容进行解析,再将解析后的配置信息存放至配置链表中。若发现can配置文件不存在或者存在错误,则通过蜂鸣器提示用户。步骤s20,通过sd卡模块读取can描述文件(.dbc)内容,并对can描述文件内容进行解析,再将解析后的文件内容存放至dbc配置链表中。若发现can描述文件不存在或者存在错误,则通过蜂鸣器提示用户。步骤s30,对dbc配置链表进行检索,找出canid信息。步骤s40,将找出的canid信息进行处理,生成can报文数据。有些can消息的内容在使用过程中都是不变的,比如说软硬件版本号、系统配置等信息,因此直接在初始化的过程中就生成can报文数据,不用实时生成报文数据,减少cpu的负荷。步骤s50,根据配置链表中记录的配置信息将can报文数据与车机和/或t-box进行循环交互测试。在本发明的一个优选实施例中,在所述步骤s10中,所述can配置文件内容包括两路can信号的波特率、can消息的周期、can信号的数值以及can信号的发送条件。在本发明的一个优选实施例中,在所述步骤s20中,所述can描述文件内容包括can的消息名称、can的消息id、can的消息长度以及can的信号消息。本发明采用了can描述文件(.dbc)和can配置文件(.csv格式)搭配。dbc文件是标准格式,can描述文件记载了can的消息名称、can的消息id、can的消息长度以及can的信号消息等内容,信号规定了信号名、起始位置、信号长度、字节顺序、数值类型、因子、偏移等关键信息。can配置文件定义了can通道对应的dbc文件名,两路can信号的波特率、can消息的周期、can信号的数值以及can信号的发送条件等内容,其中发送条件和信号值可以使用逻辑表达式比如“与”,“或”,“非”等逻辑进行灵活组合,一个配置实例如下:dbcnamenettopologybaudratemessagenumbermsgnamemsgcycletime(ms)sendconditionsignalnumbersignalnamesignalvaluetest.dbccan11251r_hvac_ics_stat1000n035r_hvac_md_stat1r_hvac_lkoutin01r_hvac_ctrl_stat1r_hvac_blw_fn_sp0×7fcan25001ebcm_c120always5mil_onrq_ebcm1brakepedaltravelsensorv1brakepedaltravelsensor95brakepedalappliedv0brakepedalapplied11)dbcnamedbc文件的名字,这个can通道对应的dbc。2)nettopology使用哪一个can,可能的选择是can1和can2。3)baudrate该通道can的波特率。4)messagenumber这个can上的消息的条数。因为can模拟器使用了动态的内存分配机制,需要预先知道分配的内存数量。5)msgnamecan消息的名字,通过名字和dbc的can消息匹配。6)msgcycletime(ms)can消息的周期,单位是ms7)signalnumber在当前的can消息下的信号个数。8)signalname当前的can消息包含的信号名称列表。9)signalvalue该信号的数值,可以是浮点常数,十六进制常数,十进制常数,硬件数字输入,硬件单选开关输入,旋转编码器和硬件模拟输入。参见图3,在步骤s50中,根据配置链表中记录的配置信息将can报文数据与车机和/或t-box进行循环交互测试,包括以下子步骤:步骤s51,将can报文数据发送至车机和/或t-box进行处理;步骤s52,接收车机和/或t-box反馈的can报文数据;步骤s53,检测硬件状态是否发生改变;步骤s54,周期性对can报文数据进行处理;步骤s55,对can报文数据进行记录,为了避免频繁的写入文件,每间隔1分钟进行can报文数据的日志写入;步骤s56,循环执行步骤s51至步骤s55。参见图4,在步骤s53中,检测硬件状态是否发生改变,包括以下子步骤:步骤s531,检查硬件状态是否发生改变,若发生改变,则进入步骤s532,若未发生改变,则结束;步骤s532,检查can信号值是否包含硬件变量,若包含硬件变量,则进入步骤s533,若未包含硬件变量,则结束;步骤s533,重新构建包含硬件变量的can报文数据;步骤s544,将重新构建的can报文数据复制至发送缓冲区内,等待下一次发送。参见图5,在步骤s54中,周期性对can报文数据进行处理,包括以下子步骤:步骤s541,判断can报文数据是否进入发送周期;若判断为是,则进入步骤s542,若判断为否,则结束;步骤s542,判断can报文数据是否满足发送条件;若判断为是,则进入步骤s543,若判断为否,则结束;步骤s543,构建can报文数据;步骤s544,将构建的can报文数据复制至发送缓冲区内,等待下一次发送。在步骤s542中,can报文数据的发送条件支持多种表达式,可以是无条件的“always”,禁用“disable”,通过变量和数值的比较的逻辑表达式,可以实现不同的硬件状态下发送不同的can报文,具体如图6所示。在步骤s543中,一个can消息由多个can信号组成,每个can信号可以是浮点常数、10进制、16进制常数、硬件信号或者收到的can信号,can信号可以使用逻辑表达式自由组合,生成任意的can报文数据,具体如图7所示。以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1