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.hsfdt_master.c:UART/SFDT 数据通道、MRDY/SRDY 唤醒握手和收发线程;

  • lte_at.clte_phone_api.c:AT 命令发送、响应匹配、URC 处理和 LTE/VoLTE 初始化流程;

  • lwip/lte_lwip.clwip/lte_ethernetif.c:LTE 网络设备注册、lwIP/netdev 对接和 lte 调试命令。

2. 软件框架

4G/LTE 接入分为三层:

  1. 硬件接口层:负责 UART、MRDY、SRDY、复位、开关机、唤醒等板级资源。示例中 UART TX/RX 和 MRDY/SRDY 定义在 sfdt.h,默认波特率为 3000000

  2. AT 与数据通道层:负责 AT 命令初始化、注网状态查询、URC 处理,以及网络数据包封装/拆包。示例使用 SFDT 帧区分 AT 包和以太网数据包。

  3. 网络协议栈层:负责将 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.clte_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,默认 3000000

控制引脚

PWRKEY、RESET、WAKEUP、STATUS、RI 等

示例包含 MRDY/SRDY 握手,NT26K 需按手册替换

AT 初始化

关回显、SIM 检测、注网查询、APN/PDP 配置、数据通道绑定

示例使用 ATE0AT+CEREG?AT+ECNETDEVCTL

数据通道

PPP/PPPoS、类以太网/NAT 或厂商私有协议

示例为 SFDT + 类以太网数据通道

网络接口

IP 获取、DNS、默认路由、断线重连策略

示例注册 lt 网络设备

5. AT 初始化流程参考

现有示例在 lte_phone_api.c 中通过 atInitChatList 组织初始化命令,典型流程包括:

  1. ATE0:关闭回显,并确认 AT 通讯正常;

  2. AT+ECNETCFG? / AT+ECNETCFG=...:查询或配置 NAT/IP 参数;

  3. AT+CEREG=1AT+CEREG?:打开并查询 LTE 注网状态;

  4. AT+ECNETDEVCTL=2,1,1:绑定或打开网络数据通道;

  5. 通过 URC 解析更新注网、来电、挂断等状态。

NT26K 如果 AT 命令、返回值或 URC 格式不同,应替换初始化命令表、预期返回字符串和 URC 解析逻辑。

6. 网络调试

示例导出了 lte finsh 命令:

命令

作用

lte init

初始化 LTE 网络链路,并将 lt 设为默认网络

lte deinit

关闭 LTE 网络链路

lte query

查询当前 LTE 网络注册和绑定状态

调试建议顺序:

  1. 先确认模块供电、复位、开关机和 UART 波形;

  2. 再确认 ATE0 等基础 AT 命令有响应;

  3. 确认 SIM 卡、天线、运营商注册和 APN;

  4. 最后验证 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 后不能联网怎么办?

按以下顺序排查:

  1. lte query 确认注网与网络绑定状态;

  2. 检查 SIM 卡、天线、APN、运营商注册;

  3. 检查 AT 初始化命令是否与 NT26K 手册一致;

  4. 检查 lt 网络设备是否注册成功,并确认默认路由是否切到 lt

  5. 如使用 PPP/PPPoS,检查 PPP 认证、DNS、串口收发回调和 MTU 设置。