一种测试数据模拟方法、装置及系统与流程

文档序号:17738802发布日期:2019-05-22 03:31阅读:270来源:国知局
一种测试数据模拟方法、装置及系统与流程

本发明属于动力电池及电动汽车技术领域,具体地说,涉及一种测试数据模拟方法、装置及系统。



背景技术:

电动汽车是一个复杂的电气系统,其电气系统分低压部分和高压部分,低压部分为电子设备,灯光,雨刷,音箱等车内低压电气供电,一般采用12v/24v供电,低压供电的负极跟车辆底盘是直接相连的,高压部分为车辆的动力系统(电机控制器车载dcdc电源转换器等)供电,乘用车高压系统的动力电池工作电压一般在300v左右,通常是由很多电池串联组成,并使用专用的电池管理系统管理和控制。

电池管理系统(简称bms)通常由电池监控单元和电池控制单元组成,电池监控单元(简称bmu),具有检测单体电池电压和温度参数并提供报警的功能,一个bmu可负责监控5-60节串联单体电池参数,也可以通过can总线将多个bmu级联;检测数据最后通过can上传至上层电池控制单元(bcu)。除此之外还有一种bcu和bmu合二为一的bms系统,称为一体式电池管理系统,适用于电池串数比较少的场景。由于每一串电池都需要实时监控,因此在验证电池管理系统时,需要提供等量的单体电池,并按照管理策略动态调整电池电压以及电池温度,为达到激励系统进行验证的目的,通常的做法是使用专用的hil设备或者自制测试台架,模拟电池电压和电池温度。

申请公布号为cn108490911a,申请公布日为2018.09.04的中国发明专利公开了一种基于ecu-test的ptcan中bcu节点的测试方法,具体步骤为:首先,将uut被测样机通过bob接线盒及相关附属线束接入hil台架;通过hil测试上位机的lco软件配置并建立相关hil测试工程;通过hil测试上位机的ecu-test软件通过标定或改变pin脚外界输入依次改变相关节点的can报文相关的输入;通过ecu-test软件控制工nca读取相关内部量,并通过ee读取bcu发送至ptcan的报文实际值;最后,通过ecu-test设置各个报文及观测量的期望值及期望公差,验证通过工nca读取到的bcu内部变量与期望值间的偏差及bcu发送至ptcan的报文实际值与对应期望值是否在期望的公差内,并输出测试报告。本发明的有益效果:本发明提供一种基于ecu-test及hil台架的自动化测试,测试ptcan中bcu节点的can报文,进而降低汽车召回风险。但是专用的hil设备存在以下几个问题:

(1)非常昂贵,不利于普及。

(2)体积较大,功耗较高,并伴有较大噪音。

(3)对使用者要求较高,学习曲线陡峭,通常需要专职人员管控。

(4)输出真实电压(高压),存在风险。

授权公告号为cn205540264u,授权公告日为2016.08.31的中国实用新型专利公开了一种整车控制器测试装置,包括整车控制器,还包括:与所述整车控制器电连接的测试台架,所述测试台架包括:模拟信号发生装置、数字信号发生装置、usbcan卡、控制器以及显示装置;所述控制器分别与所述模拟信号发生装置、所述数字信号发生装置、所述usbcan卡以及所述显示装置连接,用于控制所连接的装置;所述控制器控制所述模拟信号发牛器或/和所述数字信号发生器向所述整车控制器发送信号,并通过所述usbcan卡接收整车控制器的反馈信号,以检测整车控制器功能是否正常,利用本实用新型可以快速测试整车控制器功能的日的。但是公司内部自制测试台架存在以下几个问题:

(1)输出精度不够高,在做边界条件验证时无法满足要求。

(2)响应速度不够快,在做时序验证时无法满足要求。

(3)输出信号不能完全实现连续可调。

针对目前通过专用的hil设备或者自制测试台架等真实采集设备存在的响应速度慢与输出精度低的问题,如何提高响应速度和精度是目前亟需解决的一大问题。



技术实现要素:

1、要解决的问题

针对目前通过专用的hil设备或者自制测试台架等真实采集设备存在的响应速度慢与输出精度低的问题,本发明提供一种测试数据模拟方法、装置及系统,该测试数据模拟方法、装置及系统可以提高响应速度和精度。

2、技术方案

为解决上述问题,本发明采用如下的技术方案。

一种测试数据模拟方法,包括:

输入模拟数据;

将模拟数据写到存储器中;

请求读取所述模拟数据;

响应所述请求,输出所述存储器中的数据。

作为优选方案,所述输入模拟数据包括电压数据和/或温度数据。

