通信模组是物联网实现万物互联的核心硬件,为物联网设备提供标准化的移动网络解决方案,广泛应用于嵌入式系统无线通信。通信模组可类比为半部手机,可实现短信,通话和上网功能,主要功能是模组插入SIM卡可通过基站接入运营商的移动网络实现网络连接。通信模组不能单独使用,需要依赖于硬件和软件。硬件设备需要预留对应的设备接口,通信模组封装接口包含LGA、LCC、miniPCIE、M.2等。软件端模组预留AT指令接口,可通过USB或串口方式连接控制模组联网状态。AT指令文档可由模组厂家技术支持获取。
通信模组的核心部件包含基带芯片、射频前端和存储芯片。核心芯片基本属于欧美大厂垄断的状态,芯片开发技术复杂、采购成本和开发难度大,而设备厂家侧注重于具体业务,模组厂家应运而生,成为连接芯片和下游设备厂家的纽带,利用芯片定制出不同功能的产品,对接下游厂家提供定制化服务。目前头部的芯片厂家有高通、展锐、联发科等。模组厂家有移远通信、广和通等。
应用
Linux环境下进行模块移植,通常对外的通信数据接口为USB接口。
举例:Linux环境下移植移远5G模组RM500Q
1、准备工作:联系厂家获取软硬件手册;
2、查看Linux版本选择合适的数据拨号方式,联系厂家获取驱动包;
3、驱动源码修改
1)添加对RM500Q模组的支持
Linux下lsusb命令可以看到模组对应的PID和VID分别为0x2C7C和0x0800,将其添加到option.c的option_ids[]数组中,代码路径:drivers/usb/serial/option.c
2)添加GobiNet驱动文件
驱动包可联系厂家提供,创建一个驱动的安装路径,修改驱动包中Makefile文件,采用Linux的编译链交叉编译,执行make命令直到编译完成
4、设备启动检查驱动是否正常安装
正常情况下,通信模组驱动安装后会在/dev目录下产生4个ttyUSB,即/dev/ttyUSB0、/dev/ttyUSB1、/dev/ttyUSB2、/dev/ttyUSB3
5、使用minicom输入AT指令,查询和设置网络参数
6、编译拨号工具quectel-CM,执行命令./quectel-CM & 拨号上网
7、使用ifconfig来查看5G网卡,使用ping测试网络