docs(协议): variation 值域勘误 V1.07 — ±8388607 → −8388608 ~ +8388607
统一为 3B 补码标准值域 (-2^23 ~ +2^23-1), 对齐代码负向饱和边界 0x800000 - DLD960Loop_串口通信协议.md: variation 字段值域修正 + 修订记录 V1.07 - variation-analysis.md: 头部版本引用/§1/§5.1 表格/§5.6.3 口径小注同步 - devlog.md: 2026-08-25 条目追加勘误说明 代码无改动 (main.c 饱和边界本就正确)
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> 分析对象:`uart_report_packet_loop_acs()` 中上报的 **变化量 variation**
|
||||
> 涉及文件:`src/main.c`(组包)、`src/TaskLoop.c`(基线/IIR 更新)、`inc/TaskLoop.h`(参数宏)
|
||||
> 协议版本:与《DLD960Loop_串口通信协议.md》**V1.05** 同步(2026-07-14:variation 无符号 2B → **有符号 3B**,见 §5)
|
||||
> 协议版本:与《DLD960Loop_串口通信协议.md》**V1.07** 同步(2026-07-14 V1.05:variation 无符号 2B → **有符号 3B**,见 §5;2026-08-25 V1.07:值域表述勘误统一为 **−8388608 ~ +8388607**)
|
||||
> 结论层次:物理层 → 信号层 → 数据层 → 上报调度层
|
||||
|
||||
---
|
||||
@@ -38,7 +38,7 @@ g_pkg_uart_report.pkg[i++] = (uint8_t)((variation >> 16) & 0xFF);
|
||||
```
|
||||
|
||||
- **带符号带方向**:正 = 检测裕量方向(与旧版有车时的数值语义连续),负 = 反向漂移
|
||||
- 3 字节小端补码,值域 ±2²³−1,发送端 **饱和限幅,不会回绕**
|
||||
- 3 字节小端补码,值域 −2²³ ~ +2²³−1,发送端 **饱和限幅,不会回绕**
|
||||
- 旧版(≤V1.04)为 2B 无符号绝对值,缺陷与变更动机见 **§5**
|
||||
|
||||
---
|
||||
@@ -136,7 +136,7 @@ variation: ╱| ╱| ╱| ╱| ← 锯齿波!
|
||||
|---|---|---|
|
||||
| 计算式 | `\|Origin − CAPVD\|` 取绝对值 | `Origin − CAPVD` 带符号 |
|
||||
| 编码 | 2 字节无符号,小端 | **3 字节有符号补码**,小端 |
|
||||
| 值域 | 0~65535,**溢出回绕** | ±8388607,**发送端饱和限幅** |
|
||||
| 值域 | 0~65535,**溢出回绕** | −8388608 ~ +8388607,**发送端饱和限幅** |
|
||||
| 方向信息 | 无 | 正 = 车/金属进入,负 = 反向漂移 |
|
||||
| 每通道单元 | 11 字节 | **12 字节** |
|
||||
| 帧 Len / 总长(4 路无分包) | 0x2F=47 / 52B | **0x33=51 / 56B**(仍 < `BUFF_STACK_SIZE=64`,缓冲安全) |
|
||||
@@ -182,7 +182,7 @@ if (v & 0x800000) v |= 0xFF000000; // bit23 = 1 → 负数,符号扩展
|
||||
|
||||
1. **Loop 与 DBN 固件必须同版本发布**。单元步长 11↔12 死绑定,任一端用旧固件,4 通道数据整体错位。**且帧级 XOR/SUM 校验依然通过**(校验的是整帧,不感知单元边界)——这是**静默数据损坏**,不会报错,只会得到一堆"看起来合理"的错值。
|
||||
2. 上位机若想兼容新旧固件,可用 **Len 字节区分**:4 路无分包时 Len=0x2F(47) 为旧格式(2B 无符号),Len=0x33(51) 为新格式(3B 有符号),按帧动态选解析器。
|
||||
3. 口径小注:协议文字写值域 ±8388607,代码负向饱和到 −8388608(0x800000)。解析端符号扩展后无歧义,且实际物理量远到不了该量级(CAPVD 全量程才 ~131072,3B 有 **~64 倍余量**),不构成问题,仅作记录。
|
||||
3. 口径说明(V1.07 已勘误):协议文字与代码统一为 **−8388608 ~ +8388607**(0x800000 是合法负边界)。解析端符号扩展后无歧义;实际物理量远到不了该量级(CAPVD 全量程才 ~131072,3B 有 **~64 倍余量**),边界仅作记录。
|
||||
|
||||
### 5.7 对分析工作的直接增益
|
||||
|
||||
|
||||
Reference in New Issue
Block a user