4、TI CC32xx/CC31xx系列详解:CC3200、CC3220、CC3120、CC3135参数对比、SimpleLink平台、网络协议栈

好,咱们今天聊聊TI的CC32xx和CC31xx系列。说实话,这两个系列在物联网圈子里名气不小。我最早接触CC3200的时候,还是2015年那会儿,当时觉得这芯片真香——一个片子搞定WiFi和MCU,省了多少布板功夫。

但后来我发现,很多人选型时容易搞混。CC31xx和CC32xx到底差在哪?CC3220比CC3200强在哪?CC3135又是什么定位?嗯,今天咱们一次性说清楚。

4.1 系列定位:SimpleLink平台

TI的SimpleLink平台,说白了就是一套统一的软件开发环境。你写好的代码,可以在CC32xx、CC26xx(BLE)、CC13xx(Sub-1G)之间移植。我个人习惯是,先在这个平台上把原型跑通,再根据具体需求选芯片。

CC31xx系列是网络处理器,它不带MCU。你需要外挂一个主控,比如STM32或者MSP432。CC31xx负责跑WiFi协议栈,你的主控通过SPI或UART跟它通信。

CC32xx系列是单芯片方案,内部集成了ARM Cortex-M4内核。你直接在它上面写应用代码,不需要额外的主控。说白了,CC32xx = MCU + WiFi。

核心区别一句话:CC31xx是WiFi协处理器,CC32xx是带WiFi的MCU。

4.2 四款芯片参数对比

我整理了一张表,把CC3200、CC3220、CC3120、CC3135的关键参数列出来。你选型时直接对着看就行。

参数 CC3200 CC3220 CC3120 CC3135
类型 单芯片(MCU+WiFi) 单芯片(MCU+WiFi) 网络处理器 网络处理器
MCU内核 ARM Cortex-M4 @ 80MHz ARM Cortex-M4 @ 80MHz 无(需外挂) 无(需外挂)
RAM 256KB 256KB + 1MB 外部串行Flash
WiFi标准 802.11 b/g/n 802.11 b/g/n 802.11 b/g/n 802.11 a/b/g/n
工作频段 2.4GHz 2.4GHz 2.4GHz 2.4GHz + 5GHz
安全引擎 有(硬件加密加速器) 有(WPA3支持)
网络协议栈 TCP/IP + TLS 1.2 TCP/IP + TLS 1.2/1.3 TCP/IP + TLS 1.2 TCP/IP + TLS 1.2/1.3
特色功能 入门级,性价比高 安全启动、加密存储 低功耗,适合电池设备 双频、WiFi Aware、Mesh

你看这张表,CC3220比CC3200多了安全引擎。我在做智能门锁项目时,客户要求必须支持安全启动和加密存储,那CC3200就不行了,得上CC3220。你想想看,门锁被破解了可不是闹着玩的。

4.3 CC3200:经典入门款

CC3200是TI的第一代WiFi MCU。它集成了Cortex-M4内核,主频80MHz,256KB RAM。说实话,这个RAM在今天看来有点紧张。你跑个HTTP服务器,再开几个socket,内存就快见底了。

但它的优势是便宜,而且生态成熟。网上能找到大量参考设计和代码。我建议新手入门可以从CC3200 LaunchPad开始玩,几十块钱一块板子,跑通TCP通信也就一下午的事。

我的经验:CC3200的ADC精度一般,只有12位。如果你需要采集高精度模拟信号,建议外挂一个ADC芯片,别指望它内部的。

4.4 CC3220:安全升级版

CC3220是CC3200的升级版。它多了什么?安全引擎。这个安全引擎支持硬件加密加速、安全启动、加密存储。说白了,你的固件和密钥可以安全地存放在芯片里,别人读不出来。

