HIL实时系统

操作系统控制板卡输出或者输入信号,最大时延是可控的,这就是实时系统。它和“运行速度快”不是一个概念,强调的是可靠性可控性。我们打个比方,公司八点半上班,有两位员工,都挺勤快,甲每天大概都是8点20到,乙在多数情况下,都是8点10分之前到。但是,甲从来没有迟到过,最迟也是8点29,而且,我们分析甲的起床时间,通勤方式……也确实相信他以后也不大可能会迟到;而乙,就不是了,他在多数情况下都能早早到公司,但他偶尔会迟到,甚至,下大雪了时候,还可能会临时请假甚至旷工。

在这个例子中,8点30,就是最大时延,也是判断在该场景下是不是实时系统的标准,实时系统是相对某一标准而言的,一个系统在汽车行业是实时的,到了航天领域可能就不是实时的了。很明显,甲员工就是实时系统,而乙不是。
实时系统主要有linux-RT、Vxworks等类型。
那,为什么发动机ECU测试需要实时系统呢?答案在于ECU处理的信号很特殊,氧传感器、爆震传感器、曲轴凸轮轴位置传感器;点火控制……这些都是以一定频率变化的,假如,我们想通过板卡的pin,输出给ECU的某一输入pin下图所示的信号(横轴代表时间,数轴代表电压),当然,这是理想信号。

如果我们采用实时系统,那,我们虽然不能保证信号的实际时序曲线和图中完全一样,但能保证是在它可控的附近,从而满足ECU对该信号的时间延迟的定义及要求,确保ECU不报故障(这些故障是ECU实现定义好的、ECU软件已经实现了);如果我们采用非实时的单核系统,则有可能当我们在这个系统上同时进行别的操作时,比如用matlab进行仿真分析,导致进程拥塞,上图某个点的信号出现较大时间后延,超出了ECU的时延,从而导致ECU报了故障。
而且,请读者注意一点,上图这个周期为6.28秒,一周期变化20次的信号,靠人工操作是不可能实现的,必须通过软件,而且是运行在实时系统上的软件。这个所谓的软件,就是“整车模型”的一部分。下一讲师子一号将会详细说说什么是整车模型。
实时系统的作用,简单来讲就是为了这样,它是为了保证信号在时间上的精度的,甭管技术如何进步,时代如何变化,互联网APP、新款汽车、珠宝首饰如何层出不穷,“实时机”这个概念,在HIL诞生的那个年代,是起了很大作用的,是立过功的。
上面这个例子,清晰展示了所谓实时系统的作用。当年dSPACE公司大力推行实时系统,是因为没它不行,而且多核处理器还没有出生。所以,HIL系统就成了那副样子,两个主机,一个主机装上实时系统,成了一个大号的单片机,然后用它作为标准,去给另一个增强型的迷你单片机提供输入输出信号;另一个主机是一个普通PC,做一些文档编辑、测试用例设计操作的工作,两个主机之间一般通过网线通讯。
可是,时代是会变化的,CPU、操作系统的技术也是不断升级的,现在的多核CPU,已经完全可以通过软件对普通windows系统进行实时化,不再需要两台独立主机了。而且,并不是所有的控制器都像ECU那样,有这种高时间特性的信号,需要实时系统来测试。比如VCU、HCU、BMS、BCM、FCU、网关……普通的单机win7系统完全绰绰有余。
我们需要实时系统,是因为,如果信号延迟了,被测对象要报错,基本无法再正常工作。而这样的“报错”,对被测对象而言,是一个正常且必须的功能。所以,看看被测对象是否有这样的“时延检测”功能,是我们判断是否需要实时系统的最重要的依据。

经综合考虑,本系列文章主要讲单主机普通PC、WIN7系统的HIL,和双主机的HIL。普通win7系统的实时化技术,可以成本极低的实时系统,但在汽车行业比较小众,不做介绍,读者可自行研究。
可是,为什么“两台主机”这种架构的HIL系统,仍然是HIL供应商力推的呢?哪怕你测个BCM,也给你推销这种架构。因为,看起来很庞大,可以扩大消费和内需,提高GDP,嘿嘿~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值