第一章 入网流程全景:从搜网到上网的完整旅程
大家好,我是老李。做NB-IoT这些年,我见过最多的场景就是——模块死活连不上网。客户急,我也急。其实大部分问题,都出在对入网流程的理解上。今天咱们就把这个流程从头到尾捋一遍。
说白了,NB-IoT模块入网就像你第一次去一个陌生城市。你得先知道自己在哪(小区搜索),然后看看周围有什么规则(系统消息),接着排队进场(随机接入),找到负责人登记(RRC连接建立),最后办个会员卡(附着流程),才能开始消费(PDN连接建立)。
嗯,这六个步骤,一个都不能少。我当年调试一个水表项目,就是卡在随机接入这一步,折腾了三天。后来发现是信号太弱,模块压根没收到基站的回应。所以,理解每一步的原理,比盲目改参数重要得多。
1.1 小区搜索:找到组织
模块上电后的第一件事,就是找基站。这就像你到了一个新地方,先打开手机地图定位一样。
具体过程是这样的:
- 模块在指定的频点上扫描,寻找主同步信号(PSS)和辅同步信号(SSS)。
- 通过PSS和SSS,模块能确定物理小区ID(PCI),也就是基站的“身份证号”。
- 然后模块会解调物理广播信道(PBCH),拿到主信息块(MIB)。
关键点:小区搜索的成功与否,直接取决于信号质量。我见过不少案例,模块放在室内,信号强度低于-130dBm,搜网就非常困难。这时候别急着改模块,先看看天线位置对不对。
我的经验:调试时,我会先用频谱仪看看目标频点有没有信号。如果频谱上干干净净,那模块再怎么搜也是白搭。先排查基站覆盖,再查模块硬件。
1.2 系统消息读取:了解规则
找到基站后,模块得知道这个基站支持什么功能、怎么接入。这些信息都写在系统消息里。
主要读取的消息块:
- MIB(主信息块):包含系统帧号、带宽等基本信息。这是第一步。
- SIB1(系统信息块1):告诉你小区是否允许接入,以及后续SIB的调度信息。
- SIB2-NB:这是NB-IoT的核心。包含随机接入参数、公共信道配置等。我建议你重点看这个。
- SIB3-NB 到 SIB5-NB:包含小区重选和邻区信息,对移动性管理有用。
| 系统消息 | 主要内容 | 重要性 |
|---|---|---|
| MIB | 系统帧号、带宽 | 必须读取 |
| SIB1 | 接入控制、SIB调度 | 必须读取 |
| SIB2-NB | 随机接入参数、信道配置 | 必须读取 |
| SIB3-NB | 小区重选参数 | 可选 |
注意:我曾经遇到一个案例,模块一直读不到SIB2-NB。后来发现是基站配置了扩展覆盖(CE Level 2),而模块的固件版本不支持。所以,系统消息读取失败,很多时候是模块和基站的版本不匹配。
1.3 随机接入:敲门进场
模块知道了规则,现在要正式申请入场了。随机接入就是模块向基站发送的第一个消息。
流程分两步:
- 发送前导码(Preamble):模块在指定的时频资源上发送一个随机序列。基站收到后会回复随机接入响应(RAR)。
- 发送Msg3:模块收到RAR后,发送RRC连接请求。基站回复Msg4,完成竞争解决。
这里有个坑:NB-IoT的随机接入支持不同的覆盖等级(CE Level 0/1/2)。等级越高,重复次数越多,但时延也越大。我调试一个智能烟感项目时,模块在CE Level 2下重复发送了128次前导码才成功。嗯,这种场景下,功耗是个大问题。
避坑指南:我曾经遇到模块一直发前导码,但收不到RAR。排查后发现是基站侧配置的随机接入资源不足。说白了,就是基站太忙,没空理你。这时候可以尝试换个频点,或者联系运营商调整参数。
1.4 RRC连接建立:正式登记
随机接入成功后,模块和基站之间需要建立一个逻辑连接,这就是RRC连接。你可以理解为,你终于排到了窗口前,开始办手续。
关键消息:
- RRC连接请求:模块告诉基站“我要上网”,并带上自己的身份信息(如TMSI或随机ID)。
- RRC连接建立:基站分配一个专用的信令无线承载(SRB1),用于后续的信令交互。
- RRC连接建立完成:模块确认连接建立,并携带NAS消息(附着请求)。
我个人习惯在抓日志时,重点关注RRC连接建立完成这条消息。如果这里失败了,多半是核心网侧的问题,而不是无线侧。
1.5 附着流程:办理会员卡
RRC连接建立后,模块开始和核心网打交道。附着流程的目的,是让网络知道“这个模块来了,可以提供服务了”。
主要步骤:
- 附着请求:模块发送附着请求,包含IMSI或GUTI、能力信息等。
- 身份验证:核心网对模块进行鉴权。如果SIM卡和网络侧密钥不匹配,就会失败。
- 附着接受:核心网分配一个默认的EPS承载,并回复附着接受。
- 附着完成:模块确认收到,流程结束。
我的经验:附着失败最常见的原因是SIM卡欠费或未开通NB-IoT业务。别笑,我遇到过好几次。先查查SIM卡状态,比看半天日志管用。
1.6 PDN连接建立:开始消费
附着成功后,模块还需要建立一个PDN连接,才能收发数据。PDN连接就是模块和互联网之间的“管道”。
流程:
- 核心网在附着流程中已经默认建立了一个PDN连接(默认EPS承载)。
- 如果模块需要专用承载(比如高优先级的数据),可以发起专用承载请求。
- PDN连接建立完成后,模块会获得一个IP地址(IPv4或IPv6)。
你想想看,没有IP地址,数据包往哪发?所以,如果模块能附着成功但发不了数据,十有八九是PDN连接没建立起来。我建议你检查一下APN配置是否正确。
总结一下:入网流程的六个步骤,环环相扣。小区搜索和系统消息读取是基础,随机接入和RRC连接是通道,附着和PDN连接是最终目的。任何一个环节出问题,都会导致入网失败。
好了,第一章的内容就到这里。下一章,咱们会深入小区搜索的细节,看看那些让人头疼的频点配置和信号质量问题。到时候见。