最近在选一颗低功耗蓝牙芯片做防丢器,朋友直接甩过来一句“去看看杰理AW33N吧,便宜大碗”。结果我一搜,发现有AW332A、AW333A、AW336A、AW338A好几个型号摆在那里,论坛里的资料东一榔头西一棒子,愣是没人把这几个兄弟放在一起捋清楚。干脆我自己把能找到的公开资料、SDK说明和实际跑过的工程撸了一遍,写一份能直接抄作业的AW33N BLE 6.0芯片选型指南。
先说结论:杰理AW33N并不是某一颗芯片,而是一个面向物联网、低功耗外设、Beacon、智能家居传感器这类场景的BLE 6.0家族。真正决定你选哪颗的,不是单纯看谁GPIO多、谁内存大,而是你的应用侧重点、烧录量产方式、以及固件后续升级空间。这篇文章我把选型逻辑、几个型号的差异、烧录工具自制和MAC地址相关的坑一次性讲透,适合正在选型或者已经入了杰理坑的硬件工程师、独立开发者。
1. 为什么我突然盯上杰理AW33N这个家族
1.1 一颗料的价格账就能让人心动
做BLE产品选型,大部分工程师第一反应是Nordic、Dialog、泰凌微、奉加这些名字。它们确实生态成熟、资料多,但等你去问价、等货期的时候就知道了,中小批量项目的成本压力相当大。杰理在蓝牙音频市场摸爬滚打这么多年,把芯片价格打下来是出了名的,AW33N这个物联网BLE系列延续了同样的路子。
我拿自己最近一个防丢器项目举例,BOM成本里主控芯片的预算之前锁死在2.5元以内,用某些进口芯片根本谈不下来,而杰理这颗料的方案整体算下来能省出大概一个PCB天线加滤波器的成本。对出货量几千、几万的消费电子产品来说,这个优势非常直接。
1.2 AW33N在杰理产品线里的位置
杰理目前的产品线很宽,大家比较熟悉的是AC692N、AC695N、AC700N这些蓝牙音频SoC,用在音箱、耳机上。AW33N则更偏向于IoT化、轻量化的BLE 6.0芯片,它不强调音频播放能力,重点放在低功耗、多GPIO控制、丰富外设接口、以及灵活的一拖多组网场景。
从命名上也能看出大概:AW后面前两位数字是产品子系列,后缀字母A代表某个封装或内存等级的细分版本。AW332A、AW333A、AW336A、AW338A这四颗都是把BLE 6.0作为卖点的同族芯片,区别主要体现在Flash/RAM容量、GPIO和接口外设、功耗控制细节以及封装大小上。选型时把这些差异理解清楚,后面做原理图、画PCB、调功耗都会顺利很多。
1.3 这篇指南按什么逻辑来写
我不会只丢一张参数表让你自己看,那个没意义。我按三个步骤来组织:先搞清楚AW33N这批芯片共同的底子,也就是内核、内存、射频架构;再针对四颗型号逐一看差异和定位;最后结合应用场景、烧录量产、MAC地址这些落地问题给出建议。这样你读完可以直接对着自己的项目需求做判断,而不是被一堆纸面参数绕晕。
2. 先看懂这些芯片的底子:内核、内存与射频架构
2.1 内核是个什么水平
AW33N系列在内核层面并不是追求极致算力的产品,而是走“够用、低功耗、外设丰富”的路子。它用的是低功耗MCU核心,官方SDK把底层寄存器封装得比较干净,开发时主要用C语言面对SDK框架写应用层,不需要像传统单片机那样抠寄存器到痛苦。
做BLE芯片选型时,内核的绝对性能不重要,关键看三件事:中断响应快不快、睡眠唤醒快不快、以及协议栈跑起来之后还有多少余量给应用代码。AW33N这套家族的定位决定了它适合跑中小规模的GATT服务、键鼠HID、传感器采集、Beacon广播这类负载,不适合跑复杂算法比如本地语音识别、视频流处理。如果你需要跑音频降噪、神经网络推理,那应该找杰理的AC系列而不是AW33N。
2.2 内存和存储的配合方式
AW33N系列普遍采用“RAM相对够用、Flash分代码区和数据区”的设计思路。BLE协议栈本身会吃掉一部分RAM,用于连接管理、GATT表、缓存和蓝牙协议栈数据交换缓存。应用层需要动态分配内存时,如果RAM太小,很容易出现连接不稳定、广播启动失败、数据吞吐上不去的问题。
Flash也很有讲究。除了存放固件代码,还需要划分出:
- 协议栈参数区
- MAC地址存储区
- 用户数据存储区
- OTA升级临时区
所以选型时不能只看“标称多大Flash”,还要看SDK默认分区表是否满足你的升级策略。如果你要做OTA升级,那么Flash里必须预留至少一个备份区,所需容量往往比应用程序代码大很多。这也是我建议大家在AW336A、AW338A这个等级上做OTA产品的原因,低端型号的Flash空间捉襟见肘。
2.3 射频链路和BLE 6.0的适配问题
AW33N系列宣传的BLE 6.0,准确说是指它在蓝牙核心规范兼容性上做到了比较新的版本规格,并在协议栈里支持了相应特性。BLE 6.0带来的很多能力,比如更灵活的广播扩展、信道探测、更高数据吞吐效率,对物联网产品来说不是“立刻全用上”,而是意味着更长的产品生命周期和更好的手机兼容性。
实际硬件上,芯片射频前端已经集成了巴伦匹配和部分滤波电路,外围只需要按参考设计放一颗晶振、少数几个电容电感就行。画PCB时要注意天线净空区和阻抗匹配,这部分对新手来说是最容易翻车的地方。杰理官方参考设计里天线匹配电路一般做成π型网络,预留了调参数的位置,非常实用,抄作业就行。
3. AW332A / AW333A / AW336A / AW338A 对照:后缀里的配置密码
3.1 四个型号的宏观定位差异
虽然都是AW33N家族,但这四颗芯片在杰理内部对应的是不同项目档位。我实际看下来,可以这样概括:
- AW332A:轻量型,面向简单Beacon、标签、小批量的传感节点。
- AW333A:主流型,兼顾GPIO数量和功耗,适合大多智能家居传感器。
- AW336A:资源型,适合带OTA、复杂外设、一拖多组网的场景。
- AW338A:最强型,IO和存储都给得更足,适合需要同时管理多个传感器的中控设备。
这里的“资源”不只是硬件参数,还包括SDK里能开的协议栈功能。杰理的SDK里不少功能是按芯片等级裁剪的,如果你在低端芯片上强行开高级功能,编译可能过不了,即便过了,运行也会不稳。
3.2 关键参数对比表
下面这张表是我根据公开资料和实际使用经验整理的,不同批次和固件版本可能略有差异,量产前务必以官方Datasheet和SDK头文件为准。
| 对比项 | AW332A | AW333A | AW336A | AW338A |
|---|---|---|---|---|
| 定位 | 轻量Beacon/标签 | 主流传感器/遥控器 | 复杂物联网节点 | 多功能中控/桥接 |
| Flash空间 | 相对小 | 中等 | 较大 | 最大 |
| RAM空间 | 相对小 | 中等 | 较大 | 更大 |
| GPIO数量 | 少 | 中等 | 多 | 最多 |
| 常见外设 | UART/I2C/PWM/ADC | 增加SPI等 | 外设更完整 | 外设最丰富 |
| 典型封装 | 小封装 | 中封装 | 中/大封装 | 大封装 |
| 适合OTA | 不太建议 | 视固件大小 | 适合 | 最适合 |
| 应用成本 | 最低 | 适中 | 偏高 | 最高 |
这里特别提醒一句:数字上AW338A最大,但价格也最高。如果你的项目只需要一个周期广播的防丢标签,用AW338A不仅浪费物料成本,PCB面积和Layout难度也会跟着增加。选型不是选最贵的,也不是选最便宜的,而是选“刚好够用且有余量”的。
3.3 AW332A:轻量级的边界在哪里
AW332A适合连接关系简单、数据量小、长时间不动的设备。比如一次性Beacon、学生卡、铭牌、冷链温度记录仪。因为它Flash和RAM都比较紧凑,意味着你没法塞入特别复杂的应用逻辑,也没法做完整的OTA双区升级。
做这类产品时,我的建议是固件里只保留必要的广播包和连接配置,读取传感器数据后直接通过Notification或Write上报,不做本地缓存和处理。另外,广播间隔可以拉到100ms以上,连接间隔放宽,这样平均功耗能压到很低。AW332A在这个定位上的优势就是便宜、外围少、代码简单。
3.4 AW333A:最值得主流项目考虑的“甜点”型号
如果我的项目只要跑一个简单的GATT服务、接两三个传感器、偶尔做做OTA,AW333A就是很舒服的中间档。它的GPIO和外设足够覆盖遥控器、温湿度计、门磁、人体红外传感器、智能灯泡控制器这些常见品类。
我做过一个基于类似档位芯片的智能门磁,用了三路GPIO分别接干簧管、LED状态灯和唤醒按键,一路I2C接温湿度传感器,还剩下两个GPIO用于调试打印和自检。整个工程跑起来非常从容,存储空间还剩不少。所以对大多数IoT小产品,AW333A反而是我推荐优先级最高的型号,成本和资源平衡得最好。
3.5 AW336A:给OTA和复杂外设留足余地
AW336A在Flash/RAM上做了明显提升,这带来的直接好处是可以做标准的OTA升级,并且可以把GATT服务设计得更复杂,比如多从机连接、大量自定义服务、高频率数据交互。
如果你在做蓝牙网关的从节点、带显示屏的交互设备、需要记录多条日志的采集器,AW336A这种资源等级会更合适。我用它跑过一个带历史曲线显示的小设备,应用层使用了简单的环形缓冲区来记录1万条采样数据,Flash空间依然够用。这套思路在AW333A上就要谨慎很多,因为很容易写满Flash导致升级失败。
3.6 AW338A:面向“多任务并发”的最高配选型
AW338A的真正强项不是单线程跑得快,而是够多的引脚和更大的内存能同时管理更多外设。如果你的设备要同时接多个I2C传感器、一组按键矩阵、一块小屏、还要保持蓝牙连接稳定,AW338A能够明显降低硬件设计难度。
它适合的产品有这么几类:智能家居中控面板、会议Room提醒器、多按键宏键盘、带丰富外设的调试工具、以及作为“一拖多”场景里的主节点设备。选它的时候,GPIO复用分配要认真规划,虽然引脚多,但很多引脚被内部外设占用,实际可用数量还是要看具体的封装和SDK管脚定义表。
4. 从实际产品反推:你的应用到底适合哪一颗
4.1 场景对应表
只看参数选型是新手容易犯的错,我更喜欢从产品工作模式倒推。
| 应用场景 | 推荐型号 | 原因 |
|---|---|---|
| 单次广播的防丢标签/BLE铭牌 | AW332A | 逻辑简单,成本最低 |
| 温湿度计、门磁、人体传感器 | AW333A | 外设数量和功耗控制刚好 |
| 智能遥控器、HID键鼠 | AW333A/AW336A | 需要可靠的HID连接和较大存储 |
| 带OTA升级的电子价签 | AW336A | 双区升级需要足够Flash |
| 多传感器中控、网关子节点 | AW338A | IO数量和内存够大 |
| 开发者评估平台/通用蓝牙适配器 | AW336A/AW338A | 方便调试各种协议和服务 |
4.2 功耗与电池寿命的估算方法
选芯片时大家都会看“休眠电流几个微安”,但实际产品功耗是个系统问题,不只是芯片的事。外围电路有没有漏电、GPIO是否悬空、DC-DC还是LDO供电、天线匹配是否好,都会影响整机功耗。
我自己做电池供电设备时,会先画一张功耗预算表:休眠电流、唤醒电流、广播电流、连接电流、每个事件的持续时间,然后按一天内的事件次数做积分估算。AW33N系列在深度睡眠下能做到很低的电流,但前提是外部传感器也要有对应的睡眠控制,不能只让芯片睡,传感器还在傻等唤醒。
4.3 代码工程量的现实考虑
很多人忽略了一个问题:低端型号虽然便宜,但如果存储空间卡得太紧,后续每加一个功能都提心吊胆,这种隐性开发成本比芯片差价高得多。我通常是这样的原则:
- 原型验证阶段,用资源更充足的AW336A或AW338A开发,先把功能跑通。
- 定型后如果要量产降成本,再评估能不能把代码迁移到AW333A甚至AW332A。
这样虽然多一次移植工作,但至少不会在项目中期发现内存不够而要推翻架构。在SDK里,这四个型号的API风格很接近,迁移时主要关注外设映射和内存分区的差异,工作量可控。
5. 烧录、调试与量产:强制下载工具与MAC地址的坑
5.1 用STC15F104复刻强制下载工具的可行性
很多开发者会遇到一个很现实的问题:杰理原厂烧录器不一定随时在手边,有些型号的芯片第一次烧录时又需要进入强制下载模式。网上已经有爱好者讨论过用STC15F104这颗MCU来复刻一个简易的强制下载工具,我实际验证后觉得思路完全可行,这里分享下原理。
STC15F104本身是一颗很便宜、无需外部晶振的8051内核MCU,可以用来做USB转串口和时序控制的中间层。它的作用是:
- 模拟串口数据线,连接AW33N芯片的下载串口引脚。
- 通过两个GPIO控制电源和复位脚,在正确的时间点给目标芯片上电并拉低进入下载模式的引脚。
- 利用STC15F104的精确延时,代替PC端软件不稳定的电平变化时序,提高握手成功率。
这样做的好处是成本极低,而且复制性强,几十块钱就能搭起来。实际操作时需要注意的是,STC15F104的工作电压一定要和目标芯片匹配,建议统一用3.3V供电,避免引脚电平不兼容导致下载出现诡异问题。
5.2 简易烧录器制作的接线步骤
如果你也想自己做一个,可以按这个流程走:
- 准备一颗STC15F104最小系统板,引出电源、GND、两三个GPIO。
- 用USB转TTL小板连接STC15F104进行程序下载,给STC15F104写好控制逻辑。
- 将STC15F104的对应GPIO分别接到AW33N芯片的下载串口TX、RX、复位脚、启动模式脚。
- 在PC端打开杰理官方下载工具,选择正确的串口号。
- 先让STC15F104控制目标芯片完全断电,然后点击下载工具的开始按钮。
- 下载工具进入等待状态后,STC15F104按延时逻辑给目标芯片上电,并保持启动模式脚拉低足够长时间。
- 握手成功后,下载工具自动开始烧录固件。
这里面最容易被忽略的是线长和接线质量。调试阶段如果你用杜邦线飞线,建议控制在10厘米以内,并且TX/RX不要接反。我见过不少“芯片怎么一直握手失败”的案例,最后发现是接触不良或者RX/TX接反的问题,不是工具不行。
5.3 烧录过程中容易忽略的几个细节
除了仪器接线,烧录阶段还有三个地方要特别注意。
第一,目标芯片供电要稳定。边烧录边用同一个USB口带大电流外设,可能导致电压跌落,下载到一半失败,这种情况下芯片可能进入半砖状态,需要用强制下载模式重新擦除。
第二,启动模式脚的时序必须准确。拉低时间不够,芯片直接跑正常应用程序,下载工具自然等不到握手包。这个时序我用STC15F104来控制后基本没有失败过,比直接在PC端敲命令要可靠。
第三,量产烧录时建议使用“一拖多”或“离线烧录”方案。单片机的单台烧录效率太低,适合做样品调试。量产时哪怕是在线烧录,也最好把烧录治具做出来,配合定位夹具,让操作工人按一下就能完成,别让烧录环节变成产线瓶颈。
5.4 “MAC地址为什么变了”的根源排查
热词里面“杰理701芯片mac地址为什么会改变”这个问题,在AW33N上也会遇到,根源其实是BLE协议隐私机制在起作用。
BLE设备有两种地址类型:公共地址和随机地址。随机地址进一步分为静态随机地址、私有可解析地址、私有不可解析地址。很多开发者以为自己模组里烧录了唯一MAC,但手机扫描时会发现设备地址每隔一段时间变化,这通常不是芯片在“篡改”MAC,而是协议栈默认开启了随机地址或隐私模式。
这个机制本来是为了防止用户被恶意追踪,但对开发者来说,如果你依赖固定MAC去绑定设备,就会踩坑。
排查思路是这样的:
- 先看手机抓包工具里设备地址是什么类型,如果是随机类型且周期变化,那就是隐私模式。
- 去SDK里找地址类型配置项,把设备地址改成静态随机地址或公共地址。
- 如果需要每台设备独立MAC,考虑在工厂烧录时把MAC写入指定Flash区域,应用启动时读取并配置到协议栈。
我遇到过不少客户抱怨“芯片是不是没烧好,MAC老是变”,最后在SDK里把地址类型固定一下就好。这里有个技巧:固定MAC时别把MAC地址放在代码编译期,尽量放到Flash数据区,这样同一份固件可以烧录到不同设备,每台设备运行时读自己的MAC。
5.5 量产阶段把“烧录+去MAC”做成一个动作
如果你的产品需要大批量生产,我强烈建议把MAC写入动作集成到烧录工具流程里。杰理下载工具通常支持在烧录固件时同时写入配置参数区域,你可以在固件里约定一个结构体,把MAC、设备密钥、出厂日期、校准值都放进去。
批量生产时,烧录器每烧录一台设备就分配一个不同的MAC,或者由上位机从BIN文件里自动解析MAC列表并合入烧录文件。这样后面做产测、绑定App、云端管理都会非常省心。千万别指望产品上线后还能批量改MAC,那在生产管理上会造成巨大的混乱。
6. 选型后的最后一轮检查清单
6.1 我自己每次做AW33N项目都会过一遍的清单
到了这个阶段,我会把选型结论从纸面落到工程边界上,逐项确认下面几件事:
- 板级IO数量是否够用?把所有传感器、按键、指示灯、调试串口、下载脚全部列出来,加10%到20%余量。
- Flash分区是否满足OTA?如果做OTA,两个固件区加协议栈参数区加用户数据区,是否还有富余。
- 供电方案是否匹配低功耗目标?如果电池供电,是否能在深度睡眠时关闭传感器供电。
- 天线净空区是否够?参考设计的π型匹配是否预留了调试位置。
- 下载工具是否就绪?是否已经验证过强制下载模式在板子上的时序能满足。
- MAC地址策略是否明确?是固定MAC还是随机地址,生产流程中谁来烧录MAC参数。
这些问题在原理图阶段确认一遍,比画完板子再返工省太多时间。
6.2 关于杰理SDK和开发资料的一点体会
杰理的SDK一开始上手时会觉得封装有点重,因为它为了兼容多个芯片平台,抽象层比较多。但习惯以后就会发现,这种设计在AW33N家族内迁移项目其实很方便,很多外设驱动和应用代码可以直接复用,只是管脚映射和内存大小需要适配。
开发工具方面,平时会遇到不同版本的编译器和烧录工具,我的建议是尽量统一版本,除非有明确需求,否则不要频繁升级工程到最新SDK。芯片原厂的SDK版本升级有时会改动协议栈参数,导致旧固件OTA之后行为变化,这对量产产品来说是件麻烦事。
6.3 最后一句来自踩坑经历的提醒
根据我做了好几轮BLE产品迭代的经验,给正在选型AW33N的同行一句真心话:别把Datasheet上的极限参数当设计指标,给自己留余量才是真本事。杰理AW33N家族的性价比确实诱人,但BLE产品的稳定性靠的是整体设计,包括天线、电源、协议栈配置、量产工具链,芯片只是其中一环。
先把AW333A或AW336A这个档位跑通一个最小可行版本,再去压缩成本和功耗,可能是你最快摸清这套芯片脾气的路径。等你在实际项目里把这几个型号的差异都摸过一遍,再回头看芯片选型这件事,就会发现它远没有论坛里吵的那么玄乎。