COVESA VSS 信号规范详解
一、什么是 COVESA VSSCOVESA VSSVehicle Signal Specification车辆信号规范是由COVESAConnected Vehicle Systems Alliance互联车辆系统联盟原 GENIVI 联盟制定的一套开源、标准化、面向车辆的数据模型规范。它旨在为车辆中所有的信号、属性、传感器和执行器状态提供一套统一、语义清晰、与硬件无关的描述方式。https://covesa.global/wp-content/uploads/2024/09/COVESA-Vehicle-Signal-Specification-Enabling-Ecosystems_20240105-cn.pdfCOVESA 是一个由汽车制造商、供应商和技术公司组成的全球性联盟致力于推动车载软件和互联汽车技术的标准化二、VSS 的核心设计思想1. 树形命名空间Tree-like NamespaceVSS 将所有车辆信号组织成一颗树形结构采用类似文件系统的路径方式来唯一标识每个信号。例如Vehicle.Cabin.Door.Row1.DriverSide.IsOpen Vehicle.Powertrain.CombustionEngine.EngineSpeed Vehicle.ADAS.CruiseControl.SpeedSet这种结构的优势在于直观易读通过路径名即可理解信号的语义和所属领域。层次分明按功能域车身、动力、座舱、ADAS 等自然划分。可扩展允许在标准分支下添加自定义子节点。2. 与硬件解耦的抽象层VSS 定义的是逻辑信号而非物理信号。例如不关心“CAN 总线 ID 0x123 的第 2 位”这样的底层细节。只关心“驾驶员侧车门是否打开”这个功能语义。这种抽象使得上层应用开发者无需了解底层总线协议CAN、LIN、FlexRay、Ethernet 等和硬件布局极大降低了开发复杂度。3. 自带元数据Rich Metadata每个 VSS 信号都附带丰富的元数据定义包括元数据属性说明示例数据类型信号值的数据类型boolean、float、int32、string单位物理单位km/h、°C、Pa、%描述语义说明发动机转速单位为转/分钟最小值/最大值有效范围0~8000允许值枚举值列表[Off, On, AUTO]节点类型分支或叶子节点branch、sensor、actuator、attribute目标数据类型针对传感器的原始数据类型UINT8、SINT16等三、VSS 标准库与扩展机制标准库covesa_vss_standardCOVESA 官方维护了一套核心 VSS 标准库覆盖了绝大多数常见车辆信号包括Vehicle.Cabin座舱相关车门、车窗、座椅、空调、灯光等Vehicle.Powertrain动力总成发动机、电池、电机、变速箱等Vehicle.ADAS高级驾驶辅助巡航控制、碰撞预警、车道保持等Vehicle.Connectivity网络连接Wi-Fi、蓝牙、蜂窝信号等Vehicle.OBD车载诊断相关Vehicle.Chassis底盘刹车、转向、悬架等自定义扩展Customer/Project Specific汽车厂商或项目方可以在标准库基础上添加自定义分支满足特定需求。例如Vehicle.Customer.XYZ.Battery.ThermalManagementState Vehicle.Customer.XYZ.Interior.AmbientLightColor这种“标准继承 自定义覆盖”的机制既保证了跨平台的通用性又保留了差异化定制的灵活性。四、VSS 的载体格式VSS 规范通常以.vspec文件VSS Specification 的缩写的形式存储这是一种人类可读的文本格式。示例如下# VSS 信号定义示例 Vehicle.Cabin.Door.Row1.DriverSide.IsOpen: datatype: boolean type: sensor description: 驾驶员侧车门是否打开true打开false关闭 Vehicle.Powertrain.CombustionEngine.EngineSpeed: datatype: float unit: rpm min: 0 max: 8000 type: sensor description: 当前发动机转速 Vehicle.ADAS.CruiseControl.SpeedSet: datatype: float unit: km/h min: 0 max: 250 type: actuator description: 巡航控制设定的目标速度工具链如 RAD 中的 VSS Editor可以解析这些.vspec文件生成代码、文档或配置供下游使用。五、VSS 在 RAD 平台中的落地在 RAD 平台中VSS 扮演了核心数据契约的角色具体体现在数据模型来源RAD 的应用和服务基于 VSS 定义的数据模型进行开发和通信。映射桥梁VSS 作为中间抽象层将底层 CAN/LIN 等物理信号映射为统一的逻辑信号供 Databroker 路由分发。跨平台可移植基于 VSS 开发的应用无需修改即可部署到不同车型或硬件平台上前提是底层映射已完成。工具链支持RAD 提供的 VSS Mapping Tool 和 VSS Editor 支持开发者可视化地查看、编辑和验证 VSS 模型及其与底层信号的映射关系。下图示意了 VSS 在数据流中的桥梁位置[车辆硬件传感器] → CAN/LIN 原始信号 → VSS 映射层 → VSS 抽象信号 → Databroker → [上层服务/应用]六、VSS 的核心价值总结价值维度说明标准化统一的数据模型降低生态协作成本抽象化屏蔽硬件差异应用与车辆平台解耦可扩展支持厂商自定义信号灵活性高工具友好基于文本文件易于版本管理和自动化工具集成语义自描述包含丰富的元数据便于理解和维护跨域复用同一信号定义可用于多个领域开发、测试、诊断、数据分析七、延伸信息官方资源COVESA VSS GitHub 仓库提供了完整的标准库、工具和文档。版本演进VSS 仍在持续演进已从早期的信号定义逐渐扩展到支持更复杂的面向服务的数据模型。与其他标准的关系VSS 可与 SOME/IP、DDS、gRPC 等通信协议配合使用并不绑定特定传输层。COVESA