CC3200 wifi应用基础——中文教程

时间:2024-04-04 19:28:50
CC3200 wifi应用基础——中文教程

1  CC3200简介
CC3200TI无线连接SimpleLink Wi-Fi和物联网(IoT)解决方案最新推出的一款单片无线MCU,是业界第一个具有内置Wi-FiMCU,是针对物联网应用、集成高性能ARM Cortex-M4的无线MCU。客户能够使用单个集成电路开发整个应用,借助片上Wi-Fi、互联网和强大的安全协议,无需Wi-Fi经验即可实现快速的开发。CC3200是一个完整平台解决方案,其中包括软件、示例应用、工具、用户和编程指南、参考设计以及TI E2E支持社区。CC3200采用易于布局的四方扁平无引线(QFN封装
CC3200硬件概况和嵌入式软件概况如图1.1所示。   
  
CC3200 wifi应用基础——中文教程
1.1  CC3200硬件概况和嵌入式软件概况
CC3200包括应用MCUWi-Fi网络处理器(CC3100)和电源管理3大部分。
应用MCU包含一个运行频率为80MHz的行业标准ARM Cortex-M4内核,包含用于存放代码和数据的内部RAM以及存放启动引导程序和外设驱动程序的ROM,还包含GPIOUARTSPII2CI2S/PCMSD/MMCPWMADC等多种片内外设。
Wi-Fi网络处理器(CC3100)包含一个Wi-Fi片上互联网和一个可完全免除应用MCU处理负担的专用ARM MCUWi-Fi片上互联网包含Wi-Fi射频、基带和具有强大加密引擎的MAC,可以实现支持256位加密的快速安全的互联网连接。Wi-Fi片上互联网还包括嵌入式TCP/IPTLS/SSL协议栈、HTTP服务和多种应用协议。CC3200支持站点、接入点和Wi-Fi直连3种模式,支持WPA2个人和企业安全性以及WPS2
电源管理包括支持宽电源电压范围的集成直流-直流转换器,可以启用低功耗模式(包括睡眠、深睡眠、低功耗深睡眠和休眠等),具有RTC的休眠模式所需电流少于4mA
1.1  应用MCU
CC3200应用MCU的特性如下:
 ARM Cortex-M4内核,运行频率80MHz  内部存储器
    RAM:存放代码和数据,容量多达256KB
    ROM:存放启动引导程序和外设驱动程序,容量为64KB  针对高级快速安全性的硬件加密引擎     AESDES3DES     SHA2MD5      CRC和校验和
 多达27个独立可编程、可复用的通用输入输出(GPIO)引脚  2个通用异步收发器接口(UART  1个串行外设接口(SPI
 1个内部集成电路总线接口(I2C  1个多通道音频串行接口(McASP),支持2I2S通道  1SD/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)接口:ICodeDCode和系统总线接口     存储器和外设位带(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所示,其中包含各种外设在存储器的映像地址。
CC3200 wifi应用基础——中文教程
CC3200 wifi应用基础——中文教程
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上拉或下拉,驱动能力可配置为2mA4mA6mA,也可配置为开漏输出。
 串行异步收发器接口(UART
串行异步收发器接口(UART)具有可编程波特率发生器,允许速度高达3Mbps,标准的异步通信起始位、停止位和奇偶校验位,使用mDMA可以实现高效传输。
 串行外设接口(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,完全免除应用MCUWi-Fi 和互联网协议处理负担  Wi-Fi和互联网协议存放在ROM 
 包含802.11b/g/n射频、基带、MACWi-Fi 驱动和Supplicant  TCP/IP协议栈
    行业标准BSD套接字应用编程接口(API     同时8TCPUDP套接字     同时2TLSSSL套接字
 强大的加密引擎,可以实现支持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所示。
CC3200 wifi应用基础——中文教程
CC3200 wifi应用基础——中文教程
1.3  电源管理
CC3200电源管理的特性如下:
 集成直流-直流转换器,支持宽范围的电源电压     VBAT宽电压模式:2.1V3.6V     预稳压1.85V模式  高级低功耗模式
    休眠(Hibernate):4μA     低功耗深睡眠(LPDS):120μA     RXMCU活动):59mA @ 54 OFDM     TXMCU活动):229mA @ 54 OFDM,最大功率     空闲连接(MCU处于LPDS):695μA @ DTIM = 1
从电源管理的角度看,CC3200的应用MCUWi-Fi网络处理器(CC3100)是独立的,应用MCU运行从外部串行闪存装入的用户应用程序,Wi-Fi网络处理器(CC3100)运行预编程的TCP/IPWi-Fi数据链路层函数。
用户程序控制应用MCU的电源状态,可以有下列4种电源模式:  MCU活动(Active)模式:MCU80MHz主频执行程序
 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
芯片 = LPDSB
芯片 = LPDS MCU休眠模式
不支持
不支持
芯片 = 休眠(D
CC3200 wifi应用基础——中文教程
应用程序中电源模式的使用例子如下:
 设备一直连接到网络,但只发送和接收少量数据,大部分时间连接空闲:使用模式A(接收信标帧)和模式B(等待下一个信标)
 设备不一直连接到网络,而是周期唤醒(例如间隔10分钟)发送数据,大部分时间在模式D(休眠):短暂跳到模式C传输数据
1.4  引脚复用
CC3200广泛使用引脚复用功能,以便在尽可能小的封装内容纳大量的外设。为了实现这种结构,引脚复用使用硬件配置和寄存器控制相结合的方法进行控制。
注意:TI强烈建议使用CC3200引脚复用实用工具PinMux获得需要的引脚配置! 引脚复用需要特别注意下列事项:
 所有I/O引脚支持2mA4mA6mA驱动能力,每个引脚的驱动能力独立配置  所有I/O引脚支持10μA上拉和下拉,默认不**  所有I/O引脚在设备处于休眠状态时保持浮空  VIOVBAT必须始终接在一起
CC3200引脚复用功能参见附录C,外设引脚分配参见附录D