基于SA8155P芯片的智能座舱域控制器设计

2023-04-14 08:13王泽龙
汽车与驾驶维修(维修版) 2023年2期
关键词:域控制器

王泽龙

关键词:智能座舱;域控制器;Hypervisor ;视频输入输出

0 引言

由于车规级系统芯片(SoC 芯片)的算力不斷增加,域控制器也成为汽车车辆电子领域的重要研究对象[1]。与传统的汽车电子控制单元(ECU)相比,域控制器具备的计算能力强、外设资源充足以及功能更加多样化等优点被原厂配套(OEM)厂商广泛认可。域控制器的概念,使整车电子电气结构由过去的传统分布式结构变为了集中式结构,克服了传统分布式结构中,各种信号之间的重复传输、ECU 内部时间同步和多级ECU 的硬件成本昂贵等困难问题。

在中国汽车行业当前电动化、网联化、智能化以及共享化等新四化科技发展的大背景下,对于汽车电子电气架构和域控制器提出了更高的要求[2]。随着汽车用户对智能座舱的舒适性、娱乐性等要求越来越高[3],这就要求智能座舱系统具备高速计算性能、低延迟性、更有效的跨域通信以及软件的不断OTA 升级与更新。汽车电子电气结构也由传统的分布式结构形态过渡到集中式的结构形态[4],如图1 所示。

座舱域控制器是一个整合在同一块芯片的控制器[5],软件与硬件的高度整合,采用硬件冗余的方法实现了后续的OTA 系统更新迭代。座舱域控制器的SoC 芯片能力也非常强劲,高通的SA8155P 芯片CPU 算力高达105K DMIPS。可以利用软件与硬件的高度解耦,实现底层软件与上层软件之间的不断整合创新。

汽车域控制器大致可分成5 个区域,包括车体域、底盘域、发动机域、智能座舱区域和自动驾驶区域。不同域间功能分配的差异也使得相应区域所用的处理器芯片是完全不同的。例如由于车身区域对安全性和实时性需求最高,所以使用的数据处理器芯片主要为英飞凌TC397、TC399 等系列;智能座舱域对娱乐系统体验、视觉与听觉交互要求较高,采用的芯片主要有高通的处理器SA8155P、瑞萨和芯驰等;自动驾驶域则对传感器采集与融合以及辅助驾驶算法的集成要求较高,采用的芯片主要有英伟达ORIN 系列、TI TDA4 系列等。本文研究的是智能座舱领域,所以选用高通的SA8155P 芯片为主芯片。

1 系统总体方案设计

座舱域控制器功能需求如表1 所示。

通过对上述主要功能需求进行分析,本文给出了系统总体设计方案(图2)。

该座舱域控制器SoC 芯片采用SA8155P 来实现。SA8155P的CPU 算力高达105K DMIPS,可以同时处理4 块显示屏输出内容和8 个摄像头输入图像。视频输出包含DP 和DSI 的视频串行器模块,将DP 接口和DSI 接口输出的视频流数据进行编码处理后传输到显示屏端。视频输入3 个CSI 接口的视频解串器模块,将摄像头传输过来的视频流数据解码成1lane ~ 4lane 的CSI 格式数据,再由 SA8155P CPU处理器进行处理。

2 功能模块硬件架构设计

根据座舱域控制器的需求分析,本文主要对以下模块进行了详细设计。

2.1 视频输出设计

视频输出是智能座舱域控制器中最重要的功能之一,主要场景有中控显示屏IVI、仪表显示屏Cluster、副驾驶娱乐显示屏和HUD 显示屏等。SA8155P 支持1 个DP 接口和2 个DSI 接口,可以满足8K 分辨率的显示屏输出。本文设计的显示屏输出可以支持4 块显示屏,最大可以支持6 块显示屏。视频输出的硬件框图如图3 所示,其中仪表Cluster 和抬头显示HUD 的显示屏通过QNX 操作系统驱动,实现快速显示和功能安全的功能。中控IVI和副驾娱乐显示屏的显示通过Android 操作系统驱动,实现信息娱乐的功能。