CC3220还支持1MB的外部串行Flash。你可能会问,为什么不是内部Flash?嗯,TI的设计思路是,把Flash放在外部,成本更低,容量也更灵活。但要注意,外部Flash的读写速度比内部慢,而且容易被物理攻击。所以CC3220的安全引擎专门保护这片外部Flash。

我记得有个做工业网关的客户,要求设备必须通过PSA Level 2认证。我直接推荐了CC3220,因为它内置的安全特性正好满足要求。

4.5 CC3120:纯网络协处理器

CC3120不带MCU,它就是个WiFi模块。你的主控通过SPI或UART跟它通信。它的优势是低功耗。在休眠模式下,CC3120的电流可以低到几微安。这对电池供电的设备来说太重要了。

我做过一个温湿度传感器项目,用CC3120配合MSP430。MSP430负责采集数据,CC3120负责联网。平时CC3120深度睡眠,每隔10分钟醒来一次上传数据。一节CR2032电池撑了两年多。

避坑指南:我曾经在CC3120上踩过一个坑——它的SPI通信速率最高只有20MHz。如果你主控的SPI时钟设得太高,通信会不稳定。记得在初始化时把SPI时钟降到20MHz以下。

4.6 CC3135:双频旗舰

CC3135是CC31xx系列里最强的。它支持双频(2.4GHz + 5GHz),还支持WiFi Aware和Mesh网络。5GHz频段的好处是干扰少,速度快。你想想看,现在2.4GHz频段有多拥挤?蓝牙、Zigbee、微波炉都在抢信道。

CC3135还支持WPA3安全协议。WPA3比WPA2更安全,能防止暴力破解。虽然目前WPA3的普及率还不高,但未来的趋势肯定是往这个方向走。我建议新项目直接上CC3135,省得以后升级麻烦。

另外,CC3135支持WiFi Aware,也就是设备之间可以直接发现和通信,不需要经过路由器。这个功能在物联网场景里很有用,比如智能家居设备之间的联动。

4.7 网络协议栈:TI的NWP

TI的WiFi芯片内部有一个网络处理器(NWP),专门跑网络协议栈。你不需要在MCU上跑lwIP或者FreeRTOS+TCP,NWP帮你把TCP/IP、TLS、HTTP这些都处理好了。

你通过API调用就行了。比如你想建立一个TCP连接,代码大概是这样:

// 初始化SimpleLink
sl_Start(0, 0, 0);

// 连接WiFi
sl_WlanConnect("MyWiFi", strlen("MyWiFi"), NULL, &connectParams, 0);

// 创建TCP socket
SlSockAddrIn_t addr;
addr.sin_family = SL_AF_INET;
addr.sin_port = sl_Htons(8080);
addr.sin_addr.s_addr = sl_Htonl(0);

SdSock = sl_Socket(SL_AF_INET, SL_SOCK_STREAM, 0);
sl_Connect(SdSock, (SlSockAddr_t *)&addr, sizeof(addr));

// 发送数据
sl_Send(SdSock, buffer, len, 0);

你看,代码很简洁。NWP帮你处理了底层的WiFi连接、IP分配、TCP重传这些脏活累活。你只需要关心应用层逻辑。

注意:NWP的协议栈是闭源的,你没法修改它。但TI提供了丰富的配置选项,比如你可以设置TCP窗口大小、TLS证书、DHCP超时时间等。我个人习惯是把这些参数在初始化时一次性配好,避免运行时动态调整。

4.8 选型建议

最后,我根据项目类型给点选型建议:

  • 低成本、简单应用:选CC3200。比如智能插座、LED灯控。
  • 需要安全特性:选CC3220。比如门锁、支付终端。
  • 电池供电、低功耗:选CC3120 + 低功耗MCU。比如传感器节点。
  • 高性能、双频、未来兼容:选CC3135。比如网关、摄像头。

嗯,今天就聊到这。下一章咱们讲TI的CC26xx系列,也就是蓝牙芯片。到时候再对比一下CC26xx和CC32xx的差异。