夜雨聆风学习资料网

ARTICLE · 1048493

案例分析08 | 智能网联汽车的嵌入式软件架构设计

案例分析08 | 智能网联汽车的嵌入式软件架构设计

题目背景

某新能源汽车企业(以下简称"智行汽车")正在开发新一代智能网联汽车的中央控制系统。该系统集成了自动驾驶辅助(ADAS)、车载娱乐(IVI)、车身控制(BCM)和车联网通信(V2X)四大功能域。

系统硬件平台:

  • 主处理器:高通骁龙8295(8核ARM Cortex-A78,算力30 TOPS NPU)

  • 协处理器:英飞凌AURIX TC3xx(车规级安全MCU)

  • 内存:16GB LPDDR5

  • 存储:256GB UFS 3.1

软件需求:

  • ADAS功能(车道保持、自动泊车)需要满足ASIL-B功能安全等级

  • 车载娱乐系统需要支持流畅的多媒体播放和语音交互

  • 车身控制(车窗、车灯、空调)需要硬实时响应

  • V2X通信需要满足低延迟(<20ms)要求

架构师赵工提出了基于Hypervisor的混合架构方案,在同一个SoC上运行多个操作系统。


问题(共25分)

问题1(7分)

请分析赵工提出的混合架构方案中,各功能域应该运行在什么操作系统上(硬实时OS/通用OS/安全OS),说明选择理由,并解释Hypervisor在此架构中的作用。

问题2(7分)

ADAS模块需要满足ASIL-B功能安全等级。请解释ASIL等级体系(A-D),并说明为满足ASIL-B要求,ADAS软件应采用哪些可靠性设计技术(至少3种)。

问题3(6分)

在架构评审中,有工程师提出V2X通信和ADAS感知数据需要在不同系统间共享。请分析跨OS数据共享的技术方案及其安全考量,并提出你的设计建议。

问题4(5分)

请分析该系统可能面临的电磁干扰(EMI)和热管理挑战,并从嵌入式系统架构角度提出至少3种应对措施。


参考答案

问题1 参考答案(7分)

各功能域的操作系统选择

功能域推荐OS类型具体OS选择理由
ADAS自动驾驶辅助安全实时OSQNX / AUTOSAR需要ASIL-B认证,硬实时响应,确定性调度
车载娱乐(IVI)通用OSAndroid Automotive丰富的应用生态,多媒体处理能力,UI框架
车身控制(BCM)硬实时OSAUTOSAR(运行在协处理器上)硬实时控制,安全关键,需μs级响应
V2X车联网安全实时OSQNX / Linux RT低延迟通信,网络协议栈支持

Hypervisor的作用

Hypervisor(虚拟机管理程序,如ACRN/QNX Hypervisor)在此架构中扮演关键角色:

(1)硬件资源隔离:将SoC的CPU核心、内存、外设分配给不同的虚拟机(VM),确保ADAS虚拟机崩溃不影响娱乐系统。

(2)安全隔离:安全关键域(ADAS/BCM)与非安全域(IVI)运行在隔离的虚拟机中,满足功能安全要求。

(3)资源共享管理:在隔离的基础上,通过Hypervisor提供的虚拟设备或共享内存机制,实现必要的数据交换(如ADAS告警信息传递到IVI显示屏)。

(4)调度保障:为安全关键虚拟机预留CPU时间片和优先级,确保硬实时任务不被其他虚拟机抢占。

问题2 参考答案(7分)

ASIL等级体系

ASIL(Automotive Safety Integrity Level)是ISO 26262标准定义的汽车功能安全等级,从低到高为:

等级风险程度典型应用要求
QM无安全风险车载收音机质量管理即可
ASIL-A低风险车灯控制基本安全措施
ASIL-B中等风险车道保持辅助冗余设计、故障检测
ASIL-C高风险自动紧急制动高级冗余、严格验证
ASIL-D最高风险自动驾驶转向控制最高级别安全保障

满足ASIL-B的可靠性设计技术

(1)N版本程序设计:ADAS感知模块部署两套独立的感知算法(如分别由不同团队开发的视觉感知和雷达感知),通过投票机制确定最终结果。当两套结果不一致时,降级为安全模式(如减速靠边停车)。

(2)看门狗与故障检测:在ADAS主处理核心上部署硬件看门狗定时器(Watchdog Timer),定期检测软件心跳。如果心跳超时(软件死锁/死循环),自动触发安全MCU接管并执行安全降级(如保持当前车道并减速)。

(3)防卫式程序设计:所有ADAS传感器输入进行严格的合理性检查(如激光雷达距离值不可能为负数),异常输入被丢弃并使用上一帧的有效数据。关键控制指令增加CRC校验,确保指令完整性。

(4)安全MCU备份:英飞凌AURIX协处理器作为安全备份,持续监控ADAS主处理器的运行状态。当主处理器故障时,AURIX在毫秒级内接管基础安全控制(制动、转向回正)。

问题3 参考答案(6分)

跨OS数据共享的技术方案

方案一:共享内存(Shared Memory via Hypervisor)

  • Hypervisor分配一块物理内存作为共享区域

  • ADAS VM将感知结果(如障碍物列表、车道线信息)写入共享内存

  • IVI VM从共享内存读取数据用于HUD显示

  • 需要使用自旋锁或信号量保证并发访问安全

方案二:虚拟机间通信(Inter-VM Communication)

  • 通过Hypervisor提供的虚拟网络或消息队列进行通信

  • ADAS发布感知数据到虚拟消息总线,IVI订阅感兴趣的主题

  • 通信延迟可控,但增加了软件复杂度

安全考量

  • IVI运行Android系统,安全性低于QNX。如果IVI被攻破,不能允许其通过共享内存篡改ADAS的控制指令

  • 共享内存应设计为单向读写:ADAS只写,IVI只读。ADAS的控制通道必须与数据展示通道物理隔离

  • 关键安全数据(如制动指令)不经过共享内存,而是通过安全MCU的独立安全通道传递

问题4 参考答案(5分)

EMI和热管理挑战

高算力SoC(30 TOPS NPU)产生的高频信号和热量会影响车载传感器(摄像头、毫米波雷达、超声波)的信号质量,同时车内空间有限,散热条件恶劣。

应对措施

(1)硬件级电磁隔离:在PCB设计中,将高算力SoC的供电区域与敏感传感器接口区域物理隔离,使用接地屏蔽罩覆盖NPU和射频模块。ADAS传感器信号线采用差分传输(LVDS),增强抗干扰能力。

(2)软件级散热管理:实现动态频率调整(DVFS)机制——当SoC温度超过阈值时,自动降低NPU算力(如从30 TOPS降到15 TOPS)并切换到安全降级模式(仅保持车道保持功能,暂停自动泊车等高算力功能)。

(3)功能安全降级策略:设计多级降级方案——正常模式(全功能)→ 降级模式1(关闭娱乐,集中算力给ADAS)→ 降级模式2(ADAS简化功能,限速行驶)→ 安全停车模式。每个降级级别对应不同的温度和EMI阈值。

相关学习资料