您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



文章 咨询 工具 课程  
会员   
   
MBSE从理论方法到工作实践
8月26-27日 北京+线上
大模型核心技术RAG、MCP与智能体实践
8月14-15日 厦门
图数据库与知识图谱
8月28日-29日 北京+线上
   
 
 订阅
SoC内的邮箱---自动驾驶芯片的关键技术MailBox
 
作者昵称:咖啡鱼
  78  次浏览      1 次
 2025-8-8
 
编辑推荐:
本文主要介绍Mailbox(邮箱)来实现芯片片上模组之间的通信并在自动驾驶中的作用,希望对您的学习有所帮助。
本文来自于焉知汽车,由火龙果软件Alice编辑、推荐。

目录

一、 芯片内也发邮件?何为MailBox

二、 Mailbox 的技术原理与芯片内实现

三、 在自动驾驶中的作用

四、 总结

图 典型的MailBox,来自网络

 

一、芯片内也发邮件?何为MailBox

芯片内各个模组其实不会互相写信。叫MailBox的意思是借用家庭门口邮箱的概念,办法是“你放我取,我放你取”来实现芯片片上模组之间的通信。

在现代集成电路设计中,Mailbox(邮箱)是一种关键的片内通信机制,承担着处理单元间数据交互与协同工作的核心功能。随着自动驾驶技术向高等级(L4/L5)演进,车载芯片的算力需求呈指数级增长,多核心、异构和 超异构计算架构 成为主流,Mailbox 的设计优劣直接影响系统的实时性、可靠性与安全性。

图 芯片内的core通过MailBox交互数据,来自网络

Mailbox(邮箱)除了是一种机制外,本身也是硬件,可以想象成带控制器的存储模块。如上图,MailBox的存储空间(称为消息缓冲区)是多个register寄存器(寄存器很贵,本来是只用在Core内部的)组成的,而且这些register寄存器排列成FIFO先进先出队列形式。

其重要性不言而喻,用于自动驾驶和智能座舱的超异构SoC芯片为了完成多种类型的计算任务,包含了各种异构计算核心,CPU,GPU,NPU,ISP等等,它们之间的数据交互效率,决定了整款芯片的性能。

二、Mailbox 的技术原理与芯片内实现

Mailbox 起源于早期多处理器系统的进程间通信需求。在单芯片系统中,它通过硬件逻辑实现不同处理单元(CPU 核心、GPU、DSP、专用加速器等)之间的异步数据交换,本质上是一套包含存储缓冲区、控制寄存器和中断逻辑的硬件模块。

现代自动驾驶芯片普遍采用 "CPU+GPU+ ASIC " 的异构架构,以应对感知、决策、控制等不同任务的算力需求,所以需要MailBox来交互核间数据。

2.1 基本组成结构

典型的 Mailbox 模块由以下核心组件构成:

消息缓冲区: 用于存储待传输的数据帧,支持固定长度或可变长度消息,通常采用 FIFO(先进先出)队列结构保证数据顺序性。

控制寄存器组: 包括状态寄存器(指示缓冲区空满状态)、配置寄存器(设置中断触发条件)、地址寄存器(指定消息源 / 目的地址)等。

中断控制器: 当消息到达或发送完成时,通过中断信号通知目标处理单元,避免无效的轮询操作。

仲裁逻辑: 在多主设备访问场景下,通过优先级机制解决总线冲突,保证高优先级消息的传输时效性。

Mailbox通信通常包含以下步骤(以ARM与DSP通信为例):

1. 初始化共享内存 : 分配双方均可访问的内存区域

2. 配置Mailbox寄存器 : 设置中断触发方式和消息队列

3. 发送消息 : 写入数据到共享内存,触发Mailbox中断 

4. 接收处理 : 接收方通过中断读取共享内存数据 

图 独立的FIFO存储器(型号 IC FIFO 4KX9 15NS 32PLCC ),来自网络

芯片内部的MailBox封装比较深,FIFO缓存只是MailBox的组成部分,更难找到实物图示,所以本文用上述独立的FIFO存储器代替来可视化。

