当前位置: 首页 > news >正文

[EASY-EAl-Nano-TB性能测试]WI-FI性能测试操作流程

1.SDIO

SDIO(Secure Digital Input Output)是一种用于连接输入输出设备的接口标准,最初被设计为SD卡的一种扩展,允许设备通过SD卡插槽连接额外的外设。

SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是【主机(HOST)端】,另一端是【设备端(DEVICE)】,采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解析HOST的命令,就可以同HOST进行通信了,SDIO的HOST可以连接多个DEVICE。(市面上常见的WI-FI模组,通常也会支持SDIO或USB协议。但本文仅介绍采用SDIO协议的WI-FI模组)

1.1硬件简介

SDIO的信号传输模式有【SPI】、【1-bit模式】、【4-bit模式】三种。SDIO的每个脚位在不同信号模式下的定义如下图:

在SPI模式中:第8脚位被当成中断信号。其它脚位的功能和通信协定与SD记忆卡的标准规范一样。

在SDIO总线定义中:DAT1信号线复用为中断线。在SDIO的1-BIT模式下DAT0用来传输数据,DAT1用作中断线;在SDIO的4BIT模式下DAT0-DAT3用来传输数据,其中DAT1复用作中断线。

SD总线协议按版本划分:目前分为SDIO2.0和SDIO3.0。

1.2SDIO2.0

SDIO2.0按照速度可以划分为:低速模式(Low-Speed)、全速模式(Full-Speed)、高速模式(High-Speed)。

1.2.1 低速模式(Low-Speed)

支持模式:SPI、1-bit SD模式

时钟频率范围:0~400kHz

理论上限带宽:1(bit)*400k(Hz)=400kbit/s=50kByte/s

1.2.2 全速模式(Full-Speed)

支持模式:SPI、1-bit SD模式、4-bit SD模式

时钟频率范围:0~25MHz

理论上限带宽:4(bit)*25M(Hz)=100Mbit/s=12.5MByte/s

1.2.3 高速模式(High-Speed)

支持模式:SPI、1-bit SD模式、4-bit SD模式

时钟频率范围:0~50MHz

理论上限带宽:4(bit)*50M(Hz)=200Mbit/s=25MByte/s

1.3SDIO3.0

SDIO3.0支持的模式上完全兼容SDIO2.0协议标准,但值得注意的是SDIO3.0采用的电平是1.8V。而在通信速度方面,又在SDIO2.0的高速模式(High-Speed)基础上,做了进一步的提升,叫做Ultra-High-Speed,缩写UHS。那么这个UHS目前也发展了3代标准规范,它们分别为:UHS-I、UHS-II、UHS-III。

在UHS-I的规范里,也向下兼容了SDIO2.0中的某些模式,比如:UHS-SDR12和UHS-SDR25。

SDR12:就是SDIO2.0的全速模式,12代表着12.5MByte/s

SDR25:就是SDIO2.0的高速模式,25代表着25MByte/s

以下是UHS-I规范里所有的标准:

* SDR(Single Data Rate):单倍数据速率,指时钟的每个周期传输一次数据。

* DDR(Double Data Rate):双倍数据速率,指时钟的每个周期传输两次次数据。

SDR理论上限带宽计算公式(以SDR104为例):1*4(bit)*208M(Hz)=832Mbit/s=104MByte/s

DDR理论上限带宽计算公式(以DDR50为例):2*4(bit)*50M(Hz)=400Mbit/s=50MByte/s

若要启用主控芯片的SDIO3.0协议,在【设备树配置】的过程中,有以下要点需要注意一下:

1.4协议特性

有关Linux系统的SDIO驱动,对于支持SDIO协议外部设备,采取的是【自动协商速率】的管理策略。因此对应某一路SDIO的工作速率是多少,应当【以最终协商出来的速率为准】。需采取下方命令进行查看核实:

cat /sys/kernel/debug/mmcX/ios

X:要改成具体需要查看的SDIO资源(如:mmc0、mmc2等)

根据公式可以确认该路SDIO工作速率为:1*4*198Mbit/s = 792Mbit/s = 99MByte/s

2.WIFI性能评估

2.1测试工具及关键指标

2.1.1 测试工具

常用的wifi测试工具有:iperf3、iw

安装命令如下:

sudo apt-get update && sudo apt-get install iperf3 iw -y

2.1.2 关键指标

一般要确认关键指标有:频段、信号强度、wifi协议版本、wifi协商速率

【频段】:2.4G频段、5G频段

【信号强度】:屏蔽房信号强度rssi一般在-35dBm以上,办公室环境-52dBm

【wifi协议版本】,对应如下表:

【wifi协商速率】:分上行/下行。下行是rx;上行是tx。这个速度,与协议标准(如802.11ax)、信道数量(单信道-20MHz,2信道-40MHz,…,8信道-160MHz)、Symbol、GI以及空间流的数量(1/2/3空间流)有关系。比如:采用了802.11ax标准,双信道,单空间流,GI为800ns的理论速率为286.7Mbps。具体可以通过这个网站去查询表格:https://mcsindex.com

如果想【快速知道】wifi模组的理论速率,可【直接】查模组规格书。

2.22.4G频段WI-FI

2.2.1 确认SDIO总线速率

在【开发板】上执行下方命令:

cat /sys/kernel/debug/mmc2/ios

计算结果:1*4*50Mbit/s = 200Mbit/s = 12.5MByte/s。也就是说明接在该路SDIO总线上的WI-FI模组吞吐量不可能超过200Mbit/s。

2.2.2 确认WI-FI关键指标

在【开发板】上执行下方命令:

iw wlan0 link

freq(频段):2472,即工作在2.4GHz频段

signal(信号强度):-41dBm

