写在前面:
在一个项目中使用了TI的CC3200芯片。总体而言,对于CC3200这款芯片的感觉还是可以的,当然也有许多令人很头晕的地方,比如:一方面,TI官方手册非常分散,不利于系统性的查看;另一方面,手册中的一些讲解很宽泛,也许对于一直沿用TI产品的人来说较好入手,然而对于初次使用来说,还是很麻烦的。基于这两个原因,在此开一个系列的博文用来总结开发文档中的一些重要知识以及个人在项目开发中调试CC3200这款芯片积累的一些经验。希望这一系列博文,一者可以,有助于使用这款芯片的网友们在一些问题上有所参考,少犯错误;二者,也算是对于项目的一个总结。
1. CC3200 简介
具体介绍,可访问TI官网。
1.1 描述
针对物联网(IoT)应用的SimpleLink CC3200器件是一款集成了高性能ARM Cortex-M4 MCU的无线MCU,从而使得客户能够用单个集成电路(IC)开发整个应用。借助片上Wi-Fi,互联网和稳健耐用的安全协议,无需之前的 Wi-Fi 经验即可实现更开速的开发。CC3200器件是一个完整平台解决方案,其中包括软件、示例应用、工具、用户和编程指南、参考设计以及TI E2E支持社区。 此器件采用易于布局布线的四方扁平无引线 (QFN) 封装。
此应用MCU子系统包含一个运行频率为80MHz的行业标准ARM Cortex-M4内核。 此器件包含多种外设,其中包括一个快速并行摄像头接口,I2S,SD/MMC,UART,SPI,I2C和四通道模数转换器(ADC)。CC3200系列包括用于代码和数据的灵活嵌入式RAM,以及具有外部串行闪存引导加载程序和外设驱动程序的ROM。
Wi-Fi网络处理器子系统特有一个Wi-Fi片上互联网并且包含一个额外的专用ARM MCU,此MCU可完全免除应用MCU的处理负担。 这个子系统包含802.11 b/g/n射频、基带和具有强大加密引擎的MAC,以实现支持256位加密的快速、安全互联网连接。 CC3200器件支持基站、访问点和Wi-Fi直接模式。 此器件还支持WPA2个人和企业安全性以及WPS2.0。 Wi-Fi片上互联网包括嵌入式TCP/IP和TLS/SSL堆栈,HTTP服务器和多个互联网协议。
1.2 特性
CC3200 SimpleLink Wi-Fi由应用微控制器,Wi-Fi 网络处理器和电源管理子系统组成。
1.2.1 应用微控制器子系统
ARM Cortex-M4 内核,运行频率 80MHz
嵌入式存储器。RAM(高达 256KB),外部串行闪存引导加载程序 和 ROM中的外设驱动程序
32 通道直接内存访问 (DMA)
针对高级快速安全性的硬件加密引擎。包括:AES,DES和3DES,SHA2 和 MD5 循环冗余校验 (CRC) 与校验和
8 位并行摄像头接口
1 个多通道音频串口 (McASP) 接口,支持 2 个 I2S 通道
1 个 SD/MMC 接口
2 个通用异步收发器 (UART)
1 个串行外设接口 (SPI)
1 个内部集成电路 (I2C)
4 个通用定时器,支持 16 位脉宽调制 (PWM) 模式
1 个看门狗定时器
4 通道 12 位模数转换器 (ADC)
多达 27 个独立可编程、复用通用输入输出 (GPIO) 引脚
1.2.2 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 和互联网连接
基站、访问点 (AP) 和 Wi-Fi Direct 模式
WPA2 个人和企业安全性
针对自主和快速 Wi-Fi 连接的 SimpleLink 连接管理器
SmartConfig技术,AP模式和 WPS2技术用于实现简单且灵活的 Wi-Fi 服务开通
Tx 功率。18.0 dBm @ 1 DSSS ,14.5 dBm @ 54 OFDM
RX 灵敏度。-95.7 dBm @ 1 DSSS , -74.0 dBm @ 54 OFDM
1.2.3 电源管理子系统
集成直流-直流转换器支持宽范围的电源电压:
(1)VBAT 宽电压模式:2.1 至 3.6V
(2)预稳压 1.85V 模式
高级低功耗模式
(1)支持实时时钟 (RTC) 的休眠:4μA
(2)低功耗深度睡眠 (LPDS):120μA
(3)RX流量(MCU 激活):59 mA@54正交频分复用 (OFDM)
(4)TX流量(MCU 激活):229 mA@54OFDM,最大功率
(5)空闲连接(处于 LPDS 中的 MCU):695 μA @ DTIM = 1
1.2.4 时钟源
(1)具有内部振荡器的 40.0MHz 晶振
(2)32.768kHz 晶振或外部 RTC 时钟
1.2.5 封装和工作温度
(1)0.5mm 焊球间距,64 引脚,9mm x 9mm 四方扁平无引线 (QFN)
(2)环境温度范围:-40℃ 至 85℃
笔者说:
以上是CC3200的基本特性。事实上,在初期选型时,我们不仅仅需要考虑其基本功能是否满足设计需求,更多的是要考虑其功能背后的具体性能,比如:如果用于数据传输,需要考虑CC3200作为WIFI芯片,其支持TCP或者UDP通讯协议的最大速率;如果用于低功耗设计,需要考虑其睡眠状态时的功耗问题等等。这些性能参数非常重要,因为其决定了我们设计的根基。关于CC3200的WIFI特性,需要查看其CC3200-SDK_Release_Note.pdf,这本书处于CC3200SDK包中,后面会讲到。
2. 开发环境及烧录
2.1 编译环境
“工欲善其事,必先利其器”,开发环境的搭建是极为重要的。CC3200芯片开发支持以下三种开发环境:Code Composer Studio (CCS),IAR Workbench,GCC。
Code Composer Studio (CCS):基于Eclipse,TI自主开发平台,如果之前开发过DSP,使用过这个平台,那么建议个人选择。同时,由于是TI自己的平台,所以其支持要好不少;但是,对于新出的几款芯片(如:MSP432等)仍然有待提高。
IAR Workbench:不用说,非常经典,个人推荐使用,而且在源码编译中,个人发现IAR下的源码生成的bin镜像要比其它两个平台下编译出来的要小不少。
GCC:对于Linux平台下的开发者来说很有用,个人也非常喜欢,尤其是那熟悉的黑窗口;而且东西是免费的,在windows环境下,也可以通过安装cygwin工具来使用。
2.2 SDK安装
安装CC3200开发SDK包是开发必须的,其SDK目前有三个版本,截止目前,最新的是1.0.0.10.0,可以在TI官网上下载,博文便是基于最新的版本讲解,当然一般下载两个安装包,其中ServicePack用于程序启动的引导(非常重要),目录如下:

安装很简单,双击并一直next,当然在安装的过程中可以更改安装目录,但是对于这种特殊的用于软件开发的SDK包来说,不建议随便更改目录,同时,也不建议安装到中文目录,因为一旦出错,再重新安装是很麻烦的。
SDK安装完成后,打开 *\CC3200SDK_1.1.0\cc3200-sdk,便会看到如下的内容:

对于目录下的文档的详细介绍,可以查看docs目录下的CC3200-SDK_Release_Note.pdf这也是前面提到的CC3200芯片WIFI主要特性介绍的手册,这个手册中有详细介绍,比如:TCP/UDP最大传输速率。如下图:

2.3 程序编译及下载
关于CC3200程序的编译,可以查看上面目录docs下的CC3200-Getting_Started_Guide.Pdf,其中有三种平台编译举例,非常详细。对于芯片程序的下载,此处要讲一下,由于CC3200芯片需要使用外置的SPI FLASH,所以引导程序启动需要TI内部固化了的BootLoader,当然,只是使用的话可以不用关心,下载工具可以是任意的USB转串口(如:PL2303、CH340等),如下图所示,配置好COM口后,便可以进行下载操作:

第一步骤格式化即:Format;
第二步骤下载 BootLoader 即 ServicePack Programming,上面提到的 CC31xx_CC32xx_ServicePack-1.0.0.10.0-windows-installer.exe 安装后的目录下的 bin 镜像;(如果需要配置芯片内置网页,还有第四,第五步骤,后面再讲)最后,下载程序的 bin 镜像。
其中第一二步骤只需要初次下载时操作,以后直接进行最后一步便可以了。
笔者说:
关于CC3200的一些操作文档的博文,在我看来,如果只是将官方手册中的内容拷贝出来让读者看到,那是没有任何意义的。官方的操作文档讲解的很详细的时候,博文做的仅仅是需要告诉读者这个操作在哪本手册中,然后让读者去自己看,同时,博文要建立层层递进的理解思路,引导读者去不断深入。在我看来,思路的清晰远远重要于问题本身的解决。
评论 (0)
暂无评论,快来抢沙发吧!