MailBox的FIFO缓存使用的是最快也最贵的存储单元:寄存器,这本来是用在处理器内部的最高速器件,用来在处理器中缓存中间计算结果的。再便宜一点的MailBox的FIFO缓存可能使用L1、L2级别的缓存,但是几乎没有MailBox用内存作缓存的,因为太慢了。

特性 寄存器(Register) 缓存(Cache) 内存(Main Memory)
物理位置 集成在 CPU 内部 位于 CPU 芯片内(L1/L2)或外部(L3) 独立于 CPU 的芯片(如 DRAM 模块)
材质 触发器(Flip-Flop) SRAM(静态随机存储器) DRAM(动态随机存储器)
速度 最快(纳秒级,约 0.1-1ns) 较快(约 1-10ns) 较慢(约 50-100ns)
容量 极小(CPU 核心中通常只有几十到几百个,总容量 KB 级) 中等(MB 级,如 L3 缓存可达 64MB) 较大(GB 级,常见 8-64GB)
成本 极高(每 GB 成本是内存的数千倍) 较高(每 GB 成本是内存的 10-100 倍) 较低
供电依赖 无需刷新(断电数据立即丢失) 无需刷新(断电数据立即丢失) 需要周期性刷新(否则数据丢失)

2.2 不是每种 SoC 芯片都有 Mailbox,一个Soc可以有很多MailBox

Mailbox 主要用于实现 SoC 芯片内多核或多处理单元之间的通信。一些异构多核 SoC 通常会集成 Mailbox 模块,例如德州仪器的 TDA4VM 拥有多个不同类型的核,其硬件提供了 Mailbox 硬件模块用于核间通信。瑞芯微的 RK3576S SoC 支持 1 个 14 通道的 Mailbox,用于提供 CPU 和 MCU 之间的通信服务。ARM 的 PL320 也是专门为核间通信设计的 Mailbox 硬件模块。

然而,部分功能简单或架构较为单一的 SoC 芯片可能没有 Mailbox。例如,Semidrive E3106 芯片由于资源上没有 Mailbox,在相关工程中需要移除 Mailbox 相关文件夹。UM2082F08 是基于单周期 8051 内核的超低功耗 SoC 芯片,其内部集成了多种外围通讯接口,但未提及 Mailbox 模块。PHY6235 是一款用于蓝牙低功耗应用的 SoC,配备了 SRAM、ROM 以及无线电等,但同样没有相关 Mailbox 的描述。

随着芯片技术的发展,尤其是多核异构芯片的广泛应用,芯片内的处理单元日益增多,为了实现高效的核间通信,需要多个 Mailbox 来满足不同处理单元之间的通信需求。例如,ARM 的 PL320 芯片共支持 32 个 Mailbox,每个 Mailbox 包含 7 个 data 寄存器,一次最多能发送 28 字节数据。德州仪器的 TDA4VM 芯片的 MAILBOX0 集成在 NAVSS0 域下,存在 12 个邮箱实体,每个邮箱实体可作为单独的邮箱外设使用,且能产生 4 个中断号不一致的中断,可实现 4 个核之间的核间通信。

德州仪器的 J721E SoC 有 12 个硬件邮箱实例,每个实例内有16个FIFO先进先出队列,总共 12×16 个硬件邮箱队列。

硬件邮箱实例是 J721E SoC 中独立的硬件邮箱模块,每个实例都可用于在不同处理单元(如 CPU 核心、加速器等)之间进行通信。这些实例相当于独立的通信通道,可并行处理不同的消息传递任务,有助于提高系统的通信效率和灵活性。例如,一个硬件邮箱实例可用于传输传感器数据,另一个可用于发送控制指令。

