掌桥专利:专业的专利平台
掌桥专利
首页

基于汽车软件测试的芯片仿真平台和构建方法

文献发布时间:2023-06-19 19:30:30


基于汽车软件测试的芯片仿真平台和构建方法

技术领域

本发明涉及通信技术领域,特别是指一种调度方法、装置及设备。

背景技术

目前硬件在环(Hardware-in-the-Loop,HIL)由于其可缩短开发周期降低成本、便捷性等优点被广泛应用于汽车软件测试,但是高精度的信号要求、大电压大电流的安全性、被测控制器硬件及芯片异常相关的功能无法测试等问题,HIL系统仍无法解决,因此,拓展新的测试模式显得尤为重要。

发明内容

本发明的目的是提供一种基于汽车软件测试的芯片仿真平台和构建方法,以提供用于汽车软件测试的仿真平台,可以缩短软件开发周期,提高软件质量,节省硬件在环台架资源并可以方便测试人员和开发人员复用。

为达到上述目的,本发明的实施例提供一种基于汽车软件测试的芯片仿真平台,包括:

设备模型,所述设备模型用于对目标芯片的二进制码输入数据的指令翻译和执行,以及提供内核基准时钟,响应异常功能和中断功能;

设备管理器,与所述设备模型连接,用于对预设配置文件解析,加载和初始化所述设备模型,依据目标芯片的端口和引脚,配置所述设备模型间的引脚和虚端口的连接关系。

可选地,所述设备管理器包括:

系统调用接口,用于解析所述预设配置文件;

模型开发接口,用于实现定时器管理功能、获取当前设备管理器状态功能、输出日志功能、读写内存功能、创建内存功能、模拟器控制功能中至少一项。

可选地,所述设备管理器还用于:

根据设备管理器解析所述预设配置文件,并加载芯片动态库;

调用主进程函数传递目标芯片的接口指针和属性数据至所述芯片动态库,完成所述设备模型的初始化。

可选地,所述设备模型包括内核翻译模型,所述内核翻译模型用于:

获取目标芯片的二进制码输入数据;

将所述二进制码输入数据翻译为中间数据,并将所述中间数据翻译为虚拟控制器的目标数据;

根据所述目标数据,确定所述二进制码输入数据对应的目标指令。

可选地,所述设备模型包括外设模型,所述外设模型用于处理以下至少一种操作;

当预设处理器访问所述设备模型的虚拟芯片寄存器空间,通知设备模型的虚拟芯片进行访问逻辑处理;

所述设备模型的虚拟芯片创建的定时器到期时,通知所述设备模型的虚拟芯片进行到期处理;

所述设备模型的虚拟芯片通过设备模型的引脚和虚端口连接传递电平信号和数据。

为达到上述目的,本发明的实施例提供一种芯片仿真平台构建方法,用于构建如上任一项所述的基于汽车软件测试的芯片仿真平台,包括:

获取目标芯片的芯片手册;

根据所述目标芯片的芯片手册,建立设备模型;所述设备模型至少包括用于对目标芯片的二进制码输入数据的指令翻译的内核翻译模型,以及用于提供内核基准时钟,响应异常功能和中断功能的外设模型;

设置与所述设备模型连接的设备管理器;所述设备管理器用于对预设配置文件解析,加载和初始化所述设备模型,依据目标芯片的端口和引脚,配置所述设备模型间的引脚和虚端口的连接关系。

可选地,所述方法还包括:

对所述设备管理器设置系统调用接口和模型开发接口;

其中,所述系统调用接口用于解析所述预设配置文件;所述模型开发接口用于实现定时器管理功能、获取当前设备管理器状态功能、输出日志功能、读写内存功能、创建内存功能、模拟器控制功能中至少一项。

可选地,根据所述目标芯片的芯片手册,建立设备模型,包括:

根据所述芯片手册和预设二进制翻译算法,构建目标芯片的内核翻译模型;

