这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【蓝牙WS8623模组开发板测评】篇二:实测蓝牙通信结构和速率

共1条 1/1 1 跳转至

【蓝牙WS8623模组开发板测评】篇二:实测蓝牙通信结构和速率

助工
2026-09-15 17:59:27     打赏

一、项目介绍

在上一篇报告中我们领略了 WS8623-EVB 的硬件魅力,本报告将深入其核心功能 -- 蓝牙通信性能。我们将利用 BLE 调试工具和串口助手,对其连接稳定性、UUID 服务结构、以及不同模式下的数据吞吐量进行严格实测,验证其是否满足工业级应用的需求。

测试环境搭建:被测设备为 WS8623-EVB 开发板,PC 端安装 BLE 调试工具 V1.2 及串口调试助手,开发板通过 USB 连接 PC,蓝牙通过无线连接 PC 的蓝牙适配器。

二、硬件方案说明

本次测试使用的硬件配置与第一篇报告相同,核心为 WS8623 模组(STM32WB05KZV6TR),工作在 BLE 5.3 标准下。测试重点关注其 UART 透传服务的通信性能。

·        被测设备:WS8623-EVB 开发板

·        测试工具:PC 端 BLE 调试工具 V1.2 + 串口调试助手

·        连接方式:USB 连接 PC + 蓝牙无线连接 PC 蓝牙适配器

·        蓝牙名称:WS8623

·        MAC 地址:DE:54:CF:1E:50:90

·        MTU:247 字节

三、系统设计思路

测试主要围绕 BLE 的 UART 透传服务展开。通过扫描设备、建立连接、发现服务、读写特征值等标准 BLE 协议流程,验证其作为无线串口的可靠性与速度。测试分为三个维度:下行速率(蓝牙发串口收)、上行速率(串口发蓝牙收)、双向同时收发。

四、功能框图与软件流程

4.1 BLE 服务发现

打开蓝牙扫描,成功连接到设备 WS8623,获取基本信息如下:

·        蓝牙名称:WS8623

·        MAC 地址:DE:54:CF:1E:50:90

·        MTU:247 字节

服务结构发现:

7.png

4.2 特征值分析

逐层展开特征值,发现模块默认使用了以下 UUID 作为蓝牙转串口功能:

服务 UUID:0000FFF0-0000-1000-8000-00805F9B34FB

下面包含两个特征值:

RX 特征(Notify):0000FFF1-0000-1000-8000-00805F9B34FB

负责接收通过串口发送给蓝牙的通知数据。当订阅通知后,LED 指示灯灭;取消订阅会亮起。只有在订阅后才能接收数据。

TX 特征(Write):0000FFF2-0000-1000-8000-00805F9B34FB

负责通过蓝牙发送给串口的数据。具有有应答写(Write With Response)和无应答写(Write Without Response)两种发送方式。

图2-3:特征值详细属性

LED 指示行为验证:

图4-5:订阅通知后 LED 灭(左),取消订阅后 LED 亮(右)

五、实现过程说明 -- 速率测试

功能验证完成后,进行系统性的数据传输速率测试。测试数据为一串 240 字节的字符串(012345678901012345678923456789...),与 MTU 的 247 字节相近,一个包能发送完毕,可接近最大发送速度。

5.1 数据完整性验证

首先验证双向数据传输的正确性:

串口发送 -> 蓝牙接收:串口发送成功,蓝牙接收成功,数据完整无丢失。

112.jpg


图6:串口发送、蓝牙接收测试

蓝牙发送 -> 串口接收:蓝牙发送成功,串口接收成功,HEX 显示正确。

13.png

图7:蓝牙发送、串口接收测试

5.2 蓝牙发串口数据速率测试(下行)

经过多轮尝试,最终选定最大且稳定速率,以串口接收端计算速度为准。

A. 带应答模式(Write With Response):

15.png

图8:下行带应答测试 -- 速率约 4.6 KB/s

测试结果:基本最大稳定速率为 4.6 KB/s。

B. 不带应答模式(Write Without Response):

15.png

图9:下行不带应答测试 -- 速率约 11.2 KB/s

测试结果:速度达到 11.2 KB/s,比带应答模式快了近 3 倍。

