Files
AMI/docs/无人状态显示验证报告.md
T

60 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AMI 无人状态显示验证报告
日期:2026-10-07。固件 v2.7,800×480 屏幕接口 1.5。
主页面在“已锁定/已解锁”右侧增加独立无人状态。修改包含 MCU `0x183` 解码、非阻塞 UART 状态同步、当前 `AMI_TJC8048X370_011.HMI`、配套 TFT、两份 DBC、CAN 说明与发送工具。保留已有双前轮轮速接入、CAN1 心跳及换屏成果;本报告初次大屏验证时,原 480×272 `AMI.HMI` 未修改;后续小屏同步见 [小屏验证报告](小屏无人状态验证报告.md)。
## 需求依据与状态定义
只读核对用户提供的 `D:/QQ download/A11.盐城工学院野马车队ASF9.2最终版.docx`:AMI“操作界面”要求显示 AS Ready 等状态,系统 AS 状态描述包含 AS OFF、AS Ready、AS Driving、AS Finished、AS Emergency 和 Manual Driving 分支。原 ASF 未修改。
ASF 说明状态含义,未分配本次自定义 CAN 字节或枚举。AMI/VCU 接口约定 byte5=0..5 对应上述顺序,byte3 bit3=1 表示 AS 有效,byte7=2;byte6 保留为零。VCU 必须发送实际状态,AMI 不从任务号、锁定、EBS 或 ASSI 灯色推断。
标准 `0x183 / DLC 8` 示例:`02 01 01 0F 00 01 00 02` = 直线加速、已锁定、AS Ready、EBS 正常。旧版本 1 仍按原规则接受,但无人状态立即显示未知。连续超过 500 ms 无合规反馈后四项均未知;非法帧不续期。完整字节布局、兼容及枚举见 [CAN 说明](AMI_CAN_DBC说明.md#vcu-状态反馈-0x183)。
## 软件验证结果
| 检查 | 结果与证据边界 |
| --- | --- |
| Debug / Release 构建 | 均通过,Debug Flash 28,728 字节、Release Flash 16,672 字节、RAM 2,656 字节 |
| 实际 ARM 固件仿真 | 两个 ELF 均通过。每个 ELF、每路 CAN 覆盖 7 个任务 × 6 个 AS 状态 × 16 种有效标志,合计 2,688 组;并检查 UART 命令、旧版兼容、非法 DLC/版本/枚举/保留/扩展/远程/FD、超时边界、tick 回绕、其他流量不续期、恢复及周期重同步 |
| 双前轮轮速回归 | 两个 ELF 均通过原轮速解码、舍入、非法格式及独立超时检查 |
| DBC 与文档 | 两份 DBC 严格解析、共用布局、固件宏、位时序、183 条已知报文检查通过;CAN1 13 报文/53 信号,CAN2 12 报文/49 信号;原 SDC DBC 对照通过,生成文档一致性通过 |
| HMI 编译 | 当前 800×480 工程编译成功,0 错误、0 警告,TFT 8,863,680 字节 |
| 官方模拟器 | AS OFF/Ready/Driving/Finished/Emergency/Manual Driving 及未知共 7 种显示通过状态回读、颜色像素和截图检查;跨页最新状态重绘、任务确认不改写 AS 通过 |
| CAN PDF | 已重新生成,17 页;渲染检查全页版面及新增 VCU 字节表,无溢出或重叠 |
构建及 ARM 仿真不证明物理 CAN/UART、触摸或车辆状态正确。模拟器通过不等于下载实物屏幕;首次软件交付时未烧录 MCU、未下载屏幕、未发送现场 CAN 测试帧;后续烧录和 CAN1 实测结果见下方新增验收节。
证据目录:[as-status](evidence/2026-10-07/as-status/),包含 [固件仿真](evidence/2026-10-07/as-status/firmware-results.json)、[轮速回归](evidence/2026-10-07/as-status/wheel-speed-regression.json)、[DBC 检查](evidence/2026-10-07/as-status/dbc-results.json)、[HMI 编译](evidence/2026-10-07/as-status/compile.log)、[模拟器记录](evidence/2026-10-07/as-status/simulator-results.json) 和 [当前产物清单](evidence/2026-10-07/as-status/manifest.json)。
![锁定状态右侧的 AS Ready](evidence/2026-10-07/as-status/dash-as-ready-sample.png)
## 实物接入
使用 [新版 MCU BIN](../output/firmware/AMI_Controller.bin) 和 [新版屏幕 TFT](../output/hmi/AMI_TJC8048X370_011.tft),同时让 VCU 按版本 2 发送真实状态;CAN1 500 kbit/s,CAN2 250 kbit/s。实物验收分别检查原始 `0x183`、MCU 解码、USART2 输出和实际页面;停止反馈应在 500 ms 后变为未知,恢复后重现实际状态。
本次未提交或推送 Git;历史提交、烧录和联调报告保留原日期与版本。
## 2026-10-07 烧录与实际 CAN1 串口验收
v2.7 已通过 SWD 写入并复位。ST-LINK `37FF71064E573436188C1543`,Device ID `0x467`,128 KB Flash,读取供电 3.24 V。烧录前保存完整 131,072 字节 Flash;烧录后读取完整 128 KB,其中程序区 16,672 字节与发布 BIN 逐字节一致,SHA-256 为 `1951c63e779429d08a992d1171fc92173e4399307ff741fdc5d9b7646848855d`。
最初 CAN1 无心跳且进入 bus-off,用户确认遗漏板子 5 V 供电;补上 5 V 后复位,CAN1 500 kbit/s 恢复。基线捕获 31 帧 `0x301`,间隔 99.909~100.095 ms,PCAN 状态为 0。此结果不能外推为自动 bus-off 恢复测试。
| 验收层 | 结果 |
| --- | --- |
| 实际 CAN1 → MCU | 37 项检查通过,SWD 回读实际 RAM:AS 0..5、16 种有效标志、旧版 1 清除 AS、非法 AS/保留位/标志/版本不续期、其他 CAN 流量不延长 500 ms 有效期及恢复 |
| MCU → USART2 → COM6 | 9600 8N1;首次烧录捕获 1,479 字节,完整未知状态命令可见;硬件状态验收捕获 4,796 字节、350 条完整命令。六种 AS 值及超时未知命令含真实 `FF FF FF` 结束字节 |
| COM6 → MCU → 实际 CAN1 | 输入 `AA 55 01 05 0D 0A` 后抓到真实 `0x300` 任务 5 请求,实际任务/AS 仍由 VCU 反馈决定 |
| 实际 CAN1 → MCU → COM6 → 官方 HMI 调试器 | 16 项新增状态检查通过:六种 AS 显示、无效、旧版、超时、恢复、跨页最新状态;触摸确认经物理 UART 和 MCU 输出实际 CAN 请求 |
| 串口重连 | 初次串口中途接入出现一次 `1A` 变量名无效返回;清空日志并重新连接后,8 秒持续反馈及重同步期间无错误返回,PCAN 状态为 0 |
显示检查采用实际 RAM、AS 区域颜色像素和截图联合验证。部分全屏截图捕获了模拟器重绘中的缺字/裁切画面,整页稳定刷新仍需实物屏幕确认;此次新增状态区域与数据链路检查通过。测试数据由 PCAN 注入,未接入真实 VCU 进行车辆状态裁决;未测试车辆执行动作。
**本次尚未下载或验收实物串口屏,CAN2 亦未接入测试。** 本次烧录后没有修改固件 BIN,未提交或推送 Git。
证据:[验收汇总](evidence/2026-10-07/as-status-flash/153558/acceptance-summary.json)、[烧录与 COM6 抓取](evidence/2026-10-07/as-status-flash/153558/flash-and-uart-results.json)、[完整 Flash 备份](evidence/2026-10-07/as-status-flash/153558/before-flash-128k.bin)、[烧录后完整回读](evidence/2026-10-07/as-status-flash/153558/flash-readback-128k.bin)、[37 项硬件检查](evidence/2026-10-07/as-status-flash/153558/hardware-results.json)、[16 项实际串口显示检查](evidence/2026-10-07/as-status-flash/153558/can-uart-hmi-results.json)、[串口重连记录](evidence/2026-10-07/as-status-flash/153558/hmi-reconnect-panel.json)。
![CAN 与实际串口驱动的无人状态超时画面](evidence/2026-10-07/as-status-flash/153558/can-uart-hmi-final-unknown.png)