每个硬件邮箱实例内部包含 16 个单向的硬件邮箱队列。这些队列本质上是 FIFO(先进先出)队列,用于按顺序存储和管理消息。每个队列可以连接 4 个通信用户或 CPU。例如,当一个 CPU 需要向另一个 CPU 发送多条消息时,这些消息可以依次进入这 16 个队列中的某个队列,接收方 CPU 则按照先进先出的顺序从队列中读取消息,从而保证消息的有序传输。

再以 Nvidia Drive Orin 芯片为例,其 Mailbox 系统采用分布式架构,每个计算集群(GPC、TPC、DLA)均配备独立的 Mailbox 控制器,通过片上网络(NoC)实现跨集群通信,支持最高 4GB/s 的消息传输带宽。

2.3 功能安全导向的 Mailbox 设计

自动驾驶芯片需满足 ISO 26262 功能安全标准(最高 ASIL-D 级),Mailbox 作为关键通信组件,其安全机制包括:

消息校验:通过 CRC(循环冗余校验)或 ECC(错误校正码)检测传输错误,确保数据完整性

超时监控:设置消息传输超时阈值,当超过阈值未完成时触发安全机制(如重试或降级)

冗余通道:关键控制信号采用双 Mailbox 通道传输,通过一致性检查发现潜在故障

隔离机制:通过硬件防火墙实现不同安全域间的通信隔离,防止故障扩散

德州仪器 TDA4VM 芯片的 Mailbox 系统采用 "双端口 + 锁步核" 设计,每个消息在传输过程中会被同时发送至两个独立的缓冲区,由锁步 CPU 进行一致性验证,确保传输过程的安全性。

2.4 异构SoC的MailBox是可以用程序来控制的

作为芯片使用者(而非开发者),在以下典型场景中需要对芯片内的Mailbox进行编程操作,不仅可以,而且有些时候是必要的。

1. 系统功能扩展与定制化开发

场景:使用现成芯片模组(如工业控制模块、车载ECU)时,需通过Mailbox实现自定义功能

案例:

在TI Sitara AM62x处理器上,通过Mailbox配置DSP核运行自定义算法(如电机控制)

修改NXP i.MX8MP的Mailbox中断优先级以优化实时响应(如机器人关节控制)

2. 多操作系统协同

场景:芯片运行异构OS(如Linux+RTOS)时协调资源

操作示例:

通过Mailbox寄存器向RTOS核发送传感器紧急事件(如温度超限)

在Allwinner D1芯片上配置RISC-V核与ARM核的共享内存地址

3. 外设驱动开发

场景:为第三方IP核(如AI加速器)编写驱动

技术要点:

设置Mailbox命令码(如0x01启动推理,0x02读取结果)

处理超时重传机制(如CAN FD控制器Mailbox的500ms超时设置)

4. 故障诊断与恢复

场景:系统异常时通过Mailbox获取协处理器状态

实践方法:

读取Mailbox状态寄存器判断DSP是否死机(如ST STM32MP157的MBX_STAT寄存器)

通过安全Mailbox通道发送看门狗复位指令

5. 性能调优

场景:优化多核任务调度延迟

典型操作:

调整Mailbox中断触发方式(边沿/电平触发)

为高优先级任务分配专用Mailbox通道(如汽车 Autosar架构 中的COM层)

使用者操作Mailbox的典型流程如下图

图 操作Mailbox的典型流程图

注意,在 硬件寄存器调试 Mailbox控制器依赖物理地址映射,需通过开发板访问真实硬件寄存器;或者多核通信验证时,需实际硬件验证核间中断触发和消息传递功能(如ARM与DSP通信),也是需要芯片开发板。

图 Orin芯片的开发板正反面,来自网络

典型代码示例:ARM核发送数据到DSP核(TI AM57xx平台)

// ARM核发送端代码

void arm_send_to_dsp(uint32_t *data, uint32_t size) {

// 1. 写入共享内存

memcpy(SHARED_MEM_ADDR, data, size); 

// 2. 触发Mailbox中断(写入消息到Mailbox寄存器)

MAILBOX_REG_WRITE(MAILBOX_DSP_INT, SHARED_MEM_ADDR); 

// 3. 等待DSP应答(可选)

while (!(MAILBOX_REG_READ(MAILBOX_ARM_ACK) & 0x1)); 

}

