FPGA通信协议变更说明(液相芯片/流式细胞仪项目,2019-06)
流式细胞仪(液相芯片)项目中 FPGA、PC、中位机三方通信协议的一次变更说明文档(2019年6月,6页)。原文以图例展示指令表,正文给出变更要点和通信流程附录。
变更背景
液相芯片项目的数据采集卡由 FPGA 实现,PC 通过 USB 与 FPGA 通信,中位机通过串口与 FPGA 通信。本次协议变更(说明1)共 6 条要点,指令数量均与原协议一致,只做语义/帧长/进制调整。
六大变更要点
- USB 指令更名换码:FPGA 与 PC 之间 USB 通信共 12 条指令。“启动采集”改为”实时采集”,指令代码由
0x02改为0x05,功能不变(用于校准时实时数据采集)。 - 数据帧长度统一:除”启动采集""读取采集”返回的数据帧为 512 字节外,其它指令返回的数据帧与下发指令长度一致,统一为 32 字节。
- USB 侧帧类型精简:保留命令帧、应答帧、数据帧、结果帧;警告信息帧、主动上传帧暂不实现——FPGA 不会向 PC 返回这两类帧。
- 进制约定放开:FPGA 与 PC、中位机之间的通信指令均按正常 16 进制收发,无需换算为 10 进制,不受原协议 0–99 的限制(原因:FPGA 实现困难)。
- 串口指令保持 2 条:FPGA 与中位机之间串口通信共 2 条指令,数量与原协议一致(其中含”采集保存”指令)。
- 串口侧帧类型精简:保留命令帧、应答帧、结果帧;数据帧、警告信息帧、主动上传帧暂不实现——FPGA 不会向中位机返回这三类帧(串口侧 FPGA 不直接回传数据,数据走 USB 由 PC 读取)。
附录:样本检测/质控检测通信流程
典型检测流程(用到串口”采集保存”+ USB”读取数据”):
- PC 发送”样本检测/质控检测”指令给中位机;中位机完成加样、温育、清洗,并将反应完成的样本上样。
- 打开鞘液泵/样品泵,样本通过流动池开始计数。
- 中位机向 FPGA 发”采集保存”:FPGA 先回应答帧 → 按停止条件采集对应数量微球数据并存入 FPGA 存储区 → 返回结果帧。
- 中位机通知 PC”数据准备好”,同时关闭鞘液泵/样品泵。
- PC 向 FPGA 发”读取数据”:FPGA 回应答帧 → 返回数据帧 → 返回结果帧。
数据帧格式要点
- PC 从 FPGA 读取的数据帧以
fa开头、fb结尾。 - 每帧包含 14 个微球的数据,凑齐 512 字节,不足部分以无效字符
de ad填充。
架构启示
- 数据通路设计:采集触发走串口(中位机→FPGA),数据回读走 USB(PC→FPGA),FPGA 兼作两者之间的存储交换区——规避了串口带宽瓶颈。
- “精简帧类型 + 不实现警告/主动上传”体现 FPGA 资源受限下的实用主义:异常处理责任上移到 PC/中位机软件层。
- 16 进制直传、帧头帧尾 +
dead填充的帧格式,是解析该采集卡原始数据(如 AllSpectrumToStep 系列文件)时的直接依据。
关联
- 微流控化学发光中位机通信协议-20190903机械臂速度版(同为中位机通信协议族)
- NICTA-Public-Software-Licence-1.0-简成交付包第三方组件(同项目工作文档)