CN107729233A - 一种控制器软件的仿真方法及装置 - Google Patents
一种控制器软件的仿真方法及装置 Download PDFInfo
- Publication number
- CN107729233A CN107729233A CN201710906534.4A CN201710906534A CN107729233A CN 107729233 A CN107729233 A CN 107729233A CN 201710906534 A CN201710906534 A CN 201710906534A CN 107729233 A CN107729233 A CN 107729233A
- Authority
- CN
- China
- Prior art keywords
- controller
- software
- signal
- controlled device
- emulation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004088 simulation Methods 0.000 title claims abstract description 14
- 238000012360 testing method Methods 0.000 claims abstract description 68
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 230000007613 environmental effect Effects 0.000 claims description 37
- 230000008676 import Effects 0.000 claims description 8
- 230000005611 electricity Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 38
- 230000008569 process Effects 0.000 abstract description 16
- 238000013522 software testing Methods 0.000 abstract description 3
- 238000010276 construction Methods 0.000 abstract 1
- 238000013507 mapping Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种控制器软件的仿真方法及装置,其中方法包括:根据控制器的状态信息对控制器进行配置;构建配置后的控制器与被控设备模型之间的传输接口以及配置接口文件,利用传输接口传输控制器和被控设备模型对应的仿真信号;将经过编译后的包含仿真信号的控制器和被控设备模型分别生成的文件信息导入在环测试平台,形成对控制器的功能进行验证的虚拟集成测试环境。本发明可以实现快捷仿真,操作系统快捷的与策略层代码进行集成,缩短软件测试过程中环境搭建的时间,提高测试效率。且本发明技术方案软件测试和软件开发并行,可弥补传统流程中软件测试滞后于软件开发的问题。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种控制器软件的仿真方法及装置。
背景技术
控制器软件作为在环测试流程中的一个重要环节,可有效发现被测软件中的接口和策略问题,有效提高软件开发的效率。软件集成测试环境的搭建过程中需要考虑策略层代码和底层代码间的数据接口,底层软件中包括很多硬件驱动、底层诊断、操作系统任务调度等信息,这些信息与控制器硬件强相关,控制器软件在环测试中可以使用软件仿真这些信号,与策略层代码进行集成组成被测代码并与被控对象模型进行集成。
现有技术中在控制器底层代码进行集成和信号仿真时耗时较长,延长在环测试集成环境的搭建时间,降低软件测试的效率。
发明内容
本发明实施例提供一种控制器软件的仿真方法及装置,以解决现有技术中在进行软件仿真时,控制器底层代码进行集成和信号仿真耗时较长,延长在环测试集成环境的搭建时间,降低软件测试效率的问题。
本发明实施例提供一种控制器软件的仿真方法,包括:
根据控制器的状态信息对所述控制器进行配置;
构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件,利用所述传输接口传输所述控制器和所述被控设备模型对应的仿真信号;
将经过编译后的包含仿真信号的所述控制器和所述被控设备模型分别生成的文件信息导入在环测试平台,形成对所述控制器的功能进行验证的虚拟集成测试环境。
其中,所述控制器的状态信息包括:
控制器软件的任务调度、任务优先级以及中断类型信息;
控制器硬件的输入输出信号;
所述控制器进行仿真时需要实现的信号和功能。
其中,根据控制器的状态信息对所述控制器进行配置的步骤包括:
通过所述控制器的软件构架,根据控制器软件的任务调度、任务优先级以及中断类型信息,配置周期性调用任务周期和优先级并设定中断任务的优先级;
根据所述控制器进行仿真时需要实现的信号和功能形成状态管理流程;
根据所述状态管理流程配置控制器软件上电时初始化函数的启动逻辑;
根据所述状态管理流程配置控制器软件下电和复位过程中需要存储的电可擦可编程只读存储器和统一诊断服务的数据,仿真控制器硬件的存储芯片功能。
其中,构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件的步骤包括:
仿真所述控制器的第一传输接口和所述被控设备模型的第二传输接口;
将控制器软件与所述被控设备模型通过仿真得到的输入/输出设备接口I/O信号和控制器局域网络CAN信号进行输入输出关联;
根据关联关系配置所述控制器与所述被控设备模型之间的、用于实现所述第一传输接口与所述第二传输接口连接的接口文件。
其中,在仿真所述控制器的第一传输接口和所述被控设备模型的第二传输接口时,还包括:
搭建环境模型仿真底层诊断信号和控制器软硬件重启或上下电时需要动态反馈的信号。
其中,仿真所述控制器的第一传输接口和所述被控设备模型的第二传输接口的步骤包括:
根据所述控制器的软件功能和硬件输入输出信号的类型,仿真所述第一传输接口;
根据所述被控设备模型的软件功能和硬件输入输出信号的类型,仿真所述第二传输接口。
其中,搭建环境模型仿真底层诊断信号的步骤包括:
搭建环境模型仿真控制器软件的I/O信号、模拟信号以及CAN信号;
搭建环境模型仿真所述被控设备模型的I/O信号、模拟信号以及CAN信号;
其中控制器软件对应的信号的传输方向与所述被控设备模型对应的信号的传输方向相反。
其中,搭建环境模型仿真控制器软硬件重启或上下电时需要动态反馈的信号的步骤包括:
搭建环境模型仿真所述控制器下电时需保存的电可擦可编程只读存储器数据和统一诊断服务数据;
搭建环境模型仿真所述控制器上电时动态记录的电可擦可编程只读存储器数据和统一诊断服务数据;
搭建环境模型,根据所述控制器上电时的上电自检逻辑和时序仿真控制器硬件的自检信息。
其中,在构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件后,所述方法还包括:
在所述控制器内部增加A2L协议信息;
采用第一编译器对包含仿真信号和A2L协议信息的控制器软件进行编译,生成第一动态链接库文件和对应的映射文件、A2L协议文件;
采用软件在环测试对应的第二编译器对包含仿真信号的所述被控设备模型进行编译,生成第二动态链接库文件。
其中,将经过编译后的包含仿真信号的所述控制器和所述被控设备模型分别生成的文件信息导入在环测试平台,形成对所述控制器的功能进行验证的虚拟集成测试环境的步骤包括:
将所述第一动态链接库文件、所述第二动态链接库文件导入在环测试平台,进行闭环调试,形成对所述控制器的功能进行验证的虚拟集成测试环境。
其中,所述方法还包括:
在对控制器软件进行编译时,为控制器软件的A2L协议信息的内部变量配置地址信息,在编译完成后对内部变量进行标定和观测。
本发明实施例还提供一种控制器软件的仿真装置,包括:
配置模块,用于根据控制器的状态信息对所述控制器进行配置;
处理模块,用于构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件,利用所述传输接口传输所述控制器和所述被控设备模型对应的仿真信号;
导入模块,用于将经过编译后的包含仿真信号的所述控制器和所述被控设备模型分别生成的文件信息导入在环测试平台,形成对所述控制器的功能进行验证的虚拟集成测试环境。
本发明实施例技术方案的有益效果至少包括:
本发明技术方案,首先根据控制器的状态信息对控制器进行配置,在配置完成后构建控制器与被控设备模型之间的传输接口,并配置接口文件实现两者的连接,在建立连接后将经过编译的控制器和被控设备模型生成的文件信息导入在环测试平台,形成虚拟集成测试环境来对控制器的功能进行验证,可以实现快捷仿真,操作系统与策略层代码的快捷集成,缩短软件测试过程中环境搭建的时间,提高测试效率。且本发明技术方案软件测试和软件开发并行,可弥补传统流程中软件测试滞后于软件开发的问题。进一步的,本发明中测试平台和环境复用性好,可以实现快速切换以适用于不同项目的测试。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示本发明提供的控制器软件的仿真方法示意图;
图2表示本发明提供的虚拟集成环境结构示意图;
图3表示本发明提供的控制器软件的组成示意图;
图4表示本发明提供的控制器软件的仿真方法实例的流程图;
图5表示本发明提供的控制器软件的仿真装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种控制器软件的仿真方法,如图1所示,包括:
步骤101、根据控制器的状态信息对控制器进行配置。
本发明实施例中需要获取控制器的状态信息,其中控制器的状态信息至少包括:控制器软件的任务调度、任务优先级以及中断类型信息;控制器硬件的输入输出信号;控制器进行仿真时需要实现的信号和功能。其中,在获取控制器硬件的输入输出信号后,需要对控制器硬件的输入输出信号进行类型划分。在获取控制器的状态信息时,还需要确定软件在环测试环境中需要观测的全局变量。
在获取控制器的状态信息之后,根据控制器的状态信息对控制器进行配置,其中配置的过程包括:通过控制器的软件构架,根据控制器软件的任务调度、任务优先级以及中断类型信息,配置周期性调用任务周期和优先级并设定中断任务的优先级;根据控制器进行仿真时需要实现的信号和功能形成状态管理流程;根据状态管理流程配置控制器软件上电时初始化函数的启动逻辑;根据状态管理流程配置控制器软件下电和复位过程中需要存储的电可擦可编程只读存储器和统一诊断服务的数据,仿真控制器硬件的存储芯片功能。
具体的,在对控制器进行配置时包括根据控制器的任务分工配置对应的任务调度和优先级;以及根据控制器的状态管理流程配置控制器上下电和重启过程中的流程和数据管理。
配置对应的任务调度和优先级的过程为:根据软件架构,利用获取的任务调度、任务优先级,配置周期性调用任务周期和优先级;同时在配置任务调度和优先级时,可以利用获取的中断类型信息设定中断任务的优先级。
在配置控制器上下电和重启过程中的流程和数据管理之前,需要根据获取的控制器进行仿真时需要实现的信号和功能,形成状态管理流程。在形成状态管理流程之后,根据状态管理流程配置控制器软件上电过程中的初始化函数的启动逻辑,同时根据状态管理流程,配置软件下电和复位过程中需要存储的EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)和UDS(Unified DiagnosticServices,统一诊断服务)数据,仿真真实的控制器硬件的存储芯片功能。
在根据控制器的状态信息对控制器配置完成后,执行步骤102。
步骤102、构建配置后的控制器与被控设备模型之间的传输接口以及配置接口文件,利用传输接口传输控制器和被控设备模型对应的仿真信号。
在对控制器配置完成后,需要构建控制器与被控设备模型之间的传输接口。其中控制器与被控设备模型形成的虚拟集成环境结构如图2所示。控制器的第一传输接口包括输入接口和输出接口,输入接口和输出接口对应6种类型的接口,分别为A2L接口、EEPROM接口、CAN(Controller Area Network,控制器局域网络)接口、模拟接口、数字接口以及UDS接口。相应的被控设备模型的第二传输接口也包括输入接口和输出接口,输入接口和输出接口同时均对应6种类型的接口。通过这些接口进行对应类型的信号输送。在控制器与被控设备模型之间设置有转换接口,用于进行控制器与被控设备模型间的接口转换。
在构建传输接口时,也需要配置接口文件,通过传输接口以及接口文件实现控制器与被控设备模型之间的连接。其中构建传输接口并配置接口文件的过程为:仿真控制器的第一传输接口和被控设备模型的第二传输接口;将控制器软件与被控设备模型通过仿真得到的输入/输出设备接口I/O信号和控制器局域网络CAN信号进行输入输出关联;根据关联关系配置控制器与被控设备模型之间的、用于实现第一传输接口与第二传输接口连接的接口文件。
其中在仿真控制器的第一传输接口和被控设备模型的第二传输接口时,对应的过程为:根据控制器的软件功能和硬件输入输出信号的类型,仿真第一传输接口;根据被控设备模型的软件功能和硬件输入输出信号的类型,仿真第二传输接口。
具体为:在获取控制器硬件的输入输出信号后,对信号进行类型划分,根据控制器的软件功能和控制器硬件输入信号的类型,仿真控制器的第一传输接口的输入接口,根据控制器的软件功能和控制器硬件输出信号的类型,仿真控制器的第一传输接口的输出接口。相应的,需要预先获取被控设备模型的硬件输入输出信号,然后进行信号类型划分,根据被控设备模型的软件功能和硬件输出信号的类型,仿真被控设备模型的第二传输接口的输出接口,根据被控设备模型的软件功能和硬件输入信号的类型,仿真被控设备模型的第二传输接口的输入接口。
在进行传输接口仿真时,进行接口文件的配置,其中配置接口文件的过程为:将控制器软件与被控设备模型通过仿真得到的输入/输出设备接口I/O信号和控制器局域网络CAN信号进行输入输出关联;根据关联关系配置控制器与被控设备模型之间的、用于实现第一传输接口与第二传输接口连接的接口文件。
具体为:将控制器软件通过仿真得到的I/O(input/output,输入/输出设备接口)信号和被控设备模型通过仿真得到的I/O信号进行输入输出关联;将控制器软件通过仿真得到的CAN信号与被控设备模型通过仿真得到的CAN信号进行输入输出关联,在完成两者之间的关联后,根据关联关系配置第一传输接口与第二传输接口之间的接口文件,实现第一传输接口与第二传输接口的连接。
在本发明实施例中,在仿真控制器的第一传输接口和被控设备模型的第二传输接口时,该方法还包括:搭建环境模型仿真底层诊断信号和控制器软硬件重启或上下电时需要动态反馈的信号。
在搭建环境模型仿真底层诊断信号时,需要搭建环境模型仿真控制器软件的I/O信号、模拟信号以及CAN信号;搭建环境模型仿真被控设备模型的I/O输出信号、模拟信号以及CAN信号。其中控制器软件对应的信号的传输方向与被控设备模型对应的信号的传输方向相反。
其中控制器软件的I/O输出信号的命令主要包括高低边驱动控制和PWM(PulseWidth Modulation,脉冲宽度调制)控制。高边控制时根据控制命令的真假(1和0),对应输出控制电平(1时输出高电平,0时输出低电平)。低边控制时情况正好相反,1时输出低电平,0时输出高电平。PWM控制时还需要接收占空比和周期信号并考虑高低边控制(高边制时,占空比与高电平所对应的时间占整个周期的比例相同,低边控制时,占空比与低电平所对应的时间占整个周期的比例相同),对应配置输出相应的控制波形。
控制器软件的模拟信号仿真时,控制器软件直接将模拟信号的电压信号反馈给被控设备模型,在被控设备模型的模拟信号进行仿真时,被控设备模型直接将模拟信号的电压信号反馈至控制器。
控制器软件的CAN信号包括生命信号、CRC(Cyclic Redundancy Check,循环冗余校验)信号和CAN报文收发有效性。CAN收发有效性根据CAN报文发送周期,每一个发送周期,计数器加一,并确定该数据的最大值,交替发送;生命信号是表征该帧报文是否正常,根据CAN发送机制,每发一个报文,该数值加一,中间不允许出现重复或者跳跃,接收方可以根据该信号诊断CAN通讯是否异常;CRC校验信息是校验该帧报文的数据正确性,可以选择一个字节来校验其他字节的数据(运算公式可以指定专门的多项式,校验数据包括传输的数据和身份标识号),接收方可以根据该信号来判断该帧CAN报文传输数据的正确性。
被控设备模型的I/O输出信号的反馈主要包括高低有效信号和PWM信号。高有效时根据反馈命令的真假(1和0),对应输出控制电平(1时输出高电平,0时输出低电平),低有效时正好相反。PWM信号反馈时还需要接收占空比和周期信号并考虑高低有效控制(高有效时,占空比与高电平所对应的时间占整个周期的比例相同,低有效时则相反),对应配置输出相应的控制波形。
其中,搭建环境模型仿真控制器软硬件重启或上下电时需要动态反馈的信号的步骤包括:
搭建环境模型仿真控制器下电时需保存的电可擦可编程只读存储器数据和统一诊断服务数据;搭建环境模型仿真控制器上电时动态记录的电可擦可编程只读存储器数据和统一诊断服务数据;搭建环境模型,根据控制器上电时的上电自检逻辑和时序仿真控制器硬件的自检信息。
具体的,在控制器下电时,很多EEPROM数据和UDS诊断数据(如运行总里程、运行总时间、历史故障、历史故障总数等)需要保存下来以便下次上电时使用,控制器硬件工作时,有专门的EEPROM保存该数据,在软件测试时需要建立专门的数据文件保存该类型的数据。因此需要搭建环境模型仿真控制器下电时需保存的电可擦可编程只读存储器数据和统一诊断服务数据。
在控制器上电正常运行时,会动态记录EEPROM数据和UDS诊断数据,并保存在一个临时文件中,在下电时把这些数据写入到需要保存的数据文件中,在下次上电时再将这些文件读取,可以保证控制器基本功能的完整性。因此需要搭建环境模型仿真控制器上电时动态记录的电可擦可编程只读存储器数据和统一诊断服务数据。
其中,控制器在上电过程中,需要对控制器硬件的CPU(Central ProcessingUnit,处理器)、电源芯片、输入输出芯片、看门狗信号进行自检,自检完成需要对应反馈自检信息,这些信息在软件测试时需要根据上电自检逻辑和时序进行仿真,并传递给策略层代码。因此在仿真控制器硬件的自检信息时,需要搭建环境模型,根据控制器上电时的上电自检逻辑和时序进行仿真。
在构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件后,该方法还包括:在控制器内部增加A2L协议信息;采用第一编译器对包含仿真信号和A2L协议信息的控制器软件进行编译,生成第一动态链接库文件和对应的映射文件、A2L协议文件;采用软件在环测试对应的第二编译器对包含仿真信号的被控设备模型进行编译,生成第二动态链接库文件。
具体的,在构建传输接口并配置接口文件之后,还需要对控制器增加A2L协议信息,然后进行控制器软件以及被控设备模型的编译。在进行编译时,采用第一编译器对包含仿真信号和A2L协议信息的控制器软件进行编译,根据仿真信号生成第一动态链接库(DLL)文件,根据A2L协议信息生成映射(MAP)文件以及A2L协议文件。在仿真软件中,选择软件在环测试需要的第二编译器,将被控设备模型进行编译,编译完成后生成第二动态链接库文件。
步骤103、将经过编译后的包含仿真信号的控制器和被控设备模型分别生成的文件信息导入在环测试平台,形成对控制器的功能进行验证的虚拟集成测试环境。
在编译完成后,将第一动态链接库文件、第二动态链接库文件导入在环测试平台,进行闭环调试,形成对控制器的功能进行验证的虚拟集成测试环境。
具体为:在专用的软件在环测试平台中,导入控制器和被控设备模型分别生成的DLL文件,进行闭环调试,组成虚拟集成测试环境,可以实现对控制器的基本功能进行验证。
其中,在对控制器软件进行编译时,为控制器软件的A2L协议信息的内部变量配置地址信息,在编译完成后对内部变量进行标定和观测。
本发明技术方案可以将被测软件的代码、被控设备模型和控制器底层驱动进行虚拟化集成,对应的测试平台和环境复用性好,可以快速切换适用于不同项目。同时本发明可以快捷的仿真被测软件的底层操作系统和硬件输入输出、底层诊断信号和控制器软件重启或上下电过程中的数据交互,虚拟的操作系统可以更快捷的与策略层代码进行集成,缩短软件测试过程中环境搭建的时间。进一步的,在软件开发前期就可以介入软件测试,软件测试和软件开发可以并行,弥补传统流程中软件测试滞后于软件开发的问题。
其中,在本发明实施例中,控制器软件的组成如图3所示,控制器软件包括:策略层核心软件、接口层软件、操作系统以及底层驱动软件,接口层软件、操作系统以及底层驱动软件属于仿真部分,策略层核心软件包含控制器的核心功能,接口层软件用于进行策略层模型和底层软件间的接口配置,操作系统用于进行任务调度、调用任务周期、配置任务优先级以及进行状态管理。底层驱动软件用于进行硬件驱动、内存管理和CAN通讯。
通过本发明实施例提供的控制器软件,可以实现基于闭环仿真的控制器操作系统的仿真和调试;实现数字输入输出信号和模拟输入输出信号的仿真;实现底层诊断信号和EEPROM信号随控制器上下电过程中的仿真和调试;实现CAN信息的输入输出仿真;以及实现被测软件和被控设备模型闭环仿真。
本发明提供的一具体实施例的整体实现过程可参见图4:
针对控制器而言,需要配置任务的优先级和周期,在完成配置之后们进行CAN信号以及模拟输出信号的仿真,还需要进行高低边控制信号仿真,以及EEPROM和USD诊断信号仿真,然后对被测控制器软件进行编译,生成DLL文件、A2L文件以及MAP文件。
针对被控设备模型而言,需要仿真被控设备模型,进行CAN接口仿真、模拟输入信号仿真,还需要进行高低有效信号仿真以及标定信号和观测信号仿真,然后编译被控设备模型环境,生成DLL文件。
在控制器和被控设备模型完成对应的操作后,将控制器对应的DLL文件、A2L文件以及MAP文件,被控设备模型对应的DLL文件导入在环测试平台,生成虚拟集成测试环境。
本发明技术方案,首先根据控制器的状态信息对控制器进行配置,在配置完成后构建控制器与被控设备模型之间的传输接口,并配置接口文件实现两者的连接,在建立连接后将经过编译的控制器和被控设备模型生成的文件信息导入在环测试平台,形成虚拟集成测试环境来对控制器的功能进行验证,可以实现快捷仿真,操作系统与策略层代码的快捷集成,缩短软件测试过程中环境搭建的时间,提高测试效率。且本发明技术方案软件测试和软件开发并行,可弥补传统流程中软件测试滞后于软件开发的问题。进一步的,本发明中测试平台和环境复用性好,可以实现快速切换以适用于不同项目的测试。
本发明实施例还提供一种控制器软件的仿真装置,如图5所示,包括:
配置模块10,用于根据控制器的状态信息对控制器进行配置;
处理模块20,用于构建配置后的控制器与被控设备模型之间的传输接口以及配置接口文件,利用传输接口传输控制器和被控设备模型对应的仿真信号;
导入模块30,用于将经过编译后的包含仿真信号的控制器和被控设备模型分别生成的文件信息导入在环测试平台,形成对控制器的功能进行验证的虚拟集成测试环境。
其中,控制器的状态信息包括:
控制器软件的任务调度、任务优先级以及中断类型信息;
控制器硬件的输入输出信号;
控制器进行仿真时需要实现的信号和功能。
其中,配置模块10包括:
第一配置子模块11,用于通过控制器的软件构架,根据控制器软件的任务调度、任务优先级以及中断类型信息,配置周期性调用任务周期和优先级并设定中断任务的优先级;
形成子模块12,用于根据控制器进行仿真时需要实现的信号和功能形成状态管理流程;
第二配置子模块13,用于根据状态管理流程配置控制器软件上电时初始化函数的启动逻辑;
第三配置子模块14,用于根据状态管理流程配置控制器软件下电和复位过程中需要存储的电可擦可编程只读存储器和统一诊断服务的数据,仿真控制器硬件的存储芯片功能。
其中,处理模块20包括:
第一仿真子模块21,用于仿真控制器的第一传输接口和被控设备模型的第二传输接口;
关联子模块22,用于将控制器软件与被控设备模型通过仿真得到的输入/输出设备接口I/O信号和控制器局域网络CAN信号进行输入输出关联;
第四配置子模块23,用于根据关联关系配置控制器与被控设备模型之间的、用于实现第一传输接口与第二传输接口连接的接口文件。
其中,处理模块20还包括:
第二仿真子模块24,用于在第一仿真子模块21仿真控制器的第一传输接口和被控设备模型的第二传输接口时,搭建环境模型仿真底层诊断信号和控制器软硬件重启或上下电时需要动态反馈的信号。
其中,第一仿真子模块21包括:
第一仿真单元211,用于根据控制器的软件功能和硬件输入输出信号的类型,仿真第一传输接口;
第二仿真单元212,用于根据被控设备模型的软件功能和硬件输入输出信号的类型,仿真第二传输接口。
其中,第二仿真子模块24进一步用于:
搭建环境模型仿真控制器软件的I/O信号、模拟信号以及CAN信号;
搭建环境模型仿真被控设备模型的I/O信号、模拟信号以及CAN信号;
其中控制器软件对应的信号的传输方向与被控设备模型对应的信号的传输方向相反。
其中,第二仿真子模块24进一步用于:
搭建环境模型仿真控制器下电时需保存的电可擦可编程只读存储器数据和统一诊断服务数据;
搭建环境模型仿真控制器上电时动态记录的电可擦可编程只读存储器数据和统一诊断服务数据;
搭建环境模型,根据控制器上电时的上电自检逻辑和时序仿真控制器硬件的自检信息。
其中,该装置还包括:
增加模块40,用于在处理模块20构建配置后的控制器与被控设备模型之间的传输接口以及配置接口文件后,在所述控制器内部增加A2L协议信息;
第一编译模块50,用于采用第一编译器对包含仿真信号和A2L协议信息的控制器软件进行编译,生成第一动态链接库文件和对应的映射文件以及A2L协议文件;
第二编译模块60,用于采用软件在环测试对应的第二编译器对包含仿真信号的被控设备模型进行编译,生成第二动态链接库文件。
其中,导入模块30进一步用于:
将第一动态链接库文件、第二动态链接库文件导入在环测试平台,进行闭环调试,形成对控制器的功能进行验证的虚拟集成测试环境。
其中,该装置还包括:
标定观测模块70,用于在第一编译模块50对控制器软件进行编译时,为控制器软件的A2L协议信息的内部变量配置地址信息,在编译完成后对内部变量进行标定和观测。
本发明提供的控制器软件的仿真装置,首先根据控制器的状态信息对控制器进行配置,在配置完成后构建控制器与被控设备模型之间的传输接口,并配置接口文件实现两者的连接,在建立连接后将经过编译的控制器和被控设备模型生成的文件信息导入在环测试平台,形成虚拟集成测试环境来对控制器的功能进行验证,可以实现快捷仿真,操作系统与策略层代码的快捷集成,缩短软件测试过程中环境搭建的时间,提高测试效率。且本发明技术方案软件测试和软件开发并行,可弥补传统流程中软件测试滞后于软件开发的问题。进一步的,本发明中测试平台和环境复用性好,可以实现快速切换以适用于不同项目的测试。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (12)
1.一种控制器软件的仿真方法,其特征在于,包括:
根据控制器的状态信息对所述控制器进行配置;
构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件,利用所述传输接口传输所述控制器和所述被控设备模型对应的仿真信号;
将经过编译后的包含仿真信号的所述控制器和所述被控设备模型分别生成的文件信息导入在环测试平台,形成对所述控制器的功能进行验证的虚拟集成测试环境。
2.根据权利要求1所述的控制器软件的仿真方法,其特征在于,所述控制器的状态信息包括:
控制器软件的任务调度、任务优先级以及中断类型信息;
控制器硬件的输入输出信号;
所述控制器进行仿真时需要实现的信号和功能。
3.根据权利要求2所述的控制器软件的仿真方法,其特征在于,根据控制器的状态信息对所述控制器进行配置的步骤包括:
通过所述控制器的软件构架,根据控制器软件的任务调度、任务优先级以及中断类型信息,配置周期性调用任务周期和优先级并设定中断任务的优先级;
根据所述控制器进行仿真时需要实现的信号和功能形成状态管理流程;
根据所述状态管理流程配置控制器软件上电时初始化函数的启动逻辑;
根据所述状态管理流程配置控制器软件下电和复位过程中需要存储的电可擦可编程只读存储器和统一诊断服务的数据,仿真控制器硬件的存储芯片功能。
4.根据权利要求2所述的控制器软件的仿真方法,其特征在于,构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件的步骤包括:
仿真所述控制器的第一传输接口和所述被控设备模型的第二传输接口;
将控制器软件与所述被控设备模型通过仿真得到的输入/输出设备接口I/O信号和控制器局域网络CAN信号进行输入输出关联;
根据关联关系配置所述控制器与所述被控设备模型之间的、用于实现所述第一传输接口与所述第二传输接口连接的接口文件。
5.根据权利要求4所述的控制器软件的仿真方法,其特征在于,在仿真所述控制器的第一传输接口和所述被控设备模型的第二传输接口时,还包括:
搭建环境模型仿真底层诊断信号和控制器软硬件重启或上下电时需要动态反馈的信号。
6.根据权利要求4所述的控制器软件的仿真方法,其特征在于,仿真所述控制器的第一传输接口和所述被控设备模型的第二传输接口的步骤包括:
根据所述控制器的软件功能和硬件输入输出信号的类型,仿真所述第一传输接口;
根据所述被控设备模型的软件功能和硬件输入输出信号的类型,仿真所述第二传输接口。
7.根据权利要求5所述的控制器软件的仿真方法,其特征在于,搭建环境模型仿真底层诊断信号的步骤包括:
搭建环境模型仿真控制器软件的I/O信号、模拟信号以及CAN信号;
搭建环境模型仿真所述被控设备模型的I/O信号、模拟信号以及CAN信号;
其中控制器软件对应的信号的传输方向与所述被控设备模型对应的信号的传输方向相反。
8.根据权利要求5所述的控制器软件的仿真方法,其特征在于,搭建环境模型仿真控制器软硬件重启或上下电时需要动态反馈的信号的步骤包括:
搭建环境模型仿真所述控制器下电时需保存的电可擦可编程只读存储器数据和统一诊断服务数据;
搭建环境模型仿真所述控制器上电时动态记录的电可擦可编程只读存储器数据和统一诊断服务数据;
搭建环境模型,根据所述控制器上电时的上电自检逻辑和时序仿真控制器硬件的自检信息。
9.根据权利要求1所述的控制器软件的仿真方法,其特征在于,在构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件后,还包括:
在所述控制器内部增加A2L协议信息;
采用第一编译器对包含仿真信号和A2L协议信息的控制器软件进行编译,生成第一动态链接库文件和对应的映射文件、A2L协议文件;
采用软件在环测试对应的第二编译器对包含仿真信号的所述被控设备模型进行编译,生成第二动态链接库文件。
10.根据权利要求9所述的控制器软件的仿真方法,其特征在于,将经过编译后的包含仿真信号的所述控制器和所述被控设备模型分别生成的文件信息导入在环测试平台,形成对所述控制器的功能进行验证的虚拟集成测试环境的步骤包括:
将所述第一动态链接库文件、所述第二动态链接库文件导入在环测试平台,进行闭环调试,形成对所述控制器的功能进行验证的虚拟集成测试环境。
11.根据权利要求9所述的控制器软件的仿真方法,其特征在于,还包括:在对控制器软件进行编译时,为控制器软件的A2L协议信息的内部变量配置地址信息,在编译完成后对内部变量进行标定和观测。
12.一种控制器软件的仿真装置,其特征在于,包括:
配置模块,用于根据控制器的状态信息对所述控制器进行配置;
处理模块,用于构建配置后的所述控制器与被控设备模型之间的传输接口以及配置接口文件,利用所述传输接口传输所述控制器和所述被控设备模型对应的仿真信号;
导入模块,用于将经过编译后的包含仿真信号的所述控制器和所述被控设备模型分别生成的文件信息导入在环测试平台,形成对所述控制器的功能进行验证的虚拟集成测试环境。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710906534.4A CN107729233B (zh) | 2017-09-29 | 2017-09-29 | 一种控制器软件的仿真方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710906534.4A CN107729233B (zh) | 2017-09-29 | 2017-09-29 | 一种控制器软件的仿真方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729233A true CN107729233A (zh) | 2018-02-23 |
CN107729233B CN107729233B (zh) | 2020-05-19 |
Family
ID=61209085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710906534.4A Active CN107729233B (zh) | 2017-09-29 | 2017-09-29 | 一种控制器软件的仿真方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729233B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920350A (zh) * | 2018-06-29 | 2018-11-30 | 北京新能源汽车股份有限公司 | 一种测试环境模型生成的控制方法及控制装置 |
CN110297455A (zh) * | 2018-03-23 | 2019-10-01 | 欧姆龙(上海)有限公司 | 可编程逻辑控制器及其自检和恢复方法 |
CN112181820A (zh) * | 2020-09-24 | 2021-01-05 | 北京车和家信息技术有限公司 | 车辆仿真环境的搭建方法、车辆系统问题定位方法及装置 |
CN112865996A (zh) * | 2019-11-28 | 2021-05-28 | 北京国电智深控制技术有限公司 | 一种基于仿真卡的设备测试方法、系统和仿真卡 |
CN113342426A (zh) * | 2021-05-31 | 2021-09-03 | 重庆长安汽车股份有限公司 | 一种应用层软件组件集成方法及系统 |
CN113760595A (zh) * | 2021-08-31 | 2021-12-07 | 东风商用车有限公司 | Vecu软件在环测试方法、装置、设备及可读存储介质 |
CN114296432A (zh) * | 2021-12-28 | 2022-04-08 | 重庆集诚汽车电子有限责任公司 | 一种自动化硬件在环测试方法、装置、介质及设备 |
CN114328300A (zh) * | 2021-12-24 | 2022-04-12 | 深圳航天科技创新研究院 | 一种中断控制器组件的虚拟仿真实现系统及其方法 |
CN114326663A (zh) * | 2021-12-20 | 2022-04-12 | 浙江鸿泉电子科技有限公司 | 车辆can总线uds诊断可视化操作图形化编程系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140330405A1 (en) * | 2013-05-06 | 2014-11-06 | Dspace Digital Signal Processing And Control Engineering Gmbh | Test device for testing a virtual electronic control unit |
CN104536856A (zh) * | 2014-12-12 | 2015-04-22 | 北京新能源汽车股份有限公司 | 汽车控制器测试的环境模型生成的方法及装置 |
CN106444721A (zh) * | 2016-11-21 | 2017-02-22 | 南京越博动力系统股份有限公司 | 一种电动车用整车控制器硬件在环测试系统及测试方法 |
CN106873397A (zh) * | 2017-01-23 | 2017-06-20 | 同济大学 | 智能网联汽车“硬件在环”加速加载仿真测试系统 |
-
2017
- 2017-09-29 CN CN201710906534.4A patent/CN107729233B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140330405A1 (en) * | 2013-05-06 | 2014-11-06 | Dspace Digital Signal Processing And Control Engineering Gmbh | Test device for testing a virtual electronic control unit |
CN104536856A (zh) * | 2014-12-12 | 2015-04-22 | 北京新能源汽车股份有限公司 | 汽车控制器测试的环境模型生成的方法及装置 |
CN106444721A (zh) * | 2016-11-21 | 2017-02-22 | 南京越博动力系统股份有限公司 | 一种电动车用整车控制器硬件在环测试系统及测试方法 |
CN106873397A (zh) * | 2017-01-23 | 2017-06-20 | 同济大学 | 智能网联汽车“硬件在环”加速加载仿真测试系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297455A (zh) * | 2018-03-23 | 2019-10-01 | 欧姆龙(上海)有限公司 | 可编程逻辑控制器及其自检和恢复方法 |
CN110297455B (zh) * | 2018-03-23 | 2022-08-12 | 欧姆龙(上海)有限公司 | 可编程逻辑控制器及其自检和恢复方法 |
CN108920350A (zh) * | 2018-06-29 | 2018-11-30 | 北京新能源汽车股份有限公司 | 一种测试环境模型生成的控制方法及控制装置 |
CN112865996A (zh) * | 2019-11-28 | 2021-05-28 | 北京国电智深控制技术有限公司 | 一种基于仿真卡的设备测试方法、系统和仿真卡 |
CN112181820A (zh) * | 2020-09-24 | 2021-01-05 | 北京车和家信息技术有限公司 | 车辆仿真环境的搭建方法、车辆系统问题定位方法及装置 |
CN113342426A (zh) * | 2021-05-31 | 2021-09-03 | 重庆长安汽车股份有限公司 | 一种应用层软件组件集成方法及系统 |
CN113760595A (zh) * | 2021-08-31 | 2021-12-07 | 东风商用车有限公司 | Vecu软件在环测试方法、装置、设备及可读存储介质 |
CN114326663A (zh) * | 2021-12-20 | 2022-04-12 | 浙江鸿泉电子科技有限公司 | 车辆can总线uds诊断可视化操作图形化编程系统 |
CN114326663B (zh) * | 2021-12-20 | 2024-04-19 | 浙江鸿泉电子科技有限公司 | 车辆can总线uds诊断可视化操作图形化编程系统 |
CN114328300A (zh) * | 2021-12-24 | 2022-04-12 | 深圳航天科技创新研究院 | 一种中断控制器组件的虚拟仿真实现系统及其方法 |
CN114296432A (zh) * | 2021-12-28 | 2022-04-08 | 重庆集诚汽车电子有限责任公司 | 一种自动化硬件在环测试方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107729233B (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729233A (zh) | 一种控制器软件的仿真方法及装置 | |
CN109684681A (zh) | 应用uvm验证平台的高层次化验证方法 | |
CN103593326B (zh) | 一种用于网络处理器芯片的iec61850软件库组件及其实现方法 | |
CN102567203B (zh) | 一种测试分布式文件系统性能的方法及系统 | |
CN103064299B (zh) | 一种风力发电机组在环仿真测控系统及其测试方法 | |
CN100487645C (zh) | 基于数据驱动的界面自动生成方法 | |
CN110380939B (zh) | 一种用电信息采集系统中本地通信协议的一致性测试方法及系统 | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
CN104731080B (zh) | 一种硬件在环仿真环境模型自动生成系统及方法 | |
CN105847088A (zh) | 一种基于云服务的虚拟机性能测试系统 | |
CN102750145A (zh) | 一种网络系统软件体系框架及其实现方法 | |
CN107992291A (zh) | 应用于嵌入式应用程序的Ruff OS物联网操作系统 | |
CN110221975A (zh) | 创建接口用例自动化测试脚本的方法及装置 | |
CN108491330A (zh) | 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法 | |
CN105573798B (zh) | 一种可快速重新配置fpga的方法及电路 | |
CN110825412B (zh) | 基于LabVIEW的控制器程序的刷写系统及方法 | |
CN107832078A (zh) | 基于dsp的fpga程序在线更新电路 | |
CN110321292A (zh) | 芯片测试方法、装置、电子设备及计算机可读存储介质 | |
CN107122219A (zh) | 安装文件的获取方法和装置 | |
CN109597733A (zh) | 一种多功能高效动态芯片验证仿真方法和设备 | |
CN105335316A (zh) | 一种基于云计算的电机装配线串口服务器 | |
CN101625705B (zh) | 验证环境系统及其搭建方法 | |
CN107733735A (zh) | 一种脚本录制系统及方法 | |
CN113067748A (zh) | 用电信息采集系统中宽带微功率物理层一致性测试系统 | |
CN102880479B (zh) | 一种远程修改bios属性参数的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |