三分钟后,天行者的中控屏幕亮了。
不是完整的界面,只是最底层的激活画面——天枢OS”。画面不是很流畅,帧率明显偏低,但能亮,能响应触摸,能和仪表盘通信。
秦峥伸手在中控屏幕上划了一下,调出天程芯片的运行状态页。CPU温度五十二度,GPU温度四十八度,NPU温度四十五度,内核电压正常,功耗二十三瓦。所有数字都在预期范围内。
“第一步完成。”他说,语气里没有喜悦,只有一种冷静的确认。“接下来跑功能安全诊断。”
功能安全诊断是天程车规芯片样车集成的内核关卡。天权5车规版在设计时就按照ISO 26262 ASIL-D的最高功能安全等级要求来做的,但实验室里的仿真验证和真实整车环境中的诊断复盖度是两回事。
老周调出功能安全诊断套件,开始跑第一组用例——电源管理单元的故障注入测试。套件会仿真各种电源异常,看芯片的安全机制能不能在规定时间内检测到并进入安全状态。
第一组:内核电压过压。仿真电压从一点二伏缓慢升高到一点五伏。天程芯片的电压监控电路在一点三二伏时触发了预警,在一点三八伏时触发了故障响应,系统在零点八毫秒内完成了上下文保存并进入安全状态。通过。
第二组:内核电压欠压。仿真电压从一点二伏缓慢降到零点九伏。监控电路在一点零八伏时触发预警,在零点九八伏时触发故障响应,系统在一点二毫秒内完成安全关断。通过。
第三组:时钟丢失。仿真外部晶振信号中断。天程芯片的内部时钟监控电路在二百微秒内检测到异常,自动切换到备用RC振荡器,系统继续运行,性能下降但功能完整。通过。
前三组都通过了,但秦峥的表情没有放松。他知道真正难的不是这些常规故障,而是那些在实验室里很难仿真、但在真实车辆上可能会出现的复合故障。
果然,跑到第四组的时候,问题出现了。
第四组是通信总线的故障注入——仿真CAN总线的消息丢失和校验错误。天程芯片通过CAN总线与整车的车身控制器、刹车系统、转向系统通信。测试套件会在总在线随机注入错误帧,看芯片的错误处理机制能不能正确识别并隔离故障。
前五分钟,一切正常。芯片的错误检测逻辑捕获了每一个注入的错误帧,记录到日志中,但没有触发安全响应——因为这些错误不影响内核功能。
第六分钟,老周注入了一个更复杂的故障模式——连续五个有效帧中插入一个错误帧,重复一百次。这种模式仿真的是某个传感器间歇性故障导致的通信质量下降。
天程芯片的处理逻辑在第三十七次重复时出现了一个小问题——错误帧处理模块的缓存满了,导致后续几个错误帧被丢弃,没有记录到日志中。但内核功能没有受影响,安全状态也没有被触发。
“这不是功能安全问题,是诊断完整性问题。”章宸看了日志后说,“错误帧太多,处理模块的缓存溢出,丢了一些日志。但错误帧本身已经被总线控制器识别并丢弃了,没有进入上层应用。所以对功能安全没有影响,只是我们丢了几条诊断记录。”
秦峥把这个问题记在了测试报告的“待改进”栏里,但没有把它列为阻塞问题。诊断记录丢失不会影响行车安全,只是会给售后故障分析带来一些不便。
真正的阻塞问题出现在第七组测试——自动驾驶模型推理的实时性验证。
天程芯片的NPU引擎需要在规定时间内完成自动驾驶模型的推理,输出控制指令。天行者的要求是:从传感器数据输入到控制指令输出,端到端延迟不超过五十毫秒。
在实验室的仿真环境中,天程芯片的NPU引擎跑这个模型的平均延迟是三十八毫秒,最差延迟四十四毫秒,满足要求。
但在样车集成的真实环境中,老周跑完第一轮实测后,屏幕上显示的数字让所有人都沉默了。
平均延迟四十七毫秒,最差延迟六十三毫秒。
六十三毫秒,超过了五十毫秒的要求。
“哪里来的延迟?”秦峥的声音不大,但每个字都带着重量。
老周调出了延迟分解图。数据从摄象头和雷达进入天程芯片,经过预处理、NPU推理、后处理、控制指令生成,每一个环节的延迟都被精确测量。
预处理:六毫秒。和实验室一致。
NPU推理:二十八毫秒。和实验室一致。
后处理:十一毫秒。实验室是九毫秒,多了两毫秒。
控制指令生成:十八毫秒。实验室是十毫秒,多了八毫秒。
问题出在后处理和指令生成环节。这两个环节在实验室里跑得很好,但在样车上变慢了。
章