通过兆易系列MCU的SPI接口实现高速WIFI无线通信的方案分享
本帖最后由 charleydeng 于 2022-8-3 10:34 编辑【前言】
在国产替代大战略下,兆易创新的GD32系列单片机在各个领域获得了越来越多的认可。支持国产,继在STM32系列单片机上基于普通的单片机SPI接口,拓展实现了高速WIFI的集成和通信验证与批量部署后,我们在GD32系列单片机上,也成功地实现了这一点,并在同主频或架构下进行了对比,发现GD32系列单片机支持实现的SPI通信效率和所获得的高速WIFI有效吞吐速度及其稳定性,与STM32系列单片机效果完全相当,完全可以放心替代,实现高速高可靠通信。
采用SPI接口的好处是,(1)既可以象SDIO/USB接口那样通过提升主机接口的速度来提高了整个系统的通信速度,(2)又可以象UART串口那样集成简单、占用资源少(不必象USB/SDIO/PCI等接口,需要集成复杂的协议栈或操作系统),(3)SPI接口在单片机上比SDIO和USB接口更常见更标配,选型范围更方便。 -- SPI接口的WIFI模组可以理解成 是“类似几十倍提速后的UART串口型WIFI模块"。
-------------------------------------------------------------------------
ALK8266高速WIFI模组,实测有效吞吐速度超过兆字节每秒!
抖音视频 : https://v.douyin.com/Ftj8vMD/
本帖最后由 charleydeng 于 2022-8-3 10:36 编辑
ALK8266高速WIFI模组 SPI接口 带WEB网页 音视频传输产品化验证
(在某宝搜索 “SPI 高速 多链接”里面有更进一步的详细介绍,比较技术化)
1. 有效通信速度快,效率高,通信实时性好
1.1 “实测的”“有效”吞吐速度高,超过M字节每秒(MBytes/s),所以可用来传输音视频或大量数据
1.2 准实时性收发,连续发包之间的间隔可在ms级或us级,可适应一些对传输性实时性有要求的场合。
2. 稳定可靠不丢包,长时间通信不掉线
2.1 测试条件:普通办公室环境实测
2.2 测试速度:速度稳定在兆字节每秒(MBytes/s)以上
2.3 长时间运行测试:持续运行30天,不掉线、传输不停止/不卡死
2.4 丢包测试:TCP通信持续测试过5小时以上,不丢包、不多包,不丢字节、不多多字节,收发方数据完全一样。
测试场景包括:(1)TCPUDP抓包软件单纯发送, 模块单纯接收
(2)TCPUDP抓包软件单纯接收, 模块单纯发送
(3)TCPUDP抓包软件同时发收, 模块同时收发
(4)两个WIFI模块之间互相对发对收
3. 功能全面,使用灵活,使用场合适应面广
3.1 灵活实用的无线通信
3.1.1 模块支持 工作站STA, 热点AP 以及 STA+AP 混合模式,无论是否存在第三方热点,都可实现通信
3.1.2 支持UDP,TCP客户端,TCP服务器,灵活方便
3.1.3 UDP通信支持广播、组播以及单播,灵活高效
3.1.4 支持多链接,每个链接独立随意配置,实用的多通道高速通信
3.1.5 支持多客户端,模组作为TCP服务器可以同时和多个客户端通信
3.1.6 支持大块数据阵发发送,适合一些文件等大块数据传输需求的场合 3.1.7 支持SSL通信,适合对数据通信安全有要求的场合,包括不限于HTTPS/MQTT等场合
3.2 内嵌WEB服务器,操作更灵活和便捷
3.2.1 无需安装APP,直接通过常见的浏览器操作
3.2.2 普通智能手机或电脑均可直接操作
3.2.3 支持“自动弹出网页”功能
3.2.4 可通过网页直接配网、配置热点、建立和查询链接通道信息等操作
3.3 配网方式灵活多样方便
3.3.1 WEB网页配网:勿需安装APP,直接输入,简单方便,受限条件少
3.3.2 智能配网:SmartConfig/SmartLink, 微信Airkiss扫一扫;
-特色 提供配网进展灯闪烁样式,提高智能配网操作方便性。
3.3.3 直接配网:串口AT指令、SPI接口API函数 直接输入
3.4 内嵌RSA加密和签名算法
3.4.1 可作为加密芯片使用,支持单片机固件的防复制
3.5 支持有意义的低功耗
3.5.1 确保有用发射功耗足够强传输距离足够远的前提下的低功耗机制
3.5.2 支持休眠,自动唤醒或手动唤醒
3.5.3 深度休眠电流低于1mA
4. 封装灵活、尺寸小巧
4.1 整孔和半孔(邮票孔)一体化设计
4.2 兼容插件方式或贴片装配方式
4.3 大小和一枚1角硬币相当
5. 常见通用的SPI单片机主机接口,集成简单,占用单片机资源少
5.1 主机接口为标准的SPI从,适配绝大多数的常见单片机,单片机选型范围广
- 硬件接线简单,只需要标准的SPI总线管脚,无需额外的UART串口
- 按照普通的SPI从机方式对模块进行读写,实现单片机与模块的配置查询以及传输通信
5.2 模块上已集成了TCPIP协议栈,
- 单片机无需再集成相关协议栈或操作系统,
- 因此集成简单,占用单片机资源少,且通信效率也更高
6. 提供单片机例程包、集成说明等资料文档,和技术支持
6.1 单片机例程包都经过实际测试和验证
6.2 集成说明文档和开发使用技巧,都是基于开发经验和客户反馈总结编写,非简单的协议复制
6.3 可提供目前市场上主流的单片机例程包,包括但不限于:
- STM32系列(如F1/F2/F3/F4/F7 H7 L1/L4)
- Nuvoton新塘 NUC123xx系列、M45x系列、等等
- NXP LPC17xx系列、LPC55Sxx系列、i.MX RT10xx系列、原Freescale K60, K27/28系列、
- C8051系列、
- TI MSP430系列、C2000/C5000(如TMS320F28335)
- Nordic nRF52x系列
- 兆易GD32系列 <<<<<-----
- 雅特力AT32系列
- 国民技术N32系列
- 灵动MM32系列
- 小华半导体HC32系列
- 乐升半导体LT768系列
- 等
在某宝搜索 “SPI 高速 多链接” 里面有更进一步的详细介绍,很技术化。
这里有一个STM32单片机通过ALK8266WIFI的测速视频,演示了通过ALK8266WIFI模组发送和接收的实测速度和不丢包情况,供您参考。总时长大约9分钟,总流量大约100多兆字节,所以观看时注意相关流量:
抖音 : https://v.douyin.com/Ftj8vMD/
感谢楼主分享 realtek的片子应用方案 这个是2.4G还是双模的? 搜索不到啊 本帖最后由 charleydeng 于 2022-8-3 10:37 编辑
guijial511 发表于 2021-11-9 21:09
realtek的片子应用方案
不是realtek的片子,是基于国产芯片ESP8266自定制开发的,这个高速WIFI模组已经批量部署了5-6年了。
主要用在一些 使用 相对低端低性能单片机、也没有复杂的USB/SDIO等接口,或者不希望在单片机上做太复杂的集成,或资源占用,象访问普通的SPI从机设备那样,就可以实现 高速高性能可靠通信 的场景。
Japloya 发表于 2021-11-24 17:39
搜索不到啊
谢谢关注。 在某宝搜索 “SPI 高速 多链接” yangxiaor520 发表于 2021-11-10 08:25
这个是2.4G还是双模的?
这个模组目前仍是2.4G的,WIFI4,支持802.11bgn。
目前WIFI6/WIFI6E的网卡和路由器也都有出来开始普及,有效吞吐速度可以高达30-60兆字节每秒。但是那些芯片的接口似乎主要都是PCIe之类的复杂接口,暂时不太适配常见的中低端性能的普通的单片机的场景。
不过我们也可以这样想一想:即使出现了一款WIFI6/WIFI6E的方案,支持普通MCU的常见接口(诸如SPI等等),目前这些普通的单片机自身的处理性能和总线速度,能适配带动30-60兆字节每秒的速度吗? 所以,WIFI6/WIFI6E的技术,如果真要走向中低端的物联网单片机嵌入式系统市场,估计这些单片机都会尴尬地成为短板。
因此,当前接下来一段时间,WIFI6/WIFI6E估计一时难以在目前的这些中低端MCU上得到普及,除非接受整体性能降级。类似现在很多串口型WIFI模组,本身2.4G WIFI的速度够快上兆字节每秒,可是受限于UART的波特率瓶颈,而导致速度一般只有几K或几十K字节每秒。
此外,虽然WIFI6/WIFI6E是未来的方向,但是,WIFI4太成功了,目前WIFI4的网络部署依然是主流,所以,接下来一段时期内,在嵌入式系统领域,至少中低端领域,WIFI4应该还会有市场吧。这里,有点像4G和5G的关系。
个人浅见,仅供探讨,也希望真正高效的WIFI6/WIFI6E的成熟方案能早日普照中低端处理器应用场合{:smile:}。 串口接模块用习惯了,不想折腾了。{:lol:}{:lol:}
本帖最后由 charleydeng 于 2022-8-3 11:00 编辑
xdqfc 发表于 2022-2-7 10:06
串口接模块用习惯了,不想折腾了。
关键是看应用场景。如果你对速度稳定性等要求不高,加上自己努力一下也可以做出稳定的产品集成,那么,优先选择串口型的WIFI模组,当然是正确的选择。遇到类似这样需求的客户,我们也经常建议他们优先选用串口型的。类似,我从家到学校骑一辆自行车就可以满足了,没有必要特地去买一架飞机来上学。{:titter:}
关于串口型WIFI模组,这里还有一篇博文,供参考,有空有兴趣时可以看看,也可能会有助于自己规避和用好串口型的WIFI模组:
何谓”透传“? UART串口WIFI模块做”透传“的目的及其局限性和规避
https://blog.csdn.net/kennychow/article/details/104806119
欢迎大家选型参考 有现成的方案不? 支持WiFi6吗 欢迎大家选型参考 楼主有详细的源码方案分享
页:
[1]