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

一种电池电芯管理芯片故障注入模拟方法与流程

2022-04-02 06:12:09 来源:中国专利 TAG:


1.本发明属于软件开发技术领域,特别是涉及一种电池电芯管理芯片故障注入模拟方法。


背景技术:

2.电池电芯管理芯片(battery cell chip)是电池管理系统的核心元器件之一,具有采集电池电芯电压、电流和温度等的关键作用。在设计电池管理系统的软硬件时,为了提高系统的安全等级和可靠性,必须考虑到电池电芯管理芯片可能会发生故障,电池管理系统需要有针对性的软硬件设计来应对这种故障。
3.采用电子技术来模拟向电池管理芯片注入故障的行为,常见的方法是采用fpga方案。这种方案用硬件方法模拟电池管理芯片,缺点是注入故障不灵活,模拟多节点时占用硬件资源很大,性价比很低。
4.然而,如果不采用fpga方案,采用单片机方案,虽然容易实现灵活增加节点数和注入故障,但面临着其它技术难点:由于spi通信的自身特点,没有连接同步机制,作为模拟器的从机难以与主机保持同步连接,而这将导致一旦主机和从机在测试中出现不同步(体现为在主机和从机的ram接收缓冲区内发生数据错位),很难判断出究竟是主机还是从机发生了丢帧现象,导致测试不出正确结果。在模拟压力测试场景时,被测试主机需要在短时间内发送和接收多帧spi报文,而作为模拟器的从机采用单片机作为硬件控制核心,很难解决掉在高速接收spi报文并处理过程中发生的丢帧问题。


技术实现要素:

