车载信息娱乐系统优化探究

文章来源:东风汽车技术中心 & 观致汽车研究院 发布时间:2021-08-03
分享到
通过对系统关键元器件负荷分析,引 导工程师对核心元器件进行选型,并通过软件策略的优化来 提升系统的流畅性,符合市场用户需求。

随着国内外OEM对智慧车辆逐渐达成共识,赋予汽车新 的使命,也丰富了车辆的应用场景,用户与车辆的直接对话 越来越多,使用场景的增加给车载信息娱乐系统的正常运行 带来越来越多的挑战。通过对系统关键元器件负荷分析,引 导工程师对核心元器件进行选型,并通过软件策略的优化来 提升系统的流畅性,符合市场用户需求。


1. 系统架构组成


1.1 硬件框图


参考某OEM的一款中控车机硬件架构简图(图1)。


图片

图1 硬件框图

中控 影音娱乐系统的架构主要包含主CPU、触摸屏、MCU、DSP、 功放、WIFI模块、BT蓝牙模块、GPS天线模块、收音机AM辕FM模块、CAN收发器、USB接口等,各独立功能芯片主要参 与信号收发、解析及优化,对系统的流畅性影响较小,主要 由核心处理器对用户及外界输入信号进行综合处理,主处理器的性能对系统运行速率影响较大。通过测试主处理器的负载及 各应用的内存占用状态选取合适的元器件,减少设计漏洞,同 时避免资源浪费,有效控制成本。


1.2 应用工作原理


图片

图2 应用工作原理

图2为应用工作原理。Linux系统在启动时,从ROM中加 载系统基本信息,通过引导程序启动系统主程序,在应用被唤醒时,从L1 /L2缓存数据中寻找应用数据,发现所需数据,则快速启动应用;反之,则通过运行内存从存储内存中调用 并运行应用数据。


由于缓存模块封装在主处理器内部,通常一个应用从唤 醒到运行的整个过程中,主要参与的硬件模块有:功能模块芯片、CPU、运行内存、储存内存。功能模块芯片接收原始 信号后转换成A/D信号输入给CPU,由CPU底层软件驱动显 示屏进行显示及功放发声,鉴于功能模块较多,本篇不作深 入研究,主要从CPU、运行内存、存储内存3个维度来探讨系统的优化方案。


2. CPU运行负荷


2.1 CPU的负荷分布


同一个应用在不同的场景,CPU的负载也不一致,全功 能样机上输入指令:adb shell top -m 10 -s cpu,测得每 个应用最大CPU负载的数据及对应场景如图3所示。


图片

图3 CPU负载

根据以上数据统计,综合用户使用习惯,以下两种常见 使用场景中,会出现CPU负载过高现象。


1)收音机+导航+语音助理+双屏互动,负载79%。

2)导航+日历+语音助理+双屏互动,负载86%。 


通常系统底层软件运行监控也会占用少量资源(<2%), 在负载过高时,调用其他应用,例如点击多媒体按键板、高清媒体源播放、蓝牙来电等,都会造成CPU资源不足,系统不流畅。 


2.2 CPU优化


在项目策划阶段,需要对车载应用进行统计,根据试验测得应用的最大CPU负荷、成本及后期OTA升级需求来对 CPU进行选型,CPU优化通常从以下两点进行考虑。


1)当CPU处于一个较高的负载工况时 渊CPU占用90%冤, 若一个20%CPU占用的应用被激活,正常情况下,该应用从唤醒到启动需1s,则会因为CPU资源不足,导致应用程序调 用时间增倍为2s,实际体验就能感受到延迟,后继虽然可通 过代码架构适当优化,但不能从根本上解决系统不流畅的问 题。因此,在进行硬件选型时,需估算CPU的最大负载,选 择处理器。 


2)目前业内普遍CPU的负载设计不超过70%,在确定CPU型号后,需保证CPU平稳工作。生产工艺、硬件电路、结构散热等都会对CPU工作造成影响,长时间工作会使主机内部局部温度偏高,造成CPU降频,运算能力下降,可通过合理的机械结构及硬件电路布局优化CPU散热,保证CPU良 好运行。


3. 系统运行内存


3.1 运行内存负载分布


同CPU负载类似,在全功能样机上调用adb指令直接看 每个模块的内存占用,输入指令:adb shell dumpsys mem原 info,模拟测得每个应用的内存占用如图4所示。


图片

图4 运行内存负载

某系统设计运行内存为2G(2048M),用adb指令运行模 拟应用启动时占用的实际内存为931M,选用1G(1024M)内存即可满足系统需求,但内存预留不足,后继程序升级时 容易出现内存容量不够,系统运行卡顿的情况,因此需综合成本及当前内存占用状态来选取合适的内存大小。 


3.2 运行内存优化 


当前市面上车载DDR3内存大小与价格参考如下:1G内 存96元,2G内存130元。 


综上所述,考虑到后期OTA升级,应用更新优化,结合当前内存的市场报价,选取2G运行内存既满足当前设计方案,又可支持后期迭代升级,为最优性价比方案。


4. 系统存储内存


4.1 存储内存负载分布


应用数据通常保存在eMMC(Embedded Multi MediaCard)存储器中,在车机系统中通常保存系统应用数据、 高德离线地图数据、科大讯飞 辕 百度语音包数据、常规系统应用数据及测试LOG文件等,某车载主机存储内存参考见图5。


图片

图5 存储内存负载

在硬件架构设计时,一般会将存储器划分为系统区及用户区,系统区一般预留部分空间用于系统更新优化及系统数据临时缓存,某项目系统应用实际数据大小为3.18G,预留4G;用户区高德离线地图占用7.19G,科大讯飞离线语音包占用0.48G,系统常规应用一般占用较小,主要由酷我音乐等第三方APP及调试LOG数据占用。


在系统硬件方案确定前,地图数据及语音数据虽占用较大,但是一般浮动较小,而系统常规应用数据占用很小,因 此在设计优化时需注意LOG接口数据及第三方下载数据,避 免系统存储空间不足,影响系统运行。


4.2 存储内存优化


对于功能模块LOG接口数据,可从软件架构上对打印权 限进行限制,当某个功能模块需要开发调试时,需申请权 限,同时主程序对内存状态进行监控,通过浮动窗口实时显示内存状态,在内存使用超出阈值时通过弹窗进行报警。


第三方应用目前在车载多媒体中应用越来越多,大部分都没有对用户下载进行限制,采取的优化方式有两种:①参照手机,当下载数据超过内存阈值时,系统弹窗提醒清理内存,并显示每个应用下载占用状态;②第三方软件自优化, 以酷我APP为例,当用户下载的曲目数量达到设定量(100首)或内存使用超过阈值时,再次下载时默认滚动覆盖最早下载的曲目。


收藏
赞一下
0