作为优选方案,所述请求包括请求电压数据和/或请求温度数据。

一种测试数据模拟装置,包括:

存储单元,用于存储模拟数据;

设置单元,用于设置模拟数据;

通信单元,用于响应请求,输出所述模拟数据;

电池控制单元,根据所述设置单元设置的模拟数据,读取所述存储单元存储的模拟数据;

其中,所述通信单元和所述电池控制单元通过内部总线连接。

作为优选方案,所述通信单元在响应所述请求时,采用先进先出队列,且在读写所述先进先出队列之前进行加锁操作,在读写所述先进先出队列之后进行解锁操作。

作为优选方案,所述存储单元中存储的模拟数据包括电压数据和/或温度数据。

作为优选方案,所述内部总线为can总线或spi总线。

作为优选方案,当所述内部总线为can总线时,所述存储单元存储的是电压寄存器值和/或温度寄存器值。

作为优选方案,当所述内部总线为spi总线时,所述存储单元存储的是电压寄存器值和/或辅助电压寄存器值。

一种测试数据模拟系统,包括所述的测试数据模拟装置。

3、有益效果

相比于现有技术,本发明的有益效果为:

(1)本发明提出了一种测试数据模拟方法,利用该测试数据模拟方法,采集测试需要的模拟数据,将模拟数据写入存储器中,电池控制单元(bcu)请求读取所述存储器中的模拟数据,响应所述请求,将所述存储器中的数据传输给所述电池控制单元(bcu),实现对电池控制单元(bcu)的测试,降低了验证电池管理系统时的验证成本,提高了使用效率;

(2)本发明基于测试数据模拟方法,设计了一种测试数据模拟装置,利用该测试数据模拟装置,从逻辑上实现模拟装置与真实设备的等价替换,通过相应的配置管理命令,得到电压和/或温度信号,为电池控制单元提供安全、可靠、快速、准确的激励信号,降低了验证电池管理系统时的验证成本,提高了使用效率,易于操作和管理;

(3)本发明基于测试数据模拟装置,设计了一种测试数据模拟系统,介于本发明的测试数据模拟装置具有两种模拟方式,分别针对分体式电池管理系统和一体式电池管理系统,使得本发明的测试数据模拟系统适用性更强。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种测试数据模拟方法的示意图;

图2为本发明实施例提供的一种测试数据模拟装置的示意图;

图3为本发明实施例提供的针对分体式电池管理系统的测试数据模拟装置的示意图;

图4为本发明实施例提供的针对一体式电池管理系统的测试数据模拟装置的示意图。

具体实施方式

本发明实施例提供了一种测试数据模拟方法、装置及系统,用于解决目前通过专用的hil设备或者自制测试台架等真实采集设备存在的响应速度慢与输出精度低的问题。

为使得本发明的发明目的、特征和优点能够更加的明显和易懂,下面将参考附图和具体实施例,来详细说明本发明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

本发明实施例提供的一种测试数据模拟方法,如图1所示,包括:

101、输入模拟数据。

输入用于测试的模拟数据,模拟数据以电压和温度数据为主,需要注意的是,模拟数据可以只包括电压数据、只包括温度数据,也可以二者兼具。

102、将模拟数据写入存储器中。

将步骤101中输入的模拟数据写入本地存储器中,其中电压数据写入电压存储器中,温度数据则对应写入温度存储器中。需要注意的是,在写入模拟数据前,使用windows临界区对象进行加锁操作,在写入模拟数据后,进行解锁操作。

103、请求读取所述模拟数据。

根据操作指令,请求读取步骤102中写入数据存储器中模拟数据,若操作指令为读取电压信号,则读取步骤102中电压存储器中的电压数据,若操作指令为读取温度信号,则读取步骤102中温度存储器中的温度数据。需要注意的是,在读取模拟数据前,使用步骤102中所述windows临界区对象进行加锁操作,在读取模拟数据后,进行解锁操作。

104、响应所述请求,输出所述存储器中的数据。

根据步骤103中所请求的电压数据,会将电压存储器中与请求对应的电压数据传输给请求方,响应该请求,根据步骤103中所请求的温度数据,会将温度存储器中与请求对应的温度数据传输给请求方,响应该请求。

接下来,以一个实际的应用场景来介绍本发明实施例提供的测试数据模拟方法,为了阐明本发明的思想,这里以分体式电池控制单元(bcu)的测试为例,来描述本方法。