由于座舱域控制器和显示屏之间距离较远,需要采用分离屏的方案,所以必须先对视频流信号进行串行编码,以便于实现视频信号远距离传输。串行编码后的信号通过差分线束传输到显示屏端,显示屏端的解串器再对串行的视频信号进行解码后,生成双路或者单路的LVDS 信号,从而驱动显示屏进行显示。DP 接口的串行器采用TI DS90UB983,可以支持3K 以上分辨率;DSI 接口的串行器采用DS90UB981,可以支持2K 以上分辨率。DS90UB983 将DP 视频流信号串行为FPD-LINK 信号,DS90UB981 将DSI 视频流信号串行为FPD-LINK 信号。串行器实现驱动2 块不同分辨率的屏幕是该设计的一个难点。

视频输出的硬件设计如图4 所示,DSI 视频信号DSI0 ~ DSI3 通过4 对差分线输出视频信号,差分走线采用100 Ω 终端电阻匹配。编码后输出通过两组差分信号DOUT±连接到HSD 连接器,由于编码后传输速率很高,在输出端连接100.0 nF 的AC 电容耦合。

2.2 视频分屏输出

一个视频输出口驱动多块显示屏是技术上的一个难点,为了解决该技术难点,本研究设计了由SA8115P 的2 个视频通道(pipeline)实现一个超级帧的视频输出。

为了实现帧的非对称分离,可对生成的输出图像进行裁剪。输入视频要求与对称分离的要求相同,超级帧必须包含2 个相同大小的图像。这些图像的水平和垂直尺寸都会被裁剪以生成更小的图像。这里时钟频率会保持在超级帧频率的一半。

此外,水平和垂直消隐间隔会随着裁剪幅度的增加而增加。图5 所示为DSI0(也可以是 DSI1)上的一个超级帧流输入,它被分离成了2 个不同的视频分辨率。当接收到超级帧时,该超级帧会重新格式化为交替像素3D 格式,然后再分离成2 个图像。可以输出不同分辨率的2 块视频,比如一块输出1 080P 分辨率,另一块输出720P 分辨率。接下来会对生成图像中的1 个或2 个图像执行裁剪功能以获得所需的分辨率,然后会将图像转发到兼容的解串器和所连接的显示屏。

2.3 视频输出能力分析

视频输出是否带动2 块显示屏,还必须对串行器、连接器、线束和解串器逐一进行传输能力的分析。在这里Line rate 是FPD-LINK 串行总线上的高速信号的速率,单位为bps(bit/s)。每个PCLK 会把24 bit RGB888 数据、控制信号(包括GPIO、I2C 等)以及时钟信号编码成为35 bit 的数据传输。line rate 和PCLK 之间存在固定的35 倍关系,串行总线上的一个UI 为line rate 的倒数,即Line rate= fPCLK×35。因此PCLK 速度越高,line rate 越高,1UI 对应的时间越短。UI 参数可以用于眼图与时钟Jitter 的评估。由于FPD-LINK III 采用NRZ 编码方式,在串行线缆上,高速信号的等效信号频率为line rate 的一半。信号频率参数可以用于指导线缆、连接器的选型。

视频输出需要的数据带宽如表2 所示。为了驱动多块显示屏进行显示,需要选择对应的串行器、解串器、连接器以及线束,以确保显示链路不存在传输瓶颈。

通过对DP 和DSI 的视频信号进行串行化和解串化处理,可以大幅减少外部传输信号线的数量。同时可以有效延长传输距离,整车对于显示屏的布置也更加方便。

2.4 视频输入设计

智能座舱域控制器中的视频输入功能也非常重要,主要应用有后视摄像头RVC、环视摄像头AVM、乘客监控摄像头OMS、行车记录仪摄像头DVR、驾驶员识别和监控摄像头DMS 等。SA8155P 具有4 路MIPI CSI 接口,每路可以支持200 ~ 400 MP的摄像头输入。视频输入系统框如图6 所示。

