3. 硬件系统架构

需求分析这步,说白了就是搞清楚客户到底想要什么。我见过太多项目,前期需求没聊透,后期改得人仰马翻。你想想看,一块座舱域控制器,从客户最初那句「我要一个流畅的智能座舱」,到最终输出一份可量产的SRD,中间要经历多少轮博弈?

我个人习惯把需求分析分成四个阶段:收集、分解、定义、评审。每个阶段都有坑,咱们一个一个聊。

3.1 客户需求收集与分解:别信客户说的第一句话

客户说「我要开机快」,你得追问:快是多少秒?冷启动还是热启动?要不要考虑休眠唤醒?我曾经遇到一个客户,说「开机要3秒以内」,结果最后发现他指的是从按下启动键到仪表盘亮起,而不是整个系统完全就绪。你看,一字之差,硬件选型差出好几档。

需求收集阶段,我建议你准备一份需求捕获清单,至少覆盖以下维度:

维度 典型问题 我的踩坑经验
功能场景 用户会在什么场景下使用这个功能? 有一次客户说「要支持语音唤醒」,结果没说是行车中还是停车时,噪声条件完全不同
性能边界 最差情况下的性能要求是什么? 「导航流畅」——流畅的定义是60fps还是30fps?差一倍算力
环境约束 工作温度、振动、EMC等级? 车规级芯片和消费级芯片,价格差3倍,别选错
法规合规 出口哪些国家?需要哪些认证? 欧洲的eMark和中国的CCC,测试项目不一样

需求分解时,我习惯用功能树的方式。把客户的一句话需求,拆成可量化的子需求。比如「智能座舱体验好」可以拆成:

  • 仪表显示:分辨率1920x720,刷新率60fps,延迟<100ms
  • 中控交互:触控响应<50ms,多点触控支持10点
  • 语音交互:唤醒率>95%,识别延迟<200ms
  • 多屏互动:投屏延迟<30ms,同步误差<1帧

嗯,这里要注意:分解后的每个需求,必须能被测试验证。不能验证的需求,就是耍流氓。

3.2 功能需求与非功能需求:硬件工程师的「显性」和「隐性」工作

功能需求好理解——屏幕要能显示、麦克风要能收音、喇叭要能出声。但真正让硬件工程师头疼的,是非功能需求。

我画了一张图,帮你理清这两类需求的关系:

座舱硬件需求分类框架 功能需求(显性) 显示功能 分辨率、刷新率、亮度、色域 音频功能 麦克风阵列、功放、扬声器配置 交互功能 触控、语音、手势、物理按键 连接功能 蓝牙、Wi-Fi、以太网、USB 非功能需求(隐性) 性能需求 算力、内存带宽、启动时间 可靠性需求 MTBF、寿命、降级策略 环境适应性 温度、湿度、振动、盐雾 安全与合规 功能安全、EMC、RoHS 相互制约

非功能需求里,我特别想强调降级策略。座舱系统不可能永远不出故障,关键是要定义清楚:当某个硬件失效时,系统该怎么表现?比如主芯片过热降频,屏幕刷新率从60fps降到30fps,用户能接受吗?这些都要写在需求里。

我的经验:非功能需求最好用「可测量的指标」来描述。别写「系统要稳定」,要写「系统在85℃环境下连续运行1000小时,无死机、无重启」。客户看到这种描述,心里才有底。

3.3 硬件规格定义(SRD):把需求变成工程师能看懂的语言

SRD(System Requirements Document)是硬件团队的「宪法」。它把客户需求翻译成硬件工程师能直接用来做设计的参数。

一份合格的SRD,至少包含以下章节:

  1. 系统概述:产品定位、使用场景、目标用户
  2. 功能规格:每个功能模块的详细参数
  3. 接口定义:电气接口、机械接口、通信协议
  4. 性能指标:算力、功耗、启动时间、响应延迟
  5. 环境规格:温度范围、防护等级、EMC等级
  6. 可靠性规格:MTBF、保修年限、降级策略
  7. 认证要求:各国法规、行业标准

举个例子,屏幕规格在SRD里长这样:

3.2.1 中控显示屏规格
- 尺寸:12.3英寸(对角线)
- 分辨率:1920 x 720
- 亮度:≥1000 cd/m²(典型值)
- 对比度:≥1000:1
- 视角:水平≥170°,垂直≥170°
- 响应时间:≤25ms(灰阶切换)
- 工作温度:-40℃ ~ +85℃
- 触摸类型:投射电容式,支持10点触控
- 盖板玻璃:康宁大猩猩玻璃,厚度1.1mm
- 防眩光处理:AG涂层,反射率≤1.5%

写SRD时,我有个原则:每个参数都要有「来源」和「依据」。为什么亮度要1000cd/m²?因为客户要求在强光下可读。为什么响应时间要25ms?因为人眼对拖影的感知阈值就在这个附近。没有依据的参数,评审时会被挑战得体无完肤。

避坑指南:我曾经见过一份SRD,写「CPU主频≥2.0GHz」,结果选型时发现,2.0GHz的A76和2.0GHz的A55,性能差了好几倍。后来我要求SRD里必须写清楚核心架构和IPC(每时钟周期指令数),光看主频太容易踩坑了。

3.4 需求评审与基线管理:把需求「锁死」的艺术

需求评审不是走过场。我参加过几十次评审会,最怕听到的话是「这个需求先写上,后面再改」。你想想看,硬件一旦投板,改一次就是几十万的成本。

评审会我建议分三轮:

评审轮次 参与角色 评审重点 我的建议
第一轮:内部评审 硬件团队内部 技术可行性、参数合理性 带上竞品分析数据,别拍脑袋
第二轮:跨部门评审 硬件+软件+测试+采购 接口对齐、测试可行性、成本 软件团队一定要来,接口定义最容出问题
第三轮:客户确认 客户代表+项目经理 需求理解是否一致、变更流程 让客户签字确认,这是后面扯皮的依据

评审通过后,就要做基线管理。说白了,就是把当前版本的SRD「锁死」,后续任何变更都要走正式的变更流程。

基线管理的核心要素:

  • 版本号:V1.0、V1.1、V2.0,别用「最终版」「最终版2」这种命名
  • 变更记录:谁、什么时间、改了哪里、为什么改
  • 影响分析:每次变更都要评估对硬件、软件、测试、成本、进度的影响
  • 审批流程:变更必须经过CCB(变更控制委员会)审批

记住一句话:没有基线的需求,就是没有锚的船。风平浪静时还好,一旦起风,你就不知道漂到哪里去了。

嗯,需求分析做到这个份上,基本就稳了。下一阶段就是拿着这份SRD,开始真正的硬件设计。但那是后面章节的事了,咱们先把需求这关过好。