3、NB-IoT模块选型核心指标:频段支持、灵敏度、发射功率、功耗等级(PSM/eDRX)、封装尺寸、AT指令集兼容性

好,咱们直接切入正题。

选模块这事儿,说白了就是「匹配」二字。你的产品要卖到欧洲,结果选了个只支持中国频段的模块,那不就抓瞎了?我见过不少团队,硬件都打样了才发现频段不对,那叫一个惨。

下面这六个指标,是我个人习惯的「必查清单」。你照着捋一遍,基本不会踩大坑。

3.1 频段支持:你的产品要卖到哪儿?

NB-IoT的工作频段,全球主要分三大阵营:

  • 中国:Band 5(850MHz)、Band 8(900MHz)。电信主要用Band 5,移动和联通用Band 8。嗯,这里要注意,电信的Band 5和LTE是共用的,干扰问题偶尔会冒出来。
  • 欧洲:Band 8、Band 20(800MHz)。Band 20是欧洲的「黄金频段」,覆盖特别好。
  • 北美:Band 12/13(700MHz)、Band 4(1700MHz)。AT&T和T-Mobile用的多。

我建议你直接选「多频段」模块。比如移远BC95-G,支持B1/B3/B5/B8/B20/B28,全球大部分地区都能用。虽然贵个几块钱,但省去了后续认证的麻烦。

核心原则:先定目标市场,再选频段。别贪便宜买单频段模块,除非你100%确定只用在一个国家。

3.2 灵敏度:信号差的地方,就靠它了

灵敏度这个指标,单位是dBm。数值越小,说明模块能听到的信号越弱。

NB-IoT的典型灵敏度在 -125dBm 到 -135dBm 之间。我做过对比测试:

模块型号 灵敏度(典型值) 实际表现(地下车库)
模块A(低端) -125dBm 经常掉线,重传率高
模块B(主流) -130dBm 稳定连接,偶尔丢包
模块C(高端) -135dBm 几乎不掉线,但功耗略高

我在项目中遇到过,一个水表装在井盖下面,信号本来就弱。用了灵敏度-125dBm的模块,数据死活传不上来。后来换成-133dBm的,问题直接解决。所以,灵敏度每提升3dB,覆盖半径能扩大约40%。这个账你得算清楚。

我的经验:如果产品要放在地下室、井盖下、金属柜子里,灵敏度至少选-130dBm以上。别省那几块钱,后期运维成本高得多。

3.3 发射功率:不是越大越好

NB-IoT模块的发射功率,主流是 23dBm(约200mW)。也有部分模块支持20dBm(100mW)的低功率模式。

你可能会想:「功率越大,信号不就越强吗?」

理论上是这样。但实际中,发射功率越大,功耗也越大,而且对电源的瞬态电流要求更高。我见过一个案例,工程师选了23dBm的模块,结果电池瞬间电压被拉低,导致模块复位。后来加了超级电容才解决。

我个人习惯是:

  • 近距离(<1km):用20dBm就够了,省电。
  • 远距离或穿墙:用23dBm,但电源设计要留余量。

注意:发射功率不是你想调就能调的。很多模块的功率等级是固定的,或者需要通过AT指令切换。选型时一定要看数据手册里的「Power Class」一栏。

3.4 功耗等级:PSM和eDRX,你得搞明白

NB-IoT最大的卖点就是低功耗。但低功耗不是白来的,靠的是两个机制:PSM(省电模式)eDRX(扩展不连续接收)

  • PSM:模块睡死过去,网络侧也找不到它。醒来后重新附着网络。功耗极低(微安级),但延迟大(几分钟到几小时)。适合水表、气表这类一天上报一次的场景。
  • eDRX:模块周期性醒来听寻呼。功耗比PSM高一点(毫安级),但延迟小(几秒到几十秒)。适合烟感、门磁这类需要实时响应的场景。

我建议你选模块时,一定要确认它同时支持PSM和eDRX。有些老模块只支持PSM,不支持eDRX,那就尴尬了。

避坑指南:我曾经选了一款模块,数据手册上写着「支持PSM」,结果实际测试时发现,它进入PSM后唤醒时间长达10秒。后来查了芯片手册才知道,它的PSM唤醒是靠内部RTC,精度很差。所以,一定要实测功耗和唤醒时间,别只看纸面参数。

3.5 封装尺寸:你的产品空间够吗?

NB-IoT模块的封装,主流有几种:

封装类型 典型尺寸 适用场景
LCC(贴片) 24mm x 26mm 通用型,适合量产
LGA(更小) 16mm x 18mm 空间受限,如智能穿戴
Mini PCIe 30mm x 51mm 开发板、快速原型

我个人习惯是,量产产品优先选LCC封装。焊接良率高,维修也方便。LGA虽然小,但焊接工艺要求高,返修容易掉焊盘。

小技巧:选型时,把模块的封装图打印出来,1:1贴在PCB上比划一下。你会发现很多「看起来很小」的模块,实际布局时天线、电源、地线一加,空间就不够了。

3.6 AT指令集兼容性:换模块时最头疼的事

不同厂家的AT指令,那叫一个五花八门。移远的用「AT+CFUN=0」进飞行模式,有人用「AT+SM=0」。你换个模块,MCU的代码就得重写。

我建议你:

  • 优先选兼容3GPP标准指令集的模块。比如AT+CGATT、AT+CSQ这些,各家基本一致。
  • 尽量选同一家厂商的模块。比如你之前用移远BC95,后续升级用BC35,指令集基本兼容,改几行代码就行。
  • 留好AT指令适配层。在MCU代码里,把AT指令封装成函数。换模块时,只改底层函数,上层逻辑不动。

我曾经踩过的坑:有一次项目紧急,我临时换了个模块。结果发现它的AT指令返回格式不一样——原模块返回「OK\r\n」,新模块返回「\r\nOK\r\n」。就多了一个换行,导致MCU解析超时。所以,换模块后一定要做完整的AT指令回归测试,别想当然。

好了,这六个指标,你选模块时挨个过一遍。频段、灵敏度、发射功率、功耗、封装、AT指令,一个都不能少。下一章,咱们聊聊天线设计——那才是真正考验硬件功底的地方。