为了让摄像头可以更好地实现解码和显示功能,本研究对摄像头数据格式、分辨率和供电等进行了归一化处理(表3)。归一化处理后优化了SoC 内部ISP 处理过程,可以最多同时对8 路摄像头进行处理后输出。

摄像头采集到4 通道的YUV422 前端数据后会编码成长数据包。长数据包由3 个元素组成,分别为:32 位的数据包报头(PH),特定于应用程序的数据有效载荷(具有可变数量的8 位数据字),以及16 位的数据包页脚(PF)。数据包报头进一步由3 个元素组成:1 个8 位的数据标识符,一个16 位的字计数字段,和一个8位的ECC。包页脚只有1 个元素,即1 个16 位的校验和(图7)。

4 颗摄像头经过解串器解码后,会解码成MIPI CSI 的格式。CSI-2 定义的引脚包含1 对时钟线以及1 ~ 4 对差分数据线(datalane),其数据都是以byte 为单位,在每个lane 上分布。以4 对data lane数据分布情况为例(图8),byte 0~byte n从lane 0~lane3 依次分布。具体byte 0 ~ byte n-1 的内容就是CSI-2 协议定义的数据包,主要分为两大类。一类是短包(short packet),主要用来传递行场同步信号,由固定的32 bit(4 byte)数据组成。还有一类是长包(long packet),主要用来传递图像数据。每一行图像会被打包成一个长包,长度不固定,取决于每一行图像的像素个数以及每个像素的颜色深度。

摄像头的数据会通过虚拟ID 分配号对应虚拟通道地址VC ID,用来识别图像数据来源于哪颗摄像头。

3 软件架构设计

3.1 Hypervisor 架构

座舱域控制器的软件相较于传统的ECU 要复杂得多,其软件架构也与传统ECU 之间存在很大差别。本研究設计的座舱域控制器软件架构采用QNX Hypervisor 技术[6],在一个控制器上实现2 个客户端(图9)。其中,娱乐系统运行的是Android 客户机,主要完成中控娱乐和副驾驶娱乐的功能;仪表系统运行的是具有实时性和功能安全的QNX 操作系统,主要完成与功能安全相关的仪表和HUD 功能。在硬件的基础上,该架构采用Hypervisor 技术对Android 和QNX 系统进行实时监控,构建出HAL、Framework 实现软硬件解耦,APP 层再通过接口对中间层和底层进行调用。

3.2 多屏互动架构

QNX 和Android 之间的进程间通讯主要包含系统间的控制命令/ 数据通讯,通过FDBus 来实现。系统间的大数据量数据通讯(比如图像/ 音频)可以通过共享内存的方式实现数据通讯(图10)。

屏幕的输出使用WFD 框架,屏幕的输出接口控制在QNX 端。Android 端使用代理与QNX 端通讯,可以实现中控屏、仪表屏、其他显示屏之间的互动。

4 结束语

座舱域控制器的研发及使用已经成为趋势。本文根据智能座舱域的场景特征,构建设计了一款基于SA8155P 芯片的智能座舱域控制器并对各个主要模块进行了详细设计。在智能座舱领域中,中控显示屏IVI、仪表显示屏Cluster、副驾驶娱乐显示屏、HUD显示屏、后视摄像头RVC 以及环视摄像头AVM 等应用是最为重要且基本的,因此必须对视频输出输入的系统解决方案做出合理的设计,才能满足用户良好的使用体验。区别于传统的ECU,座舱域控制器硬件冗余设计也保证了在底层软件和上层软件设计得更为复杂,尤其是对于QNX Hypervisor 的软件,能够让座舱域控制器更好地发挥其优越性能。

猜你喜欢
域控制器
面向汽车集中式EE架构下的MCU类域控制器软件开发集成过程研究
基于RCAR H3的智能座舱域控制器设计
浅析汽车电子架构发展与典型域控制器
环形以太网网络拓扑结构研究与设计
兼容Linux操作系统的域控制器生命周期管理
浅谈软件定义汽车的背景与内涵
活动目录中延迟对象的处理
处理域控制器时间误差
基于软件定义网络的分层式控制器负载均衡机制
修复域控制器故障