4G(LTE)¶
1. 概述¶
Solution 中 4G 能力按第三方 Cat1/4G modem 模块进行集成,当前仓库已经预留 4G modem 总开关,并提供了移芯 NT26K(onchip LTE modem)示例实现。NT26K 可作为 Cat1 模块接入,但需要根据模组手册和项目硬件连接完成接口、供电、复位、唤醒、AT 初始化和网络数据通道适配。
NT26K 是 Cat1/LTE 通信模块,主控通过 UART 发送 AT 命令控制它完成 SIM 卡检测、注网、联网和数据传输。对 Solution 来说,NT26K 是外部 4G modem,作用是给系统提供蜂窝网络通道。客户接入时,重点确认频段、供电峰值电流、UART 电平和流控、PWRKEY/RESET/WAKEUP/STATUS/RI 引脚、默认波特率、APN,以及数据通道采用 PPP/PPPoS 还是模块私有方式。
当前参考实现位于 sdk/customer/peripherals/modem/onchip,主要包含:
sfdt.h、sfdt_master.c:UART/SFDT 数据通道、MRDY/SRDY 唤醒握手和收发线程;lte_at.c、lte_phone_api.c:AT 命令发送、响应匹配、URC 处理和 LTE/VoLTE 初始化流程;lwip/lte_lwip.c、lwip/lte_ethernetif.c:LTE 网络设备注册、lwIP/netdev 对接和lte调试命令。
2. 软件框架¶
4G/LTE 接入分为三层:
硬件接口层:负责 UART、MRDY、SRDY、复位、开关机、唤醒等板级资源。示例中 UART TX/RX 和 MRDY/SRDY 定义在
sfdt.h,默认波特率为3000000。AT 与数据通道层:负责 AT 命令初始化、注网状态查询、URC 处理,以及网络数据包封装/拆包。示例使用 SFDT 帧区分 AT 包和以太网数据包。
网络协议栈层:负责将 LTE 数据通道注册为 lwIP 网络接口。示例中网络设备名为
lt,通过lte init可拉起链路并设置为默认网络。
3. 配置项¶
3.1 打开 4G modem 总开关¶
在目标工程的 menuconfig 中打开:
USING_MODEM_SUPPORT
该开关定义在 solution/components/Kconfig,会自动选择 BSP_USING_MODEM。
3.2 选择 modem 外设实现¶
当前 onchip LTE modem 示例由 PERI_USING_ONCHIP 控制,编译入口位于 sdk/customer/peripherals/modem/onchip/SConscript。如果项目接入 NT26K 或其他 Cat1 模块,建议新增独立适配文件或独立目录,不要直接把厂商差异全部写入通用示例。
3.3 打开网络协议栈¶
使用 LTE 数据业务时需要打开 lwIP:
RT_USING_LWIP
如果 NT26K 采用 PPP/PPPoS over UART 方式入网,还需要打开:
RT_LWIP_PPP
RT_LWIP_PPPOS
如果 NT26K 提供类以太网/NAT 数据通道,则可参考现有 lte_lwip.c、lte_ethernetif.c 的方式对接 netdev/lwIP。
4. NT26K 接入要点¶
4.1 模块定位¶
NT26K 在系统中应按“外部 Cat1 modem”处理:
控制面:通过 UART AT 命令完成模块初始化、SIM 卡检测、注网状态查询、APN/PDP 配置和数据链路启停;
数据面:根据模组手册选择 PPP/PPPoS、类以太网/NAT 或厂商私有封装通道;
硬件控制:通常需要 PWRKEY、RESET、WAKEUP、STATUS、RI 等控制/状态引脚,具体连接以项目原理图和 NT26K 硬件手册为准;
软件边界:Solution 侧负责驱动 UART/GPIO、发送 AT 命令、解析 URC、把数据通道接入 lwIP/netdev,不应把 NT26K 当作片上 LTE 控制器直接使用。
4.2 接入检查项¶
接入 NT26K 时需要重点确认以下内容:
项目 |
需要确认的内容 |
当前示例情况 |
|---|---|---|
模块资料 |
Cat1/LTE 模块型号、固件版本、硬件手册、AT 手册 |
按第三方 modem 方式集成 |
供电 |
VBAT 电压范围、峰值电流、上电时序、电源保持能力 |
示例未约束具体 NT26K 电源参数 |
主控接口 |
UART 号、波特率、硬件流控、电平标准 |
示例使用 UART,默认 |
控制引脚 |
PWRKEY、RESET、WAKEUP、STATUS、RI 等 |
示例包含 MRDY/SRDY 握手,NT26K 需按手册替换 |
AT 初始化 |
关回显、SIM 检测、注网查询、APN/PDP 配置、数据通道绑定 |
示例使用 |
数据通道 |
PPP/PPPoS、类以太网/NAT 或厂商私有协议 |
示例为 SFDT + 类以太网数据通道 |
网络接口 |
IP 获取、DNS、默认路由、断线重连策略 |
示例注册 |
5. AT 初始化流程参考¶
现有示例在 lte_phone_api.c 中通过 atInitChatList 组织初始化命令,典型流程包括:
ATE0:关闭回显,并确认 AT 通讯正常;AT+ECNETCFG?/AT+ECNETCFG=...:查询或配置 NAT/IP 参数;AT+CEREG=1、AT+CEREG?:打开并查询 LTE 注网状态;AT+ECNETDEVCTL=2,1,1:绑定或打开网络数据通道;通过 URC 解析更新注网、来电、挂断等状态。
NT26K 如果 AT 命令、返回值或 URC 格式不同,应替换初始化命令表、预期返回字符串和 URC 解析逻辑。
6. 网络调试¶
示例导出了 lte finsh 命令:
命令 |
作用 |
|---|---|
|
初始化 LTE 网络链路,并将 |
|
关闭 LTE 网络链路 |
|
查询当前 LTE 网络注册和绑定状态 |
调试建议顺序:
先确认模块供电、复位、开关机和 UART 波形;
再确认
ATE0等基础 AT 命令有响应;确认 SIM 卡、天线、运营商注册和 APN;
最后验证
lte init后是否生成lt网络设备、能否获取 IP、能否作为默认网络访问外网。
7. 常见问题¶
7.1 NT26K 能否直接使用 onchip 示例?¶
不能默认认为可以直接使用。onchip 示例可作为 4G modem 接入参考,但 NT26K 是否可复用取决于硬件接口、AT 命令、数据通道和唤醒时序是否一致。若任一项不同,应新增 NT26K 专用适配,避免影响其他 4G 模块。
7.2 PPP/PPPoS 和类以太网/NAT 方式如何选择?¶
以 NT26K 手册为准。若模块提供 PPP 拨号能力,需适配 PPPoS 串口收发并打开 RT_LWIP_PPP / RT_LWIP_PPPOS;若模块提供类以太网/NAT 数据通道,可参考当前 lt 网络设备方式接入 lwIP。
7.3 lte init 后不能联网怎么办?¶
按以下顺序排查:
lte query确认注网与网络绑定状态;检查 SIM 卡、天线、APN、运营商注册;
检查 AT 初始化命令是否与 NT26K 手册一致;
检查
lt网络设备是否注册成功,并确认默认路由是否切到lt;如使用 PPP/PPPoS,检查 PPP 认证、DNS、串口收发回调和 MTU 设置。