新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式Linux系统的3G/4G路由器设计

基于嵌入式Linux系统的3G/4G路由器设计

作者:时间:2016-09-12来源:网络收藏

3G的接人技术已经从WCDMA/TD- SCDMA/CD-MA2000发展到HSDPA、HSUPA 以及HSPA+ ,并开始由3G 网络向4G网络过渡。目前HSDPA的接入带宽可以达到7.2 Mbps,HSPA+ 的接人带宽可以达到21 Mbps,而即将部署的LTE的网络带宽甚至达到了100 Mbps 。同时,由于接人移动互联网 的智能终端的数量快速增长,人们对移动互联网的应用需求也日益增长。当人们面对几十兆带宽甚至是上百兆带宽时,必定存在带宽的过剩问题,即人们不需要在任何时刻都需要这么大的带宽,因而可以将过剩的用户带宽分配给更多的用户。

本文引用地址:http://www.eepw.com.cn/article/201609/304513.htm

目前,WiFi技术能够支持IEEE的802.11b、802.11g和802.1ln标准,分别支持10 Mbps、54 Mbps和300 Mbps的无线传输速率。而在传输距离上,WiFi能够在几米到100m范围内实现完全覆盖。

本文正是基于3G/4G 不断增长的接入带宽以及WiFi技术的各项优点,提出了一种共享3G/4G 网络带宽的无线设计方案。该方案首先利用嵌入式,构建一个基于WiFi技术的无线局域网,智能终端等用户可以利用自带的WiFi功能接入该无线局域网,然后再将该无线局域网桥接至3G/4G网络中,从而实现各个智能终端设备对3G/4G网络带宽的共享。

1. 3G/4G设计方案

的设计是基于三个模块来实现的,分别为3G模块、WiFi模块和Linux硬件平台,如图1所示。3G模块的功能是利用运营商的无线数据卡进行PPP拨号,使得路由器能通过运营商网络连接至互联网。WiFi模块的功能是使得无线网卡工作在AP(Access Point)模式,并配置动态主机配置协议的脚本文件,来建立一个2.4 GHz的WiFi无线局域网。Linux硬件平台模块的功能主要有两个方面,一方面要支持无线网卡和无线数据卡的驱动,另一方面要通过嵌入式中的iptables数据包过滤系统将无线局域网和3G/4G网络连通。智能终端等设备通过WiFi信道接人到该路由器所提供的无线局域网中,分配到一个IP地址之后,则通过该无线局域网的网关进行数据包的接收和发送,而该网关则通过3G/4G模块上的网络拨号接口来接收和发送数据包至3G/4G 网络,从而实现了该路由器的设计方案。

 3G/4G路由器设计方案图

图1 3G/4G路由器设计方案图

2. 3G/4G路由器硬件结构

根据3G/4G路由器设计方案,其硬件结构的三大模块分别采用深圳天谟公司生产的Devkit8500D评估板、华为公司的E392型无线上网卡和TP-Link公司的TL-WN821N型无线网卡。

Devkit8500D评估板的基本结构如图2所示。该硬件平台采用的是TI公司的DM3730微处理器。

终端硬件结构图

图2 终端硬件结构图

E392型无线上网卡采用高通公司的MDM9x00多模芯片组,同时支持TD-SCDMA/WCDMA 的3G 网络标准和LTE-TDD/FDD 的4G 网络标准。目前,利用3G网络中已经部署升级的HSPA+技术,下行峰值速率可以达到21 Mbps,上行峰值速率可以达到5.76 Mbps;部分地区采用64QAM 调制技术和MIMO技术对HsPA+进行再次升级,下行峰值速率可以达到42 Mbps左右;而即将部署的4G网络,下行峰值速率可以达到i00 Mbps,上行峰值速率可以达到50 Mbps。

TL-WN821N 型无线网卡是基于Realtek公司的RTL8192cu芯片设计的,采用MIMO技术和空频道检测技术,支持802.11n/b/g,性能稳定且能够提供最大300 Mbps的无线传输速率,完全满足智能终端等设备的带宽需求。

3. 3G/4G路由器关键技术

3G/4G路由器是指利用WiFi的2.4GHz频段,组建一个无线局域网,并配置无线局域网的基本信息,通过的 iptables将无线局域网接人到3G/4G网络中。其关键技术具体分为3G/4G 网络的接入、无线局域网的组建以及iptables的连通三个部分。

3.1 3G/4G网络的接入

该无线路由器利用E392型多模无线上网卡在嵌入式Linux系统中进行PPP拨号,分别接入到TD-SCDMA,WCDMA以及TD-LTE实验网中。其具体实现流程如图3所示。

3G/4G网络接入流程图

图3 3G/4G网络接入流程图

3.1.1 多模无线上网卡驱动加载

当一个新的USB设备接入到Linux主机中,主机首先会通过控制端点读入此设备的配置,接口和端点等信息,利用控制管道完成控制型传输,然后主机再对该设备进行枚举。枚举即读取该 设备的许多重要信息,其中最重要的是读取该设备的生产商识别码(VID)以及产品识别码(PID),将这两个识别码分别与USB内核中意存在的各个识别码进行匹配。若匹配成功,即的利用Linux系统的USB内核成功实现了 该设备的USB驱动的加载。

本设计方案中采用的嵌入式Linux系统的内核版本号为2.6.32,该内核中与USB设备的VID和PID号相关的源码存在 kernel/drivers/usb/serial/option.c中,修改该文件并添加本 终端设计方案中所采用的华为E392无线上网卡的VID和PID,过程如下:

# define HUAWEI_VENDOR_ID 0x12D1

# define HUAWEI_PRODUCT_E1446 0x1446

{USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID,

HUAWEI_PRODUCT_E1446,0xff,0xff,0xff)}

然后配置嵌入式Linux系统内核中的Devices driver→usb support→usb Serial Converter Support选项,使得Linux系统内核支持USB串口转换,然后选择按模块重新编译内核,生成option.ko和usbserial.ko 驱动文件。最后加载这两个驱动文件并插上该多模无线上网卡,完成驱动加载。

3.1.2 终端模式转换

在3.1.1节中实现的是USB设备的加载,即Linux系统识别出无线上网卡为USB设备并能与之通信。而一般 USB无线上网卡设备都具有两个USB子设备模式,即usb-storage子设备模式和modern子设备模式。此时 Linux系统默认会将该设备识别为usb-storage子设备模式,需要通过USB设备的模式转换工具usb- modeswitch将USB设备的工作模式转换为modem模式,这样才能使得无线上网卡能够正常工作。


上一页 1 2 3 下一页

关键词: 路由器 Linux系统

评论


相关推荐

技术专区

关闭