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的休眠模式所需电流少于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) 串行异步收发器接口( 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,完全免除应用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。
|