背景
自己是做车机系统开发的,对于车机系统的多屏交互,一直保有好奇和学习的心态。记得17年的时候刚入行车
机信息娱乐系统开发的时候,一次在上海交大打篮球,遇到一个硕士,他问我做什么的,我说 “车机软件开发”。
他说“这是一个好行业啊,现在汽车电子和软件都很落后,好好干,这个行业以后的发展潜力巨大”,果然现在5年过去
了,再回首智能座舱,自动驾驶,都在如火如荼的进行着。
以我个人的开发经历,来一起聊聊车机多屏交互的发展
小尺寸车机屏幕
我刚开始接触项目的时候,当时的车机系统对于交互就是,一个小尺寸的屏幕,里面的主要内容就是播放音乐、收听
电台、setting等一些应用,比如早期的日系车丰田、本田,内容越少对于车机多屏交互的要求就越小,所以当时的多屏
交互,可能就是中控屏幕和后排屏的简单交互。
手机和车机屏幕的交互
手机厂商是内容提供商,主要将手机的多媒体功能通过wifi或者usb连接的方式投放在车机屏幕上,让用户进行操作,
这里一般就有Android 厂商的Android auto,苹果的carplay,百度的carLife,华为的hicar,前面说的这四种应用都是将
该应用内的内容投屏在车机屏幕里,那车机厂商就授予前面应用的限制,要接入以上内容就要进行付费,那于是我们就
通过其他方式直接将手机的整个内容投屏到车机里,在车机系统上操作手机的功能,基本就能满足用户的使用。
用户可以在车机上操作手机内容,也可以在手机上操作内容,车机上同步。
大尺寸车机屏
进入大尺寸车机屏幕,其实主要分两种模式,一种就是类似于特斯拉的中控屏幕,左边显示仪表或者自动驾驶画面,右边右边显示ivi相关信息,
这种实现要分是双芯片共享屏幕,还是单芯片的hypervisor方案。
1、先聊双芯片共享屏幕的方案,我们之前的做法是屏幕的显示和控制权交给仪表侧,然后通过hdmi,将Android渲染后的画面交给仪表侧来显示,
然后仪表侧会叠加在Android的画面上面,当然这里你要处理Android侧的显示尺寸,保证从某一个区域开始显示,不要被仪表侧覆盖了实际的显示
区域。
参考这里
2、双8155的芯片,一个master用来跑QNX,这里master还会使用hypervisor方案,虚拟出一个Android系统,这个Android的主要功能就是用来渲染
自动驾驶的画面,然后通过内部以太网的形式将渲染后的ad画面传给slave侧(为了减压slave的功耗),slave的主要功能就是信息娱乐域,跑的
Android系统。
3、单8155芯片,QNX使用hypervisor方案虚拟出一个Android系统,物理屏幕的控制权在QNX侧,信息娱乐域的大小由QNX来分配,这个时候如果
想玩出花样来,比如Android侧分主副驾,那么就要用到Android的虚拟屏技术。