根据所述芯片手册的寄存器和功能逻辑,构建目标芯片的外设模型;

将所述内核翻译模型和所述外设模型作为所述设备模型。

可选地,所述设备管理器中设置有解析所述预设配置文件的解析文件格式;

所述解析文件格式至少包括预执行指令属性、含义、取值格式以及解析后的执行指令。

本发明的上述技术方案的有益效果如下:

上述技术方案中,该芯片仿真平台包括:设备模型,所述设备模型用于对目标芯片的二进制码输入数据的指令翻译和执行,以及提供内核基准时钟,响应异常功能和中断功能;设备管理器,与所述设备模型连接,用于对预设配置文件解析,加载和初始化所述设备模型,依据目标芯片的端口和引脚,配置所述设备模型间的引脚和虚端口的连接关系,该芯片仿真平台为用于汽车软件测试的仿真平台,可以缩短软件开发周期,提高软件质量,节省硬件在环台架资源并可以方便测试人员和开发人员复用。

附图说明

图1为本发明实施例的基于汽车软件测试的芯片仿真平台的结构图;

图2为本发明实施例的基于汽车软件测试的芯片仿真平台的应用示意图;

图3为本发明实施例提供的芯片仿真平台构建方法的流程图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

另外,本文中术语“系统”和“网络”在本文中常可互换使用。

在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。

如图1所示,本发明实施例的一种基于汽车软件测试的芯片仿真平台,包括:

设备模型10,所述设备模型用于对目标芯片的二进制码输入数据的指令翻译和执行,以及提供内核基准时钟,响应异常功能和中断功能;

设备管理器20,与所述设备模型连接,用于对预设配置文件解析,加载和初始化所述设备模型,依据目标芯片的端口和引脚,配置所述设备模型间的引脚和虚端口的连接关系。

该实施例中,相比之下芯片级仿真测试技术具有廉价、安全可靠、支持边界与故障注入测试、容易发现软件中隐蔽的问题,因此对嵌入式软件构建全数字仿真的芯片仿真平台是一个很好的选择。本发明能够对嵌入式软件运行的硬件环境进行完整的数字化仿真,并提供自动化测试、故障模拟与注入、覆盖率分析、单步调试等功能。用户可以脱离硬件在本平台运行嵌入式软件,无需相应的硬件设备和硬件仿真台架即可对嵌入式软件进行测试与验证。研究如何运用仿真测试技术构建嵌入式全数字仿真测试环境,能对基于模型开发的嵌入式三电控制软件的质量、开发成本、开发周期带来显著的效果。

本发明的设备模型10按照目标芯片的芯片手册进行建模,处理器内核完成目标二进制的指令翻译和执行,提供内核基准时钟,响应异常和中断。设备模型最终以动态链接库形式呈现。设备管理器20为“DevMgr库”,可以完成对预设配置文件的解析,预设配置文件为后缀名为“.vte”文件,加载和初始化设备模型,依据目标芯片的端口和引脚,配置所述设备模型间的引脚和虚端口的连接关系。

需要说明的是,芯片仿真平台还连接有预设运行环境,预设运行环境可以为Windows运行环境等。

