HaloOS

VBS采用经典分层模块化架构:
- 接口层(VBS API ) 一套IDL配置自动生成多语言应用模版(C/C++/Python),通过IDL和Profile自定义数据结构和传输QoS。
- 服务框架层(VBS Framework) 实现所有消息发布订阅、节点/服务注册、拓扑管理、服务发现、QoS与安全管控、内容过滤和数据落盘/回放等功能。业务开发只需与这一层对接,无需关心协议传输形式或发现机制。
- 传输层(Transport) 基于统一接口定义实现UDP、SHM等传输协议。支持协议自适应选择,部署时可自动定位最合适的传输通道,保障通信效率和系统拓扑灵活性。
- 多中心全局发现 VBS可在不同物理设备或虚拟边界部署多个DServer发现节点。节点注册、下线、异常全部自动同步且支持冗余热备;避免传统广播洪泛、简化维护和运维。 支持对DDS节点、RPC节点全局发现。
- 维测工具 统一的运维工具链覆盖Topic流量观测、全链路Trace、通信拓扑调试、通信健康检测,支持持续集成与自动化部署。
车载通信总线轻量化传新实践
1. 应用场景
在汽车电子电气架构向中央集中式演进背景下,传统分布式ECU架构的通信面临三重刚性约束:
- 资源枷锁:主流DDS协议栈资源占用较高,导致车规级MCU剩余资源难以支撑快速增长的业务需求
- 实时鸿沟:线控制动系统要求端到端时延≤1ms,而传统SOME/IP协议栈可靠性及时延难以满足要求
- 带宽危机:智能化创新应用所需带宽远超CAN/LIN总线承载极限,车载以太网凭借高带宽能力加速渗透
在此背景下,VBS开源通信总线通过架构级优化实现突破性改进,实现性能跃迁:
- 低开销:单节点可承载300+通信端点(Topic)
- 低时延:关键数据P99时延≤1ms
- 高可靠:Reliable业务0丢包
本demo重点演示低开销、确定性及可靠性三个重要指标
2. 演示目标
- 低开销 通过在MCU上成功部署300个通信topic,VBSLite展现出极低的内存占用,显著提升资源利用效率
- 低时延 通过MCU端到端时延测试验证VBSLite具备优异的低时延性能,满足实时应用对快速响应的严苛需求
- 高可靠 通过MCU丢包率测试结果表明VBSLite数据传输稳定可靠,有效保障通信过程无中断,实现业务数据零丢包,适应多样化应用场景
3. 技术方案
VBSLite针对车控MCU资源受限场景下,突破传统DDS实现范式,通过三大创新性技术路径实现低开销、低时延、高可靠的通信性能
- RAM消耗低
- XML 驱动开发 用户采用XML定义通信矩阵以及资源规格,通过代码生成器生成协议栈所需要数据, 规避了运行时动态资源分配开销, 以及内存碎片引发的不确定性
- 资源预分配策略 仅仅将运行时需要动态修改的数据部署到RAM,其他数据部署到ROM中,使得RAM内存占用显著降低
- 协议实现突破固有的范式 VBSLite 不再存储很多传统DDS内置节点大量的缓冲数据, 在需要这些数据时, 创新性通过数据模板产生这些必要的数据, 既节省了内存, 也控制了CPU使用率
- 微秒级实时传输引擎
- 零拷贝传输机制 在 UDP 收包中断处理流程中,采用直接解析 DDS 数据包的策略,省去将数据包拷贝至用户任务的中间环节,从而将通信时延精准控制在 100 微秒以内,显著提升数据传输效率
- 裸数据处理范式 针对车控领域常见的定长数据, 摒弃了传统序列化/反序列化流程,采用了数据直接拷贝方式,使得端到端时延得到大幅降低
- 车规级可靠性增强
- 轻量化可靠传输协议 保留DDS核心ACK/NACK机制
- 系统级别鲁棒性设计 基于确定性设计理念,着重保障内存资源使用的可预测性,并在系统内部全面采用 O (1) 常数级查找算法,有效增强系统运行的稳定性与抗干扰能力,切实提升整体鲁棒性
