打印

通过兆易系列MCU的SPI接口实现高速WIFI无线通信的方案分享

[复制链接]
7733|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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|  楼主 | 2021-11-7 20:48 | 只看该作者
本帖最后由 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/





使用特权

评论回复
板凳
两只袜子| | 2021-11-9 16:35 | 只看该作者
感谢楼主分享

使用特权

评论回复
地板
guijial511| | 2021-11-9 21:09 | 只看该作者
realtek的片子应用方案

使用特权

评论回复
5
yangxiaor520| | 2021-11-10 08:25 | 只看该作者
这个是2.4G还是双模的?

使用特权

评论回复
6
Japloya| | 2021-11-24 17:39 | 只看该作者
搜索不到啊

使用特权

评论回复
7
charleydeng|  楼主 | 2022-2-5 17:16 | 只看该作者
本帖最后由 charleydeng 于 2022-8-3 10:37 编辑
guijial511 发表于 2021-11-9 21:09
realtek的片子应用方案

不是realtek的片子,是基于国产芯片ESP8266自定制开发的,这个高速WIFI模组已经批量部署了5-6年了。

主要用在一些 使用 相对低端低性能单片机、也没有复杂的USB/SDIO等接口,或者不希望在单片机上做太复杂的集成,或资源占用,象访问普通的SPI从机设备那样,就可以实现 高速高性能可靠通信 的场景。

使用特权

评论回复
8
charleydeng|  楼主 | 2022-2-5 17:17 | 只看该作者

谢谢关注。 在某宝搜索 “SPI 高速 多链接”

使用特权

评论回复
9
charleydeng|  楼主 | 2022-2-5 17:37 | 只看该作者
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的成熟方案能早日普照中低端处理器应用场合

使用特权

评论回复
10
xdqfc| | 2022-2-7 10:06 | 只看该作者
串口接模块用习惯了,不想折腾了。

使用特权

评论回复
11
charleydeng|  楼主 | 2022-8-3 10:39 | 只看该作者
本帖最后由 charleydeng 于 2022-8-3 11:00 编辑
xdqfc 发表于 2022-2-7 10:06
串口接模块用习惯了,不想折腾了。

关键是看应用场景。如果你对速度稳定性等要求不高,加上自己努力一下也可以做出稳定的产品集成,那么,优先选择串口型的WIFI模组,当然是正确的选择。遇到类似这样需求的客户,我们也经常建议他们优先选用串口型的。类似,我从家到学校骑一辆自行车就可以满足了,没有必要特地去买一架飞机来上学。
关于串口型WIFI模组,这里还有一篇博文,供参考,有空有兴趣时可以看看,也可能会有助于自己规避和用好串口型的WIFI模组:
何谓”透传“? UART串口WIFI模块做”透传“的目的及其局限性和规避
https://blog.csdn.net/kennychow/article/details/104806119

使用特权

评论回复
12
charleydeng|  楼主 | 2023-9-4 08:51 | 只看该作者
欢迎大家选型参考

使用特权

评论回复
13
Undshing| | 2023-9-27 22:41 | 只看该作者
有现成的方案不?

使用特权

评论回复
14
AloneKaven| | 2023-9-29 22:32 | 只看该作者
支持WiFi6吗

使用特权

评论回复
15
charleydeng|  楼主 | 2023-11-28 21:16 | 只看该作者
欢迎大家选型参考

使用特权

评论回复
16
中国龙芯CDX| | 2023-11-29 08:18 | 只看该作者
楼主有详细的源码方案分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

371

帖子

5

粉丝