千锋3G嵌入式移动互联网技术研发培训中心
嵌入式学习资料之基于ARM7的
GPRS无线VPN路由器设计
引言
ARM简介
GPRS简介
硬件部分
设计思路
硬件设计
硬件连接
软件部分
uClinux 的移植
PPP应用程序
IPSec应用程序
连接方法及应用
总结
千锋3G嵌入式移动互联网技术研发培训中心
近年来蜂窝式移动通信系统在中国的发展非常迅速,
不仅给用户带来了方便快捷的语音通信服务,而且还
能提供灵活的数据通信服务。
本文提出了一种新型的基于arm7的嵌入式设
备———GPRS无线VPN路由器的设计方法,使得原
先使用有线通信系统的各种业务终端设备能够非常
方便地接入到GPRS网络中,利用无线移动网络提供
的数据服务来进行数据通信。
引言
千锋3G嵌入式移动互联网技术研发培训中心
ARM (Advanced RISC Machines) ,既可以认为是一个
公司的名字,也可以认为是对一类微处理器的通称,还可
以认为是一种技术的名字。1991年ARM公司成立于英
国剑桥, ARM公司是专门从事基于RISC技术芯片设计开
发的公司,作为知识产权供应商,本身不直接从事芯片生
产,靠转让设计许可由合作公司生产各具特色的芯片,世
界各大半导体生产商从ARM公司购买其设计的ARM微
处理器核,根据各自不同的应用领域,加入适当的外围电
路,从而形成自己的ARM微处理器芯片进入市场。ARM
微处理器目前包括下面几个系列, ARM7系列、ARM9
系列、ARM9E系列、ARM10E系列、SecurCore系列、
Intel 的Xscale以及Strongarm。它们共同构成了当今
嵌入式领域的主流微处理器。
嵌入式学习资料之ARM简介
千锋3G嵌入式移动互联网技术研发培训中心
GPRS(General Packet Radio Service)是通用分组无线
业务的简称,是在GSM基础上发展起来的一种分组交换
的数据承载和传输方式。与原有的GSM比较, GPRS在
数据业务的承载和支持上具有非常明显的优势:通过多
个GSM时隙的复用,支持的数据传输速率更高,理论峰值
达115kbps;不同的网络用户共享同一组GPRS信道,但
只有当某一个用户需要发送或接收数据时才会占用信道
资源。这样,通过多用户的业务复用,更有效地利用无线
网络信道资源,特别适合突发性、频繁的小流量数据传
输,很好地适应数据业务的突发性特点; GPRS计费方式
更加灵活,可以支持按数据流量来进行计费;与无线应用
协议(WAP)技术不同, GPRS能够随时为用户提供透明的
IP通道,可直接访问Internet中的所有站点和资源;采用
信道复用技术,每一个GPRS用户都能够实现永远在线。
嵌入式学习资料之GPRS简介
千锋3G嵌入式移动互联网技术研发培训中心
无线路由器电路板通过无线通信模块连接GPRS移
动网络,通过以太口连接内部终端设备或者内部局域
网。无线路由器具备网络路由功能,能够在两个网络
之间转发数据。各种终端设备发出的数据通过以太
口被处理器接收,处理器对数据进行相应处理后(例
如加/解密)再通过串行口发送给无线通信模块,由它
转发到GPRS网络中。同理,反向的数据经过相反的
路径最终送回终端设备。
嵌入式学习资料之设计思路
千锋3G嵌入式移动互联网技术研发培训中心
嵌入式处理器采用三星公司的S3C4510B,它是基于
以太网应用系统的高性价比的16/32位RISC微控制
器,内含一个由ARM公司设计的16/32位
arm7TDMI RISC处理器核。通过GPRS网进行数据
传输需要使用GPRS模块。目前, GPRS模块一般是
指带有GPRS功能的GSM模块,模块通过外接天线与
蜂窝小区基站通信, 收发无线数据。本设计中GPRS
模块采用Wavecom公司的W ISMO Quik Q2400系
列.其他各部分基本功能描述如下:
嵌入式学习资料之硬件设计
千锋3G嵌入式移动互联网技术研发培训中心
串行接口电路用于S3C4510B与GPRS模块以及其他应
用系统进行短距离双向串行通讯; 复位电路可完成系统
上电复位和在系统工作时用户按键复位;电源电路为整
个系统提供工作所需的电压,包括5V, 以及
;10MHz有源晶振为系统提供工作时钟; FLASH存
储器可存放已调试好的应用程序、嵌入式操作系统或其
他在系统掉电后需要保存的用户数据等;
SDRAM存储器作为系统运行时的主要区域,系统及
用户数据、堆栈均位于SDRAM存储器中;10M/100M以
太网接口为系统提供以太网接入的物理通道;I2C存储器
可存储少量需要长期保存的用户数据.
嵌入式学习资料
千锋3G嵌入式移动互联网技术研发培训中心
完整的硬件连接图如图1所示
嵌入式学习资料之硬件连接
千锋3G嵌入式移动互联网技术研发培训中心
在此无线路由器中使用的操作系统是uClinux,它是
专门应用于没有MMU的微控制器上的操作系统。
uClinux操作系统中已经内嵌了TCP/IP网络协议的
实现代码,在内核中设置“IP转发”就能实现静态路由
功能。为了实现拨号登录移动网络以及VPN的功能,
则需要用到2个网络应用程序: PPP应用程序和IPSec
应用程序。图2是整个系统的软件结构层次图。
嵌入式学习资料之软件部分
千锋3G嵌入式移动互联网技术研发培训中心
嵌入式学习资料
图2 软件结构层次图
千锋3G嵌入式移动互联网技术研发培训中心
嵌入式学习资料之uClinux 的移植
千锋3G嵌入式移动互联网技术研发培训中心
PPP应用程序用来通过无线通信模块拨号登录移动网络,登录过程
遵循PPP (Point-to-Point Protocol)通信协议。目前uClinux操
作系统中已包含的多种应用程序中有一种实现PPP协议的程序
pppd,只需要根据无线移动网络通信的特征,修改pppd源代码中
的部分配置参数,就能够得到需要的PPP应用程序。以下是进行
拨号登陆移动网络的脚本程序:
#! /bin/sh
/usr/sbin/pppd\
nodetach\
connect"/etc/ppp/peers/gprs-connect-chat"\
disconnect"/etc/ppp /peers/gprs-disconnect-chat"\
/dev/ttyS0\
115200\
nocrtscts\
local\
嵌入式学习资料之PPP应用程序
千锋3G嵌入式移动互联网技术研发培训中心
defaultroute\
novj\
nobsdcomp\
novjccomp\
nopcomp\
noaccomp\
noauth
其中用来实现拨号和挂断的脚本gprs-connect-chat和gprs
-disconnect-chat分别如下:
gprs-connect-chat
#! /bin/sh
exec/usr/sbin/chat\
TIMEOUT 5\
ECHO ON\
ABORT ’\nBUSY\ r’\
嵌入式学习资料
千锋3G嵌入式移动互联网技术研发培训中心
ABORT ’\nERROR \r’\
ABORT ’\nNO ANSWER \r’\
ABORT ’\nNO DIALTONE\ r’\
ABORT ’\nR INGING\ r\n\r\nRINGING\ r’\
SAY "Press CTRL-C to close the connection at
any stage!" \
SAY"\ndefining PDP context. . . \n"\
" " ’+ + + ’ \
" " ’ATH’ \
OK ’AT +CGDCONT = 1,"IP" , "cmnet" ’ \
OK ’ATDT3 993 3 3 1#’ \
TIMEOUT 10 \
SAY" \nwaiting for connect. . . \n"\
CONNECT" "\
嵌入式学习资料
千锋3G嵌入式移动互联网技术研发培训中心
SAY"\nConnected. "\
SAY"\n If the following ppp negotiations fail, \n"\
SAY"try restarting the phone.\n"
gprs-disconnect
#!/bin/sh
/usr/sbin/chat\
TIMEOUT 5\
ECHO ON\
ABORT ’NO CARR IER’\
ABORT ’ERROR’\
ABORT ’NO DIALTONE’\
SAY "\nSending break to the modem \n"\
" " ’\d\d + + + \d \d’\
" " ’ATH’\
" " OK\
SAY"\nPDP context detached \n"
嵌入式学习资料
千锋3G嵌入式移动互联网技术研发培训中心
IPSec应用程序用来在路由器上建立基于IPSec( IP Security)
协议的虚拟专用网VPN (Virtual PrivateNetwork) , IPSec
是IETF( Internet Engineer TaskForce)制定的安全标准,它
把几种安全技术结合在一起形成了一个较为完整的体系。它
通过对数据进行加密、认证、完整性检查来保证数据传输的
可靠性、私有性和保密性。IPSec提供IP层的安全性,由于所
有支持TCP/IP协议的主机进行通信时都要经过IP层的处理,
所以提供了IP层的安全性就相当于为整个网络提供了安全通
信的保障。IPSec由认证头AH (Authentication Header) 、
安全封装载荷ESP( Encap sulated Security Payload)和密
钥管理协议组成。IPSec应用程序的设计就是将IPSec协议用
计算机语言代码来实现。uClinux 操作系统中的FreeSWAN
应用程序就是用来实现IPSec协议的一种公开源代码软件,通
过对相关部分的修改和配置,就可以在无线路由器上运行。
最新版本的uClinux中已经包含了。
嵌入式学习资料之IPSec应用程序
千锋3G嵌入式移动互联网技术研发培训中心
对FreeSWAN 的配置主要是对/ etc / 和/ etc/
这两个文件进行相应的编辑。/etc /中包含了对应不同连接的
相关配置信息,而/etc/中则包含了RSA密钥对以及预共享
秘密等用来进行认证的密钥信息。在无线路由器上执行# ipsec
showhostkey———left,以获得该主机的RSA 公钥,然后编辑/etc/
,增加了一个名为“net - net”的新连接。
conn net-net left = x. x. x. x ,填入无线路由器拨号所获得的对
外IP地址leftsubnet = ,无线路由器网关保护子网的IP
地址范围leftrsasigkey = 0s1LgR7 /oUM. . . ,将刚才得到的left RSA公
钥填入right = x. x. x. x ,填入VPN服务器的对外IP地址
rightsubnet= ,另一方保护的子网IP地址范围
rightrsasigkey = 0sAQOqH55O. . . ,将VPN服务器的right RSA公钥填
入auto=add ,启动时并不自动建立连接双方重新启动ipsec后,该连接就
被Pluto加载, 并做好建立连接的准备了。在无线路由器上执行# ipsec
auto———up net-net即可看到一系列的连接建立过程。
嵌入式学习资料
千锋3G嵌入式移动互联网技术研发培训中心
无线路由器对终端设备提供两个接口,分别是以太网接口和RS-232
串行接口。无线路由器中的路由软件将来自设备的数据自动转发到
GPRS网络,或者接收来自GPRS网络的数据并转发给设备。终端设备只
要通过以太网口或RS-232串行口连接到无线路由器,并将默认网关设
置成无线路由器的IP地址,就可以接入到GPRS网络。
嵌入式学习资料之连接方法及应用
图3 网络规划和设计图
千锋3G嵌入式移动互联网技术研发培训中心
使用通信专线将移动网络与行业的数据中心相连;在
数据中心放置VPN服务器,与各网点的无线路由器进
行VPN连接;修改现有网络中各设备的网络配置,利
用移动网络进行数据通信。其适用场合包括: 银行:
营业网点、ATM机、pos机; 医院:医保中心联网、
流动救护车; 保险:保险公司网点联网; 超市、连锁
店:M IS系统互连; 移动场所:电力抢修、治安警车等
; 环保:现场监控、联网。
嵌入式学习资料
千锋3G嵌入式移动互联网技术研发培训中心
本文较为详细地介绍了一种新型无线VPN路由器的
设计方法。首先从硬件构造上进行剖析,提供了详细
的硬件开发方案。然后重点阐述了软件设计方法,包
括操作系统的移植,实现无线网络连接的PPP拨号程
序以及实现VPN 的IPSEC应用程序。通过使用本文
中所提出的方法,可以很好的满足很多行业的应用需
求。
总结