灰小子的博客

业界第一款内置Wi-Fi单芯片可编程MCU——CC3200LaunchPad评测

灰小子 CC3200LaunchPadSimpleLinkWiFi评测

(原文首发在21ic http://www.21ic.com/evm/evaluate/MCU/201606/680798.htm )

by 灰小子 2016-06-28

一、前言

随着智能家居和物联网的广泛应用,转向智能设备开发和学习的同学越来越多,笔者也是其中一位。做wifi设备我选择使用TI的cc3200,学习工具选择了CC3200 LaunchPad。选择它有很多理由,其中我特别关注的是低功耗、高性能、高易用性和高可靠性等。

二、初见

先给我的CC3200 LaunchPad露个脸,今天它是主角。

包装盒仍然是TI一贯的简洁风格,黑色的盒子上印刷着CC3200 LaunchPad的名称,官方叫它CC3200-LAUNCHPXL。还有三个小火箭,其中的wifi信号图标像极了火箭喷出的气流,活生生三个带有wifi动力的小火箭。代表了CC3200 LaunchPad为wifi产品提供动力(笔者臆想)。

打开包装盒,可以直接看到带防静电袋的开发板和印有CONNECT MORE WITH TI简洁图案的隔断,隔断下面是一个usb数据线和两个跳线帽。

跳线帽那么小的东西也给准备好了,这一点很贴心,很多厂家的开发板现在很少提供数据线了,更别说跳线帽了。

三、板载资源

打开防静电包装袋,就可以看到CC3200 LaunchPad板子了。CC3200 LaunchPad做工非常精致,留出了较多的跳线接口,可以让用户更方便地切换各项功能。

CC3200 LaunchPad开发板上最重要的资源就是CC3200了,它是一款非常优秀和有特色的wifi芯片,它包括三个子系统:

应用微控制器子系统

  • 额外的ARM Cortex-M4 内核,运行频率 80MHz。 与wifi内核部分相对独立,可完全免除 应用 MCU 的处理负担,能胜任较高性能的运算和控制要求。

  • 针对高级快速安全性的硬件加密引擎:AES、DES 、3DES、SHA2、MD5、循环冗余校验 (CRC) 与校验和。多种硬件加密方式保证了应用和通讯的安全性。

  • 具有多种接口:8 位并行摄像头接口、McASP支持两个I2S、SD/MMC 。可进行高级应用扩展。

  • MCU内部外设资源丰富:2个UART 、1个SPI、1个I2C、4个通用定时器、1个看门狗定时器、4个12位ADC和27个GPIO。

Wi-Fi 网络处理器子系统

  • 特有 Wi-Fi Internet-On-a-Chip。

  • 专用 ARM MCU。完全解除 应用 微控制器的 Wi-Fi 和互联网协议处理负担。

  • ROM 中 的 Wi-Fi 以及 互联网协议。

  • 802.11 b/g/n 射频、基带,媒介访问控制 (MAC),Wi-Fi 驱动器和请求方。

  • TCP/IP 堆栈:行业标准 BSD 插槽应用编程接口 (API)、8 个同时 TCP 或 UCP 插槽、2 个同时 TLS 和 SSL 插槽。

  • 针对 TLS 和 SSL 连接的 256 位 AES 加密的快速、安全 Wi-Fi 和互联网连接。

  • 针对自主和快速 Wi-Fi 连接的 SimpleLink 连接管理器。

  • SmartConfig 技术,AP 模式和 WPS2。

电源管理子系统

  • VBAT 宽电压模式:2.1 至 3.6V

  • 支持实时时钟 (RTC) 的休眠:4µA

  • RX 流量(MCU 激活):59 mA@54正交频分复用 (OFDM)

  • TX 流量(MCU 激活):229 mA@54OFDM,最大功率

  • 空闲连接(处于 LPDS 中的 MCU):695 µA @ DTIM = 1

通过上面的性能我们可以看出,CC3200是一款高性能、低功耗、高安全性的面向IOT应用的优秀MCU。得益于有一个额外的M4内核,我们可以像使用普通的M4内核的MCU来使用它,更可以快捷地移植给已有项目到CC3200上,给应用增加wifi功能,从而实现快速的升级产品到IOT应用。

其他板载资源:

  • 使用 FTDI USB接口连接到PC

  • 可通过USB更新闪存

  • 2 个 20 引脚BoosterPack连接器

  • USB供电

  • 可由 2 节 AA 碱性电池供电

  • 通过修改电容器来选择板载天线和 U.FL 连接器

  • 支持 4 线 JTAG 和 2 线 SWD

  • 通过开放式片上调试器 (OpenOCD) 提供 GNU 调试器 (GDB) 支持

  • TMP006红外线温度传感器

  • BMA222三轴数字加速度传感器

四、初体验

CC3200 LaunchPad上的跳线帽全部按照默认的连接,如果已经改变了,可以参照前面第三个图片改过来。把CC3200 LaunchPad通过USB数据线连接到电脑,如果你安装过最新的CCS和CC3200SDK的话,会自动安装驱动程序。连上后红色LED(D7)闪烁四次,然后关闭。后面会经常用到这个红色LED。

这里即使没有成功安装驱动程序也没关系,我们不需要烧写程序, CC3200 LaunchPad上自带的demo程序是包含了四个很有趣的应用。

拿出手机,打开WLAN设置界面,此时可以看到wifi列表中有一个“mysimplelink”开头的无加密的wifi信号,这个就是CC3200 LaunchPad的wifi信号。

用手机连接到这个wifi信号上,然后打开手机浏览器,打开网址: http://mysimplelink.net 。此时会打开Welcom页面,如下图。红色字体显示当前状态是:Offline,意思是CC3200 LaunchPad没有联接到互联网,不影响体验demo程序。

切换到About页面可以看到Versions和MAC Address等信息。

切换到Demos页面,可以看到一个农业应用。当你把页面中的开关状态为On,页面上的喷水装置会喷水,同时CC3200 LaunchPad上的红色LED会闪烁。当开关状态为Off,停止喷水装置停止喷水,红色LED关闭。

第二个应用是洗衣机,可以显示水温和洗衣机的运行状态。当CC3200 LaunchPad静止时,Dryer状态显示为Stopped,当晃动CC3200 LaunchPad,显示状态为Running。

第三个应用是门的安全系统。当开关状态为On,晃动开发板,会给出红色“ALARM!!”的警告。

第四个应用是温度报警。按左右尖头可以设定温度,当前温度超过设定温度时,红色LED将闪烁。

在这个demo程序的其他页面,有对CC3200 LaunchPad的介绍,以及开发资料的链接,大家不用担心找不到资料了。ti考虑的非常贴心。

五、IOT应用

CC3200 LaunchPad是一个面向IOT应用的产品,所以我在选择wifi芯片的时候,非常想体验一下完整的IOT应用。幸运的,经过大量查询,我找到了 https://ti.exosite.com

在进行下一步之前请务必连接好CC3200 LaunchPad到电脑,并用跳线冒短接J15接口的2号引脚,也就是选择SPI FLASH。这里需要正确安装CC3200 LaunchPad的驱动程序,并安装UniFlash软件。驱动程序成功安装后,在电脑设备管理器中可以看到使用的串口号。而在本评测中所使用的CC3200 LaunchPad是连接到了COM11。

提前下载好ExositeCC3200CloudDemo的固件,并全部解压缩到一个文件夹。下载地址:

https://support.exosite.com/hc/en-us/article_attachments/200973290/ExositeCC3200CloudDemo-BETA-20140708.zip

打开UniFlash,点击“File”,选择“Open Configuration”。然后在弹出的对话框中,点“Browse”选择刚才解压缩文件夹内的ExositeCC3200CloudDemo.ucf文件。

点击“打开”后,会出现下图提示。是因为xml数据文件版本太老,点“确定”就可以。

先按照下图步骤先擦除 SPI FLASH芯片。

会出现下图提示,稍等一会就可以。

然后点“Program”烧写向SPI FLASH烧写新的固件。

拔掉J15接口2号引脚上的跳线冒,按复位按键复位开发板。然后手机连接到“mysimplelink”开头的无加密的wifi信号,用手机浏览器打开 http://mysimplelink.net 。打开Status页面,可以看到设备信息,此时记下MAC Address,下面会用到。切换到Profiles页面,选择你家(或办公室)的wifi,选择你的wifi的加密模式(Open、WEP或WPA),然后输入密码(即Security Key),点Add。会弹出“Checking Status。。。”的提示。关闭提示框,可以切换到Status页面看是否联网成功。

也可以打开你的路由器管理页面,看看客户端列表里是否有刚才看到的MAC地址的设备。我的如下图:

烧写固件完毕,我们就可以设置服务器端了。打开 https://ti.exosite.com ,注册一个账号并登陆。在装置页面点右上角“新增装置”。

然后选择CC3200 LaunchPad,点“继续”。

输入刚才记下的MAC Address(不带冒号)和装置名,点“继续”。

然后会出现一个确认页面,点“新增装置”。

在装置页面就可以看到刚刚新增的装置了。

切换到首页,在页面上部的下拉框选择刚才增加的CC3200 LaunchPad了。可惜我的不能显示。不过也不需要太担心,因为有可能是因为浏览器的原因。

切换到资料页面。可以看到设备的信息,里面有“On Time”,这个是CC3200 LaunchPad在线时间,刷新看看有没有变化,数据增大说明CC3200 LaunchPad正常在线。User Button的是SW2按键次数的累计,可以按几次SW2并刷新页面看看计数是否有增加。其他玩法请大家自行摸索。

六、小结

通过体验CC3200 LaunchPad的demo程序和IOT应用,我们可以了解到:

  1. CC3200 LaunchPad真的非常易用,使用非常方便,,板载的资源也非常丰富。

  2. 同时具备低功耗和高性能的CC3200让我们有非常广阔的应用领域。

  3. 丰富的例程,我们甚至可以通过简单修改例程来完成一个IOT应用MCU+wifi部分的开发。

具备那么多的优点,CC3200真的给wifi应用提供了很大助力。相信在不久的将来,学习和使用CC3200来开发IOT应用的朋友会越来越多。

七、资源下载

灰小子
学习者永远停留在过去时,只有思考者才能创造未来时