当前位置: 首页 > 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.gsyq.cn/news/1544456.html

相关文章:

  • Vertex AI Creative Studio:构建企业级生成式媒体平台的技术架构实践
  • i.MX50嵌入式系统移植实战:从硬件设计到Linux内核启动全解析
  • 从零开始构建专业PDF:printpdf如何让Rust开发者爱上文档生成
  • 禅道项目管理软件完整安装指南:从零开始部署敏捷项目管理平台
  • 金刚石压砧材料革命:CVD单晶金刚石的优势与制备挑战
  • 想开发微信小程序?成都这几家知名开发公司,是否值得你选择?
  • 复杂视觉场景的理解与即时反馈测试
  • 如何为BitTorrent下载加速:5个技巧使用公共追踪器列表
  • 2026年职场视频总结趋势掌握3个实用技巧,让汇报效率翻倍
  • 静音工业吸尘器Top3推荐:2026年6月哪个品牌好? - 工业清洁测评社
  • 2026年南昌K金回收推荐:5家透明报价值得信赖的回收机构 - 本地品牌推荐
  • 改造WiFi智能灯泡搭建禁书图书馆:突破存储限制的探索之旅
  • SM2与SM4国密算法实战指南:从原理到代码实现与问题排查
  • 2026昆明美术艺考机构深度适配指南:罗丹艺术培训学校推荐及2家专业机构解析 - 云南美术头条
  • 浏览器缓存之【基础键值存储】:Local storage 和 Session storage
  • Skill Hub 中国
  • 内容创作者为什么适合使用库拉 ssooai.cn 这类多模型平台
  • 国际都市的AI搜索博弈——2026年上海企业GEO服务商合规与实效双维测评 - GEO优化
  • 计算机毕业设计之jsp电商网站的设计与实现
  • LLM-as-Judge 的 6 种偏置与防御
  • 天津餐厅传菜效率低怎么办?2026年这5家传菜电梯厂家推荐 - 本地品牌推荐
  • 2026 西安卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月西安最新深度调研方案) - 防水资讯
  • MC33907/33908评估板硬件配置、调试与故障排查实战指南
  • 绕过NVIDIA开发者注册:cuDNN历史版本直链下载指南
  • 2026年北京GEO优化服务商代理加盟排名推荐丨北京GEO服务商代理加盟选型哪家靠谱推荐? - 子柔传媒
  • SolidWorks URDF转换插件深度解析:从CAD到机器人仿真的技术架构与实现
  • AI+软件测试第二篇0616
  • 2026 昆明卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月昆明最新深度调研方案) - 防水资讯
  • 2026 银川卫生间漏水怎么处理?墙面发潮脱皮,楼下漏水,卫生间漏水免砸砖专业防水公司推荐 (2026 年 6 月银川最新深度调研方案) - 防水资讯
  • Java毕设项目: 基于 Spring Boot 的房屋资源交易数据管理系统的设计与实现 基于 Spring Boot 的房产交易咨询与售后管理系统(源码+文档,讲解、调试运行,定制等)