常见问题与排查
从现象定位
| 现象 | 含义与处理 |
|---|---|
| 未找到设备,但电脑还有对应 COM 口 | 检查刷新、角色识别及是否被其他程序占用;不要依赖上次 COM 编号 |
| 所有 COM 口与 U 盘同时消失 | 属于整台设备复位、USB 断开或未重新启动的现象;检查供电/USB,保留 FBL 启动日志 |
| 打开 COM 提示“连到系统上的设备没有发挥作用” | 操作系统无法完成该端口操作;检查设备枚举和重连状态,不据此判定为 CAN 报文错误 |
| 已启动(1/2) | 仅部分接口成功打开,查看另一接口打开错误 |
command rejected (BEL) | MCU 拒绝控制命令;检查模式、参数、资源占用和固件协议支持,需结合前后日志定位 |
Trace 中出现 CAN Error | 查看错误原因与 TEC/REC;检查对端 ACK、速率、接线、终端和控制器状态 |
LIN !3 | LIN 超时;请求无响应、帧长/速率不匹配或发送未完成均可能相关,检查 REQUEST、RX 和对端 |
RX 仍显示 HH:mm:ss.mmm | 可能选了绝对时间,或该帧缺少 MCU 元数据;切到相对时间并核对实际固件构建 |
| 滚动后 Trace 不更新 | 显示已暂停,点击继续;采集与日志并未因此停止 |
| 事件显示行数不增加 | 相同标识合并为一行,时间与数据更新;查看完整顺序用滚动模式 |
| 有接收但不能发送 | 检查 CAN 只听、LIN 从节点、目标通道是否打开和发送参数 |
| 日志文件未生成 | 检查 Logger 启用、来源、文件夹、规则,以及控制台中创建/写入错误 |
| 工程移到其他电脑数据库失效 | 工程保存的是路径,重新选择 DBC/LDF 和回放文件 |
错误文本描述发生了什么,不一定给出根因。例如 CAN TX 超时不能单独证明固件调度错误;应区分没有 ACK、网络异常和软件任务问题。
CAN 错误在 Trace 显示,不自动停止工程。固件在错误中断时记录 MCU 时间和控制器寄存器;发送超时或 Bus-off 时上位机暂停 CAN 发送,状态栏 CAN 显示“发送暂停”,CAN 发送窗口的周期发送随之停止;单次总线错误只记录到 Trace,不暂停发送。固件在发送超时后取消挂起请求并保留接收。LIN、UART 和日志继续运行。修正对端测量状态、速率或接线后,手动停止并重新启动工程恢复发送。Bus-off 时控制器自身无法继续通信,需要重新初始化。该行为需要配套的 CAN Error 固件;USB/设备实际断开仍会停止工程。
普通 CAN 模式不能发送 CAN FD 帧,只听模式不能发送。软件会在启动节点仿真前检查整批周期报文,并在手动发送、调度和在线回放的发送入口拦截冲突。启用 FD 时,对端仍需支持匹配的格式和位速率;只发送经典 CAN 帧不要求对端支持 FD。
发送几帧后停止
- 保留从启动到停止的控制台记录,记录异常 ID、周期、帧类型和完整数据。
- 禁用节点仿真、回放和其他周期任务,仅保留一个手动 CAN 帧,或一个 LIN 请求。
- 对齐双方速率和角色,检查对端是否实际接收、CAN 是否提供 ACK、LIN 是否有对应发布节点。
- 单帧稳定后加入一条低频周期任务,再逐步增加负载。
- 使用 MCU 时间或外部总线分析仪检查周期,不使用电脑日志到达时间判定硬件精度。
退出后仍有报文
先确认报文发送源,排除真实 ECU 或外部工具的循环发送。上位机任务与固件调度是不同执行位置,程序异常退出不等于所有设备任务已完成停止。恢复连接后先停止/清除设备任务,保持仿真和回放关闭;USB 控制不可用时需硬件恢复。
U 盘复制失败
“内存不足”、0x80070022、0x800701B1 或 0 字节文件不能单独说明电脑 RAM 不够。先确认 BeiniLink 所有 COM 是否同时消失,区分整个设备断开与文件写入问题。保留原始 BIN/RBL、包校验值、复制时间和启动日志。
不要把格式化当作升级后的固定步骤:设备文件系统、启动配置和升级状态需要按匹配的恢复流程处理,格式化也不能修复 MCU 未启动或 USB 未枚举。
提供问题记录
记录上位机版本、固件 App 版本与编译时间、USB2CAN/USB2LIN/USB2UART 版本、硬件型号、工程配置、接线/对端状态和完整控制台日志。涉及周期附带原始 ASC/BLF;涉及升级附带包名、SHA256、升级前版本和 FBL 启动日志。不要在日志中附带密码或升级密钥。
