TCD 放大器通信协议说明 (EE包头版)

1. 串口配置参数

  • 波特率 (Baud Rate): 38400
  • 数据位 (Data Bits): 8
  • 停止位 (Stop Bits): 1
  • 校验位 (Parity): None (无)
  • 硬件流控 (Flow Control): None (无)

⚠️ 硬件连接注意事项 设备的输出信号为 TTL 电平。严禁使用无自动收发流控的简易 TTL-RS485 模块进行转接,否则会导致底层 UART 帧极性颠倒,出现硬件级乱码。 推荐连接方式:直接使用标准 USB-TTL 模块(如 CH340、CP2102)将设备的 TX/RX/GND 直连电脑进行通信,或使用带自动流控的工业级 TTL-RS485 模块。


2. 数据主动上报协议 (设备 -> 上位机)

设备上电后会主动向上位机上报数据。每帧固定长度为 87 字节

2.1 帧结构概览

偏移地址 (Offset)长度 (Bytes)字段名称说明
0x00 ~ 0x034包头 (Header)固定为 0x45 0x45 0xFF 0x01
0x04 ~ 0x5380通道数据区20组采样数据,每组4字节,大端模式(Big-Endian)
0x54 (84)1桥流数值当前桥流设置值 (例如: 0x08 = 8, 0x05 = 5)
0x55 ~ 0x562结束符固定为 0x0D 0x0A (\r\n)

2.2 核心数据解析规则 (Offset: 0x04 / 4)

数据区从第 4 个字节(偏移量 0x04)开始,总共 80 个字节。 这 80 个字节包含了 20 组连续的采样数据,每组数据占用 4 字节

数据格式说明

  • 字节序:大端模式 (Big-Endian)。
  • 惊天真相(符号位定义):官方文档中写的“最高位为1表示负数”,并不是指计算机二进制的最高 bit (Bit 31),而是指最高的一个十六进制字符 (Nibble) 为 1(即第一个字节的最高四位 0x10)。
    • 若第 1 个字节的最高半字节为 0x00 -> 正数。
    • 若第 1 个字节的最高半字节为 0x10 -> 负数。
  • 绝对值提取:除了符号半字节外,剩下的 28 bits(即第1个字节的低四位 + 后3个字节)是实际的绝对值。

解析示例

以第一组数据为例:

  • 收到 0x00 00 00 25 -> 最高字符为 0 (正数) -> 绝对值为 0x25 (37) -> 结果为 37
  • 收到 0x10 00 00 25 -> 最高字符为 1 (负数) -> 绝对值依然是 0x25 (37) -> 结果为 -37
  • 收到 0x10 00 01 09 -> 最高字符为 1 (负数) -> 绝对值是 0x109 (265) -> 结果为 -265

3. 下发控制命令 (上位机 -> 设备)

下发命令的前导包头固定为 0x47 0x45 0x45 0x02

3.1 设置桥流命令

  • 发送格式: 0x47 0x45 0x45 0x02 0x0E [桥流数值]
  • 说明: 0x0E 为桥流设置命令字,最后一个字节为具体的桥流数值(如 0x50)。

3.2 调零命令

  • 发送格式: 0x47 0x45 0x45 0x02 0x0B 0x00
  • 说明: 0x0B 为调零命令字,固定跟随 0x00