DSP是Digital Signal Processor数字信号处理核

三、在自动驾驶中的作用

自动驾驶系统的核心诉求是在复杂动态环境中实现安全、可靠的决策控制,这对车载芯片的实时性、算力密度和功能安全提出了极高要求。Mailbox 作为异构计算架构的 "神经枢纽",其设计需满足三大核心需求:低延迟通信、确定性响应、故障隔离。

低延迟通信

低延迟需求:激光雷达点云数据的传输延迟需控制在 1ms 以内,否则会导致环境感知的时间偏移,影响障碍物距离判断

带宽瓶颈:8 线激光雷达每秒产生约 200 万点云数据,需 Mailbox 提供至少 16Gbps 的传输带宽(每个点包含 x/y/z/ 反射率等信息)

优先级调度:摄像头的帧同步信号需设置最高优先级,确保多传感器数据的时间对齐

当 Mailbox 带宽不足时,会导致传感器数据积压,引发感知系统的 "数据饥饿" 现象。某自动驾驶测试数据显示,Mailbox 延迟每增加 10ms,障碍物检测的漏检率会上升 3.2%,这在高速场景下可能导致严重后果。

确定性响应

紧急制动指令的传输延迟抖动需小于 100μs,否则会导致制动距离的显著偏差

故障容错:Mailbox 的单点故障不应导致控制指令丢失,需通过冗余设计实现 "零数据丢失"

时间同步:决策与控制单元需通过 Mailbox 交换时间戳信息,确保控制指令与车辆状态的时间一致性

在自动驾驶系统中,Mailbox 的故障可能引发灾难性后果。2022 年某自动驾驶测试车的事故调查显示,由于 Mailbox 的中断处理逻辑缺陷,导致制动指令延迟了 350ms,最终造成追尾事故。这促使行业加强了对 Mailbox 硬件诊断与软件监控的双重验证。

异构计算环境下的 Mailbox 部署实现故障隔离

常见的异构计算SoC,同一块芯片可能包含如下计算核(包括但不限于)

CPU 集群:负责系统调度、逻辑决策等串行任务

GPU/TPU:处理图像识别、点云分割等并行计算任务

ASIC 加速器:专用硬件模块,如 NVIDIA 的 DLA(深度学习加速器)、TI 的雷达信号处理器等等

Mailbox 在这类架构中形成多层次通信网络:

内部 Mailbox:同一计算单元内不同核心间的通信,如 CPU 核心间的消息传递,延迟通常在 100ns 以内

跨域 Mailbox:连接不同计算单元,如 CPU 与 GPU 之间的通信,通过片上网络实现,延迟约 1-5μs

外部 Mailbox:芯片与外部设备的通信接口,如与 CAN 控制器、以太网 PHY 的交互,延迟受外部总线影响较大

而且外部或者跨域的MailBox会有硬件级加密,集成 AES-GCM 等加密引擎,对传输的敏感消息(如控制指令)进行实时加密解密;

以及入侵检测,通过分析 Mailbox 的通信模式识别异常流量,及时发现潜在的网络攻击;还有安全岛设计,也就是在 Mailbox 内部划分独立的安全区域,用于传输 ASIL-D 级别的关键消息。

这些措施进一步实现故障隔离功能。

以特斯拉 FSD 芯片为例,其采用两个独立的计算集群(每个集群含 12 个 CPU 核心 + 神经网络加速器),集群间通过专用 Mailbox 通道实现冗余通信,确保在单集群故障时仍能维持系统基本功能。

四、总结

随着自动驾驶技术向 L4 级迈进,Mailbox 系统面临着带宽需求激增、延迟约束收紧、安全要求提高等多重挑战,其技术演进呈现三大趋势:

传统 Mailbox 的带宽分配和优先级设置多为静态配置,难以适应复杂多变的驾驶场景。新一代 Mailbox 将引入自适应调度机制:

