当前位置:首页 > 嵌入式 > 嵌入式硬件

引言

无线路由器是一款基于GPRS/CDMA1X公用移动网络平台,通过无线接入Internet或VPDN的网络设备。它能提供可移动的、低成本的基于TCP/IP的数据传输通道。

无线路由器可广泛应用于金融、保险、电力、监控、交通、气象、水文监测等行业。利用稳定的GPRS/CDMA1X无线网络,无线路由器可以代替部分有线以太网路由器、HUB、有线MODEM,实现数据的无线传输。在公用移动网络覆盖的条件下,原先采用以太网接口,依靠有线以太网通信系统的各种终端设备,如PC机、工控机、ATM机、POS机、网络摄像机等,都可以很方便地通过无线路由器接入到GPRS/CDMA1X网络中,利用移动互联网提供的数据服务来进行数据通信。

与传统有线网络接入相比,无线路由器设备具有以下优点:

路不受线缆的约束,能迅速提供无线TCP/IP服务。

路具有移动性,可以安装在轮船、火车、汽车等移动载体上。

路灵活可变,根据需要随时增减设备。

无线路由器硬件设计

无线路由器由无线通信模块、以太网接口、嵌入式处理器及存储器、电源模块等四部分组成,如图1所示,它一端通过无线通信模块经天线接入GPRS/CDMA1X网络,另一端通过以太网接口连接网络终端设备,如PC、网络摄像机、多媒体终端等,无线路由器相当于在网络终端设备和互联网之间搭起了一座桥梁。无线通信模块部分完成接入GPRS/CDMA1X网络的工作,相当于一部可以拨号上网的移动调制解调器。

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

无线路由器硬件包括嵌入式处理器、存储器、无线通信模块、接口和电源等几部分,如图2所示。

处理器

无线路由器的嵌入式处理器采用ARM处理器S3C4510B,内核为ARM7TDMI,主频为50MHz,它提供2个UART串行口、1个I2C总线控制器、1个实时时钟和1个10/100Mbps以太网控制器。

存储器

FLASH存储器为1片1M×16位数据宽度的HY29LV160,它的容量为16M位(2M字节),工作电压为2.7V~3.6V。

SDRAM存储器为1片16位数据宽度的HY57V641620,它的容量为4组×16M位(8M字节),工作电压为3.3V。

I2C存储器为1片AT24C01,它提供了128字节的EEPROM存储空间,可用于存放少量在系统掉电时需要保存的数据。

无线通信模块

采用Wavecom公司生产的GPRS模块Q2406B或CDMA1X模块Q2358C,嵌入式处理器通过串行口1与无线通信模块的相连,模块通过外接天线与公用移动网络的蜂窝小区基站通信,收发无线数据。

对外接口

路由器对外有三个接口:一个SMA座的天线接口,50Ω阻抗;一个RJ45座的10M以太网口接口,连接各种网络终端设备;一个DB9座的RS232串行口,既可以配置成控制台接口,用来设置参数和设备运行监控,也可配置成串口数据转换接口,用于将串口数据转换成网口数据。

考虑到车载电瓶电压大都为+12V,为了方便连接汽车的点烟器或车载电瓶,无线路由器电源模块采用直流电源+12输入,输出4V、2.8V、3.3V,分别供给无线通信模块、S3C4510、FLASH等数字电路部分。

无线路由器的软件设计

操作系统软件

mClinux是一个完全符合GNU/GPL(通用公共许可证)公约的项目和完全开放代码,它是标准Linux的一个分支,现在由Lineo公司支持维护。它专门针对没有MMU的CPU,并且为嵌放式系统做了许多小型化的工作。

无线路由器的操作系统软件采用mClinux,它是基于Linux内核公开源代码的一种嵌入式操作系统。由于无线路由器的硬件电路是针对此应用专门设计的,mClinux并不能直接使用,所以重新修改mClinux操作系统软件中与硬件电路相关的部分源代码,使得mClinux操作系统能够在无线路由器电路板上正常运行,针对mClinux进行的改动主要有:

路ARMS3C4510B和存储器芯片的初始化程序;

路mClinux内核的引导程序bootloader;

路无线路由器各种网络应用软件的配置文件;

路针对ARMS3C4510B处理器,选择合适的编译工具和参数选项,重新编译整个操作系统。

无线路由器支持的网络协议

无线路由器支持的网络协议示于表1。

应用软件

无线路由器的网络接口包括有线以太网接口和无线拨号上网接口,无线路由器的作用就是在这两个接口之间转发数据,提供静态路由功能。TCP/IP网络协议的实现代码已经内嵌在mClinux操作系统中,在内核中设置“IP转发”和“IP伪装”就能实现静态路由功能。应用软件设计主要包括两个网络应用程序:PPP应用程序和iptables应用程序。

