微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 4G 通信模块在ARM 平台下的应用

4G 通信模块在ARM 平台下的应用

时间:11-08 来源:3721RD 点击:

4G模块是连接物与物的重要载体,是终端设备接入物联网的核心部件之一,随着4G的普及,许多新兴市场对4G通信模块的需求都在日益扩大,那么在ARM平台的嵌入式设备上如何快速的应用4G模块呢?

4G通信模块把频率接收器和信号增幅器等部件全都整合在一起,实现了一体化。随着工业发展,嵌入式设备接入网络的需求日益增多,在没有有线或WiFi等无线的环境下,直接通过4G通讯模块连接运营商网络来接入互联网不失为一个好方法。因此,本文就为读者介绍一下基于ARM平台的嵌入式设备在Linux下使用4G模块的方法。

一、开发环境

1)开发主机环境:

Ubuntu12.04(64位)、arm-fls-linux-guneabi-gcc系列交叉编译链。

2)硬件清单:

IoT-3960工控板、龙尚 4G模块U8300C或U8300W。

3)软件资源:

光盘EPC-280_283_287V1.04.iso中的内核源码包:linux-2.6.35.3-fec60fa.tar.bz2(光盘内容可在致远电子官网下载http://www.zlg.cn)。

二、硬件概述

IoT-3960L 是广州致远电子股份有限公司以Freescale i.MX287处理器为核心开发的工业IoT网络控制器,集成多路通信接口,支持多种通信协议,具有性价比高、功能丰富、工作稳定、兼容性强等特点,产品实物如图1所示。

图1 IoT-3960L工控板

通过自定义的 Mini-PCIE 接口,IoT-3960L 可外扩3G、4G、GPRS、ZigBee、RFID 等无线通信模块。本文外扩的是龙尚4G 模块,所用的型号如图2所示。

图2 龙尚4G模块U8300C、U8300W

三、技术实现

1、解压内核源码

将 EPC-280_283_287 V1.04.iso 光盘中的linux-2.6.35..3-fec60fa.tar.bz2 源码包复制到ubuntu 系统的"~/"目录下,将其解压后可得到linux-2.6.35.3 目录,参考命令如下:

vmuser@Linux-host:~$ tar -jxvf linux-2.6.35..3-fec60fa.tar.bz2

2、修改配置文件

在内核源码目录"drivers/gpio/"下的Kconfig 文件中有设定了CONFIG_GPIO_M28X 宏的默认配置,用vim编辑器打开这个Kconfig 文件,搜索"GPIO_M28X",找到其配置设定,将其修改为可独立配置的选项,修改后的配置如下所示(红色标识的为修改部分):

config GPIO_M28X

tristate "GPIO support for MiniPCI-E slot control"

#depends on IoT_3960 || IoT_3962

help

Say yes here to enable the IoT_396x board gpio driver.

3、修改内核编译脚本

Linux 源码目录下的build-kernel 脚本文件主要用于切换内核默认配置,但因光盘中的该脚本文件设置不够灵活,建议直接将build-kernel文本内容整体替换为如图 3所示的代码:

图3 build-kernel 文件内容

4、配置内核源码

进入解压后的 Linux 源码根目录,使用IoT-3960L 的默认内核配置,参考命令如下:

vmuser@Linux_host:~/ linux-2.6.35.3$ ./build-kernel

然后输入6 选择Iot3960,如果是其他工控板或开发套件,则选择对应的选项即可,如果对应的Linux 源码根目录下没有.config 文件,运行该步骤操作后会提示cp 命令执行错误,直接忽略此错误即可。

工控板或开发套件使用 USB 接口来与龙尚4G 模块通信,需要配置内核以支持USB转串口功能。参考命令如下:

vmuser@Linux-host:~/ linux-2.6.35.3 $ make menuconfig

进入配置界面后,按回车键进入"Device Drivers --->"选项,配置完内核后,保存并退出内核配置操作。

5、 修改&编译内核源码

对龙尚4G模块,我们需要在linux-2.6.35.3 目录下对三个数组中的内容进行修改:

l使用vi 或者vim 命令打开drivers/gpio/gpio_m28x.c 文件,在all_gpios_info[ ]数组作中作修改;

l使用vi 或者vim 命令打开arch/arm/mach-mx28/mx28evk_pins.c 文件,在mx28evk_fixed_pins []数组中作修改;

l使用vi或者vim命令打开drivers/usb/serial/option.c 文件,在option_ids[]数组中作修改。

按上述操作修改完成之后,就可以编译内核了,内核编译参考命令如下:

vmuser@Linux-host:~/ linux-2.6.35.3 $ make uImage

待内核编译完成后,将生成的uImage 文件(可在arch/arm/boot 目录下找到)烧写到工控板或开发套件上,烧写方法请参考《IoT-3960 用户手册.pdf》第6 章的内容。

四、4G 模块测试

这里主要介绍龙尚4G模块的电话、网络等控制接口以及IoT-3960L工控板对其操作的通信流程。用于测试的工控板必须烧写EPC-280_283_287 V1.04.iso 光盘中V1.03的uboot 及文件系统,因为其中包含必要的拨号上网工具。

1、电话控制接口

电话接听和拨打命令如表1所示。通过向串口发送相应的命令就可以实现电话的接听和拨打。如:可以向串口发送"ATD12345

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top