仿真一词,见名知意,模仿真实情况。其实就是利用各种辅助工具(常用各种工程软件)对被测对象添加条件,如各种约束、对象参数等,模拟真实情况进行运行测试。常见的Ansys受力仿真、CFD热场仿真、ADAMS动力仿真等等都是这样——添加条件,模拟真实场景。
下面我们来说说HIL仿真。
HIL,它的英文名字叫“Hardware In the Loop”,中文名字叫“硬件在环”,常用于对控制器的仿真测试。何为硬件在环?通俗点理解是这样的,比如我要对车上的一个控制器进行硬件在环仿真测试,就需要把控制器(即单片机)放在台架上,搭建一个外界环境,通过I/O接口和通讯接口与控制器进行信号交互,模拟它在车上工作的场景对其进行仿真测试。提取关键词:把被测硬件(控制器)连在测试回路中,外接虚拟环境与其交互进行仿真,就是硬件在回路仿真测试,即HIL。这是一种半实物仿真,因为除了控制器是实物且今后会在实车上应用,其余都是我们用各种电气部件、simulink模型搭建的虚拟环境。具体点说,比如,搭建VCU整车控制器的HIL测试环境,我们会给VCU的I/O口接上点火开关,挡位器,油门踏板,刹车等,同时用simulink搭建环境模型,模拟电池、充电机、电机、整车(动力学仿真)等,和VCU信号进行交互。所以,HIL仿真也遵循仿真原则,对被测对象即控制器添加条件,模拟真实运行场景。
现在国内各大车企在HIL领域基本还都处于部件级别的测试,只对VCU或者BCU单个控制器部件进行仿真测试。系统级别的相对就比较复杂了。各家车企现在也都在朝系统级别的方向准备,但目前为止还没听说哪家已经搭建好平台并成熟应用的。
下面我想谈一谈我对系统级HIL测试的一些看法。
HIL测试其实是一种黑盒测试,何为黑盒?黑盒就是一个黑色的盒子,你看不到里面的情况,不知道它的运行方式,但你知道我给它一个输入,它会响应什么样的输出。对于测试人员来说,这就够了,只管对错,不管逻辑。当然,这也是最最基本的要求了。举个例子,如图1,我们对BCU的SOC估算功能进行部件级HIL测试。

图1.部件级HIL测试
简化测试过程,我们只取对SOC估算影响最关键的几个信号,将电池端电压,充放电电流,内阻信号作为模拟量输入(由可变电源,可调电阻实现),单片机引脚采集这些硬线信号,利用ADC模块将其转变为数字信号存入寄存器,再通过地址调用将信号从寄存器调入CPU中进行运算,计算出当前SOC存储到RAM中,并由单片机串口发送出去。这种部件级测试关注的重点主要是被测对象的各功能是否实现。
而系统级测试是建立在部件级测试已经完全通过的基础上,关注的主要是部件之间的通讯,信号的传递是否正常。图2中,我们将BCU和VCU连接作为一个系统。它的基本过程是这样的:如前面所说,BCU计算出当前SOC之后,通过总线将信号传递给VCU,VCU内部对其进行滤波等再处理,然后将处理后的SOC发送到IP上进行显示。于是,我们汽车仪表盘上的剩余电量就出来了。哈哈。这里,我们不去看BCU发出的SOC到底是多少,而是把图中蓝色圈起来的整体当做一个黑盒(我们假装不知道里面发生了什么…)。我们只需要给BCU输入模拟电池的U、I、R信号,然后去看仪表显示的SOC是否正确即可。

