diff --git a/doc/HSJL 上位机串口通信协议.md b/doc/HSJL 上位机串口通信协议.md index 2c71b19..39c96a6 100644 --- a/doc/HSJL 上位机串口通信协议.md +++ b/doc/HSJL 上位机串口通信协议.md @@ -1,7 +1,7 @@ # HSJL 上位机串口通信协议 -> 版本:v1.1 -> 日期:2025 年 6 月 10 日 +> 版本:v1.2 +> 日期:2025 年 6 月 12 日 --- @@ -46,19 +46,19 @@ block-beta | 字段名 | 字节数 (Byte) | 说明 | |--|--|--| -| 帧头 | 2 | 固定值:`0x5A 0x54` | +| 帧头 | 2 | 固定值:`0x54 0x5A` | | 数据段 | ≤950 | 业务数据内容 | | Dummy Byte | 1 | 固定填充:`0x00` | | 校验和 | 1 | 所有**数据段**字节累加和(无符号累加) | | 数据段长度 | 2 | 数据段字节数(不含 Dummy/校验/帧尾) | -| 帧尾 | 2 | 固定值:`0x5A 0xFE` | +| 帧尾 | 2 | 固定值:`0xFE 0x5A` | ### 帧内冲突规避规则 -为防止数据段中出现帧尾 `0x5A 0xFE`: +为防止数据段中出现帧尾 `0xFE 0x5A`: -- 若数据段中出现 `0x5A 0xFE`,需插入 `0x00` 变成 `0x00 0x5A 0xFE` -- 接收端收到 `0x00 0x5A 0xFE` 还原为 `0x5A 0xFE` +- 若数据段中出现 `0xFE 0x5A`,需插入 `0x00` 变成 `0x00 0xFE 0x5A` +- 接收端收到 `0x00 0xFE 0x5A` 还原为 `0xFE 0x5A` ### 帧长说明 @@ -101,26 +101,26 @@ block-beta ### 自检指令 -自检指令上传的 Payload 格式如下,顺序存储,共 19 字节: +自检指令上传的 Payload 格式如下,顺序存储,共 21 字节: -| 字段名 | 字节数 (Byte) | 说明 | -| ------------------------- | ------------- | ------------------------------------------------------------ | -| 节点状态 | 1 | `0xAA`: 正常
`0x55`: 异常 | -| FPGA 电压状态 | 1 | `[0]`: VCCPINT 电源轨道状态
`[1]`: VCCPAUX 电源轨道状态
`[2]`: VCCO_DDR 电源轨道状态
`[3]`: VCCINT 电源轨道状态
`[4]`: VCCAUX 电源轨道状态
`[5]`: VCCBRAM 电源轨道状态
以上 `1` 表示正常,`0` 表示异常 | -| (未使用) 时钟芯片锁定状态 | 1 | `[0]`: PLL1 锁定状态
`[2]`: PLL2 锁定状态
以上 `1` 表示锁定,`0` 表示失锁 | -| (未使用) ADC 锁定状态 | 1 | `[0]`: AD-1 BBPLL 锁定状态
`[2]`: AD-2 BBPLL 锁定状态
`[4]`: AD-1 RFPLL 锁定状态
`[6]`: AD-2 RFPLL 锁定状态
以上 `1` 表示锁定,`0` 表示失锁 | -| (未使用) ADC-1 温度 | 1, int8 | 温度值,有符号数 | -| (未使用) ADC-2 温度 | 1, int8 | 温度值,有符号数 | -| FPGA 温度 | 1, int8 | 温度值,有符号数 | -| 天线 -1 频率 | 2 | `[15]`: 乒乓环工作指示,`1` 表示 PLL1 工作,`0` 表示 PLL2 工作
`[14:0]`: 频率,对应实际频率需要+3700 MHz | -| 天线 -2 频率 | 2 | `[15]`: 乒乓环工作指示,`1` 表示 PLL1 工作,`0` 表示 PLL2 工作
`[14:0]`: 频率,对应实际频率需要+3700 MHz | -| 天线 -3 频率 | 2 | `[15]`: 乒乓环工作指示,`1` 表示 PLL1 工作,`0` 表示 PLL2 工作
`[14:0]`: 频率,对应实际频率需要+3700 MHz | -| 天线 PLL 锁定状态 | 1 | `[5]`: 天线-1-PLL1 锁定状态
`[4]`: 天线-1-PLL2 锁定状态
`[3]`: 天线-2-PLL1 锁定状态
`[2]`: 天线-2-PLL2 锁定状态
`[1]`: 天线-3-PLL1 锁定状态
`[0]`: 天线-3-PLL2 锁定状态
以上 `1` 表示锁定,`0` 表示失锁 | -| 天线工作状态 | 1 | `[2]`: 天线-3 工作状态
`[1]`: 天线-2 工作状态
`[0]`: 天线-1 工作状态
以上 `1` 表示抗干扰模式,`0` 表示普通模式 | -| 天线温度 | 1, int8 | 温度值,有符号数 | -| 天线状态预留 | 1 | 预留 | -| 物理层配置 ID | 1 | 节点 ID,用于区分物理层配置 | -| 额外控制预留 | 3 | 预留 | +| 字段名 | 字节数 (Byte) | 说明 | +| --------------------- | ------------- | ------------------------------------------------------------ | +| 节点状态 | 1 | `0xAA`: 正常
`0x55`: 异常 | +| FPGA 电压状态 | 1 | `[0]`: VCCPINT 电源轨道状态
`[1]`: VCCPAUX 电源轨道状态
`[2]`: VCCO_DDR 电源轨道状态
`[3]`: VCCINT 电源轨道状态
`[4]`: VCCAUX 电源轨道状态
`[5]`: VCCBRAM 电源轨道状态
以上 `1` 表示正常,`0` 表示异常 | +| 时钟芯片锁定状态 | 1 | `[0]`: PLL1 锁定状态
`[2]`: PLL2 锁定状态
以上 `1` 表示锁定,`0` 表示失锁 | +| (未使用) ADC 锁定状态 | 1 | `[0]`: AD-1 BBPLL 锁定状态
`[2]`: AD-2 BBPLL 锁定状态
`[4]`: AD-1 RFPLL 锁定状态
`[6]`: AD-2 RFPLL 锁定状态
以上 `1` 表示锁定,`0` 表示失锁 | +| (未使用) ADC-1 温度 | 1, int8 | 温度值,有符号数 | +| (未使用) ADC-2 温度 | 1, int8 | 温度值,有符号数 | +| FPGA 温度 | 1, int8 | 温度值,有符号数 | +| 天线 -1 频率 | 2 | `[15]`: 乒乓环工作指示,`1` 表示 PLL1 工作,`0` 表示 PLL2 工作
`[14:0]`: 频率,对应实际频率需要+3700 MHz | +| 天线 -2 频率 | 2 | `[15]`: 乒乓环工作指示,`1` 表示 PLL1 工作,`0` 表示 PLL2 工作
`[14:0]`: 频率,对应实际频率需要+3700 MHz | +| 天线 -3 频率 | 2 | `[15]`: 乒乓环工作指示,`1` 表示 PLL1 工作,`0` 表示 PLL2 工作
`[14:0]`: 频率,对应实际频率需要+3700 MHz | +| 天线 PLL 锁定状态 | 1 | `[5]`: 天线-1-PLL1 锁定状态
`[4]`: 天线-1-PLL2 锁定状态
`[3]`: 天线-2-PLL1 锁定状态
`[2]`: 天线-2-PLL2 锁定状态
`[1]`: 天线-3-PLL1 锁定状态
`[0]`: 天线-3-PLL2 锁定状态
以上 `1` 表示锁定,`0` 表示失锁 | +| 天线工作状态 | 1 | `[2]`: 天线-3 工作状态
`[1]`: 天线-2 工作状态
`[0]`: 天线-1 工作状态
以上 `1` 表示抗干扰模式,`0` 表示普通模式 | +| 天线温度 | 1, int8 | 温度值,有符号数 | +| 天线状态预留 | 1 | 预留 | +| 物理层配置 ID | 1 | 节点 ID,用于区分物理层配置 | +| 额外控制预留 | 3 | 预留 | ### Echo 测试 @@ -144,7 +144,7 @@ Echo 测试中节点将 PC 下发的数据直接回传,不做其他处理。Ec > [!warning] > -> 时隙表单次运行周期为 500 ms,不同时隙表中主从节点数据交互次数、可用从节点 ID 范围不同,**从节点只与主节点进行通信**,目前暂定时隙表如下: +> 时隙表单次运行周期为 250 ms,不同时隙表中主从节点数据交互次数、可用从节点 ID 范围不同,**从节点只与主节点进行通信**,目前暂定时隙表如下: > > - 0 号时隙表,主节点分别给 2 个从节点发送 1 次;每个从节点给主节点发送 1 次。 > - 1 号时隙表,主节点分别给 2 个从节点发送 5 次;每个从节点给主节点发送 5 次。