4. VCU硬件系统架构
做VCU架构设计这些年,我踩过最大的坑,就是需求没理清楚就急着画框图。你想想看,一个需求理解偏差,到了实车测试阶段才暴露,那改动的成本可不是翻倍那么简单,简直是几何级增长。所以这一章,咱们把需求分析的方法论掰开揉碎了讲。
4.1 谁在提需求?—— Stakeholder 需求分析
很多人一上来就问“VCU要做什么功能”,这其实是个陷阱。你得先问“谁需要VCU做什么”。Stakeholder(利益相关方)不只有客户,还包括法规、生产、售后、甚至隔壁做BMS的兄弟团队。
我个人习惯,在项目启动阶段先拉一张 Stakeholder 清单。别嫌麻烦,这张表能帮你挡住至少一半的需求变更。
| Stakeholder 角色 | 典型诉求 | 对VCU的影响 |
|---|---|---|
| 终端用户(驾驶员) | 加速平顺、续航长、故障少 | 驱动控制策略、能量管理策略 |
| 整车集成工程师 | 接口标准化、诊断方便 | CAN/LIN矩阵定义、UDS诊断栈 |
| 法规认证部门 | 符合GB/T 34590、ISO 26262 | 功能安全等级ASIL分解、安全机制 |
| 生产制造 | 刷写时间短、产线EOL测试通过率高 | Bootloader设计、产线诊断服务 |
| 售后维修 | 故障码清晰、可远程升级 | DTC定义、OTA功能架构 |
4.2 从“想要”到“要做”—— 系统需求导出
Stakeholder 的需求往往是模糊的、口语化的。比如“加速要猛”,这没法写进软件需求规格书。系统需求导出的过程,就是把“想要”翻译成“要做”。
我常用的方法是 “5W1H + 量化”:
- Who: 谁在什么场景下使用?
- What: 期望的行为是什么?
- Where: 在哪个系统边界内?
- When: 触发条件是什么?
- Why: 为什么需要这个行为?
- How: 如何验证这个需求?
举个例子,Stakeholder说“上坡起步不能溜车”。导出的系统需求可能是:
系统需求编号:SYS-REQ-0042
需求描述:当车辆处于坡度 ≥ 5% 的上坡路面,且驾驶员从制动踏板切换到加速踏板的时间间隔 ≤ 2s 时,VCU应通过EPB或液压制动保持车辆静止,溜车距离 ≤ 10cm。
验证方法:在20%坡道上进行实车测试,记录溜车距离。
你看,这样写出来的需求,测试工程师拿到手就知道怎么测,软件工程师也知道怎么实现。
4.3 功能需求 vs 非功能需求
很多刚入行的工程师容易把这两者混在一起写。我建议你从一开始就分开管理,否则后期做测试用例和架构评估时会非常痛苦。
| 维度 | 功能需求 | 非功能需求 |
|---|---|---|
| 定义 | 系统“做什么” | 系统“做得怎么样” |
| 示例 | VCU应能根据车速和制动踏板位置计算再生制动扭矩 | 再生制动扭矩响应时间 ≤ 50ms |
| 可测试性 | 通常通过功能测试验证 | 通常通过性能测试、压力测试验证 |
| 变更影响 | 影响功能逻辑 | 影响架构选型、硬件资源 |
非功能需求在VCU领域尤其重要,因为它直接决定了你用什么样的MCU、多大的RAM、什么样的通信协议。比如:
- 实时性: 扭矩控制周期 ≤ 10ms,状态机切换 ≤ 5ms
- 可靠性: 系统在 -40°C ~ 125°C 环境下连续运行 1000 小时无故障
- 安全性: 满足 ASIL C/D 等级,单点故障覆盖率 ≥ 99%
- 可维护性: 支持通过 CAN 进行 Bootloader 刷写,刷写时间 ≤ 3 分钟
4.4 需求追溯矩阵 —— 别让需求“失联”
需求追溯矩阵(RTM),说白了就是一张“需求-设计-测试”的对照表。它的核心价值在于:当有人提出需求变更时,你能立刻知道哪些代码、哪些测试用例、哪些文档需要跟着改。
我习惯用三层追溯结构:
- Stakeholder 需求 → 系统需求: 确保每个“想要”都被翻译成了“要做”
- 系统需求 → 软件/硬件需求: 确保每个“要做”都有对应的实现方案
- 系统需求 → 测试用例: 确保每个“要做”都有验证手段
下面是一个简化的 RTM 示例:
| 需求ID | 需求描述 | 来源 | 设计文档 | 测试用例 | 状态 |
|---|---|---|---|---|---|
| SH-001 | 驾驶员松开加速踏板时,车辆应平滑减速 | 用户访谈 | SW-ARCH-003 再生制动策略 | TC-REGEN-001 ~ 005 | 已实现 |
| SH-002 | 车辆在-30°C环境下能正常启动 | 法规要求 | HW-ARCH-007 低温启动电路 | TC-ENV-010 ~ 015 | 验证中 |
| SH-003 | 故障发生时,仪表盘应在1s内显示警告 | 售后反馈 | SW-ARCH-012 故障诊断与显示 | TC-DIAG-020 ~ 025 | 已实现 |
4.5 知识体系总览
为了让你更直观地理解这一章的知识结构,我画了一张图。它把需求分析的四个核心步骤串在了一起,从Stakeholder出发,最终落到可追溯的测试验证。
这张图从左到右、从上到下,就是需求分析的标准流程。你每次做新项目,都可以拿这张图来对照,看看自己走到了哪一步,有没有跳步。