# BL654 PoC 稳定性报告：数量、频率与运行阶段

日期：2026-11-05。适配器：**BL654 / 451-00004 样品 1，USB 序列号 EA511D51F3F1**，COM7，直插电脑。使用当前换机后的固定 8 台量具，C# / pc-ble-driver / Nordic connectivity USB 路线。

## 结论

**主线一：1Hz 下，8 台设备在本次实测中稳定。**完整 8 台连续采集 5 分钟，计划、发送、有效回复均为 **2400 条**，零缺失、零掉线。实际 1、2、4、6、7 台的 1Hz 测试也全部通过。

**主线二：4Hz 下，8 台设备存在调度及回复时序抖动；将接收等待设为 5 秒后，连续两轮实测均稳定收齐。**两轮各 5 分钟，分别为 **9600／9600、9600／9600**，合计 **19,200 条**有效回复，零缺失、零掉线、零发送调度超期。此前单轮仍保留为未通过。

这里的“稳定”指本次规定时长内连接保持、查询完整提交、有效回复完整收到；不代表每条回复都在 250ms 内到达，也不等同于长期生产稳定性保证。两轮没有超过原 2 秒的回复，**不能认定延长等待是改善的唯一原因**；准确结论是“5 秒等待配置下连续两轮通过”。

## 三个维度与判定方法

| 维度 | 本报告覆盖范围 |
|---|---|
| 设备数量 | 实际 1、2、4、6、7、8 台 |
| 采集频率 | 每台 1Hz、4Hz；4Hz 的查询周期保持 250ms |
| 运行阶段 | ①连接准备：发现、建连、服务与通知配置、测量就绪确认；②连接保持：链路检查、观察是否掉线；③数据采集：按频率查询、等待回复、核对完整性 |

每个数量与频率的正式阶段为 5 分钟；测量就绪确认的查询单独记录，不计入正式结果。1Hz 与 4Hz 切换，以及较小数量组之间，保留共同设备的连接。较小数量组不代表分别进行了一次全新的首次建连测试。

## 数量 × 频率完整对比

下表数字为 **成功发送／有效回复**。通过要求还包括达到计划查询数、无正式掉线及相关错误。

| 实际设备数 | 1Hz，5 分钟 | 1Hz 结论 | 4Hz，5 分钟 | 4Hz 结论 |
|---:|---:|---|---:|---|
| 1 | 300／300 | 通过 | 1200／1200 | 通过 |
| 2 | 600／600 | 通过 | 2400／2400 | 通过 |
| 4 | 1200／1200 | 通过 | 4800／4800 | 通过 |
| 6 | 1800／1800 | 通过 | 7200／7200 | 通过 |
| 7 | 2100／2100 | 通过 | 8400／8400 | 通过 |
| 8 | 2400／2400 | 通过 | 前次：9598／9596；后续两轮：各 9600／9600 | 前次未通过；5 秒等待下两轮均通过 |

凌晨原计划 8 台时 F9:A0 未发现，因此记录为实际 7 台。用户唤醒后另做完整 8 台测试，没有把 7 台成绩改写成 8 台。

## 主线一：1Hz 下的 8 台稳定性

| 阶段 | 实测情况 | 判断 |
|---|---|---|
| 连接准备 | 完整 8 台补测时，D9、17:61 首次服务发现失败，补试后全部就绪，均能返回测量数据 | 可完成 8 台准备；首次建连并非全部一次成功 |
| 连接保持 | 正式采集前观察 60 秒，32／32 次 GATT 检查成功；1Hz 采集中 8 台均未掉线 | 本次连接保持稳定 |
| 数据采集 | 每台 300 次，共计划 2400、发送 2400、回复 2400；零缺失、零超时、零发送调度超期 | 本次 1Hz、8 台完整通过 |

**判断：1Hz 是当前测试证据中表现一致的采集配置。**在已测的全部数量下均收发完整，完整 8 台的正式测试也通过。连接准备失败需要重试的问题与进入采集后的稳定性分别记录，不混为一谈。

## 主线二：4Hz 下的 8 台抖动与容错

### 按三个阶段看

| 阶段 | 前次单轮 | 后续连续两轮，5 秒接收等待 |
|---|---|---|
| 连接准备 | 与 1Hz 共用准备过程；两台补试后达到 8／8 | 8 台均完成准备，未记录准备失败 |
| 连接保持 | 32／32 次链路检查成功；正式阶段零掉线 | 另做 32／32 次链路检查，正式两轮均零掉线；轮间不重连 |
| 数据采集 | 两条查询因调度超期未发送，另有两条已发但缺回复 | 每轮 9600 次全部发送、全部回复，零缺失、零发送调度超期 |

