3. TRAVEO内部架构与核心子系统

TRAVEO T2G 系列面向车身域控、网关与区域控制器(Zonal Controller)场景,其内部并不是“一颗大 MCU”,而是由双 CPU 子系统、外设子系统、安全子系统、电源与时钟子系统共同构成的片上系统。理解这些子系统的分工与耦合关系,是后续做多核任务划分、IPC 设计、低功耗策略与功能安全配置的前提。本节按“计算核心 → 核间通信 → 中断 → 时钟复位 → 电源管理 → 安全诊断”的顺序,把关键机制讲清楚,并给出可落地的配置思路。

一、Cortex-M4 与 Cortex-M7 双核架构

TRAVEO T2G 的高端型号(如 CYT4 系列)采用双核异构结构:一颗 Cortex-M4F 与一颗 Cortex-M7F。两者都是 ARMv7-M 架构,指令集兼容,但定位不同。M7 具备双发射、分支预测、指令与数据缓存(I-Cache/D-Cache)以及更深的流水线,主频可达 350 MHz 级别,适合跑协议栈、算法与大数据搬运;M4 主频通常在 100~150 MHz 量级,功耗与确定性更好,适合做实时控制、外设管理、安全监控与低功耗待机。

两核各自拥有独立的 NVIC、SysTick、MPU 与私有外设,但共享片上 SRAM、Flash、外设总线与部分外设实例。共享资源必须通过互斥机制保护,否则会出现读写撕裂或状态不一致。工程上常见的划分方式是:M7 承担以太网/CAN FD 网关转发、诊断协议栈(UDS/DoIP)与 OTA 逻辑;M4 承担车身 IO 采集、LIN 调度、看门狗喂狗与安全状态机。这种划分让 M7 的算力用于吞吐,M4 的确定性用于安全与实时。

二、IPC 核间通信机制

双核之间需要交换数据与事件。TRAVEO 提供多种 IPC 通道,典型包括:共享 SRAM 中的消息队列、IPC 中断(核间中断,IPI)、硬件信号量(Semaphore)以及部分型号的 IPC 专用寄存器组。设计 IPC 时要区分“数据面”和“控制面”:数据面用共享内存环形缓冲区传大块数据,控制面用 IPI 通知对方“有新数据”。

一个可复用的做法是:在共享 SRAM 中定义固定长度的消息槽(例如 32 字节头 + 256 字节负载),用生产者-消费者环形队列管理,队列的读写指针由硬件信号量保护。发送方写入负载后,通过 IPI 触发接收方中断;接收方在中断中只做“取指针、置标志”,把解析放到任务上下文,避免长时间占用中断。需要注意缓存一致性:M7 有 D-Cache,共享内存区域应配置为 Write-Through 或 Non-Cacheable,或在发送前后执行 SCB_CleanDCache_by_Addr 与 SCB_InvalidateDCache_by_Addr,否则 M4 可能读到旧数据。

三、中断系统

每个核有独立的 NVIC,支持可编程优先级与嵌套。TRAVEO 的外设中断可通过中断路由器(IRQ Router / MUX)分配到 M4 或 M7,部分中断还能同时路由到两核。配置时要明确三件事:中断归属哪个核、优先级分组如何设置、是否需要在两核间做中断转发。

优先级分组建议统一为“抢占优先级 + 子优先级”的固定分组,避免两核各自为政导致系统行为不可预测。对于安全相关中断(如看门狗、故障采集),应放在 M4 上并给予较高抢占优先级;对于吞吐型中断(以太网、CAN FD),放在 M7 上并配合 DMA 降低 CPU 占用。若某外设中断需要两核协同,通常由一核接收后通过 IPI 转发,而不是让两核同时响应同一中断源。

TRAVEO T2G 双核子系统与关键互连 Cortex-M7F 主核 350 MHz · I/D-Cache · 双发射 NVIC / MPU SysTick 网关转发 / UDS·DoIP / OTA 以太网 · CAN FD 高吞吐 Cortex-M4F 从核 150 MHz · 确定性 · 低功耗 NVIC / MPU SysTick 车身 IO / LIN 调度 / 安全状态机 看门狗 · 故障采集 IPC 核间通信 共享 SRAM 环形队列 硬件信号量 + IPI 中断 Cache 一致性维护 32B 头 + 256B 负载 / 槽 共享总线矩阵 / 交叉开关(SRAM · Flash · 外设总线) 通信外设 CAN FD · LIN · 以太网 中断路由器 IRQ 分配至 M4 / M7 时钟与复位 PLL · 分频 · 复位源 电源管理 PMU · 低功耗模式 安全与诊断子系统:SMU 安全管理单元 · 故障采集 · 看门狗 · ECC · 自检 BIST · 诊断日志 安全相关中断优先绑定 M4,故障事件经 SMU 汇聚后触发安全状态

四、时钟与复位

TRAVEO 的时钟树以外部晶振或内部振荡器为源,经 PLL 倍频后通过多级分频器分配给 CPU、总线、外设。典型配置是:外部 16 MHz 晶振 → PLL 倍频至 350 MHz 供 M7,分频出 150 MHz 供 M4,再分出 80 MHz 供外设总线。配置顺序必须遵守“先稳定源、再锁 PLL、最后切时钟”的原则,切换前要确认目标时钟已稳定(PLL Lock 标志置位),否则会出现取指异常或外设通信失败。

复位源包括上电复位、外部复位引脚、看门狗复位、软件复位与低电压复位。系统启动时应读取复位原因寄存器,区分冷启动与热复位,避免热复位后重复初始化已保持状态的外设。多核场景下,复位通常先复位从核,再复位主核,或由主核统一控制从核的释放,防止两核同时访问未初始化资源。

五、电源管理单元

PMU 负责管理内核电压、外设电源域与低功耗模式。TRAVEO 支持 Sleep、Deep Sleep、Hibernate 等模式,进入前需保存上下文、关闭非必要外设时钟、配置唤醒源。唤醒源可以是 GPIO 边沿、CAN/LIN 总线活动、定时器或 RTC。工程上要特别注意:进入 Deep Sleep 前必须确认 IPC 队列已排空,否则从核可能在唤醒后读到不完整消息;唤醒后要重新校准时钟并检查外设状态寄存器,确认没有因掉电丢失配置。

六、安全与诊断子系统概览

安全子系统围绕 SMU(Safety Management Unit)展开,负责汇聚 ECC 错误、时钟监控、电压监控、看门狗超时、BIST 自检结果等故障源,并按预设策略触发中断、复位或安全状态。诊断方面提供故障状态寄存器、错误日志与自检接口,支持 ISO 26262 相关的安全机制验证。配置时要把安全相关中断绑定到 M4,并确保故障响应路径不依赖 M7 的缓存与复杂调度,以保证确定性。

双核工程的三条经验:共享内存区域显式配置缓存属性;中断归属在系统设计阶段就固定,不要运行期随意迁移;安全相关路径尽量放在 M4 上并保持短小确定。