请参考图2,基于windows平台,用户通过命令提示符操作界面设置电压值,所述电压值存储在windows的内存中。电池控制单元(bcu)通过内部总线请求读取电压数据,根据用户设置的电压值,响应所述请求,发出读取电压存储中与用户设置的电压值相对应的电压数据,将电压存储器中与用户设置的电压值相对应的电压数据传输给电池控制单元(bcu),验证电池控制单元(bcu)根据反馈的电压数据是否能正确执行相关动作。对于温度数据的测试,其原理同前述电压数据的测试,在此不作多余赘述。

以上实施例介绍了本发明实施例提供的测试数据模拟方法,接下来介绍本发明实施例提供的测试数据模拟装置。请参考图2,测试数据模拟装置包括:

通信单元201,用于接收请求和响应请求;

存储单元202,用于存储所述模拟数据;

设置单元203,用于设置模拟数据;

电池控制单元204,根据所述设置单元设置的模拟数据,读取所述存储单元存储的模拟数据;

其中,通信单元201和电池控制单元204通过内部总线连接。

需要说明的是,在实际应用中,通信单元201在接收请求和响应请求时,采用先进先出队列处理数据,在读写所述先进先出队列之前进行加锁操作,在读写所述先进先出队列之后进行解锁操作。在此对先进先出队列作简单介绍如下:

先进先出队列(firstinputfirstoutput,简称fifo),是一种传统的有序队列,最先入列的数据最先出列。fifo队列不对报文进行分类,当报文进入接口的速度大于接口能发送的速度时,fifo按报文到达接口的先后顺序让报文进入队列,同时,fifo在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队,fifo队列具有处理简单,开销小的优点。

需要说明的是,在实际应用中,存储单元202中存储的模拟数据包括电压数据和/或温度数据。

需要说明的是,在实际应用中,内部总线选用can总线或spi总线。当内部总线为can总线时,存储单元存储的是电压寄存器值和/或温度寄存器值;当内部总线为spi总线时,存储单元存储的是电压寄存器值和/或辅助电压寄存器值。

接下来,以一个实际的应用场景来介绍本发明实施例提供的测试数据模拟装置,为了阐明本发明的思想,这里以分体式电池控制单元(bcu)的测试为例,来描述装置。

针对分体式电池管理系统的电池控制单元(bcu)测试,请结合图2和图3,该测试数据模拟装置为用户提供一个命令提示符界面。用户通过键盘输入字符,按回车键确认输入。在检测到回车键输入时,对输入的字符串以空格为分隔符进行分割,并将分割后第一个元素与所支持的命令列表进行字符串比较,如果完全相同,则调用对应的回调函数执行相应的动作,分割后的第二元素之后(含)则作为所述命令的执行参数,操作方式与windows的命令提示符相似。通过该命令提示符界面,用户可以查看或者设置存储单元202中的电压或温度数据。例如用户在命令符提示界面输入符号“v”(即v命令,为设置和读取单体电压命令)、输入符号“t”(即t命令,为设置和读取温度命令),在v命令或者t命令后不设置参数的情况下为查看功能,命令的执行结果是显示存储单元202中已经储存的电压或温度值。

用户在命令提示符界面输入v0003350命令时,会将电压数据3350(单位毫伏)的电压数据存储到存储单元202中,通信单元201在接收到被测设备(本发明实施例的被测设备指bcu)通过can总线发送的电压数据请求时,会将存储单元202中存储的电压数据通过can总线基于can总线的iso15765协议格式返回给被测设备bcu。本发明解决了真实采集设备存在的响应速度慢与输出精度低的问题。需要说明的是,此处输入的命令“v0003350”,其中,v命令后的第一个“0”代表bmu序号为0,v命令后的第二个“0”代表采集板序号为0,v命令后第三个“0”代表对应的单体电池序号为0。当用户需要输入多个序号连续的电压数据时,无需一一输入,仅需输入这些连续测试数据的起始序号和终止序号,并在起始序号和终止序号之间以短横线隔开;若只想输入一组数据中的若干个数据,可以以逗号隔开每个序号;若需输入全部的数据,仅需输入*;需要说明的是,这些输入方式可以同时使用,由此可以实现比图形化界面更高效的操作。用户在命令提示符界面输入t00035命令时,会将温度数据35(单位摄氏度)的温度数据存储到存储单元202中,其他操作与所述电压命令类似。

本发明实施例在can总线上虚拟设备节点,最大可支持16路,在实现iso15765-2传输协议时,需要支持16个模拟采集设备同时工作,且互不影响,由于16个模拟采集设备共享一个can总线接口,为避免资源竞争造成系统紊乱,必须解决can总线资源调度问题。在本发明实施例中采用1个发送队列(先进先出队列,简称fifo)和16个接收fifo,并使用windows临界区对象保护所有fifo,具体的实施方式是在读写fifo之前进行加锁操作,在读写fifo之后进行解锁操作,确保在同一时刻只有一个线程能操作fifo。从can总线上接收到的数据,分发到16个接收fifo中,从发送fifo中取出数据,发送到can总线上。模拟采集设备将需要发送到can总线上的数据都添加到发送fifo中,这种设计能确保在can总线发送数据过程中不会丢失数据。