tx bitrate(下行自协商速率):114.7Mbit/s,一般要跑过iperf3打流,才会有这个协商速度,自协商速率要等于规格书里的那个理论值才算正常。

2.2.3 吞吐量测试操作

在PC(最好是直接的Linux系统,不是虚拟机)上运行一个iperf3服务端,命令如下所示:

iperf3 -s

然后在【开发板】上用以下命令运行一个客户端,进行吞吐量测试:

iperf3 -c 192.168.3.52 -u -b 0 -i 1 -t 0

参数解析:

-b n:n==0表示采用极限速率测试,n=1000m表示每秒以1000m的数据量去发包。

-i n:n==1表示发送间隔为1s一次。

-t n:n==0表示测试总时间为无穷大(Ctrl+C停止),n为具体值表示总共测试n秒。

最后在【服务端】查看实际吞吐量和丢包率:

*注:在办公室环境测试,同在2.4GHz频段的干扰设备较多,丢包率会相对较高。若要降低丢包率,建议把设备放入信号屏蔽房进行测试。

2.35G频段WI-FI

2.3.1 确认SDIO总线速率

在【开发板】上执行下方命令:

cat /sys/kernel/debug/mmc2/ios

计算结果:1*4*198Mbit/s = 792Mbit/s = 99MByte/s。也就是说明接在该路SDIO总线上的WI-FI模组吞吐量不可能超过792Mbit/s。

2.3.2 确认WI-FI关键指标

在【开发板】上执行下方命令:

iw wlan0 link

freq(频段):5220,即工作在5GHz频段

signal(信号强度):-54dBm

HE-xxx(Wi-Fi版本):Wi-Fi 6,对应协议标准:802.11ax

rx bitrate(下行自协商速率):243.7Mbit/s,一般要跑过iperf3打流,才会有这个协商速度,自协商速率要等于规格书里的那个理论值才算正常。

tx bitrate(下行自协商速率):154.8Mbit/s,一般要跑过iperf3打流,才会有这个协商速度,自协商速率要等于规格书里的那个理论值才算正常。

2.3.3 吞吐量测试操作

在PC(最好是直接的Linux系统,不是虚拟机)上运行一个iperf3服务端,命令如下所示:

iperf3 -s

然后在【开发板】上用以下命令运行一个客户端,进行吞吐量测试:

iperf3 -c 192.168.3.52 -u -b 0 -i 1 -t 0

参数解析:

-b n:n==0表示采用极限速率测试,n=1000m表示每秒以1000m的数据量去发包。

-i n:n==1表示发送间隔为1s一次。

-t n:n==0表示测试总时间为无穷大(Ctrl+C停止),n为具体值表示总共测试n秒。

如果要用多线程进行测试,也可以再在命令末尾增加-P参数,如:

iperf3 -c 192.168.3.52 -u -b 0 -i 1 -t 0 -P 8 ##8线程运行

最后在【服务端】查看实际吞吐量和丢包率:

http://www.jsqmd.com/news/1032563/

相关文章:

  • 7-Zip文件压缩工具:开源压缩技术的全面解析与实战指南
  • C++ 西门子PLC数据监控
  • 豫章师范学院怎么样?百年师范底蕴下的应用型人才培养新路(豫章师范学院是几本?) - 寻茫精选
  • Vertex AI Creative Studio:构建企业级生成式媒体平台的技术架构实践
  • 2026年 南通农村自建房工程队推荐:匠心施工与品质交付的双优之选 - 品牌发掘
  • 如何5分钟实现Obsidian插件汉化:Obsidian-i18n终极使用指南
  • LaMa傅里叶卷积图像修复系统:企业级架构设计与生产部署技术选型指南
  • Windows HEIF图片查看转换全攻略:3个技巧解决iPhone照片兼容难题
  • i.MX50嵌入式系统移植实战:从硬件设计到Linux内核启动全解析
  • HarmonyOS基础(一):系统概述与开发准备
  • 《程序员修炼之道》阅读笔记:做一名务实的程序员
  • 【大连理工大学主办】第十届交通工程与运输系统国际学术会议(ICTETS 2026)
  • G-Helper:华硕笔记本的轻量级硬件控制解决方案
  • 昆明擅长封存调取病历证据,医疗纠纷靠谱律师推荐|2026实测避坑指南 - GEO真实测评
  • 大模型伦理审查流程与工具
  • 如何用Baserow轻松管理文件上传:从图片到文档的一站式解决方案
  • 杭州婚纱照选片避坑指南:选片环节最容易超预算的3个陷阱 - eee888
  • Portkey AI Gateway终极指南:如何用1个API连接1600+大语言模型
  • 禅道项目管理软件完整安装指南:从零开始部署敏捷项目管理平台
  • 从零开始构建专业PDF:printpdf如何让Rust开发者爱上文档生成
  • Jangow: 1.0.1靶机
  • 国内合规使用Gemini 3.1 Pro的三种可行路径
  • ZigBee OTA升级实战:PDM持久化与Flash存储管理详解
  • 2026 年 Java 深度全景:从语言基石到云原生与 AI 工程化,一门语言如何持续统治产业
  • 昆明社区医院诊疗侵权,就近高效医疗纠纷律师汇总(2026本地实测版) - GEO真实测评
  • 屏幕熄灭之后——AI纪元,人还剩什么?
  • 5分钟掌握智慧树学习加速器:自动连播+倍速播放完整指南
  • B2B企业抖音短视频获客哪家强?2026年服务商选择指南与深度解析
  • 2026年海门自建别墅施工队TOP10榜单:匠心工艺与口碑实力深度解析 - 品牌发掘
  • 杭州拍婚纱照怕精修按张卖?说说我在茉摄影的真实经历 - eee888