5.3 串口发蓝牙数据速率测试(上行)

经过多轮尝试,最终选定最大且稳定速率,以蓝牙接收端计算速度为准。先订阅蓝牙数据后进行测试。

带应答模式测试:

14.png

图10:上行带应答测试 -- 速率约 4.0 KB/s

测试结果:多次尝试后,速度稳定在 4.0 KB/s 左右。由于串口发送没有设置应答/不应答选项,无法测试非应答速率。从速率表现上看,应该工作在应答发送模式。

值得注意的现象:串口端计算速度为 7.4 KB/s,而蓝牙接收端计算速度为 4.0 KB/s,存在明显差异。蓝牙发串口数据速率测试时也存在类似差异,暂不明原因,可能与传输层协议开销和缓冲机制有关。

5.4 双向同时收发测试(全双工)

蓝牙和串口同时发送、同时接收数据,验证全双工通信能力。

A. 不带应答模式双向收发:


图11-12:不带应答双向收发测试结果

结果:蓝牙发 -> 串口收约 11.2 KB/s,串口发 -> 蓝牙收约 5.8 KB/s(较单向高出约 1 KB/s)。

B. 带应答模式双向收发:

图13-14:带应答双向收发测试结果

结果:带应答收发与单向发送速率基本一致,蓝牙发 -> 串口收约 4.6 KB/s,串口发 -> 蓝牙收约 4.4 KB/s。

六、关键代码解析(UUID 配置)

在实际开发中,开发者需要关注以下 UUID 定义以进行数据交互:

服务 UUID:0000FFF0-0000-1000-8000-00805F9B34FB

RX 特征(Notify,蓝牙 -> 串口):0000FFF1-0000-1000-8000-00805F9B34FB

TX 特征(Write,串口 -> 蓝牙):0000FFF2-0000-1000-8000-00805F9B34FB

开发要点:

·        必须先订阅 FFF1 的 Notify 通知,才能接收蓝牙端发送的数据

·        向 FFF2 写入数据时,优先使用 Write Without Response 模式以获得更高吞吐

·        MTU 最大 247 字节,单次传输数据量建议控制在 240 字节以内

·        支持 1M/2M PHY 切换,2M PHY 下可进一步提升传输速率

七、功能展示与测试结果汇总

速率测试结果汇总:

测试方向

模式

速率 (KB/s)

备注

蓝牙 -> 串口

带应答

4.6

稳定

蓝牙 -> 串口

不带应答

11.2

近3倍提升

串口 -> 蓝牙

带应答

4.0

串口端显示7.4

双向同时

不带应答

11.2 / 5.8

全双工正常

八、技术难点与解决方案 / 项目总结

8.1 测试中发现的技术现象

·        串口端与蓝牙端的速率计算存在差异(如串口端 7.4 KB/s vs 蓝牙端 4.0 KB/s),可能与传输层协议开销、缓冲机制和计算方式有关

·        双向通信不带应答时,串口发蓝牙收的速率(5.8 KB/s)比单向测试(4.0 KB/s)高出约 1 KB/s,可能与蓝牙连接事件调度机制有关

·        不带应答模式相比带应答模式,下行速率提升近 3 倍,说明应答机制对吞吐量影响显著

8.2 项目总结

WS8623 模组在 MTU 247 字节的支持下,配合 Write Without Response 模式,能够实现超过 11 KB/s 的稳定下行传输速率,这对于大多数传感器数据上传和指令下发场景完全足够。

关键结论:

·        下行速率(蓝牙 -> 串口):不带应答模式 11.2 KB/s,带应答模式 4.6 KB/s

·        上行速率(串口 -> 蓝牙):带应答模式约 4.0 KB/s

·        全双工通信正常,双向同时收发速率与单向基本持平

·        建议:追求高吞吐量的应用,务必使用 Write Without Response 模式

·        数据完整性:240 字节长包传输无丢失,HEX 校验正确

从双向发送测试来看,速度可以保证,WS8623 模组的蓝牙通信性能表现稳定可靠,适合楼宇自动化、医疗设备、智能物流等对功耗和稳定性要求较高的应用场景。

通信速率视频如下:




关键词: 蓝牙     WS8623     模组     开发     通信     实测     测评         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]