### 三轮收发结果

| 轮次／配置 | 计划查询 | 成功发送 | 有效回复 | 未发送 | 已发缺回复 | 正式掉线 | 结论 |
|---|---:|---:|---:|---:|---:|---:|---|
| 前次单轮，接收等待 2 秒 | 9600 | 9598 | 9596 | 2 | 2 | 0 | 未达到零缺失标准 |
| 后续第 1 轮，接收等待 5 秒 | 9600 | 9600 | 9600 | 0 | 0 | 0 | 通过 |
| 后续第 2 轮，接收等待 5 秒 | 9600 | 9600 | 9600 | 0 | 0 | 0 | 通过 |

前次未发送发生在 C6、D9，各一次，调度分别晚了约 291.5ms、265.8ms，超过一个 250ms 查询周期，程序按原规则跳过；已发缺回复发生在 F9:A0、F5:D4，各一条。这些属于不同异常，不能全部称为蓝牙丢包。

后续两轮最大 FIFO 估计回复延迟分别约 **359.7ms、302.3ms**。这说明 **4Hz 可以完整回数，但回复到达有抖动，不能要求每条都在 250ms 内返回**。两轮均未出现超过 2 秒的回复，也未在最后一次发送超过 2 秒后才收到回复。

### 延长等待的含义

| 参数 | 本次处理 | 作用 |
|---|---|---|
| 查询周期 | 保持 250ms，即每台 4Hz | 不通过降低采样率获得通过 |
| 接收超时及末尾最大等待 | 从 2 秒改为 5 秒 | 提供更长迟到容错窗口，收齐即可提前结束等待 |
| 发送调度超期判断 | 保持原规则 | 未发送仍记为异常，不在结束后补发掩盖 |
| 蓝牙监督超时 | 保持 4 秒 | 属于连接失联判断，与测量回复等待不同 |

采集过程中，原代码也会继续接收超过 2 秒的回复，并另外累计超时；延长到 5 秒主要改变迟到判定及末尾等待。**本次证明的是“在 5 秒接收等待配置下，两轮均收发完整”，没有证明“前次缺失是因为等待太短”，也没有证明“改成 5 秒即可保证长期稳定”。**

## 工程结论与适用范围

**1Hz：当前 8 台组合已通过短时稳定采集验证，可作为优先推进的采集配置。**

**4Hz：当前 8 台组合存在时序抖动，但在 5 秒接收等待配置下已连续两轮完整通过，具备继续推进 PoC 和受控现场验证的依据。**仍应保留未发送、缺回复、迟到及掉线的独立记录；后续通过不会抹去前次失败。

本报告为同一只适配器、当前固定设备组合的 PoC 证据。完整 8 台的 1Hz 仅覆盖 5 分钟，4Hz 三轮各覆盖 5 分钟；尚未覆盖完整 8 台长期连续高负载、休眠唤醒、断线自动恢复及不同批次差异，不作为量产稳定性承诺。

## 记录范围与依据

固定 MAC 名单（共同前缀 `5A:48:69:`）：C5:F4:B4、C5:F4:C6、C5:F4:D9、C5:F5:D4、C5:F9:A0、C5:FA:26、C6:17:4E、C6:17:61。此前换出的 F4:5A、FA:10 不在本报告主对比名单中，其异常结果保留在历史报告中。

- 凌晨数量对照：`poc-bl654-csharp/studies/20261105-overnight-021201/`。
- 完整 8 台 1Hz 与首轮 4Hz：`poc-bl654-csharp/studies/20261105-eight-followup-074632/`。
- 完整 8 台 4Hz 连续两轮：`poc-bl654-csharp/studies/20261105-eight-4hz-twice-081104/`。

每个正式阶段均保存事件、统计及原始通知独立核对结果。设备回复没有事务序号，逐请求对应和延迟为 FIFO 估计；总有效回复数由实际通知字节解析核对。

详细依据：[总体记录与历史对比](BL654_20261105_不同数量与频率总体实测报告.md)、[4Hz 两轮与接收等待验证](BL654_20261105_8台4Hz连续两轮_5秒接收验证报告.md)。