同时,芯片仿真平台具有多种功能,包括支持TC277和TC387芯片仿真功能,并且能支持英飞凌相关类型的芯片,除此之外,该平台需要具有扩展功能,以便模拟其它同平台的芯片;该平台能够仿真TC277和TC387芯片CAN、IO(Input Output,输入输出)、SSC(SpreadSpectrum Communication,扩频通信)、LIN(Local Interconnect Network,局域互联网络)等通信总线的仿真;支持EEPROM(Electrically Erasable Programmable Read-OnlyMemory,电可擦编程只读存储器)、AD(模数,Analogue-to-Digital)、高低边芯片、片上AD等器件的全部仿真;支持全0、全1、数据错误等寄存器、存储器硬件级故障注入;支持使用指令集模拟器,在芯片仿真环境的构建过程中,一些低级驱动的程序功能可以通过这些库来实现跳过或替换。例如:NVM(Non-volatile Memory,非易失性存储器)模拟、CAN模拟、ADC(Analogue-to-Digital Conversion,模数转换)模拟等;可以提供hex/s19的静态分析工具,能够从hex/s19文件中生成良好的汇编代码文档,并能生成函数的调用关系树;支持操作系统的仿真功能,例如函数任务的调度、中断处理程序;支持分步模拟,保证仿真的实时性,或者快于实时模拟;支持从hex/s19文件中提取相关功能,分析其输入输出,并仅以相关的输入/输出作为接口执行该功能,来实现功能的执行或模块测试;能提供程序调试器,具有分步、执行跟踪、寄存器视图和在线诊断的功能;该平台应提供一个友好的图形用户界面和一个虚拟仪表盘,包括常用的驱动输入、图形和曲线显示、校准表等;支持芯片仿真环境和被控模型之间的故障注入测试,可以通过界面的小部件或者测试脚本控制;支持常用的汽车协议和相关标准,例如:CAN总线、CAN-FD(CAN with Flexible Data rate,可变速率的控制器局域网络)、Flexray、LIN(支持多通道);用于校准、解析和使用A2L的XCP(universalmeasurement and Calibration Protocol,通用测量标定协议)(其中,可连接第三方工具如:CANape、INCA);刷写或保存标定参数。

可选地,所述设备管理器20包括:

系统调用接口,用于解析所述预设配置文件;

模型开发接口,用于实现定时器管理功能、获取当前设备管理器状态功能、输出日志功能、读写内存功能、创建内存功能、模拟器控制功能中至少一项。

该实施例中,依据系统调用接口和模型开发接口可以完成解析所述预设配置文件,以及开发上述设备模型10的功能。系统调用接口解析预设配置文件应符合预设配置文件格式。

其中,预设配置文件格式如下表1所示。

表1预设配置文件格式:

进一步地,上述的系统调用接口和模型开发接口可以如下表2所示。

表2:系统调用接口和模型开发接口

可选地,所述设备管理器还用于:

根据设备管理器解析所述预设配置文件,并加载芯片动态库;

调用主进程函数传递目标芯片的接口指针和属性数据至所述芯片动态库,完成所述设备模型的初始化。

该实施例中,设备管理器启动,通过设备管理器解析虚拟板卡的预设配置文件,并加载芯片动态库,调用主进程函数,即预设的MainProc函数,传递目标芯片的接口指针和属性数据至所述芯片动态库,完成设备模型的初始化,并通知目标芯片完成初始化工作

可选地,所述设备模型包括内核翻译模型,所述内核翻译模型用于:

获取目标芯片的二进制码输入数据;

将所述二进制码输入数据翻译为中间数据,并将所述中间数据翻译为虚拟控制器的目标数据;

根据所述目标数据,确定所述二进制码输入数据对应的目标指令。

该实施例中,采用动态二进制翻译技术进行指令翻译,从二进制翻译的宏观结构上来说,动态二进制翻译系统分为前端和后端,以目标芯片的二进制码输入数据,把二进制码输入数据翻译成中间代码属于前端,把中间代码翻译为本地机器二进制码为后端,后端翻译可以复用,根据本地机器二进制码,可以确定虚拟控制器的目标数据,可以通过目标数据,确定二进制码输入数据对应的目标指令。

在一具体实现方式中,如图2所示,将嵌入式编程语言(目标芯片的二进制码输入数据)通过编译链接确定目标硬件(目标芯片)的汇编语言,通过目标硬件(目标芯片)的汇编语言加载,确定目标硬件的机器语言,根据目标硬件的机器语言将嵌入式编程语言(目标芯片的二进制码输入数据)翻译为中间语言,再将中间语言翻译为PC机机器语言(平台所用的机器语言),通过PC机机器语言(平台所用的机器语言)可以确定嵌入式编程语言(目标芯片的二进制码输入数据)对应的指令信息,即确定PC机机器指令。

