大家好!我是小马,今天要和大家分享汽车电子领域另一个重要标准——ISO 14229统一诊断服务(UDS)的测试要求。作为汽车诊断通信的基础,UDS协议对于车辆故障诊断、ECU刷新和维护至关重要。无论你是诊断工具开发者,还是ECU软件工程师,这篇文章都能帮你理清UDS测试的关键环节。让我们一起深入了解如何确保诊断服务的可靠性和一致性吧!
ISO 14229是统一诊断服务(UDS)标准,定义了车辆ECU诊断通信的服务和协议。该标准分为多个部分:
UDS就像是医生与病人交流的"语言",它定义了如何询问车辆的"健康状况"、如何"治疗"故障,甚至如何进行"手术"(刷新软件)。测试这套"语言"的正确性,是确保车辆能被正确诊断和维修的关键。
-测试点: 默认会话的建立和维持能力
-测试标准: 正确响应诊断会话控制服务(0x10),进入默认会话
-测试方法: 发送诊断会话控制请求(0x10 01),验证正确响应
-测试点: 编程会话的建立和维持能力
-测试标准: 正确响应诊断会话控制服务,进入编程会话
-测试方法: 发送诊断会话控制请求(0x10 02),验证正确响应
-测试点: 扩展诊断会话的建立和维持能力
-测试标准: 正确响应诊断会话控制服务,进入扩展诊断会话
-测试方法: 发送诊断会话控制请求(0x10 03),验证正确响应
-测试点: 安全访问会话的建立和维持能力
-测试标准: 正确响应诊断会话控制服务,进入安全访问会话
-测试方法: 发送诊断会话控制请求(0x10 04),验证正确响应
-测试点: 会话超时处理能力
-测试标准: 在P3超时后正确回到默认会话
-测试方法: 建立非默认会话,等待超时,验证回到默认会话
会话就像是与ECU的"对话模式",不同的会话有不同的权限和功能。就像医院分普通门诊、专家门诊和手术室一样,我们需要确保ECU能正确进入各种"诊疗模式",并在闲置时自动回到"待机状态"。接下来,我们看看安全访问测试!
-测试点: 请求种子的能力
-测试标准: 正确响应安全访问服务的种子请求
-测试方法: 发送安全访问种子请求(0x27 01),验证返回有效种子
-测试点: 发送密钥的能力
-测试标准: 正确处理安全访问服务的密钥响应
-测试方法: 发送安全访问密钥(0x27 02 + 计算的密钥),验证解锁成功
-测试点: 错误密钥处理能力
-测试标准: 正确拒绝错误密钥并实施延时策略
-测试方法: 发送错误密钥,验证拒绝响应和延时实施
-测试点: 多次失败后的锁定机制
-测试标准: 达到最大尝试次数后正确锁定
-测试方法: 连续发送错误密钥直至达到最大尝试次数,验证锁定
-测试点: 安全访问延时机制
-测试标准: 在失败后正确实施延时策略
-测试方法: 发送错误密钥,测量延时时间,验证符合规范
-测试点: 不同会话间切换能力
-测试标准: 正确从一个会话切换到另一个会话
-测试方法: 建立一个会话后切换到另一个会话,验证切换成功
-测试点: 会话状态保持能力
-测试标准: 在会话期间正确保持状态信息
-测试方法: 在特定会话中设置状态,切换会话后返回,验证状态保持
-测试点: 会话重置能力
-测试标准: 在ECU重置后正确回到默认会话
-测试方法: 建立非默认会话,执行ECU重置,验证回到默认会话
安全访问就像是ECU的"门禁系统",只有通过正确的"密码验证"才能获得高级权限。我们需要测试这个"门禁"是否安全可靠,既能让授权人员进入,又能阻挡未授权的访问。下面我们来看看具体的诊断服务测试!
-测试点: 诊断会话控制服务(0x10)功能
-测试标准: 正确响应各种会话控制请求
-测试方法: 发送不同子功能的DSC请求,验证响应
-测试点: ECU复位服务(0x11)功能
-测试标准: