液相芯片数据采集卡 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 的测试链路:
- 测试握手功能
- 测试复位功能
- 停止条件
- 回环测试模式(loopback,FPGA 侧自环验证数据通路)
- 设置通道增益
- 开启实时采集,等待接收数据
握手/复位共执行约 785/769 轮,实时采集开启 551 轮——说明整个联调期间以”小步快跑”的方式反复回归测试。
错误分布(统计特征)
| 错误类型 | 次数 | 含义 |
|---|---|---|
| read error!! | 391,054 | USB 读管道失败(libusb/内核层读错误) |
| 数据读取错误!! | 375,642 | 应用层对应的读取失败 |
| data verify Error! i = N | ~48,000 | 回环数据校验失败,i 为字节偏移,hex 为实际收到的 32/64bit 字 |
| Error: crc 不正确! | 16,995 | 帧 CRC 校验失败 |
| 数据读取错误!! 继续读取剩余数据! | 8,057 | 断点续读恢复逻辑被触发 |
| 接收数据长度错误!! | 23 | 帧长度字段异常 |
关键观察
- read error 与”数据读取错误”高度成对出现(约 1:1):底层读失败直接上抛,说明早期版本没有区分”可重试错误”和”致命错误”,后期(日志后半段)才出现”继续读取剩余数据”的容错分支。
- 回环校验的规律性坏值:
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;出现集中在周六班次,疑似与插拔排线相关。 - CRC 错误集中在周四(8805/16995),推测某天专门在压测 CRC 链路。
- 日志量失控:错误行占全文件 95% 以上且无降频/采样输出,84 万行有效信息不足 5000 行——嵌入式上位机日志反例(应做 rate-limit 与错误指纹去重)。
可行动点(沉淀为通用经验)
- USB 采集链路联调顺序:握手 → 复位 → 回环 → 增益 → 实时流,逐级放大问题域,值得作为同类硬件项目(临床质谱仪数据采集)的标准联调剧本。
- 回环测试发现固定偏移上的固定模式坏值 → 优先查物理层(排线/电平/时钟域交叉),不要先改软件。
- 上位机日志必须带错误频率统计或指纹聚合,否则回传一个 34MB 文件只有千分之几的信息量。
关联
- CY7C6013A-IFLabs例程索引-液相芯片数据采集卡(同目录例程,若后续消化)
- 液相芯片/流式细胞仪项目相关笔记(work/ 目录 FCSDev 系列)