可选地,所述设备模型包括外设模型,所述外设模型用于处理以下至少一种操作;

当预设处理器访问所述设备模型的虚拟芯片寄存器空间,通知设备模型的虚拟芯片进行访问逻辑处理;

所述设备模型的虚拟芯片创建的定时器到期时,通知所述设备模型的虚拟芯片进行到期处理;

所述设备模型的虚拟芯片通过设备模型的引脚和虚端口连接传递电平信号和数据。

该实施例中,获取芯片端口和引脚定义,建立引脚、虚端口连接关系,当预设处理器(预设中央处理器CPU)读取虚拟芯片上的OPORT端口,会调用“主进程函数MainProc”通知芯片进行读访问逻辑操作;当CPU写入虚拟芯片上的IOPORT端口(IO端口配置),会调用“MainProc”通知芯片进行写访问逻辑换作,传递电平信号到IOPIN引脚,连接的另一端芯片传递数据流到“VIOPORT虚端口”;连接的另一端芯片当虚拟芯片创建的定时时钟定时到期时,系统调用“主进程函数MainProc”,通知芯片进行定时时钟到期处理,系统退出时,调用“主进程函数MainProc”通知芯片进行退出时处理。

如上所述,本发明提供的汽车软件测试的芯片仿真平台,可用于提供汽车软件测试的仿真测试,可以缩短软件开发周期,提高软件质量,节省硬件在环台架资源并可以方便测试人员和开发人员复用。

如图3所示,本发明还提供一种芯片仿真平台构建方法,用于构建如上任一项所述的基于汽车软件测试的芯片仿真平台,包括:

步骤301、获取目标芯片的芯片手册;

步骤302、根据所述目标芯片的芯片手册,建立设备模型;所述设备模型至少包括用于对目标芯片的二进制码输入数据的指令翻译的内核翻译模型,以及用于提供内核基准时钟,响应异常功能和中断功能的外设模型;

步骤303、设置与所述设备模型连接的设备管理器;所述设备管理器用于对预设配置文件解析,加载和初始化所述设备模型,依据目标芯片的端口和引脚,配置所述设备模型间的引脚和虚端口的连接关系。

本发明通过目标芯片的芯片手册,可以确定即目标芯片的规格书,可以通过预设数据库下载、预设链接下载、生产厂家提供等多种方式获取,通过芯片手册可以确定目标芯片的关键参数,关键参数就是容易让器件损坏的参数,或者影响器件性能的参数,例如电阻的关键参数:封装(功率):封装选得太小,功率超了之后就烧了;精度:精度低了,就不准了(比如用于采样的时候电压就不准了);耐压值:不能超额定电压使用,否则会烧坏;再例如电容:类型(X5R,X7R等),与电容的温度相关,温度不同,特性变化比较大;滤波性能参数:影响滤波性能,发热等;频率特性曲线:不同频率阻抗不同;直流偏压:不同电压下,电容容量也不同;耐压值:超过了,电容击穿烧了等等。通过芯片手册建立设备模型;该设备模型至少包括用于对目标芯片的二进制码输入数据的指令翻译的内核翻译模型,以及用于提供内核基准时钟,响应异常功能和中断功能的外设模型;再设置与所述设备模型连接的设备管理器,完成上述的芯片仿真平台的构建。

本发明的方案可以建立基于汽车软件测试的芯片仿真平台,通过芯片仿真平台可以对目标芯片进行仿真测试,即通过对嵌入式软件构建全数字仿真测试框架,芯片仿真测试技术平台能够对嵌入式软件运行的硬件环境进行完整的数字化仿真,并提供自动化测试、故障模拟与注入、覆盖率分析、单步调试等功能。用户可以脱离硬件在本平台运行嵌入式软件,无需相应的硬件设备和硬件仿真台架即可对嵌入式软件进行测试与验证。解决现有技术中对于高精度的信号要求、大电压大电流的安全性、被测控制器硬件及芯片异常相关的功能无法进行测试的技术问题。

