wifi模块开发 芯片选型对比

Wifi模块开发调研
本文对几款主流的wifi芯片进行对比,包括TI公司的cc3200,乐鑫的esp8266,联发科的mt7681。通过了解它们的特点和开发环境等方面的需求,选取适用于自己使用的芯片来进行物联网wifi模块的开发。
1CC3200
1.1芯片简介
CC3200是TI无线连接SimpleLink Wi-Fi和物联网(IoT)解决方案最新推出的一款Wi-Fi MCU,是业界第一个具有内置Wi-Fi的MCU,是针对物联网应用、集成高性能ARM Cortex-M4的无线MCU。客户能够使
用单个集成电路开发整个应用,借助片上Wi-Fi、互联网和强大的安全协议,无需Wi-Fi经验即可实现快速的开发。CC3200是一个完整平台解决方案,其中包括软件、示例应用、工具、用户和编程指南、参考设计以及TI E2E支持社区。CC3200采用易于布局的四方扁平无引线(QFN)封装。
有人科技的USR-C322模块采用的是TI的CC3200方案,基于ARM Cortex-M4内核,运行频率高达80MHz;超低功耗:低功耗,在网待机低至3.5mA,深度休眠最低25uA;Simplelink 功能:实现一键联入Wi-Fi网络;另外支持自定义网页、websocket、httpd client等功能。
1.2特点
Wi-Fi网络处理器(CC3200)包含一个Wi-Fi片上互联网和一个可完全免除应用MCU处理负担的专用ARM MCU。Wi-Fi片上互联网包含802.11b/g/n射频、基带和具有强大加密引擎的MAC,可以实现支持256位加密的快速安全的互联网连接。Wi-Fi片上互联网还包括嵌入式TCP/IP和TLS/SSL协议栈、HTTP服务器和多种互联网协议。CC3200支持站点、接入点和Wi-Fi直连3种模式,支持WPA2个人和企业安全性以及WPS2。
1.3开发支持
网络墓地官方提供的SDK包含用于CC3200可编程MCU的驱动程序、40个以上的示例应用以及使用该解决方案
苹果削皮机
所需的文档。它还包含闪存编程器,这是一款命令行工具,用于闪存软件并配置网络和软件参数(SSID、接入点通道、网络配置文件等)、系统文件和用户文件(证书、网页等)。
SDK中所有的应用例程均支持CCS开发环境、并且都是不带操作系统的。当然,也有一些例程基于实时操作系统FreeRTOS和TI RTOS,也有一部分支持IAR、GCC开发环境。因此,此款芯片可以在TI的CCS集成开发环境下开发,可以不涉及操作系统,使开发更简单。
2ESP8266
2.1芯片简介
从图中可以看出,芯片内部集成CPU,是32位的处理器,既作为wifi协议处理器,也作为应用处理器,主频支持80MHz和160MHz两种频率,开发者可以编写应用程序下载到芯片,处理器可以运行开发者编写的应用程序,应用程序是使用官方提供的ESP FLASH DOWNLOAD TOOL工具通过UART0烧写到芯片外接的SPI Flash;有一块SRAM,除开运行自带的程序剩余了50k给开发者;带有SDIO接口、SPI接口、GPIO接口、I2C接口,GPIO口有PWM的复用功能,实际还有两个UART口,结构图中没有
给出,UART0支持流控,UART1只有TX功能;芯片内部没有集成Flash,需要外接SPI Flash,当前支持512KB,1024KB,2048KB,4096KB四种大小。
2.2SmartConfig功能
手机上运行ESP-TOUCH软件可以配置ESP8266连接到手机当前连接的路由器,过程是手机先给路由器发送信息包,然后路由器广播这些信息包,ESP8266再从这些信息包提取路由器SSID和Password,从启动配置到ESP8266连接到路由器所花时间在10S以下。
2.3开发环境
乐鑫官方暂时没有像Keil、IAR一样的集成开发环境,不像开发STM32之类的单片机,可以在线调试,它的开发方式和在Linux系统上开发应用程序相似,官方提供了SDK,开发者使用文档编辑器编写程序,如source insight,程序编写好后和SDK一起使用官方提供的编译器编译,编译通过后会生成bin文件,使用官方提供的Flash烧写工具将bin烧写到芯片外接的Flash,芯片启动后则会运行应用程序。
官方提供的编译器需要在Linux系统下运行,如果是Windows系统,需要安装虚拟机,官方提供的方式是在Windows下安装Oracle VM VirtualBox,是免费的虚拟机软件,无需破解。
芯片破解
密钥索引2.4程序开发
官方提供了底层SDK,无需开发者操作寄存器,所有的功能都有相关的函数,官方提供了两个版本的SDK,一是非操作系统的ESP8266NONOS SDK,二是基于FreeRTOS操作系统的ESP8266RTOS SDK;ESP8266NONOS SDK是官方最先推出的,功能比较全,由于SDK中需要运行自带的应用程序,开发者编写的程序需要通过设置事件触发,不能掌握程序的主动权,而ESP8266RTOS SDK是官方后期推出的,功能上会比ESP8266NONOS SDK少一些,SDK中自带的应用程序以任务的形式在运行,与SDK的关联较少,编程较为方便。
3MT7681
3.1芯片介绍
MT7681是2014年6月3日联发科技发布的专为智能家庭(Smart Home)应用而设计的系统单芯片(SoC)解决方案。MT7681主要针对如灯泡、门锁、插座等小型设备,支持802.11n,可轻松为嵌入式设备设计网络服务,整合电源管理单元、低杂讯放大器、射频切换器,所有功能都整合在40针脚的5*5毫米的封装中。其特点是:
-支持Linux平台,完整的协议栈(protocol stack)有助于快速开发应用程序。
-目前功耗最低的Linux平台Wi-Fi SoC,功耗仅为之前产品的60%。
-支持联发科技的Smart Connection智能手机应用程序。
空调外机隔音板3.2Smart Connection
感应太阳能路灯
联发科技的智能手机应用程序Smart Connection是一款卓越的解决方案,从照明灯具、智能电视、智能门锁到其他家电,各种不同的智能家庭设备都可通过Wi-Fi网络在单一接口上实现互相连接。此应用程序支持Android、iOS、Windows及Linux等平台,也支持搭载非联发科技SoC的智能手机。
3.3开发环境
MT7681的开发,属于嵌入式linux的开发,需要使用linux系统,比如Ubuntu/Fedora,搭建交叉编译环境,可以在windows系统下面安装虚拟机,通过在虚拟机上运行linux系统来实现。
4对比与总结
(1)价格方面,esp8266比较有优势,而cc3200价格比较贵,比esp8266贵了不止3倍,mt7681价格处于中间。
(2)性能方面,esp8266性能比较弱,跑不了太复杂运用,mt7681自身有个mcu跑的协议栈,cc3200相对强一点,有专门mcu给用户使用。
(3)开发难度,esp8266屏蔽了部分源代码,提供API,相对开发容易,但是没有提供sock接口;mt7681也屏蔽了部分源码,就是没有mcu的问题,做简单控制可以;而cc3200,好多TI已经提供运用代码,可以很好的学习实例,适合想深入玩wifi的,兼容linux的sock,这点做的很好。
总结,根据目前的需求,需要做产品级别的模块,考虑性能和开发难度,可以选用mt7681,价格适中,性能够用,可以跑linux系统,目前wifi模块的的应用主要是数据透传,完全可以满足需求。
作者:浪迹天涯
时间:2017年3月15日

本文发布于:2024-09-22 17:37:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/335204.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:开发   支持   提供   官方   应用程序   应用   使用   芯片
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议