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)封装。
图1.1 CC3200硬件概况和嵌入式软件概况
应用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的休眠模式所需电流少于4mA。
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 通道微型直接存储器存取(mDMA)
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用于代码和数据。微型直接存储器存取(mDMA)控制器可以在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)
● 微型直接存储器存取(mDMA) ⑴ 通用输入输出接口(GPIO)
通用输入输出接口(GPIO)分为4组,每组8个。根据外设用途的不同,GPIO支持27个可编程GPIO引脚,每个GPIO引脚可配置为10μA上拉或下拉,驱动能力可配置为2mA、4mA或6mA,也可配置为开漏输出。
⑵ 串行异步收发器接口(UART)
⑶ 串行外设接口(SPI)
串行外设接口(SPI)可以配置为主设备或从设备,主设备串行时钟的频率、极性和相位可编程,片选和外部时钟的定时控制可编程,第一个发送字前的延时可编程。
⑷ 内部集成电路总线接口(I2C)
内部集成电路总线接口(I2C)通过两根串行线可以在单个接口上连接多种I2C外设,可以工作在标准模式(100Kbps)或快速模式(400Kbps)。
⑸ 多通道音频串行接口(McASP)
多通道音频串行接口McASP作为通用音频串行接口,为多通道音频应用优化,支持通过两个数据引脚进行立体声传输,发送和接收部分可同步工作。
⑹ SD/MMC接口
SD/MMC接口用于连接大容量SD卡存储器,支持1位数据模式。 ⑺ 并行摄像头接口
并行摄像头接口可以连接各种外部图像传感器,图像数据存放在FIFO中,可以产生DMA请求,数据宽度是8位。
⑻ 通用定时器(GPT)
通用定时器(GPT)可以对输入引脚上的外部事件进行计数或计时,并可以产生脉冲宽度调制(PWM)信号从输出引脚上输出。
⑼ 模数转换器(ADC)
模数转换器(ADC)的主要功能是将连续的模拟信号转化为离散的数字信号,以便于微控制器进行数据处理
6
⑽ 微型直接存储器存取(mDMA)
微型直接存储器存取(mDMA)将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睡眠(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(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。
|