进一步地,可选地,上述的步骤302,包括:

根据所述芯片手册和预设二进制翻译算法,构建目标芯片的内核翻译模型;

根据所述芯片手册的寄存器和功能逻辑,构建目标芯片的外设模型;

将所述内核翻译模型和所述外设模型作为所述设备模型。

该实施例中,设备模型按照官方芯片手册进行建模,处理器内核完成目标二进制的指令翻译和执行,提供内核基准时钟,响应异常和中断。内核翻译模型是通过芯片手册和预设二进制翻译算法建立的。外设模型是根据芯片用户手册中的寄存器和功能逻辑进行建模的,外设模型的主要工作是通过完成寄存器区域在处理器上的映射,响应处理器对寄存器的访问,触发相应功能逻辑。设备模型最终以动态链接库形式呈现。

具体的,外设模型在系统启动时通过设备管理器解析配置文件,完成芯片模型初始化和引脚端口连接关系的建立。当处理器访问芯片寄存器空间通知芯片进行访问逻辑处理;虚拟芯片创建的定时器到期时通知芯片进行到期处理;虚拟芯片通过引脚和虚端口连接传递电平信号和数据。

本发明的设备模型可供开发人员调试使用,使调试工作前移,缩短开发周期,提高软件质量,节省硬件在环台架资源的技术效果。

可选地,上述的方法还包括:

对所述设备管理器设置系统调用接口和模型开发接口;

其中,所述系统调用接口用于解析所述预设配置文件;所述模型开发接口,包括模型消息入口和虚拟外设端口,用于实现定时器管理功能、获取当前设备管理器状态功能、输出日志功能、读写内存功能、创建内存功能、模拟器控制功能中至少一项。

这里,在设备管理器上设置外接的系统调用接口和模型开发接口可以完成解预设配置文件,以及开发上述的设备模型的功能。

进一步地,系统调用接口解析预设配置文件应符合预设配置文件格式。可选地,所述设备管理器中设置有解析所述预设配置文件的解析文件格式;

所述解析文件格式至少包括预执行指令属性、含义、取值格式以及解析后的执行指令。

具体的,解析文件格式可以如上表1或表2所示。具体而言,为了验证理论分析的正确性与芯片仿真平台的合理性,以虚拟BMS(电池管理系统,Battery Management System)为被测对象,建立了一目标软件为核心的实验平台。

具体的,需要确定测试目标,其中,所述测试目标包括所述目标软件即虚拟电池管理系统;进而制定测试需求,其中,所述测试需求包括建立交互环境模型、待测试软件模型,其中,所述交互环境模型包括输入输出接口定义以及数据协议转换,所述待测试软件模型包括可执行程序以及软件系统需求;在测试需求制定结束之后,需要进行测试设计,其中,所述测试设计包括测试环境、测试用例以及测试策略,所述测试环境包括输入输出IO以及车辆模型,所述测试策略包括接口测试、全局变量测试以及组合测试;进而,执行所述测试目标,并生成所述目标测试报告,其中,执行测试包括虚拟机启动、调试参数、启动虚拟端口以及执行测试用例等。

综上所述,本发明提供了用于汽车软件测试的仿真平台和构建方法,可以通过该芯片仿真平台提供测试,缩短软件开发周期,提高软件质量,节省硬件在环台架资源,并可以方便测试人员和开发人员复用。

上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种基于SIP芯片的软件测试平台
  • 一种基于汽车软件测试的芯片仿真方法及系统
  • 基于生成对抗网络的智能化软件测试及云平台构建方法
技术分类

06120115931883