液相芯片数据采集卡 USB 联调日志(TestUsb.txt)

文件概况

  • 来源:云盘 /日常学习资料/液相芯片项目相关工作文档/数据采集卡相关/FlowTestCmd/FlowTestCmd/TestUsb.txt
  • 性质:FlowTestCmd 用户态测试程序的运行日志,GBK 编码,约 84.4 万行 / 34.4 MB
  • 时间跨度:2019-05-08 至 2019-09-26,近 5 个月的联调记录(主要在周三/周六/周四加班时段,日志每行自带”周X”标记)
  • 关联硬件:CY7C6013A(EZ-USB FX2)数据采集卡,配套 IFLabs 例程在云盘同目录(数据采集卡相关/IFLabs CY7C6013A/)

测试流程(固定序列)

日志中反复出现的测试步骤编号,还原出 FlowTestCmd 的测试链路:

  1. 测试握手功能
  2. 测试复位功能
  3. 停止条件
  4. 回环测试模式(loopback,FPGA 侧自环验证数据通路)
  5. 设置通道增益
  6. 开启实时采集,等待接收数据

握手/复位共执行约 785/769 轮,实时采集开启 551 轮——说明整个联调期间以”小步快跑”的方式反复回归测试。

错误分布(统计特征)

错误类型次数含义
read error!!391,054USB 读管道失败(libusb/内核层读错误)
数据读取错误!!375,642应用层对应的读取失败
data verify Error! i = N ~48,000回环数据校验失败,i 为字节偏移,hex 为实际收到的 32/64bit 字
Error: crc 不正确!16,995帧 CRC 校验失败
数据读取错误!! 继续读取剩余数据!8,057断点续读恢复逻辑被触发
接收数据长度错误!!23帧长度字段异常

关键观察

  1. read error 与”数据读取错误”高度成对出现(约 1:1):底层读失败直接上抛,说明早期版本没有区分”可重试错误”和”致命错误”,后期(日志后半段)才出现”继续读取剩余数据”的容错分支。
  2. 回环校验的规律性坏值:data verify Error! i = 96/88/80/72/64/56/48/40/32/24 各出现 259 次,坏值形如 ffffffffe0ccbbaa——低 32 位是 e0/df/de/e1 cc bbaa 的递减模式,高 32 位全 1。这是典型的信号线接触不良/位翻转特征(ccbbaa 是测试图样的字节序痕迹),而非软件 bug;出现集中在周六班次,疑似与插拔排线相关。
  3. CRC 错误集中在周四(8805/16995),推测某天专门在压测 CRC 链路。
  4. 日志量失控:错误行占全文件 95% 以上且无降频/采样输出,84 万行有效信息不足 5000 行——嵌入式上位机日志反例(应做 rate-limit 与错误指纹去重)。

可行动点(沉淀为通用经验)

  • USB 采集链路联调顺序:握手 → 复位 → 回环 → 增益 → 实时流,逐级放大问题域,值得作为同类硬件项目(临床质谱仪数据采集)的标准联调剧本。
  • 回环测试发现固定偏移上的固定模式坏值 → 优先查物理层(排线/电平/时钟域交叉),不要先改软件。
  • 上位机日志必须带错误频率统计或指纹聚合,否则回传一个 34MB 文件只有千分之几的信息量。

关联