5.本发明的目的在于提供一种电池电芯管理芯片故障注入模拟方法,在被测试主机与模拟器之间通过spi通信解决同步连接问题;通过设置防丢帧机制解决模拟器spi报文接收丢帧问题,在此基础上实现了对电池管理芯片故障注入的模拟;能够模拟不同种类的电池管理芯片,还可以模拟具备多个电池管理芯片组成的多节点网络,满足电动/智能汽车、储能和不间断电源领域的测试需求。
6.为解决上述技术问题,本发明是通过以下技术方案实现的:
7.本发明为一种电池电芯管理芯片故障注入模拟方法,包括如下步骤:
8.步骤一,模拟器上电进行初始化,进行自检;自检无故障后进入步骤二;
9.步骤二,模拟器进入等待与待测主机进行连接同步和传递故障类型状态;连接同步和传递故障完成后进入步骤三;其中,模拟器与待测主机之间通过spi进行通信连接;其中,故障类型包括adc故障、spi通信故障和无源或者有源均衡故障中的一个或多个;
10.步骤三,模拟器等待待测主机开始测试,待测主机开始运行需要进行测试的程序;
11.步骤四,模拟器接收到一帧完整报文后解析报文状态;并根据报文解析结果,决定是否发送报文;若报文有意义并且模拟机自检无故障,则进入步骤五;若自检有故障或者根据报文得出主机容错运行存在问题,则进入步骤七;
12.步骤五,模拟器进行故障注入工作状态,故障注入完成后若无需向待测主机发送报文则返回步骤三;若需要发送报文则进入步骤六;
13.步骤六,模拟器进入发送报文状态,向待测主机发送报文;报文发送成功后返回步骤三;若自检无故障、报文不能成功发送且根据报文得出主机容错运行存在问题,则进入步骤七;
14.步骤七,模拟器进入停机报警状态。
15.优选地,所述步骤二包括以下子步骤:
16.stp21、所述待测主机先向模拟机发送同步连接报文,所述模拟器收到报文后进行应答;
17.stp22、所述待测主机收到应答后,向模拟器发送包含有注入故障种类内容的报文,所述模拟器收到后,完成故障注入设置,并发出准备完成应答;
18.stp22、所述待测主机再次收到应答后,即可开始测试。
19.优选地,所述步骤二中模拟器通过向从自身mcu的ad外设或者外接 ad芯片获取到的电压、电流和温度等的精确采样值中加入偏差量来模拟出 ad采样不准故障;
20.所述模拟器通过在程序中增加延迟,模拟出各种由于延迟导致的通信延迟故障。
21.优选地,所述步骤四中模拟器通过检查接收到的spi报文是否有不符合主机与电池电芯管理芯片通信格式的地方或者检查收到的spi报文内容是否符合容错策略来判断主机容错运行是否存在问题。
22.优选地,所述模拟器与待测主机之间的spi通信设有防丢帧机制,模拟器开启spi接收中断,并将中断类型设置为spi外设接收中断缓冲区不为空即触发中断;开始测试后,模拟器按照如下流程完成对spi报文的接收、解析和发送:
23.ss01、设置计数器counter1为0,进入步骤ss02;
24.ss02、从机mcu等待进入spi接收中断服务程序,进入步骤进入步骤 ss03;
25.ss03、被测试主机发送spi报文到从机,从机的mcu运行进入到spi 接收中断服务程序中,进入步骤ss04;
26.ss04、在spi接收中断服务程序中,检查spi外设接收报文字节计数器counter0,如果counter0不为0且小于一帧报文长度,那么将接收到的每个字节都移动到ram缓冲区,每移动一个字节,counter0减1,counter1 加1;如果counter0不为0且等于一帧报文长度,启动对报文的解析,进入步骤ss05;如果counter0为0,进入步骤ss02;
27.ss05、按照注入故障种类完成对报文的解析并将ad采样值发送给主机,重置计数器counter1为0,重复步骤ss04。
28.本发明具有以下有益效果:
29.本发明在被测试主机与模拟器之间通过spi通信解决同步连接问题;通过设置防丢帧机制解决模拟器spi报文接收丢帧问题,在此基础上实现了对电池管理芯片故障注入的模拟;能够模拟不同种类的电池管理芯片,还可以模拟具备多个电池管理芯片组成的多节点网络,满足电动/智能汽车、储能和不间断电源领域的测试需求;具有成本低,比fpga方案更加易于实现。
30.当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
31.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明的一种电池电芯管理芯片故障注入模拟方法的流程图;
33.图2为一种电池电芯管理芯片故障注入模拟方法的防丢帧机制流程图。
具体实施方式
34.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
35.实施例一:
36.请参阅图1所示,本发明为一种电池电芯管理芯片故障注入模拟方法,包括如下步骤:
37.步骤一,模拟器上电进行初始化,进行自检;自检无故障后进入步骤二;
38.步骤二,模拟器进入等待与待测主机进行连接同步和传递故障类型状态;连接同步和传递故障完成后进入步骤三;其中,模拟器与待测主机之间通过spi进行通信连接;故障类型包括adc故障、spi通信故障和无源或者有源均衡故障中的一个或多个;
39.其中,步骤二包括以下子步骤:
40.stp21、待测主机先向模拟机发送同步连接报文,模拟器收到报文后进行应答;
41.stp22、待测主机收到应答后,向模拟器发送包含有注入故障种类内容的报文,模拟器收到后,完成故障注入设置,并发出准备完成应答;
42.stp22、待测主机再次收到应答后,即可开始测试;
43.其中,模拟器通过向从自身mcu的ad外设或者外接ad芯片获取到的电压、电流和温度等的精确采样值中加入偏差量来模拟出ad采样不准故障;模拟器通过在程序中增加延迟,模拟出各种由于延迟导致的通信延迟故障;
44.步骤三,模拟器等待待测主机开始测试,待测主机开始运行需要进行测试的程序;
45.步骤四,模拟器接收到一帧完整报文后解析报文状态;并根据报文解析结果,决定是否发送报文;若报文有意义并且模拟机自检无故障,则进入步骤五;若自检有故障或者根据报文得出主机容错运行存在问题,则进入步骤七;
46.步骤五,则模拟器进行故障注入工作状态,故障注入完成后若无需向待测主机发送报文则返回步骤三;若需要发送报文则进入步骤六;
47.步骤六,模拟器进入发送报文状态,向待测主机发送报文;报文发送成功后返回步骤三;若自检无故障、报文不能成功发送且根据报文得出主机容错运行存在问题,则进入步骤七;
48.步骤七,模拟器进入停机报警状态。
49.实施例二:
50.其中,步骤四中模拟器通过检查接收到的spi报文是否有不符合主机与电池电芯管理芯片通信格式的地方或者检查收到的spi报文内容是否符合容错策略来判断主机容错运行是否存在问题;模拟器根据实时检测得到的接收帧数量和发送帧数量之间的关系来判断自身运行状态,如果自身发生故障,将停机并报警。
51.实施例三:
52.如图2所示,模拟器与待测主机之间的spi通信设有防丢帧机制,模拟器开启spi接收中断,并将中断类型设置为spi外设接收中断缓冲区不为空即触发中断;开始测试后,模拟器按照如下流程完成对spi报文的接收、解析和发送:
53.ss01、设置计数器counter1为0,进入步骤ss02;
54.ss02、从机mcu等待进入spi接收中断服务程序,进入步骤进入步骤 ss03;
55.ss03、被测试主机发送spi报文到从机,从机的mcu运行进入到spi 接收中断服务程序中,进入步骤ss04;
56.ss04、在spi接收中断服务程序中,检查spi外设接收报文字节计数器counter0,如果counter0不为0且小于一帧报文长度,那么将接收到的每个字节都移动到ram缓冲区,每移动一个字节,counter0减1,counter1 加1;如果counter0不为0且等于一帧报文长度,启动对报文的解析,进入步骤ss05;如果counter0为0,进入步骤ss02;
57.ss05、按照注入故障种类完成对报文的解析并将ad采样值发送给主机,重置计数器counter1为0,重复步骤ss04。
58.实施例四:
59.模拟器通过占用更大的ram空间来增加需要模拟的从节点实体数量,能够模拟出不同的从节点拓扑,能够模拟出同一个拓扑内不同种类的电池电芯管理芯片功能,能够分别向不同的从节点中注入故障并完成监控。
60.实施例五:
61.本实施例中采用mc33771作为模拟的电池电芯管理芯片,需要注入的故障有两个:
62.1、mc33771对其中两节电芯的电压采集有间歇性故障,表现为电压采集值与真实值之间的偏差大于说明书所说的最大值,这里设定为最大偏差达到了正负1mv;
63.2、mc33771与待测主机之间有不明原因的spi通信故障,表现为待测主机有时不能正常接收到来自mc33771的报文;
64.进行故障注入模拟,包括以下步骤:
65.模拟开始前,按照真实应用场景给模拟器接入14节电芯;模拟器的电压采集模块已经经过高精度电压测量设备调校,保证能够采集到与真实值偏差极小,在本次故障注入过程中对测试结果影响可以忽略不计。
66.将被测试主机安装进模拟器,连接好被测试主机与模拟器之间的spi 通信电缆;被测试主机与模拟器采用分别独立供电;
67.当待测主机和模拟器分别上电后,主机向模拟器发送长度为2个字节的连接同步报文;连接同步报文格式如下:
68.第一个字节,表示需要寻址的节点号码,范围是0x01~0xfe,这里只有1个mc33771节点,第一个字节为0x01;
69.第二个字节为0xfe,表示连接请求;
70.模拟器正常接收到该报文后,如果此时模拟器认为其初始化已经完成,发送连接正常响应0xff;如果未初始化完成,发送不正常响应0x00。
71.待测主机接收到正常响应,即发送2个字节的注入故障种类报文;
72.其中,传递故障种类的报文格式如下:
73.第一个字节,表示需要寻址的节点号码,这里是0x01;
74.第二个字节表示需要注入的故障种类,这里是0x02;
75.模拟器接收到包含有注入故障种类内容的报文,即开始完成测试前的准备工作,一切准备就绪后,发送正常响应0xff;否则发送不正常响应0x00。
76.待测主机接收到正常响应后,即开始运行需要进行测试的程序;
77.当接收到一帧完整的报文(这里是6个字节),模拟器即对报文进行解析,并根据报文解析结果,决定是否发送报文;
78.假设此时需要查询有故障的两节电芯的电压,那么模拟器就将采集到的电压值加上偏差量,发送给待测主机,就能模拟出ad采集故障;通过随机停止发送采集到的电压值,可以模拟出spi通信故障;
79.由于在模拟器解析和发送报文阶段的运行过程耗费时间可控,只要保证这段时间不要超过相邻两个字节的传递间隔时间,结合上述提出的防丢帧方法,即可完全消除丢帧现象;
80.在测试过程中,保证了模拟器从spi外设接收中断缓冲区取得报文字节是最高的优先级,时间复杂度可定量分析,处理逻辑清晰,占用硬件资源少,所以在测试需求范围内,完全避免了有可能产生的丢帧问题,也就是说,在测试过程中,模拟器能够正常接收到主机发过来的spi报文,产生的测试结果不需要考虑受到spi报文丢帧的影响;如果接收到的报文有问题,可以从逻辑分析中,清晰地界定出是主机侧发生了故障。
81.值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
82.另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘或光盘等。
83.以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

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

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

相关文献