用于智能电能表软件可靠性检测的时钟芯片模拟测试方法
【技术领域】
[0001]本发明涉及嵌入式软件测试技术领域,具体涉及一种用于智能电能表软件可靠性检测的时钟芯片模拟测试方法。
【背景技术】
[0002]随着我国智能电网的建设不断完善,海量智能终端设备陆续接入电网,以智能电能表为代表的计量终端需具有公平计量、通信可靠、安全防护等措施,保障售电用电客户权益和电网的安全稳定运行。这需要在智能电能表的生产、集中采购和定期送检等过程中进行质量把控,检验检测智能电能表的设计规范、功能完善性和安全运行状态。智能电能表的控制软件是智能电能表的中枢神经系统,关系到整个智能电能表的协调运行,智能电能表的软件一旦出现故障,同批次的电能表都将有事故隐患,直接影响电网公司的形象和优质服务水平。
[0003]时钟芯片是智能电能表的关键部件,关系到电能计量、电费结算、购电记录等重要功能。一旦时钟芯片出现故障,智能电能表必须能够在短时间应对突发情况,做出数据重读,故障上报,时钟校正等工作,非常考验智能电能表软件的成熟和健壮性。
[0004]目前的软件测试只是对系统的功能和通信规约进行测试,没有对时钟的可靠性进行测试,本发明的提出有效控制了电能表软件的质量,消除了电能表软件可能存在的安全隐患,解决了其功能实现不统一等问题,提高了软件的成熟度和健壮性。
【发明内容】
[0005]为克服上述现有技术的不足,本发明提供一种用于智能电能表软件可靠性检测的时钟芯片模拟测试方法,利用ARM和FPGA仿真实际时钟芯片,采用灰盒测试法,对M⑶与时钟芯片之间的I2C总线进行数据监听和修改等方式,配合上位机的测试用例,实现软件测试。其中FPGA寄存器模拟实际时钟芯片的日时分秒寄存器、控制寄存器等;ARM首先按照检测方案要求配置FPGA模拟仿真的时钟芯片型号,然后实时监控模拟板的状态信息,并将监控信息实时传送给上位机软件,供上位机软件进行智能电能表的软件可靠性检测与分析。
[0006]实现上述目的所采用的解决方案为:
[0007]—种用于智能电能表软件可靠性检测的时钟芯片模拟测试方法,所述测试方法包括如下步骤:
[0008](I)上位机加载错误注入用例库;
[0009](2)上位机向ARM发送测试指令;
[0010](3)ARM修改FPGA寄存器中的关键数据;
[0011](4)ARM切换到监听状态,将监听到的M⑶核心板对FPGA芯片的读写时序,通过交换机传递给上位机,同时ARM监听I2C总线上的通信时序;
[0012](5)上位机软件将接收到的时序与原始库对比;
[0013](6)若对比正确则记录检测结果,否则记录错误信息;
[0014](7)测试用例条目结束则整理检测结果,编制检测报告;否则执行下一跳检测条目。
[0015]优选的,所述步骤(I)中,所述用例库为测试人员预先编制的时钟芯片的模拟方法,包括预制初始参数、修改关键参数和冻结关键寄存器。
[0016]优选的,所述步骤(3)中,所述ARM按照检测方案要求配置FPGA模拟仿真的时钟芯片型号,实时监控模拟板的状态信息,并将监控信息实时传送给上位机软件。
[0017]优选的,所述步骤(3)中,所述FPGA寄存器模拟实际时钟芯片的日时分秒寄存器和控制寄存器。
[0018]优选的,所述步骤(3)中,所述关键数据包括时间格式错码、日期跳跃、时钟静止方式。
[0019]优选的,所述步骤(6)中,所述检测结果包括延迟响应,错误响应和无响应。
[0020]优选的,所述FPGA芯片使用VHDL编写内部程序。
[0021]与现有技术相比,本发明具有以下有益效果:
[0022]本发明可解决ARM对上位机测试软件和被测的电能表时钟芯片同时进行交互操作时,软件运行速度较慢,可能导致测试错误的问题。
[0023]本发明的提出有效控制了电能表软件的质量,消除了电能表软件可能存在的安全隐患,解决了其功能实现不统一等问题。
[0024]本发明使用上位机、ARM和FPGA协调工作的方式,实现了电能表软件检测中的灰盒测试方法,相对于传统的白盒测试、黑盒测试,本发明既能够保护电能表生产厂家软件的保密权益,又能够保障电网公司智能电表软件检测的工作需要,提升用电服务质量。
【附图说明】
[0025]图1为本发明时钟芯片模拟测试流程;
【具体实施方式】
[0026]下面结合附图对本发明的【具体实施方式】做进一步的详细说明。
[0027]—种用于智能电能表软件可靠性检测的时钟芯片模拟测试方法,所述测试方法包括如下步骤:
[0028](I)上位机加载错误注入用例库;
[0029](2)上位机向ARM发送测试指令;
[0030](3)ARM修改FPGA寄存器中的关键数据;
[0031](4)ARM切换到监听状态,将监听到的M⑶核心板对FPGA芯片的读写时序,通过交换机传递给上位机,同时ARM监听I2C总线上的通信时序;
[0032](5)上位机软件将接收到的时序与原始库对比;
[0033](6)若对比正确则记录检测结果,否则记录错误信息;
[0034](7)测试用例条目结束则整理检测结果,编制检测报告;否则执行下一跳检测条目。
[0035]所述步骤(I)中,所述用例库为测试人员预先编制的时钟芯片的模拟方法,包括预制初始参数、修改关键参数和冻结关键寄存器。
[0036]所述步骤(3)中,所述ARM按照检测方案要求配置FPGA模拟仿真的时钟芯片型号,实时监控模拟板的状态信息,并将监控信息实时传送给上位机软件。
[0037]所述步骤(3)中,所述FPGA寄存器模拟实际时钟芯片的日时分秒寄存器和控制寄存器。
[0038]所述步骤(3)中,所述关键数据包括时间格式错码、日期跳跃、时钟静止方式。
[0039]所述步骤(6)中,所述检测结果包括延迟响应,错误响应和无响应。
[0040]所述FPGA芯片使用VHDL编写内部程序。
[0041]上位机检测根据测试用例库分析智能电能表软件的响应时间,响应指令,给出测试结果。包括延迟响应,错误响应,无响应等。
[0042]最后应当说明的是:以上实施例仅用于说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的【具体实施方式】进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。
【主权项】
1.一种用于智能电能表软件可靠性检测的时钟芯片模拟测试方法,其特征在于,所述测试方法包括如下步骤: (1)上位机加载错误注入用例库; (2)上位机向ARM发送测试指令; (3)ARM修改FPGA寄存器中的关键数据; (4)ARM切换到监听状态,将监听到的MCU核心板对FPGA芯片的读写时序,通过交换机传递给上位机,同时ARM监听12C总线上的通信时序; (5)上位机软件将接收到的时序与原始库对比; (6)若对比正确则记录检测结果,否则记录错误信息; (7)测试用例条目结束则整理检测结果,编制检测报告;否则执行下一跳检测条目。2.如权利要求1所述的模拟测试方法,其特征在于,所述步骤(I)中,所述用例库为测试人员预先编制的时钟芯片的模拟方法,包括预制初始参数、修改关键参数和冻结关键寄存器。3.如权利要求1所述的模拟测试方法,其特征在于,所述步骤(3)中,所述ARM按照检测方案要求配置FPGA模拟仿真的时钟芯片型号,实时监控模拟板的状态信息,并将监控信息实时传送给上位机软件。4.如权利要求1所述的模拟测试方法,其特征在于,所述步骤(3)中,所述FPGA寄存器模拟实际时钟芯片的日时分秒寄存器和控制寄存器。5.如权利要求1所述的模拟测试方法,其特征在于,所述步骤(3)中,所述关键数据包括时间格式错码、日期跳跃、时钟静止方式。6.如权利要求1所述的模拟测试方法,其特征在于,所述步骤(6)中,所述检测结果包括延迟响应,错误响应和无响应。7.如权利要求1所述的模拟测试方法,其特征在于,所述FPGA芯片使用VHDL编写内部程序。
【专利摘要】本发明提供一种用于智能电能表软件可靠性检测的时钟芯片模拟测试方法,所述测试方法包括如下步骤:上位机加载错误注入用例库;上位机向ARM发送测试指令;ARM修改FPGA寄存器中的关键数据;ARM切换到监听状态,将监听到的MCU核心板对FPGA芯片的读写时序,通过交换机传递给上位机,同时ARM监听I2C总线上的通信时序;上位机软件将接收到的时序与原始库对比;若对比正确则记录检测结果,否则记录错误信息;测试用例条目结束则整理检测结果,编制检测报告;否则执行下一跳检测条目。本发明实现了电能表软件检测中的灰盒测试,既能够保护电能表生产厂家软件的保密权益,又能够保障电网公司智能电表软件检测的工作需要,提升用电服务质量。
【IPC分类】G06F11/36
【公开号】CN105573912
【申请号】CN201510921236
【发明人】梁晓兵, 孙志强, 刘鹰, 翟峰, 杜蜀薇, 杜新纲, 葛得辉, 赵兵, 孔令达, 吕英杰, 李保丰, 付义伦, 彭楚宁, 周晖, 岑炜, 冯占成, 曹永峰, 任博, 袁泉, 张庚, 卢艳, 徐文静, 许斌
【申请人】中国电力科学研究院, 国家电网公司
【公开日】2016年5月11日
【申请日】2015年12月11日