下面以验证电池控制单元(bcu)在常温(35℃)下是否能正确处理单体低压故障,以及是否正确执行相关动作为例,进行详细介绍:

其中,单体低压故障情形描述如下:当电池控制单元(bcu)检测到电池系统中存在低于3200mv的单体电压,且持续时间为大于等于3秒且小于4秒时,电池控制单元(bcu)应报文发送单体低压1级故障状态,以及当前故障状态下允许的最大输出功率报文。

准备好电池控制单元(bcu)的运行环境,供电电压为12v,将usbcan-ii的usb插头插入到安装了本发明测试数据模拟装置的计算机上,并将usbcan-ii的can总线接口与被测设备bcu的can总线连接在一起,将bcu与计算机连接到一起。

运行本发明测试数据模拟装置,并在命令提示符界面(以下称命令行)中输入“v0**3300”,按回车键确认输入,设置所有单体电压为3300mv,输入“t0**35”,按回车键确认输入,设置所有单体温度为35℃。

唤醒bcu设备,并使用相关上位机软件(以下称上位机)接收bcu发送的can总线报文,此时bcu发送的状态应为无故障状态。

在命令行中输入“v0**3200”设置所有单体电压为3200mv,记下命令执行的时间(记为ta)。

持续观察上位机,当观察到上位机显示出单体低压1级故障时,记下故障出现的时间(记为tb),并检查最大输出功率报文是否在技术协议规定的范围内。

当以下条件同时满足时,bcu判定为合格,否则判定为不合格:

(1)上位机显示出低压1级故障。

(2)最大输出功率小于等于技术协议规定的范围。

(3)tb-ta大于等于3秒且小于4秒。

若判定为不合格时,则将问题反馈给开发人员,请开发人员排查以及修复该问题。待开发确认修复该问题后,重复以上验证流程。

若判定为合格时,则进行其他环节的验证流程。

针对一体式电池管理系统的电池控制单元(bcu)测试,请结合图2和图4,其测试数据模拟装置和针对分体式电池管理系统的原理相似,不同之处在于,该测试数据模拟装置基于windows平台,使用usb转spi的设备扩展spi(串行外设接口)总线接口,在spi总线上虚拟一组采集芯片(最大支持4路),并实现采集芯片的spi通信协议。

由于在分体式电池管理系统中,温度的读取是由bmu完成,bcu直接从bmu中读取温度值。在一体式电池管理系统中,温度的读取过程是由bcu自身完成的,因此bcu需要读取采单元201上对应的电压数据,然后将这个电压数据通过查表转换为对应的温度数据。

同样地,该测试数据模拟装置为用户提供一个命令提示符界面,用户通过键盘输入字符,按回车键确认输入,操作方式与windows的命令提示符相似。命令行操作步骤做到简单高效,比图形化界面更高效。通过该命令提示符界面,用户可以查看或者设置存储单元202中的电压或温度数据。例如用户在命令符提示界面输入符号“v”(即v命令,为设置和读取单体电压命令)、输入符号“t”(即t命令,为设置和读取温度命令),在v命令或者t命令后不设置参数的情况下为查看功能,命令的执行结果是显示存储单元202中已经储存的电压或温度值。

用户在命令提示符界面输入v0**3350命令时,会将电压数据3350,单位毫伏的电压数据存储到存储单元202中,存储单元202在接收到被测设备(本发明实施例的被测设备指bcu)通过spi总线发送的电压数据请求时,会将存储单元202中存储的电压数据通过spi总线基于协议格式返回给被测设备bcu。

用户在命令提示符界面输入t0**35命令时,会将温度数据35,单位摄氏度的温度数据存储到存储单元202中,存储单元202在接收到被测设备(本发明实施例的被测设备指bcu)通过spi总线发送的温度数据请求时,会将存储单元202中存储的温度数据通过查表转换为电压值通过spi总线基于协议格式返回给被测设备bcu。

另外的,本发明基于测试数据模拟装置,设计了一种测试数据模拟系统,该系统包括了上述的测试数据模拟装置。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,硬盘或光盘等。

以上对本发明所提供的一种测试数据模拟方法、装置及系统进行了详细介绍,对于本领域的一般技术人员,根据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1