3
编者按:本文内容来自友衷科技(AutoIO)技术总监陈云峰在雷锋网硬创公开课的分享,由雷锋网旗下栏目“新智驾”整理。
传统汽车仪表将车速、转速、油量、水温、机油压力等信息呈现给驾驶者,以方便驾驶者能根据这些信息判断车况,并据此修正自己的驾驶行为。传统仪表系统的核心是一个单片机,这个单片机从 CAN/LIN 总线上收集车辆各个部件的信息,然后通过驱动电机来控制表针的旋转,以此达到信息呈现的目的。
随着时代进步、技术发展、需求多元化,传统仪表无法适应现今的需求,于是这几年各大厂商开始发展液晶仪表。奥迪、大众、宝马、奔驰、路虎、沃尔沃、卡迪拉克等国际大厂都先后推出了自己的液晶仪表。
▲奥迪液晶仪表盘
豪华品牌使用液晶仪表的最大动力是提升整车的豪华感及驾驶感受,而对于混动车型、纯电动车型来说,需要呈现的信息比燃油动力汽车多很多,传统仪表已经无法承载相应的需求,全液晶仪表已经是混动车型、纯电动车型的刚需。
随着排放标准的日益严苛,混动车型、纯电动车型是大势所趋。各大车厂已经看到了这个趋势,愿意投入更多的人力物力在液晶仪表上做技术积累。国内车厂在液晶仪表上的投入丝毫不比国际大厂差,如比亚迪的 E6,更是几年前就用上了液晶仪表。可以预见的是:在不久的将来,液晶仪表将会是汽车的标配。
与传统仪表相比,全液晶仪表能呈现更多的信息,对信息的组合方式也是传统仪表不可比拟的:将不同驾驶阶段中最重要的信息显示在最容易阅读的区域。
对于驾驶者来说,视线焦点在正前方时是最安全的,仪表所呈现的信息越容易阅读,驾驶者视线离开正前方路面的时间就越短,驾驶行为就越安全。对于仪表来说,驾驶的不同阶段对仪表上信息的重视程度是不一样的:高速路上驾驶时,更关心车速、转速、剩余燃油;倒车时,更关心倒车后视镜的内容;在不熟悉的道路上驾驶时,更关心导航信息。
有一个很重要的特性:当仪表盘亮起某些不常见的报警灯时,大部分人总是茫茫然不知道这个灯代表什么意思。这种困惑在液晶仪表盘上就不存在,因为液晶仪表盘可以在亮报警灯以文字的形式提示。每一块液晶屏最容易阅读的区域都是当中的部分,在各种不同的情况下,将驾驶员最需要的信息呈现在仪表的正中区域,正是液晶仪表的优势之一。
但缺点是,在目前这个时间点,全液晶仪表比传统仪表的成本贵 2-3 倍。而目前液晶仪表规模化有好几个瓶颈,而成本正是其中之一。
首先是成本,目前全液晶仪表的成本比传统仪表高很多,这也是目前主机厂选用液晶仪表的最大阻力。比如:液晶仪表所使用的 CPU,就比同等性能的消费级 CPU 贵 3-5 倍;液晶仪表所使用的液晶屏,也比同等规格消费级的液晶屏贵 4-6 倍。
这种成本上的差异,主要是因为车规级物料的检测规范更严格,兼且由于出货量小,所以价格下不来。
但我们知道,所有的电子产品都有一个特点:边际效应非常强烈,随着产量的提升,成本会呈现几何级数的下降。相信在不远的将来,各个零部件的成本会降到一个更为合理的水平,这也意味着液晶仪表的成本劣势会随着时间的推移而逐步消失。
其次是技术、工艺水平。液晶屏幕、高端 CPU、IC 在高低温环境下的适应能力是汽车级电子产品首先要考量的。仪表是车载安全件,是不允许出现任何异常的,这就要求车载电子的所有物料都能经受长时间高低温的考验,由于设计、加工等因素的制约,早期的电子物料难以适应车载环境。
随着电子业的进步,这个弱点已经被克服,这就为高端电子物料进入汽车提供了必要条件。这也是各大国际车厂开始装配液晶仪表的原因之一。
其三,系统的稳定性也是一个重要因素。液晶仪表系统比传统仪表复杂很多,其中牵涉到的代码也比传统仪表有数量级的增多。我们知道:代码越多,出错的概率就越大。如何使自己的系统更稳定、容错性更好,这一点是非常考验开发商系统集成能力。
以上都是当今液晶仪表规模化的瓶颈,相信随着时间的推移及技术的进步,这些瓶颈都会逐渐消失,最后不复存在。
液晶仪表是一个「跨界」产品:它跨越了 IT 嵌入式领域和汽车领域。
全液晶仪表需要掌握很多技术:嵌入式操作系统、汽车 CAN/LIN 总线、OpenGL 3D 渲染技术。传统仪表的单片机是不需要一个完整的操作系统的,它只负责 CAN/LIN 总线的数据交互,鉴于单片机的运算能力比较低,OpenGL 3D 渲染技术也是无法实现的。
全液晶仪表上所呈现的每一个像素,都是由 OpenGL 引擎实时渲染出来---尽管最终画面是 2D 的。可以说,高端嵌入式领域本身就是一个技术含量很高的领域,开发一个完整、安全的嵌入式操作系统是一个难度很高的任务。
而汽车领域对电子产品的稳定性、实时性等要求极其严苛,其对产品的测试、生产、质检流程也是传统消费级电子制造商所不敢想象的。
比如说环境温度,汽车级电子产品要求环境温度在-40℃~85℃之间都能很好地工作,而消费级的 LCD 屏幕,大约-20℃就罢工了。
我亲眼见过后装车载导航的屏幕在阳光下暴晒一小时后屏幕变白,要开着空调吹 20 分钟后才能恢复正常---相信这块屏是工业级、甚至有可能是消费级的。
再比如说系统稳定,系统长时间的运转,不能有迟滞、死机等异常,那么采用什么样的系统架构、中间件、3D 引擎才是合理、安全呢?
在业内,有两个规范 CMMI 3 和 TS-16949,这两个标准本身就是很严格的,如果不遵循着两个标准做,很可能会面临一些不可预知的产品风险。完全跟着这两个标准走的话,会让公司为流程付出巨大的经济代价,得到的将会是一个稳定、可信的产品。
不少消费级电子产品设计公司在进入汽车电子领域前,天真地认为「应该和以前差不多」,在深入研发、测试、量产后才发觉,汽车电子产品与消费电子产品有太大的差异。
在当前的业界,传统仪表厂商所掌握的技术不足以完全掌控全液晶仪表,而传统嵌入式领域的厂商却又没有太多的汽车工业知识。以上这些条件结合在一起,整个产品就变成了一个极其复杂的系统工程。
说到安全问题,汽车在行驶过程中,液晶仪表会会怎么来保证稳定安全?如出现故障,会有怎样的预防措施保证行驶安全?环境适应性 (如低温) 及响应时间问题如何解决?
系统的稳定性由两方面决定:硬件、软件。
硬件上,从设计伊始,就要考虑散热、振动、高低温、电磁干扰等因素。同时,所有的来料都必须是汽车级的,这个级别的材料比我们日常所见的消费级材料贵 2-5 倍,但是对环境的适应性更为强悍。
汽车在夏天长时间暴晒后,驾驶舱温度很可能达到 60℃甚至更高。工业结构设计是散热的第一重保障,良好的结构能保证系统得到最大程度的散热。我们在各个项目实施的过程中积累了很多结构上散热的经验。通过专业的模拟软件,对系统做热分析,并针对热分析的结果设计相应的散热方案。
注意:这里所说的「结构」不仅是外壳类结构,还包括 PCB 板上元器件的摆放位置。应用了这种从根源处散热的产品,才能真正应付各种高温环境。
另外,车规级的元器件、液晶屏这时候是最发挥功力的,长时间的高温对于车规级物料来说不是事。刚才我提到的某后装导航屏幕白屏的问题,在车规级液晶屏上是见不到的。
有个定律:CPU 的发热量与时钟频率大约成正比。因此,在系统软件上,我们的液晶仪表自动根据负载动态调整 CPU 的频率,让 CPU 在不影响用户体验的情况下以最低的发热量运转。在 Linux 系统中,这样的技术叫做 DVFS(Dynamic voltage and frequency scaling),即「动态电压频率调整」。
比如说:在汽车未点火的时候,仪表的指针不会转动,这时候系统的负载很小,CPU 可以工作在 200MHZ 的频率下,而汽车一旦发动,CPU 可以在 10-20 个毫秒的时间内快速切换到 400MHz 甚至更高的频率,以保证系统的流畅度。
除了来料,加工环节也与消费类电子有不小的差异,因为工艺上的些许差异很可能会导致产品的稳定性变差。以液晶屏为例,消费级的液晶屏无需考虑高低温环境,而车规级的液晶屏需要考虑-40℃~85℃的工况,低温时不能出现残影、响应迟缓,高温时不能白屏。
在软件上,选用一个足够安全、稳定的操作系统非常重要。在这里不得不提一下 AGL(Automotive Grade Linux)这个组织,它是由 Linux 基金会发起,汇集了全球各大知名企业,旨在提供一个「汽车级」的 Linux 安全规范。
我们知道,Linux 世界里有成千上万种你想得到或者想不到的各种程序、组件,但是 AGL 并不允许所有的组件进入汽车领域。也就是说,一个对于电脑「可用的」软件,未经 AGL 认证的情况下,是不允许进入汽车级 Linux 系统的。AGL 界定了「足够安全的」各种组件,并在产品中只允许这些经过重重验证的组件,这样就在最根源处保证了系统的稳定与安全。
我们作为 AGL 成员,使用了汽车级的 Linux 作为核心,以此作为系统安全稳定的保障。另外,在软件研发的过程中,我们遵循了 CMMI 3 规范。为了应对各种极小概率事件,我们愿意付出更多的精力与资源,以保证系统的稳定性。
以上所述其实不是什么秘密,但是知易行难,只有在研发、量产的过程中摸爬滚打过才能知道怎样把这几点真正实施到每个细节中。
快速响应一般是指仪表能在极短的时间内(毫秒级)将整车的状况反映到仪表上。
Android 手机是一个基于 Linux 的操作系统,由于各种原因,Android 手机冷启动的时间大约是 30-50 秒,这么长的时间对于仪表来说是个噩梦。主机厂对仪表的冷启动时间要求是 2 秒,我们基于 Linux 做了深度优化,将冷启动时间缩短到了 1.6 秒以内。
我们所说的 1.6 秒,并不是用一个 Linux Frame Buffer 的静态 Logo 图片来做视觉欺骗,而是将 3D 渲染的界面完整地呈现出来。虽然 0.4 秒的差距,普通人很难发现出其中的差别。但有一个现实状况:汽车从点火的瞬间就开始发送 CAN/LIN 信号,某些汽车的某些 CAN 信号,只在点火后 1-2 秒发送,如果仪表启动时间过长,会导致这些信号有机会丢失。
从操作系统的角度看,一般称之为「实时性」。传统的 Linux 的实时性不是很好,这也是众多需要 RTOS 的平台不选择 Linux 的主要原因。但是随着时间的推移,伟大的 Linux Kernel 也把 RTOS 的特性加进来了。
我们从两个层面来提升系统的实时性:内核层、应用层。得益于这两个层面的提升,我们的仪表响应速度比传统仪表更胜一筹。死机等问题的应对是一个很大的话题,也是业界关心的问题。死机分系统级死机和应用级死机。前面提到的 AGL,是应对系统级死机的方案之一。
同时,各种心跳机制、看门狗机制,可以应对各种小概率事件。从设计及实施上去预防,是更重要的解决办法。前面提到的 CMMI 3、系统测试,都是行之有效的预防手段。如果从用户的角度出发,万一发生了死机,系统会侦测到并在 2 秒内重新完成 HMI 加载。
最后提一下我们的 JetCast 协议。JetCast 所支持的是 WiFi 连接、AVB、LVDS、车用以太网等各种汽车级多媒体总线连接方式。目前实现的是基于 WiFi 的连接。JetCast 是一种全新的流媒体传输协议,不是 AirPlay,也不是 Miracast。Airplay、Miracast 都只是单向的传输,JetCast 是双向传输。
我见到的众多驾驶者似乎都有这么一个习惯(包括我自己):不爱使用车载导航,更愿意使用手机导航。
手机导航有几个好处:可以有实时路况、升级更方便。所以,大家都花了各种心思,设法把手机固定在车上的某个位置,以方便驾驶时观看。可是,问题来了,万一驾驶途中有电话来了,尽管可以用蓝牙来通话,但是导航界面就被切换到后台了,需要手动切换回来。
另一方面,液晶仪表这么大一块屏幕,又处于最易于观察的位置,如果能将手机导航的画面传输到液晶仪表上,那这件事就完美了:有实时路况、升级方便、无需设法固定手机。
液晶仪表与手机连接建立以后,手机以流媒体的形式将导航画面传输给仪表,在传输图片的过程中,手机处于完全解放状态:可以把手机屏幕关掉,可以打电话,甚至打游戏(驾驶员行车时可不能这么干)。
这种将手机导航投射到仪表的技术,目前众多德系车厂实现的只是将车载导航画面投射到仪表,并没有实现手机投射的功能。
问:目前液晶仪表会开发相应的应用吗?
陈云峰:仪表是安全件,所有的应用应该由专业开发商来开发,不会随意开放应用接口。不管从哪个角度出发,app 之类的东西,还是由中控来玩比较好。
总有人问我:你们的仪表如果能放电影就好了。我的回答是:我们的仪表的确可以播放高清电影,但是我不会做,因为开车的时候看电影是一件极其不安全的事。
问:汽车级 Linux 会对汽车行业产生多大的影响?
陈云峰:Linux 是一个开放的系统,开放性的同时会带来不安全性。AGL 之所以成立,就是基于这个原因而成立--提供一个开放的、安全的、稳定的系统,并建立比消费级 Linux 更严格的准入门槛。
相信在不久的将来,AGL 将会助力 Linux 在仪表业产生深远的影响。
问:车规级 Android 现在比较火,也出现了几个案例通过车厂客户测试,车规级 Android 仪表的前景及问题?
陈云峰:Android 很棒,但是也有缺点——需要 40 秒来冷启动,这个对于仪表来说是不可忍受的。所以,仪表上暂时见不到 Android 的生存空间。
而中控领域,Android 做中控的方案已经在后装市场逐渐出现。如果 Google 能建立一个类似于 AGL 的分支,为车载提供启动速度更快、组件都经过验证的 Android,相信它也能在中控领域大施拳脚。
*部分图片来自网络
PS:如果你对这个话题有兴趣,并想做更深入的了解,欢迎扫描下方二维码,友衷科技技术总监陈云峰将与你做更多讨论。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。