场景感知调度:根据实时路况(如拥堵、高速、路口)自动调整消息优先级,例如在路口场景提升摄像头数据的传输优先级

预测性预分配:通过机器学习预测短期通信需求,提前为高优先级任务预留带宽资源

负载均衡:在多 Mailbox 通道间动态分配流量,避免单点拥堵

NVIDIA 在其新一代 Drive Thor 芯片中采用了 "智能 Mailbox" 架构,通过专用的通信处理器实现动态带宽管理,较上一代产品的通信延迟降低了 40%,带宽利用率提升至 90% 以上。

而且安全与信息安全的融合(即 "SecURity")成为 Mailbox 设计的新方向,比如英飞凌 AURIX TC4x 芯片的 Mailbox 系统采用了 "安全岛 + 加密通道" 的双重防护机制,其安全通信模块通过了 Common Criteria EAL5 + 认证,能有效抵御侧信道攻击和注入攻击。

第三个趋势使用MailBox辅助多传感器和多处理器的时间同步,这在在自动驾驶中尤为重要。它可以用于实现多核之间的时间同步、跨时钟域的数据同步以及作为时间同步系统的辅助通信机制。

在多核处理器芯片中,Mailbox 可用于同步多核上运行的进程。例如德州仪器的 AM2632 和 AM2612 芯片,均通过 CTRLMMR 寄存器实现 Mailbox 功能,并借助时间同步和比较事件中断路由器支持中央平台时间同步(CPTS)TEXASINSTRUMENTS。Mailbox 可以发送同步信号或时间戳信息,使各个核心能够协调工作,确保整个系统的状态一致性。

还可以跨时钟域同步。不同时钟域的处理单元可以通过 Mailbox 进行数据传输,避免使用显式的握手信号。例如,一个时钟域的进程将数据写入 Mailbox,另一个时钟域的进程从 Mailbox 中读取数据,从而实现跨时钟域的数据同步。

在目前算力即生产力的时代,Mailbox 作为芯片内部的 "交通枢纽",其重要性将随着自动驾驶的普及而日益凸显,成为衡量车载芯片性能的关键指标之一。

   
78 次浏览       1
相关文章

中央计算的软件定义汽车架构设计
汽车电子控制系统中的软件开发过程
一文读懂汽车芯片-有线通信芯片
OTA在汽车上有哪些难点痛点?
相关文档

汽车设计-汽车的整体结构及动力系统
自动驾驶汽车软件计算框架
SysML在汽车领域的应用实践
电子电气架构-大陆汽车系统架构平台
相关课程

AutoSAR原理与实践
功能安全管理体系(基于ISO26262)
MBSE(基于模型的系统工程)
基于SOA的汽车电子架构设计与开发

最新活动计划
大模型RAG、MCP与智能体 8-14[厦门]
图数据库与知识图谱 8-28[北京]
OCSMP认证:OCSMP-MBF 8-29[北京]
基于 UML 和EA进行分析设计 9-9[北京]
软件架构设计方法、案例实践 9-24[北京]
需求分析师能力培养 10-30[北京]
 
 
最新文章
ASPICE中配置管理是个什么东西?
了解软件安全分析与组件鉴定
掌握Autosar ComStack的精髓!
基于整车功能的正向诊断需求开发
搞定Autosar SWC开发秘籍,码住!
汽车OTA更新的系统性威胁评估
最新课程
基于SOA的汽车电子架构设计与开发
Auto SAR原理与实践
AUTOSAR架构与实践(从CP到 AP )
AUTOSAR架构建模方法与工具(EA)
ASPICE4.0核心开发过程指南
MBSE(基于模型的系统工程)
更多...   
成功案例
某知名车企 AUTOSAR应用设计与开发
吉利汽车 MBSE工程体系汽车建模及评估
某整车企业 《功能需求分析与设计》
富奥汽车零部件 建模工具EA
零跑汽车 建模工具EA及服务
北汽福田 建模工具EA
小鹏汽车 建模工具EA
更多...