基于ARM7的GPRS无线VPN路由器设计

时间:2021-02-02

  简介:本文较为详细地介绍了一种新型无线VPN路由器的设计方法。首先从硬件构造上进行剖析,提供了详细的硬件开发方案。然后重点阐述了软件设计方法,包括操作系统的移植,实现无线网络连接的PPP拨号程序以及实现VPN 的IPSEC应用程序。通过使用本文中所提出的方法,可以很好的满足很多行业的应用需求。

  近年来蜂窝式移动通信系统在中国的发展非常迅速,不仅给用户带来了方便快捷的语音通信服务,而且还能提供灵活的数据通信服务。

  本文提出了一种新型的基于ARM7的嵌入式设备———GPRS无线VPN路由器的设计方法,使得原先使用有线通信系统的各种业务终端设备能够非常方便地接入到GPRS网络中,利用无线移动网络提供的数据服务来进行数据通信。

  1 概述

  1.1 ARM简介

  ARM (Advanced RISC Machines) ,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥, ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。ARM微处理器目前包括下面几个系列, ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel 的Xscale以及StrongARM。它们共同构成了当今嵌入式领域的主流微处理器。

  1.2 GPRS简介

  GPRS(General Packet Radio Service)是通用分组无线业务的简称,是在GSM基础上发展起来的一种分组交换的数据承载和传输方式。与原有的GSM比较, GPRS在数据业务的承载和支持上具有非常明显的优势:通过多个GSM时隙的复用,支持的数据传输速率更高,理论峰值达115kbps;不同的网络用户共享同一组GPRS信道,但只有当某一个用户需要发送或接收数据时才会占用信道资源。这样,通过多用户的业务复用,更有效地利用无线网络信道资源,特别适合突发性、频繁的小流量数据传输,很好地适应数据业务的突发性特点; GPRS计费方式更加灵活,可以支持按数据流量来进行计费;与无线应用协议(WAP)技术不同, GPRS能够随时为用户提供透明的IP通道,可直接访问Internet中的所有站点和资源;采用信道复用技术,每一个GPRS用户都能够实现永远在线。

  2 硬件部分

  2.1 设计思路

  无线路由器电路板通过无线通信模块连接GPRS移动网络,通过以太口连接内部终端设备或者内部局域网。无线路由器具备网络路由功能,能够在两个网络之间转发数据。各种终端设备发出的数据通过以太口被处理器接收,处理器对数据进行相应处理后(例如加/解密)再通过串行口发送给无线通信模块,由它转发到GPRS网络中。同理,反向的数据经过相反的路径  终送回终端设备。

  2.2 硬件设计

  嵌入式处理器采用三星公司的S3C4510B,它是基于以太网应用系统的高性价比的16/32位RISC微控制器,内含一个由ARM公司设计的16/32位ARM7TDMI RISC处理器核。通过GPRS网进行数据传输需要使用GPRS模块。目前, GPRS模块一般是指带有GPRS功能的GSM模块,模块通过外接天线与蜂窝小区基站通信, 收发无线数据。本设计中GPRS 模块采用Wavecom公司的W ISMO Quik Q2400系列.其他各部分基本功能描述如下:

  串行接口电路用于S3C4510B与GPRS模块以及其他应用系统进行短距离双向串行通讯; 复位电路可完成系统上电复位和在系统工作时用户按键复位;电源电路为整个系统提供工作所需的电压,包括5V, 3.6V以及3.3V;10MHz有源晶振为系统提供工作时钟; FLASH存储器可存放已调试好的应用程序、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等;

  SDRAM存储器作为系统运行时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中;10M/100M以太网接口为系统提供以太网接入的物理通道;I2C存储器可存储少量需要长期保存的用户数据.

  2.3 硬件连接

  完整的硬件连接图如图1所示。

  图1 硬件连接图

  3 软件部分

  在此无线路由器中使用的操作系统是uClinux,它是专门应用于没有MMU的微控制器上的操作系统。uClinux操作系统中已经内嵌了TCP/IP网络协议的实现代码,在内核中设置“IP转发”就能实现静态路由功能。为了实现拨号登录移动网络以及VPN的功能,则需要用到2个网络应用程序: PPP应用程序和IPSec应用程序。图2是整个系统的软件结构层次图。

  图2软件结构层次图

  3. 1 uClinux 的移植

  uClinux 的源代码和开发工具可以  从http: //www.uclinux.org上  得到。www.uclinux.org上定期为新推出的Linux内核推出相应的源码包。  的版本为uClinux-dist-20040408.tar.gz,也可以从该网站上    得到。这个源码包里包含了uCL inux -2.6.2、uCL inux-2.4.24、2.0.39、uClibc和已经移植到uClinux下的用户应用程序。tar xzvf uClinux-dist-20040408.tar.bz将其解压缩到/home/uClinux-dist下。另外还需要从www.uclinux.org/pub/uClinux/arm-elf -tools/上  ARM 交叉编译器: arm-elf-tools-20030314.sh,执行以建立uClinux-ARM的交叉编译环境。为了使uClinux能顺利地在无线路由器上跑起来,需要针对此硬件平台对uClinux再进行修改。在/home/uClinux-dist/linux-2.4.x/include/asm-armnommu/下的hardware.h文件包含了S3C4510B片内特殊功能寄存器以及其他相关硬件信息的定义。可以在此对其进行修改。另外还可以在make xconfig的时候将vendor选为Samsung,并选中Customize Kernel Settings一项,之后可以在出现的System Type中对相关参数进行修改,主要包括系统的主时钟频率、FLASH和SDRAM的起始地址及大小等。  终通过编译即可得到无线路由器运行所需要的image.rom和image.ram。

上一篇:基于CAN总线控制器和CANopen协议实现智能消防水炮系统的应用方案
下一篇:基于ARM嵌入式的远程监控系统设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料