这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 星闪模组WS8204传输性能与双向互传综合测试报告

共1条 1/1 1 跳转至页

星闪模组WS8204传输性能与双向互传综合测试报告

菜鸟
2026-10-25 15:36:08     打赏
WS8204-EVB SLE 传输性能与双向互传综合测试报告

测试结果仅供参考,结果受多种因素影响,测试结果不一定正确!!!image.png

文档信息

项目内容
文档名称WS8204-EVB SLE 传输性能与双向互传综合测试报告
版本v1.0
日期2026-10-25
状态已执行、已汇总
测试对象WS8204-EVB ×2
固件+GMR="WS8204","silent-smart","V0.1.0","V1.4.0"
测试工具ws8204_perf.exe(C# / .NET Framework 4.8)
测试执行自动化测试脚本 + 手工 AT 命令
附件见第 14 节

修订记录

版本日期说明
v0.12026-10-24完成测试执行与分项记录
v1.02026-10-25汇总为综合报告,补充复现步骤与附件清单

1. 结论摘要

  1. 两块板 H-UART 的 AT 通信、主从连接、AT 模式双向小数据均正常。

  2. AT 模式单向有效吞吐约 4.17 KB/s(payload 200 B、115200、1M PHY、25 ms),B→A 约 1.69 KB/s。

  3. PHY 从 1M 提升到 2M/4M、UART 从 115200 提升到 460800,均没有数量级提升;瓶颈是 AT 命令握手。

  4. 同时双向 AT 模式基本不可用(约 0.16 KB/s);透传同时双向有丢包/CRC 错误。

  5. 持续 AT 传输约 9 s / 32 KB 后出现 CH9102 串口写错误,链路断开并重连。

  6. 文件互传:8 KB 单次双向 PASS;64 KB 采用 4 KB 分块 + 复位/重试,双向 SHA-256 一致。

  7. 小包 RTT:32 B 平均 143 ms,p95 175 ms;200 B ping-pong 超时率 54%。

1.1 测试结果汇总

用例状态关键结果
TC-02 固件/默认参数PASSV1.4.0,115200,MTU 248,interval 200
TC-03 角色/连接PASS约 1 s 自动连接,对端 MAC 正确
TC-04 AT 双向小数据PASShello/world 双向正确
TC-05/06 透传PASS/受限双向 100 B 正确;同时双向丢包
TC-07 断连/重连PASS+SDISCONN:0,17 后约 1 s 重连
TC-08 恢复出厂PASS默认参数全部恢复
TC-09 异常参数PASS非法参数返回 +ERROR,不挂死
TC-10 吞吐 vs payloadPASS200 B 最佳;A→B 4.17 KB/s
TC-11 吞吐 vs PHYPARTIAL2M/4M 无显著提升
TC-12 吞吐 vs 波特率PARTIAL460800 略高但不稳定
TC-13 吞吐 vs 间隔PARTIAL160/200 可用;400/800 不稳定
TC-14 AT vs 透传PASSAT 更稳更快
TC-15 同时双向FAIL/受限AT both 0.16 KB/s
TC-20 小包 RTTPASS32 B mean 143 ms
TC-40 持续传输FAIL约 9 s/32 KB 后串口错误
TC-50/51 文件互传PASS8 KB/64 KB 双向 SHA 一致
TC-54 全字节/+++PASS1 KB SHA 一致

2. 测试目的与范围

本报告覆盖以下实际执行的测试:

  • AT 固件、默认参数、主从连接与双向小数据

  • AT 模式与透传模式

  • 单向吞吐:payload、PHY/format、UART 波特率、连接间隔

  • 同时双向吞吐

  • 小包 RTT

  • 持续传输稳定性

  • 文件双向传输与 SHA-256 完整性

  • 异常参数、断连重连、恢复出厂

测试拓扑为 PC 通过 H-UART 连接两块 EVB,数据经 SLE 空口传输;吞吐均为应用层有效 payload,不含自定义帧头和 AT 命令开销。

3. 被测系统

3.1 硬件与固件

项目值
A 板COM3,MAC 54:ef:80:1a:51:d9,Client/Master
B 板COM4,MAC 1a:ac:10:3d:36:e6,Server/Slave
模组WS8204(Hi2821/BS21 系列 SLE+BLE)
固件AT V0.1.0 / Software V1.4.0
测试距离约 0.5 m,直视,非金属桌面

3.2 拓扑与角色

PC COM3 ──USB(H-UART)── WS8204-A ──SLE── WS8204-B ──USB(H-UART)── PC COM4
  • A = COM3,AT+SROLE=1(Client/Master)

  • B = COM4,AT+SROLE=0(Server/Slave)

  • 默认参数:115200、MTU 248、interval 200(25 ms)、PHY 0(1M)、format 1、SMUX 8、TX power 6 dBm

3.3 软件环境

项目值
操作系统Microsoft Windows NT 10.0.26200.0
PowerShell5.1.26100.8115
.NET Framework4.8
C# 编译器C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
串口驱动CH9102 USB-Enhanced-SERIAL
测试工具tools\ws8204_perf\ws8204_perf.exe
工具 SHA-256AC3C1CF7745E7CCF724517DF50CC29EFEA0DCF50FADA1B3AC0478C0585EF7E5C
工具大小38400 bytes

3.4 AT 固件关键约束

项目值
UART 波特率9600~1M,改后需 AT+RST
MTU20~248;有效 payload 最大 240 B
连接间隔160~16000 ×125 µs(20 ms~2 s)
PHYAT+SPHY=<phy>,<format>,0=1M/1=2M/2=4M,format 0~13
SMUX1~8,透传需 1
角色0=Server/Slave,1=Client/Master
发送AT+SSEND=<connid>,<length> → +OK\r\n> → 原始数据 → +SSEND:<length>
接收+SRD:<connid>,<length> + 原始数据
透传AT+SMUX=1,AT+SSEND 无参数进入,+++ 退出

3.5 测试依据

  • 《WS8204 Data Sheet CN v1.2》

  • 《WS8204-EVB QuickStart Guide CN v1.0》

  • AT+HELP 与 AT+<CMD>=? 实测输出(docs\04_参考资料\at_probe\)

4. 测试方法

4.1 AT 命令模式

  1. 主机发送 AT+SSEND=<connid>,<len>\r\n。

  2. 模块返回 +OK\r\n> 后,主机发送正好 <len> 字节。

  3. 模块返回 +SSEND:<len> 表示本次发送完成。

  4. 接收端模块输出 +SRD:<connid>,<len>,随后输出 <len> 字节原始数据。

4.2 透传模式

  1. AT+SMUX=1,复位并重新连接。

  2. 双方发送 AT+SSEND(无参数)进入透传。

  3. 主机直接写入原始数据。

  4. 发送 +++ 退出透传,再发送 AT 确认回到命令模式。

4.3 自定义帧格式

字段长度说明
Magic4 BWS82
Version1 B0x01
Type1 BDATA/PING/PONG/FIN
Flags1 B保留
Header length1 B26
Payload length2 B大端
Sequence4 B大端
Timestamp8 B发送端 tick
CRC324 B头部+payload
PayloadN B数据

帧头 26 B。AT 模式有效 payload 240 B,因此应用 payload 建议 ≤200 B。

4.4 指标定义

  • 有效吞吐:接收端 CRC 正确的 payload 字节数 / 测试时长;KB/s = bytes / 1024 / s。

  • 丢帧/缺口:发送序号与接收序号不连续;CRC 错误单独统计。

  • RTT:A 发 PING 到收到 B 的 PONG 的时间,包含主机、USB-UART、AT 握手、SLE 空口和连接间隔。

  • 文件完整性:发送端与接收端 SHA-256 完全一致。

采样约定:

  • 吞吐:每点 3 s,连接建立完成后开始计时,按全时长计算。

  • 时延:每组 100 次 ping-pong。

  • 文件:8 KB 单次;64 KB 按 4 KB 分块,每块单独复位/重连。

  • 所有结果保存 summary.json、per_second.csv、原始串口日志。

5. 测试执行记录

日期测试项数据目录
2026-10-24TC-02~TC-09INFO_baseline\、TC-09_negative\
2026-10-24TC-10TC-10_*_nr_*\
2026-10-24TC-11TC-11_*_nr_*\
2026-10-24TC-12PERF_AT_460800_v4\
2026-10-24TC-13TC-13_*_nr_*\
2026-10-24TC-14TC-14_transparent_*\
2026-10-24TC-15TC-15_both_p200_stable\、TC-15_transparent_both\
2026-10-24TC-20TC-20_rtt_p32_nr_*\、TC-20_rtt_p200_nr_*\
2026-10-24TC-40TC-40_soak_3min\
2026-10-24TC-50/51TC-50_chunked_64k_a2b_v3\、TC-51_chunked_64k_b2a_v3\
2026-10-24TC-54TC-54_file_plus\
2026-10-25最终状态确认FINAL_STATE\

6. 功能测试结果

TC-02 固件与默认参数

参数A / B
固件V0.1.0 / V1.4.0
UART115200
MTU248
interval200,0,500
PHY0,1
SMUX8
TX power6 dBm

结果:PASS。

TC-03 角色与连接

  • A AT+SROLE=1,B AT+SROLE=0,双方 AT+RST。

  • 双方收到 +SCONN:0,"对端 MAC",AT+SPMAC? 返回 +SPMACNUM=1。

  • 连接建立时间约 1 s。

结果:PASS。

TC-04 AT 双向小数据

  • A→B 发送 hello,B 收到 +SRD:0,5 + hello。

  • B→A 发送 world,A 收到 +SRD:0,5 + world。

结果:PASS。

TC-05 / TC-06 透传模式

  • AT+SMUX=1 后双方 AT+SSEND 进入透传。

  • A→B 100 B 正确;B→A 100 B 正确。

  • 同时双向有丢包,不适合作为可靠双向通道。

结果:单向和反向 PASS;同时双向受限。

TC-07 断连/重连

  • A AT+SDISC → +OK,随后 +SDISCONN:0,17。

  • 约 1 s 内自动 +SCONN,AT+SPMAC? 恢复。

结果:PASS。

TC-08 恢复出厂

  • 两块 AT+RESTORE → +OK + WS8204 Ready。

  • 恢复为 SROLE=0、SMUX=8、UART 115200、MTU 248、interval 200、PHY 0,1。

结果:PASS。

TC-09 异常参数/边界

命令实际
AT+SMTU=249+ERROR=2
AT+SMUX=9+ERROR=2
AT+SPHY=3,0+ERROR=2
AT+SCONPARA=159,0,500+ERROR=2
AT+UART=2000000+ERROR=2
AT+SSEND=7,10+ERROR=9
AT+FOO+ERROR=100

错误后 AT 仍正常,不挂死。

结果:PASS。

7. 吞吐测试结果

TC-10 单向吞吐 vs payload

配置:AT 模式、115200、1M PHY、interval 200。

payloadA→B KB/sA→B 帧/CRCB→A KB/sB→A 帧/CRC
320.65663 / 00.56354 / 0
641.33364 / 00.22956 发/11 收 / 0
1281.87545 / 01.33332 / 0
2004.16764 / 01.69325/26 / 0
22000——

结论:

  • 200 B 是最佳点;220 B 因 26 B 帧头 + 220 B 超过 240 B 有效 payload 而失败。

  • B→A(Server 发送)明显慢于 A→B,且易丢帧。

  • CRC 错误为 0,吞吐差异来自调度/握手,不是误码。

TC-11 吞吐 vs PHY/format

PHY/formatKB/s结果
1M / 14.10基线
2M / 13.32无提升
2M / 104.30略高,波动
4M / 103.97无提升
4M / 134.10无提升

部分 PHY 切换后连接重建失败。AT 握手是瓶颈,PHY 提升无明显收益。

TC-12 吞吐 vs UART 波特率

波特率结果
115200约 4.1 KB/s,稳定
460800单次约 4.4 KB/s,但出现串口写错误/重连,不稳定

TC-13 吞吐 vs 连接间隔

interval实际KB/s结果
16020 ms4.10可用
20025 ms3.91默认、稳定
40050 ms3.45早期样本,稳定性差
800100 ms1.24丢帧,不稳定

TC-14 AT 模式 vs 透传模式

模式方向KB/s说明
ATA→B4.17最稳定
ATB→A1.69Server 较慢
透传(限速)A→B0.74可用但慢
透传(限速)B→A1.80波动

结论:当前固件 AT 模式反而比透传更稳、更快。

TC-15 同时双向

模式5 s 发送/接收聚合 KB/s错误
AT both5 帧 / 4 帧0.16基本不可用
透传 both222 帧 / 70 帧2.732 CRC、3846 B 垃圾

结论:同时双向不可靠。双向业务建议分时 A→B、再 B→A。

8. 时延测试结果

TC-20 小包 RTT

payload成功/总数超时meanp50p95p99stddev
32 B100/1000143.05 ms149.66 ms175.01 ms176.21 ms17.32 ms
200 B46/10054189.38 ms175.30 ms225.09 ms378.72 ms33.09 ms

说明:RTT 包含主机、USB-UART、AT 握手、25 ms 连接间隔,不是纯空口时延。

结果:32 B PASS;200 B 不稳定。

9. 稳定性测试结果

TC-40 持续传输

  • 计划 180 s,AT 模式,payload 200 B,目标 3.75 KB/s。

  • 前 9 s 正常,约 32 KB 后出现 SEND_PAYLOAD_ERROR(CH9102 “device not functioning”)。

  • 随后 +SDISCONN:0,7 并自动重连。

  • 实际发送 141 帧/28.2 KB,接收 99 帧/19.8 KB;按 180 s 计平均 0.107 KB/s。

结果:FAIL。约 9 s / 32 KB 是当前连续 AT 传输的实际上限。

10. 文件互传结果

用例文件方式结果SHA-256
TC-50 A→B8 KB单次连续PASS一致
TC-51 B→A8 KB单次连续PASS一致
TC-50 A→B64 KB4 KB ×16 块PASS(首次全过)一致
TC-51 B→A64 KB4 KB ×16 块PASS(4 块重试)一致
TC-54 全字节/+++1 KBAT 模式PASS一致

64 KB 源文件 SHA-256:

7daca2095d0438260fa849183dfc67faa459fdf4936e1bc91eec6b281b27e4c2

A→B、B→A 接收文件 SHA-256 均与源文件一致。

11. 根因分析

  1. AT 模式握手瓶颈:每帧 AT+SSEND 命令、> 提示、+SSEND 完成,主机与模块往返约 40~50 ms,吞吐被限制在约 4 KB/s。

  2. MTU 限制:有效 payload 240 B,自定义 26 B 帧头后应用 payload ≤约 214 B。

  3. 持续发送失败:模块 UART RX 缓冲在连续 AT+SSEND 下被填满,CH9102 返回 ERROR_GEN_FAILURE,链路重连。

  4. 同时双向不可用:AT 固件单方向调度明显;透传虽可双向,但无流控,丢包/CRC 严重。

  5. 透传无流控:突发写入会丢字节,必须限速。

  6. PHY/波特率不是瓶颈:提高 PHY 或 UART 速率不能突破 AT 握手限制。

12. 结论与建议

结论:

  • 当前硬件/固件适合低速率控制、状态上报、小数据双向交互。

  • 单向约 4 KB/s、双向需分时、持续传输约 9 s/32 KB 即失败。

  • 64 KB 文件可通过分块+复位实现,但耗时较长。

建议:

场景建议
低速率控制/状态当前 AT 模式可用;payload 200 B、25 ms 间隔
双向通信分时 A→B / B→A,不要依赖同时双向
文件 ≤8 KBAT 模式单次传输
文件 64 KB4 KB 分块 + 每块复位/重连 + SHA-256
高吞吐当前方案不可行;需自定义 SLE 固件/内部跑流或 Wi-Fi
低时延当前 32 B RTT 约 143 ms;需降低 AT 握手/连接间隔

13. 复现步骤

13.1 环境准备

  1. Windows 10/11 x64,安装 CH9102 串口驱动。

  2. 两块 WS8204-EVB 的 H-UART 分别接 PC,确认 COM3、COM4。

  3. 确认 .NET Framework 4.8 和 PowerShell 5.1。

  4. 将 WS8204_测试脚本_20261025.zip 解压到项目根目录,得到 tools\... 和 docs\03_测试脚本\...。

  5. 将 WS8204_测试数据_20261025.zip 解压到项目根目录,得到 docs\02_测试数据\...。

  6. 进入项目根目录 D:\WorkSpace\VSCode\WS8204。

13.2 编译工具

cd D:\WorkSpace\VSCode\WS8204
.\tools\ws8204_perf\build.ps1

13.3 读取信息与建立链路

.\tools\ws8204_perf\ws8204_perf.exe info --a COM3 --b COM4 `
  --out "docs\02_测试数据\INFO_repeat"

.\tools\ws8204_perf\ws8204_perf.exe config --a COM3 --b COM4 `
  --baud 115200 --interval 200 --phy 0 --format 1 --smux 8 --mtu 248 `
  --out "docs\02_测试数据\LINK_repeat"

13.4 吞吐、时延、稳定性

# 单向吞吐
.\tools\ws8204_perf\ws8204_perf.exe perf --mode at --direction a2b `
  --payload 200 --duration 3 --interval 200 --a COM3 --b COM4 --no-reset `
  --out "docs\02_测试数据\PERF_repeat"

# 同时双向
.\tools\ws8204_perf\ws8204_perf.exe perf --mode at --direction both `
  --payload 200 --duration 5 --interval 200 --a COM3 --b COM4 --no-reset `
  --out "docs\02_测试数据\BIDIR_repeat"

# 透传
.\tools\ws8204_perf\ws8204_perf.exe perf --mode transparent --direction a2b `
  --payload 200 --duration 5 --rate 40000 --a COM3 --b COM4 `
  --out "docs\02_测试数据\TRANSPARENT_repeat"

# 时延
.\tools\ws8204_perf\ws8204_perf.exe latency --payload 32 --count 100 `
  --a COM3 --b COM4 --no-reset --out "docs\02_测试数据\RTT_repeat"

# 持续传输
.\tools\ws8204_perf\ws8204_perf.exe perf --mode at --direction a2b `
  --payload 200 --duration 180 --rate 30000 --interval 200 `
  --a COM3 --b COM4 --no-reset --raw no --out "docs\02_测试数据\SOAK_repeat"

13.5 文件互传

# 8 KB 单次
.\tools\ws8204_perf\ws8204_perf.exe file `
  --file "docs\02_测试数据\TC-50_source\source_8k.bin" `
  --direction a2b --chunk 200 --delay-ms 50 --a COM3 --b COM4 --no-reset `
  --out "docs\02_测试数据\FILE8K_repeat"

# 64 KB 分块 + 重试
.\tools\run_chunked_file_v2.ps1 -Direction a2b `
  -Source "docs\02_测试数据\TC-50_source\source_64k.bin" `
  -OutRoot "docs\02_测试数据\FILE64K_repeat"

13.6 数据校验

# 查看结果
Get-Content "docs\02_测试数据\PERF_repeat\summary.json"

# 校验文件
Get-FileHash "docs\02_测试数据\FILE64K_repeat\combined_a2b.bin" -Algorithm SHA256

预期 64 KB 文件 SHA-256:

7daca2095d0438260fa849183dfc67faa459fdf4936e1bc91eec6b281b27e4c2

source_64k.bin 位于测试数据附件 TC-50_source\ 目录。

13.7 异常参数复现

AT+SMTU=249
AT+SMUX=9
AT+SPHY=3,0
AT+SCONPARA=159,0,500
AT+UART=2000000
AT+SSEND=7,10
AT+FOO

预期分别返回 +ERROR=2、+ERROR=2、+ERROR=2、+ERROR=2、+ERROR=2、+ERROR=9、+ERROR=100,随后 AT 仍返回 +OK。

13.8 复现注意事项

  1. AT+SSEND=<connid>,<len> 后必须发送正好 len 字节;串口工具不要自动追加 \r\n。

  2. 透传模式需先 AT+SMUX=1,复位/重连后双方再发 AT+SSEND 进入。

  3. 修改 AT+UART 后必须 AT+RST,并在主机侧重新打开新波特率。

  4. 460800 可能触发 CH9102 写入错误;基线复现建议使用 115200。

  5. 8 KB 以上文件建议使用 4 KB 分块 + 复位/重试,避免 UART 缓冲累积。

  6. 所有串口操作前关闭 SSCOM 等占用端口的程序。

14. 附件清单

附件位于 attachments\,可直接上传:

文件内容大小SHA-256
WS8204_综合测试报告.md本报告见文件见 SHA256SUMS.txt
WS8204_测试数据_20261025.zip全部原始日志、summary、CSV、文件传输结果1,131,618 Bd950177d015788dcfb734aca981d0f28e52bc3216726eaaef217a9157853045b
WS8204_测试脚本_20261025.zipC# 源码、exe、build/run 脚本、脚本说明43,042 B18c42f987ae4250fc2625c0921a383c63cd248c65f4316fe97b0bcaf1d13719f
SHA256SUMS.txt附件校验和见文件—
README_附件说明.md附件内容与复现说明见文件—

15. 数据字典

文件/目录说明
summary.json单次测试的结构化结果:模式、方向、payload、吞吐、帧数、CRC、缺口
per_second.csv每秒发送/接收字节和帧数
COM3_raw.bin / COM4_raw.bin串口原始字节(含 AT 响应、+SRD、payload)
COM3_decoded.log / COM4_decoded.log带时间戳的解码日志
console.txt测试工具标准输出/错误
*_result.txt文件传输源/接收 SHA-256 和结果
key_results.csv关键结果汇总
matrix_summary.csv吞吐矩阵原始汇总
FINAL_STATE\测试结束后的默认参数确认

16. 判定标准

状态含义
PASS达到预期,数据完整
PARTIAL部分配置有效,部分配置不稳定或失败
FAIL未达到预期,但已保留原因和数据

测量边界: 本报告的吞吐为 PC→H-UART→SLE→H-UART→PC 的端到端应用层有效吞吐,包含 AT 握手/主机开销,不代表 12 Mbps 空口峰值;测试距离约 0.5 m。

17. 附件

WS8204_测试脚本_20261025.zip

WS8204_测试数据_20261025.zip





关键词: 星闪     模组     WS8204     传输     性能     双向     互传         

共1条 1/1 1 跳转至页

回复

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