# 大小脑时间契约与跨域通信 ## 1. 接口原则 大小脑之间采用异步、有界、可超时和可丢弃的消息通道。小脑控制线程不得执行无限等待、动态扩容或不可控的大块数据复制。 大脑输出应从开放文本收敛为受约束结构: ```text 任务目标 → 白名单技能 → 参数与约束 → 小脑验证 → 执行 ``` ## 2. 消息模型 ### 请求 | 字段 | 含义 | |---|---| | `request_id` | 唯一序号 | | `sample_time` | 输入数据采样时刻 | | `deadline` | 最晚可用时刻 | | `task_class` | 感知、规划、诊断或交互类别 | | `priority` | 域内服务优先级提示 | | `payload_ref` | 受控共享缓冲区引用 | | `schema_version` | 接口版本 | ### 响应 | 字段 | 含义 | |---|---| | `request_id` | 请求匹配 | | `finish_time` | 推理完成时刻 | | `valid_until` | 结果失效时刻 | | `model_version` | 模型版本和审计信息 | | `confidence/status` | 结果质量与错误状态 | | `skill_id` | 白名单技能编号 | | `constraints` | 速度、力、空间和持续时间约束 | | `checksum` | 完整性校验 | ## 3. 小脑消费条件 ```text accept(result) = id_match AND schema_valid AND checksum_valid AND finish_time <= deadline AND now <= valid_until AND confidence >= threshold AND skill_is_whitelisted AND constraints_passed ``` 拒绝结果后,小脑执行保持、传统控制、减速、停车或其他预定义回退,不等待大脑重新计算。 ## 4. 通信实现候选 | 方式 | 优点 | 风险 | 适用场景 | |---|---|---|---| | 共享内存环形队列 + 通知 | 低复制、可控队列 | 缓存一致性和内存访问权限 | 同 SoC 分域主方案 | | RPMsg/邮箱 | SoC 生态常见、域间明确 | 消息大小和驱动能力受限 | MCU + 应用核 | | 虚拟设备 | 与 Hypervisor 集成 | VM exit 和虚拟中断开销 | 虚拟机分区 | | 以太网/TSN | 物理隔离、易扩展 | 网络栈与同步误差 | 双机大小脑 | ## 5. 队列策略 - 队列必须有固定容量; - 状态类消息可采用“只保留最新值”; - 事务类技能命令不得静默覆盖; - 大脑过载时优先拒绝低价值请求; - 小脑记录丢弃、超时、覆盖和回退原因; - 域重启后通过 epoch 或会话号拒绝旧消息。 ## 6. 验证重点 - IPC 单向、往返、P99.9 和观测最大时延; - 消息大小、频率和队列深度的影响; - 队列满、乱序、重复、损坏和版本不一致; - 大脑域重启后的旧消息隔离; - 通信线程是否影响控制核和关键中断。