1. SBW系统需求分析
任务定义
本案例面向AUTOSAR架构下的线控转向(SBW,Steer-By-Wire)系统,完成其需求分析阶段的核心交付物:一份可追踪、可验证的系统需求规格。任务边界限定为——明确区分功能需求(系统“做什么”)与非功能需求(系统“做得怎样”),并针对转向响应时间、路感模拟、安全冗余三个关键维度给出量化指标与验证方法。输出物为结构化需求文档(本文档即交付物本身),后续案例将基于本需求进行架构设计与实现。
1. 系统范围与关键术语
线控转向系统取消方向盘与转向执行器之间的机械连接,转向指令通过电信号传输。本需求覆盖范围:方向盘总成(含路感模拟电机)、转向执行器总成(含前轮转向电机)、主/从控制器(ECU)、通信总线(CAN/CAN-FD)及冗余电源。不包含轮胎与路面力学模型细节,但需求中涉及的路感反馈以方向盘力矩为最终观测对象。
2. 功能需求(FR)
| 编号 | 需求描述 | 优先级 |
|---|---|---|
| FR-01 | 系统应采集方向盘转角信号,分辨率不低于0.1°,采样周期不大于2ms。 | 高 |
| FR-02 | 系统应通过转向执行电机控制前轮转角,稳态转角误差不超过±0.5°。 | 高 |
| FR-03 | 系统应提供路感模拟功能:根据车速与方向盘转角,通过路感电机向驾驶员施加反馈力矩,力矩范围0~8N·m,响应带宽不低于15Hz。 | 高 |
| FR-04 | 系统应支持驾驶员扭矩输入叠加:当驾驶员施加手力超过设定阈值(默认5N·m)时,系统应优先响应驾驶员意图,进入人工接管模式。 | 中 |
| FR-05 | 系统应具备故障诊断功能,对传感器、电机、通信链路进行实时监控,故障检测时间不超过10ms。 | 高 |
3. 非功能需求(NFR)
| 编号 | 类别 | 量化指标 | 验证方法 |
|---|---|---|---|
| NFR-01 | 转向响应时间 | 从方向盘转角输入到前轮转角达到目标值90%的时间≤80ms(车速60km/h,转角阶跃30°工况) | HIL台架测试,记录输入输出曲线 |
| NFR-02 | 路感模拟延迟 | 路感力矩输出相对方向盘输入的延迟≤15ms | 力矩传感器与转角传感器同步采集 |
| NFR-03 | 安全冗余 | 单点故障(如主控制器失效)下,系统切换至备份控制器的时间≤50ms,且切换过程中前轮转角变化不超过2° | 故障注入测试 |
| NFR-04 | 可靠性 | 系统平均无故障时间(MTBF)≥5000小时 | 可靠性预计与加速寿命试验 |
| NFR-05 | 通信实时性 | CAN-FD总线报文周期≤5ms,最大抖动≤0.5ms | 总线分析仪监测 |
| NFR-06 | 功能安全 | 满足ISO 26262 ASIL-D等级要求 | 功能安全评估 |
4. 需求追踪矩阵(关键条目)
// 需求规格文档生成(伪代码/脚本示例)
// 文件: SBW_Requirements_Spec.js
const requirements = {
functional: [
{ id: 'FR-01', name: '转向响应时间', spec: '方向盘转角输入到前轮执行器响应时间 ≤ 50ms', priority: 'High' },
{ id: 'FR-02', name: '路感模拟', spec: '根据车速和方向盘转角生成反馈力矩,误差 ≤ 5%', priority: 'High' },
{ id: 'FR-03', name: '角度跟随', spec: '前轮目标转角与实际转角稳态误差 ≤ 0.5°', priority: 'High' },
{ id: 'FR-04', name: '冗余切换', spec: '主控制器失效后,备份控制器接管时间 ≤ 10ms', priority: 'Critical' }
],
nonFunctional: [
{ id: 'NFR-01', name: '功能安全', spec: '满足ISO 26262 ASIL-D等级', priority: 'Critical' },
{ id: 'NFR-02', name: '可用性', spec: '系统可用率 ≥ 99.99%', priority: 'High' },
{ id: 'NFR-03', name: '诊断覆盖率', spec: '传感器和执行器诊断覆盖率 ≥ 99%', priority: 'High' },
{ id: 'NFR-04', name: '通信延迟', spec: '内部CAN/FlexRay通信周期 ≤ 5ms', priority: 'Medium' }
]
};
// 生成需求规格文档(Markdown格式)
function generateSpecDoc() {
let md = '# SBW线控转向系统需求规格\n\n';
md += '## 1. 功能需求\n\n';
md += '| ID | 需求名称 | 规格描述 | 优先级 |\n';
md += '|----|----------|----------|--------|\n';
requirements.functional.forEach(r => {
md += `| ${r.id} | ${r.name} | ${r.spec} | ${r.priority} |\n`;
});
md += '\n## 2. 非功能需求\n\n';
md += '| ID | 需求名称 | 规格描述 | 优先级 |\n';
md += '|----|----------|----------|--------|\n';
requirements.nonFunctional.forEach(r => {
md += `| ${r.id} | ${r.name} | ${r.spec} | ${r.priority} |\n`;
});
md += '\n## 3. 安全冗余策略\n\n';
md += '- 双控制器(主/备)热备份,心跳监测\n';
md += '- 双电源供电(12V主 + 备份)\n';
md += '- 传感器冗余:方向盘角度双传感器、前轮角度双传感器\n';
md += '- 执行器冗余:双绕组电机,独立驱动\n';
return md;
}
// 输出文档
console.log(generateSpecDoc());
5. 需求规格文档落地与验证
交付物形式:本案例的需求规格文档采用Markdown或Excel格式管理,每条需求包含唯一编号、描述、优先级、ASIL等级、验证方法五列属性。建议使用DOORS或Jama Connect等需求管理工具进行版本控制与追踪。
验证路径:
- 静态验证:检查每条需求是否满足SMART原则(具体、可测量、可达成、相关、有时限),由系统架构师评审签字。
- 动态验证:针对NFR-01(响应时间)搭建HIL(硬件在环)测试环境——将SBW控制器连接至实时仿真机,仿真机运行车辆动力学模型。通过CAN-FD向控制器发送方向盘转角阶跃信号(30°),同时采集前轮转角传感器反馈,使用示波器或ETAS INCA测量从指令发出到前轮转角达到27°(90%目标值)的时间差,记录3次取平均值,判定是否≤80ms。
- 判定标准:所有高优先级需求(FR-01/02/03/05)对应的验证项通过率100%,中优先级需求通过率≥90%,且无未关闭的严重(Severity 1级)需求缺陷,即判定本案例需求分析阶段完成。
工具链建议:需求管理使用Polarion或DOORS;HIL测试使用dSPACE SCALEXIO;总线监控使用Vector CANoe。本案例不要求实际运行,上述验证路径为后续案例提供执行依据。