PPP应用程序

PPP应用程序用来通过无线通信模块拨号登录GPRS/CDMA1X移动网络,登录过程遵循PPP点到点通信协议。mClinux操作系统代码中包含有一个实现PPP协议的程序pppd,但是需要根据GPRS/CDMA1X移动网络通信的要求,修改pppd源代码中的部分配置参数,如拨号号码、登录用户名、登录密码,就能够得到需要的PPP应用程序,实现拨号登录移动网络。

iptables应用程序

iptables软件包支持数据处理包伪装和过滤功能,这种功能被称为网络过滤器(netfilter)。在无线路由器中我们使用了"IP转发"和"IP伪装"功能。

“IP转发”功能:

#echo1>/proc/sys/net/ipv4/ipforward

“IP伪装”功能:

#iptables-tnat-APOSTROUTING-oppp0-jMASQUERADE

“IP伪装”的工作原理是:当路由器拨号上网后,它拥有的两个网络接口,它俩分别拥有两个IP地址:

a.拨号网络接口ppp0是一个动态的合法公网IP地址,假定为a.b.c.d;

b.以太网口接口eth0是一个固定的私网的IP地址,假定为192.168.1.1

假如以太网口连接的是一个局域网192.168.1.x,通常这个局域网内的设备是不能访问到公网IP的。局域网终端设备(假定它的ip地址为192.168.1.22)将无线路由器以太网口的IP地址192.168.1.1设定为默认网关,当无线路由器收到局域网设备访问公网的请求数据包时,通过上面的"IP转发"命令对其进行转发,再通过的"IP伪装"命令对其进行改写,将数据包的源地址192.168.1.22替换为自己的合法IP地址a.b.c.d,将源端口号port1换成一个新的端口号port2,并且对该过程进行记录。

当无线路由器收到Internet主机的响应包时,如果目的端口号正是先前改动后的端口号port2,则再对该包进行反向改写,将响应包的目的IP(a.b.c.d)及目的端口号(port2)替换为原来记录的局域网设备的IP地址192.168.1.22和端口号port1,然后再发送给局域网设备。

将私网地址转化为公网地址,是由存储在基于iptable的无线路由器上的数据库完成的。无线路由器的iptable软件维护这个数据库,因此它知道如何进行“逆转换”,所以从公网返回的数据就能正确的送到源访问设备。

终端设备接入无线网络方式

无线路由器对终端设备提供两个接口,分别是以太接口和无线ppp接口。无线路由器中的路由软件将来自以太口的有线网络设备的数据自动转发到GPRS/CDMA网络,或者接收来自GPRS/CDMA网络的数据并转发给以太口的有线网络设备。

功能:

路网络终端设备的数据转发

网络终端设备只要通过以太网口连接到无线路由器,并将默认网关设置成无线路由器的IP地址,就可以接入到GPRS/CDMA网络。终端设备本身的通信软件无需作任何的改变。

路网络终端设备的即插即用

无线路由器内置DHCP服务器。终端设备只要设置成自动获取IP地址,通过以太口连接到无线路由器,就可以通过DHCP协议自动获取动态的IP地址、网关地址、子网掩码、DNS等网络参数,然后可以接入到GPRS/CDMA网络。终端设备本身的通信软件无需作任何的改变,真正做到了即插即用。

路移动网络自适应

无线路由器内置软件能自动识别路由器硬件配置的无线通信模块类型,然后采用不同的拨号参数,登录GPRS或者CDMA1X移动网络。

结语

有线网络终端设备可以利用已有的GPRS/CDMA1X网络,无需铺设网线便可通过无线路由器完成网络无线接入。CDMA1X无线路由器设备可在高速公路监控、防汛指挥、山区防火、地质灾害等场合作为应急通信手段。在偏远地区,岛屿、汽车、三峡游轮、火车等架设通信线路困难或架线不经济的地方,使用GPRS/CDMA1X无线路由器接入互联网或者专用VPDN是一种迅速、廉价的解决方法。本设备已经应用在太湖流域管理局的太湖水文数据监控系统中。

总之,在GPRS/CDMA1X蜂窝网覆盖的范围内,无线路由器设备能快速经济地提供无线网络通信业务。本文所提供方法实现的无线路由器设备通用性强,能够高效率地运行。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

以下内容中,小编将对无线路由器的相关内容进行着重介绍和阐述,希望本文能帮您增进对无线路由器的了解,和小编一起来看看吧。

关键字: 路由器 无线路由器

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用
关闭
关闭