CC3200 wifi应用基础——中文教程
第
1
章
CC3200
简介
CC3200
是
TI
无线连接
SimpleLink Wi-Fi
和物联网(
IoT
)解决方案最新推出的一款单片无线
MCU
,是业界第一个具有内置
Wi-Fi
的
MCU
,是针对物联网应用、集成高性能
ARM Cortex-M4
的无线
MCU
。客户能够使用单个集成电路开发整个应用,借助片上
Wi-Fi
、互联网和强大的安全协议,无需
Wi-Fi
经验即可实现快速的开发。
CC3200
是一个完整平台解决方案,其中包括软件、示例应用、工具、用户和编程指南、参考设计以及
TI E2E
支持社区。
CC3200
采用易于布局的四方扁平无引线(
QFN
)封装。
CC3200
硬件概况和嵌入式软件概况如图
1.1
所示。
图
1.1 CC3200
硬件概况和嵌入式软件概况
CC3200
包括应用
MCU
、
Wi-Fi
网络处理器(
CC3100
)和电源管理
3
大部分。
应用
MCU
包含一个运行频率为
80MHz
的行业标准
ARM Cortex-M4
内核,包含用于存放代码和数据的内部
RAM
以及存放启动引导程序和外设驱动程序的
ROM
,还包含
GPIO
、
UART
、
SPI
、
I2C
、
I2S/PCM
、
SD/MMC
、
PWM
和
ADC
等多种片内外设。
Wi-Fi
网络处理器(
CC3100
)包含一个
Wi-Fi
片上互联网和一个可完全免除应用
MCU
处理负担的专用
ARM MCU
。
Wi-Fi
片上互联网包含
Wi-Fi
射频、基带和具有强大加密引擎的
MAC
,可以实现支持
256
位加密的快速安全的互联网连接。
Wi-Fi
片上互联网还包括嵌入式
TCP/IP
和
TLS/SSL
协议栈、
HTTP
服务和多种应用协议。
CC3200
支持站点、接入点和
Wi-Fi
直连
3
种模式,支持
WPA2
个人和企业安全性以及
WPS2
。
电源管理包括支持宽电源电压范围的集成直流
-
直流转换器,可以启用低功耗模式(包括睡眠、深睡眠、低功耗深睡眠和休眠等),具有
RTC
的休眠模式所需电流少于
4
m
A
。
1.1
应用
MCU
CC3200
应用
MCU
的特性如下:
●
ARM Cortex-M4
内核,运行频率
80MHz
●
内部存储器
◆
RAM
:存放代码和数据,容量多达
256KB
◆
ROM
:存放启动引导程序和外设驱动程序,容量为
64KB
●
针对高级快速安全性的硬件加密引擎
◆
AES
、
DES
和
3DES
◆
SHA2
和
MD5
◆
CRC
和校验和
●
多达
27
个独立可编程、可复用的通用输入输出(
GPIO
)引脚
●
2
个通用异步收发器接口(
UART
)
●
1
个串行外设接口(
SPI
)
●
1
个内部集成电路总线接口(
I2C
)
●
1
个多通道音频串行接口(
McASP
),支持
2
个
I2S
通道
●
1
个
SD/MMC
接口
●
8
位并行摄像头接口
●
4
个通用定时器(
GPT
),支持
16
位脉冲宽度调制(
PWM
)模式
●
4
通道
12
位模数转换器(
ADC
)
●
32
通道微型直接存储器存取(m
DMA
)
1.1.1 ARM Cortex-M4
高性能
ARM Cortex-M4
提供低成本的平台,能够实现最小的内存需求,减少引脚数和降低功耗,同时提供卓越的计算性能和系统中断响应。
ARM Cortex-M4
的特性如下:
●
卓越的性能
◆
针对嵌入式应用优化的
Thumb
指令集
◆
处理程序和线程模式
◆
进入和退出中断处理程序时自动保存和恢复处理器状态
◆
支持
ARMv6
非对齐访问
●
嵌套向量中断控制器(
NVIC
)与处理器内核的紧密结合实现低延迟中断处理
◆
3-8
位优先级配置
◆
动态重新分配中断优先级
◆
中断优先级分组允许选择中断优先级分组和中断子优先级的数量
◆
支持咬尾和迟到中断,允许没有状态保存和恢复开销的连续中断处理
◆
没有指令开销的处理器状态自动保存和恢复
◆
唤醒中断控制器(
WIC
)提供超低功耗睡眠模式支持
●
总线接口
◆
3
个先进高性能总线(
AHB
)接口:
ICode
、
DCode
和系统总线接口
◆
存储器和外设位带(
Bit-band
)支持,包括原子位带读写操作
●
低成本调试方案
◆
调试可以访问系统中的所有存储器和寄存器
◆
支持串行调试端口(
SW-DP
)和串行
JTAG
调试端口(
SWJ-DP
)
◆
闪存补丁和断点(
FPB
)单元实现代码补丁和断点
1.1.2
存储器
CC3200
应用
MCU
的存储器包括外部存储器和内部存储器。
1
.外部存储器
CC3200
在外部存储器(串行闪存
SFLASH
)中保存特有的文件系统,包括服务包文件、系统文件、配置文件、证书文件、网页文件和用户文件等。
用户可以使用格式化命令
API
分配文件系统的总容量,文件系统的起始地址固定在
SFLASH
的开始。应用
MCU
不能直接访问
SFLASH
,必须通过文件系统访问分配给文件系统的
SFLASH
区域。
文件系统按照下载顺序管理存储文件
SFLASH
块的分配,这意味着系统中特定文件的位置不固定。存储在
SFLASH
中的文件使用直观的文件名而不是文件标识。文件系统
API
使用纯文本,文件加密和解密用户不可见,加密文件只能通过文件系统进行访问。
文件系统中所有文件类型可以支持多达
128
个文件,文件存储的最小单元是
4KB
,带有安全保障和安全选项的加密文件存储的最小单元是
8KB
,最大的文件大小是
16MB
。
2
.内部存储器
内部存储器包括
RAM
(静态存储器
SRAM
)和
ROM
。
⑴
SRAM
CC3200
包含片上
SRAM
供应用程序下载和执行,应用程序开发者必须共享
SRAM
用于代码和数据。微型直接存储器存取(m
DMA
)控制器可以在
SRAM
和外设间传输数据。
CC3200 ROM
中拥有丰富的外设驱动程序,可以节省
SRAM
空间。
CC3200
提供多达
256KB
零等待状态内部
SRAM
,能够在低功耗深睡眠(
LPDS
)模式下有选择地保留。
SRAM
在存储器映像中的偏移地址是
0x2000 0000
。
⑵
ROM
CC3200
的内部零等待状态
ROM
的起始地址是
0x0000 0000
,编程有下列组件:
●
启动引导程序(
Bootloader
)
●
外设驱动程序(
DriverLib
)
启动引导程序用作串行闪存为空时的初始引导程序,外设驱动程序为片内外设提供启动引导能力,实现片内外设的初始化和控制功能,支持查询或中断操作。
ROM
中的外设驱动
API
可以被应用程序调用,以减少闪存的需求,多出的闪存可以用于其他目的。
⑶
存储器映像
CC3200
存储器映像如表
1.1
所示,其中包含各种外设在存储器的映像地址。
5
1.1.3
片内外设
CC3200
支持下列片内外设接口和外设:
●
通用输入输出接口(
GPIO
)
●
串行异步收发器接口(
UART
)
●
串行外设接口(
SPI
)
●
内部集成电路总线接口(
I2C
)
●
多通道音频串行接口(
McASP
)
●
SD/MMC
接口
●
并行摄像头接口
●
通用定时器(
GPT
)
●
模数转换器(
ADC
)
●
微型直接存储器存取(m
DMA
)
⑴
通用输入输出接口(
GPIO
)
通用输入输出接口(
GPIO
)分为
4
组,每组
8
个。根据外设用途的不同,
GPIO
支持
27
个可编程
GPIO
引脚,每个
GPIO
引脚可配置为
10
μ
A
上拉或下拉,驱动能力可配置为
2mA
、
4mA
或
6mA
,也可配置为开漏输出。
⑵
串行异步收发器接口(
UART
)
串行异步收发器接口(
UART
)具有可编程波特率发生器,允许速度高达
3Mbps
,标准的异步通信起始位、停止位和奇偶校验位,使用m
DMA
可以实现高效传输。
⑶
串行外设接口(
SPI
)
串行外设接口(
SPI
)可以配置为主设备或从设备,主设备串行时钟的频率、极性和相位可编程,片选和外部时钟的定时控制可编程,第一个发送字前的延时可编程。
⑷
内部集成电路总线接口(
I2C
)
内部集成电路总线接口(
I2C
)通过两根串行线可以在单个接口上连接多种
I2C
外设,可以工作在标准模式(
100Kbps
)或快速模式(
400Kbps
)。
⑸
多通道音频串行接口(
McASP
)
多通道音频串行接口
McASP
作为通用音频串行接口,为多通道音频应用优化,支持通过两个数据引脚进行立体声传输,发送和接收部分可同步工作。
⑹
SD/MMC
接口
SD/MMC
接口用于连接大容量
SD
卡存储器,支持
1
位数据模式。
⑺
并行摄像头接口
并行摄像头接口可以连接各种外部图像传感器,图像数据存放在
FIFO
中,可以产生
DMA
请求,数据宽度是
8
位。
⑻
通用定时器(
GPT
)
通用定时器(
GPT
)可以对输入引脚上的外部事件进行计数或计时,并可以产生脉冲宽度调制(
PWM
)信号从输出引脚上输出。
⑼
模数转换器(
ADC
)
模数转换器(
ADC
)的主要功能是将连续的模拟信号转化为离散的数字信号,以便于微控制器进行数据处理
6
⑽
微型直接存储器存取(m
DMA
)
微型直接存储器存取(m
DMA
)将
Cortex-M4
从数据传输任务中解脱出来,实现外设和存储器之间或者存储器和存储器之间的批量数据传输。
1.2 Wi-Fi
网络处理器(
CC3100
)
CC3200 Wi-Fi
网络处理器(
CC3100
)可以提供快速安全的
WLAN
和因特网连接,支持站点、接入点和
Wi-Fi
直连
3
种模式,特性如下:
●
特有
Wi-Fi
片上互联网(
Internet-On-a-Chip
)
●
专用
ARM MCU
,完全免除应用
MCU
的
Wi-Fi
和互联网协议处理负担
●
Wi-Fi
和互联网协议存放在
ROM
中
●
包含
802.11b/g/n
射频、基带、
MAC
、
Wi-Fi
驱动和
Supplicant
●
TCP/IP
协议栈
◆
行业标准
BSD
套接字应用编程接口(
API
)
◆
同时
8
个
TCP
或
UDP
套接字
◆
同时
2
个
TLS
和
SSL
套接字
●
强大的加密引擎,可以实现支持
256
位
AES
加密的快速安全的互联网连接
●
站点(
STA
)、接入点(
AP
)和
Wi-Fi
直连(
P2P
)模式
●
WPA2
个人和企业安全性
●
用于自主和快速
Wi-Fi
连接的
SimpleLink
连接管理器
●
用于简单灵活
Wi-Fi
配置的智能配置(
SmartConfig
)技术、
AP
模式和
WPS2
●
发射功率
◆
18.0dBm @ 1 DSSS
(直序扩频)
◆
14.5dBm @ 54 OFDM
(正交频分复用)
●
接收灵敏度
◆
-95.7dBm @ 1 DSSS
(直序扩频)
◆
-74.0dBm @ 54 OFDM
(正交频分复用)
Wi-Fi
网络处理器(
CC3100
)支持的主要特性如表
1.2
所示。
1.3
电源管理
CC3200
电源管理的特性如下:
●
集成直流
-
直流转换器,支持宽范围的电源电压
◆
VBAT
宽电压模式:
2.1V
至
3.6V
◆
预稳压
1.85V
模式
●
高级低功耗模式
◆
休眠(
Hibernate
):
4
μ
A
◆
低功耗深睡眠(
LPDS
):
120
μ
A
◆
RX
(
MCU
活动):
59mA @ 54 OFDM
◆
TX
(
MCU
活动):
229mA @ 54 OFDM
,最大功率
◆
空闲连接(
MCU
处于
LPDS
):
695
μ
A @ DTIM = 1
从电源管理的角度看,
CC3200
的应用
MCU
和
Wi-Fi
网络处理器(
CC3100
)是独立的,应用
MCU
运行从外部串行闪存装入的用户应用程序,
Wi-Fi
网络处理器(
CC3100
)运行预编程的
TCP/IP
和
Wi-Fi
数据链路层函数。
用户程序控制应用
MCU
的电源状态,可以有下列
4
种电源模式:
●
MCU
活动(
Active
)模式:
MCU
以
80MHz
主频执行程序
●
MCU
睡眠(
Sleep
)模式:
MCU
时钟被禁止,设备状态被保留。睡眠模式提供即时唤醒功能,可以通过内部定时器、
GPIO
引脚或外设唤醒
●
MCU
低功耗深睡眠(
LPDS
)模式:状态信息丢失,只有某些
MCU
特定的寄存器配置被保留。
MCU
可以通过内部定时器或
GPIO0-6
上的外部事件唤醒,唤醒时间小于
3ms
。存储器的某些部分可以被保留,保留存储器的数量可配置,用户可以选择保存代码或
MCU
特定的设置
●
MCU
休眠(
Hibernate
)模式:最低功耗模式,只有一小部分直接由输入电源供电的逻辑被保留,实时时钟(
RTC
)保持运行,
MCU
可以通过
RTC
超时或
GPIO0-6
上的外部事件唤醒,唤醒时间比
LPDS
模式长
15ms
加上从串行闪存加载应用程序的时间
Wi-Fi
网络处理器(
CC3100
)可以按照自己的模式活动或低功耗深睡眠,当没有网络活动时,
Wi-Fi
网络处理器(
CC3100
)大部分时间睡眠,只有接收信标时唤醒。
Wi-Fi
网络处理器(
CC3100
)有下列
6
种电源模式:
●
网络活动模式(处理低
3
层):发送或接收
IP
协议数据包
●
网络活动模式(处理低
2
层):发送或接收
MAC
管理帧,不需要
IP
处理
●
网络活动监听模式:特殊的功耗优化活动模式,用于接收信标帧,不支持其他帧
●
网络连接空闲模式:实现
802.11
节能操作的复合模式。网络处理器(
CC3100
)在信标间自动进入
LPDS
模式,接收信标时进入活动监听模式,通过信标确定接入点是否有数据传送,如果没有,网络处理器(
CC3100
)返回
LPDS
模式
●
网络低功耗深睡眠(
LPDS
)模式:信标间的低功耗状态,状态由网络处理器(
CC3100
)保留,允许快速唤醒
●
网络禁用模式:网络处理器(
CC3100
)不可用
应用
MCU
和网络处理器(
CC3100
)的操作应确保设备大部分时间停留在最低功耗模式,以延长电池寿命。
CC3200
重要的片级电源模式如表
1.3
所示。
表
1.3
片级电源模式
电源状态
网络活动模式
网络
LPDS
模式
网络禁用模式
MCU
活动模式
芯片
=
活动(
C
)
芯片
=
活动
芯片
=
活动
MCU LPDS
模式
芯片
=
活动(
A
)
芯片
= LPDS
(
B
)
芯片
= LPDS MCU
休眠模式
不支持
不支持
芯片
=
休眠(
D
)
应用程序中电源模式的使用例子如下:
●
设备一直连接到网络,但只发送和接收少量数据,大部分时间连接空闲:使用模式
A
(接收信标帧)和模式
B
(等待下一个信标)
●
设备不一直连接到网络,而是周期唤醒(例如间隔
10
分钟)发送数据,大部分时间在模式
D
(休眠):短暂跳到模式
C
传输数据
1.4
引脚复用
CC3200
广泛使用引脚复用功能,以便在尽可能小的封装内容纳大量的外设。为了实现这种结构,引脚复用使用硬件配置和寄存器控制相结合的方法进行控制。
注意:
TI
强烈建议使用
CC3200
引脚复用实用工具
PinMux
获得需要的引脚配置!
引脚复用需要特别注意下列事项:
●
所有
I/O
引脚支持
2mA
、
4mA
或
6mA
驱动能力,每个引脚的驱动能力独立配置
●
所有
I/O
引脚支持
10
μ
A
上拉和下拉,默认不激活
●
所有
I/O
引脚在设备处于休眠状态时保持浮空
●
VIO
和
VBAT
必须始终接在一起
CC3200
引脚复用功能参见附录
C
,外设引脚分配参见附录
D
。
|