图2.系统级HIL测试
这里先对总线做个简单拓展。总线是汽车上各部件之间的通讯网络,或者可以称之为通讯协议。这样去理解,电脑连网之后各电脑之间可以进行信息数据的交流共享,车上部件也一样,需要将各部件的控制器连在网络中进行数据传递。只不过,电脑之间是通过基于TCP/IP协议的以太网进行通讯,而汽车上是通过CAN、LIN、FlexRay等总线进行通讯,目前车上应用最广泛的是CAN总线。听说,将来车载网络的主流会是以太网,国外的宝马、通用已经开始着手做这方面的事情了。
有一件特别特别酷的事情,那就是整车级HIL测试系统。从横轴、纵轴、旋转三个维度对汽车实现仿真。可以说将汽车上的每个部件都连在了HIL测试系统中。具体如何实现的,我也不太清楚,这里不作扩展。听说宝马有这种整车级别的HIL试验室。希望以后有机会能见识见识,或者国内也建一个这种级别的。
今天就说到这里吧,下面我给大家点了一首歌,放松一下。听完歌,别忘了来后台喝喝咖啡聊聊天。不限主题,说出你的想法、问题,或者希望四杯咖啡以后多发哪些内容,又或者猜猜我另一半时间在干什么。哈哈!
That's all!
下面我们来说说HIL仿真。
HIL,它的英文名字叫“Hardware In the Loop”,中文名字叫“硬件在环”,常用于对控制器的仿真测试。何为硬件在环?通俗点理解是这样的,比如我要对车上的一个控制器进行硬件在环仿真测试,就需要把控制器(即单片机)放在台架上,搭建一个外界环境,通过I/O接口和通讯接口与控制器进行信号交互,模拟它在车上工作的场景对其进行仿真测试。提取关键词:把被测硬件(控制器)连在测试回路中,外接虚拟环境与其交互进行仿真,就是硬件在回路仿真测试,即HIL。这是一种半实物仿真,因为除了控制器是实物且今后会在实车上应用,其余都是我们用各种电气部件、simulink模型搭建的虚拟环境。具体点说,比如,搭建VCU整车控制器的HIL测试环境,我们会给VCU的I/O口接上点火开关,挡位器,油门踏板,刹车等,同时用simulink搭建环境模型,模拟电池、充电机、电机、整车(动力学仿真)等,和VCU信号进行交互。所以,HIL仿真也遵循仿真原则,对被测对象即控制器添加条件,模拟真实运行场景。
现在国内各大车企在HIL领域基本还都处于部件级别的测试,只对VCU或者BCU单个控制器部件进行仿真测试。系统级别的相对就比较复杂了。各家车企现在也都在朝系统级别的方向准备,但目前为止还没听说哪家已经搭建好平台并成熟应用的。
下面我想谈一谈我对系统级HIL测试的一些看法。
HIL测试其实是一种黑盒测试,何为黑盒?黑盒就是一个黑色的盒子,你看不到里面的情况,不知道它的运行方式,但你知道我给它一个输入,它会响应什么样的输出。对于测试人员来说,这就够了,只管对错,不管逻辑。当然,这也是最最基本的要求了。举个例子,如图1,我们对BCU的SOC估算功能进行部件级HIL测试。

图1.部件级HIL测试
简化测试过程,我们只取对SOC估算影响最关键的几个信号,将电池端电压,充放电电流,内阻信号作为模拟量输入(由可变电源,可调电阻实现),单片机引脚采集这些硬线信号,利用ADC模块将其转变为数字信号存入寄存器,再通过地址调用将信号从寄存器调入CPU中进行运算,计算出当前SOC存储到RAM中,并由单片机串口发送出去。这种部件级测试关注的重点主要是被测对象的各功能是否实现。
而系统级测试是建立在部件级测试已经完全通过的基础上,关注的主要是部件之间的通讯,信号的传递是否正常。图2中,我们将BCU和VCU连接作为一个系统。它的基本过程是这样的:如前面所说,BCU计算出当前SOC之后,通过总线将信号传递给VCU,VCU内部对其进行滤波等再处理,然后将处理后的SOC发送到IP上进行显示。于是,我们汽车仪表盘上的剩余电量就出来了。哈哈。这里,我们不去看BCU发出的SOC到底是多少,而是把图中蓝色圈起来的整体当做一个黑盒(我们假装不知道里面发生了什么…)。我们只需要给BCU输入模拟电池的U、I、R信号,然后去看仪表显示的SOC是否正确即可。

图2.系统级HIL测试
这里先对总线做个简单拓展。总线是汽车上各部件之间的通讯网络,或者可以称之为通讯协议。这样去理解,电脑连网之后各电脑之间可以进行信息数据的交流共享,车上部件也一样,需要将各部件的控制器连在网络中进行数据传递。只不过,电脑之间是通过基于TCP/IP协议的以太网进行通讯,而汽车上是通过CAN、LIN、FlexRay等总线进行通讯,目前车上应用最广泛的是CAN总线。听说,将来车载网络的主流会是以太网,国外的宝马、通用已经开始着手做这方面的事情了。
有一件特别特别酷的事情,那就是整车级HIL测试系统。从横轴、纵轴、旋转三个维度对汽车实现仿真。可以说将汽车上的每个部件都连在了HIL测试系统中。具体如何实现的,我也不太清楚,这里不作扩展。听说宝马有这种整车级别的HIL试验室。希望以后有机会能见识见识,或者国内也建一个这种级别的。
今天就说到这里吧,下面我给大家点了一首歌,放松一下。听完歌,别忘了来后台喝喝咖啡聊聊天。不限主题,说出你的想法、问题,或者希望四杯咖啡以后多发哪些内容,又或者猜猜我另一半时间在干什么。哈哈!
That's all!