Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > 用GPRS modem实现嵌入式Internet接入系统
【标  题】:用GPRS modem实现嵌入式Internet接入系统
【关键字】:GPRS,modem,Internet
【来  源】:http://blog.csdn.net/huangqiqun/archive/2007/04/13/1563529.aspx

用GPRS modem实现嵌入式Internet接入系统

Your Ad Here 摘要:运用ARM单片机LPC2104及西门子公司的GPRSmodem设计一种嵌入式Internet接入系统,并提供相应的硬件原理图和嵌入式操作系统移植方案。

    关键词:uc/OS-II uIP GPRS TCP/IP 嵌入式Internet

引言

随着GPRS技术在无线通信领域的发展,GPRSmodem作为GPRS在Internet的PC机终端已得到了广泛应用。相应的,在单片机系统中运用GPRSmodem实现Internet接入也已开始为人们所重视。GPRS可以发挥永远在线、快速登录、按流量计费等优势。如果无线传输的仅仅只是低速数据,用成本较高的PC机来控制则成本过高。本文采用在嵌入式实时操作系统uC/OS-II中移植一种小型TCP/IP协议栈uIP的方法,提供了一套运用ARM CPU及西门子公司的GPRSmodem(MC35)来实现Internet接入的系统设计方案。

1 GPRS接入Internet模型设计

如图1所示,GPRS网络主要由在GSM基站中新增加的GPRS业务节点组成,并通过GPRS网关节点实现与Internet的互联。在本系统设计中,要与Internet交互信息的数据先通过GPRSmodem与当地GSM基站中的GPRS业务节点进行无线通信,并进入GPRS网络,然后通过GPRS网关与Internet进行数据交互。在本系统中,设计的关键有二:一是ARM CPU与GPRSmodem的连接,即数据端的串行数据经ARM CPU的串口发送到GPRSmodem上;二是在ARM CPU中嵌入实时操作系统uC/OS-II,然后在uC/OS-II中移植uIP,实现TCP/IP协议栈。

图1

2 系统的分层考虑与协议转换

图2简单示意了本系统的分层结构,把GPRS服务节点和网关节点等GPRS内部节点简化抽象为GPRS网络,把GPRS内部协议及Internet网关协议等简化抽象为GPRS网关协议。

物理层:ARM CPU利用AT指令对GPRSmodem进行拨号。反馈应答后,一条物理通道即GPRS信道就在本系统中的GPRSmodem和Internet之间建立起来。

数据链路层:PPP协议将原始的GPRS物理层连接改造成无差错的数据链路,系统将成本远程登录Internet,并得到GPRS网关分配的A类IP地址。

网络层:采用IP协议作为网络层协议。IP协议将接入Internet的具有不同IP地址的终端都联系起来。经过IP路由选择,可以实现本系统与连在Internet上的任一IP终端进行数据交互。

传输层:选择TCP作为传输层协议,为数据传输提供面向连接、可靠服务。

3 uC/OS-II与小型TCP/IP协议栈uIP

uC/OS-II是由Jean J.Labrosse编写的一种免费公开源代码的实时操作系统。作为一个操作系统内核,它没有提供通信软件库。UIP是由瑞士计算机科学院的Adam Dunkels等开发的一种免费公开源代码的小型TCP/IP协议栈,全C编写,提供了网络通信所必须的协议,包括:ARP、SLIP、IP、UDP、ICMP(PINC)和TCP。本系统在ARM CPU中嵌入实时操作系统uC/OS-II,再移植uIP实现TCP/IP协议栈,从而获得一个功能完善的嵌入式IP终端。

4 硬件设计

整个系统的硬件框架如图3所示。

ARM CPU采用飞利浦公司的LPC2104,内核为基于ARM7TDMI-S的精简指令集的通用32位高速微处理器。工作电压为3.3V,内核工作电压仅为1.8V;内置PLL锁相环可以设置CPU工作频率达60MHz;双UART口,提供数据的异步串行发送和接收;片内16KB RAM和128KB Flash程序存储器,为嵌入式uC/OS-II操作系统和移植uIP协议栈提供了必要的空间。

GPRSmodem选用Siemens公司的MC35。该模块提供了9针的标准RS232接口,通过MAX3232电平转换芯片和LPC2104的UART0口相连,进行全双工通信。MC35工作电压为12V,上电后由DTR上升沿跳变触发启动。本系统指定LPC2104的P0.13信号线经MAX3232电平转换后作为MC35的DTR。GSM基带处理器是MC35的核心部件,用来处理串口发送的AT指令。

本系统中,上电复位后,首先进行工作频率等参数设置,然后进行拨号和PPP协商,得到系统本地IP,完成GPRS的Internet接入。ARM CPU将用户数据先打成IP包,再经串口发送给MC35,MC35把其封装成GPRS分组数据包传到GPRS网。

5 软件设计

图4所示是uC/OS-II的结构及与硬件的关系。

与处理器无关的代码包含了uC/OS-II的系统函数,移植时只要将uC/OS-II,C文件包含在自己的项目中,即可将uC/OS-II中所有与MCU无关的代码包含到移植的代码中。

与处理器相关的代码包含了对各种不同类型MCU的支持,需要根据自己的MCU对这部分进行修改。笔者使用的是的ADS2.0编译器,uC/OS-II的移植与三个文件相关:处理器相关C文件(OS_CPU.H、OS_CPU_C.C)和汇编文件(OS_CPU_A.ASM)。

    (1)修改OS_CPU.H

①编译器相关数据类型的设定。

用#define语句定义两个宏开关中断,具体实现为:

#define OS_ENTER_CRITICAL()EA=0 //关中断

#define OS_EXIT_CRITCAL() EA=1 //开中断

②根据堆栈的方向宏方OS_STK_GROWT。

#define OS_STK_GROWTH 1//GROWTH。

虽然ARM处理器核对于两种方式均支持,但ADS2.0的C语言编译器仅支持一种方式,即从上往下生长,并且必须是满递减堆栈,所以OS_STK_GROWTH的值为1。

③OS_STK_SW()、OSCtxSw()的移植

#define OS_TASK_SW() OSCtxSw()

uC/OS-II从低优先级任务切换到高优先级任务时,通过执行OS_STK_SW()模仿中断的产生。中断服务子程序的中断向量地址指向汇编语言函数OSCtxSw()。

(2)修改OS_CPU_C.C和OS_CPU_A.ASM

uC/OS-II的移植还要编写10个简单的C函数,包括6个和操作系统相关的函数和4个与处理器相关的函数其中OSTaskStklit()是必要的,其它9个函数必须声明,可以不加代码。在每个C函数及其声明后标注reentrant关键字,使生成的代码支持函数可重入。

    ①在目录uip-0.9/下创建一个自己的目录,例如uip0.9/2104/。

②把uip_arch.c文件从目录uip-0.9/unix/中复制到目录uip-0.9/2104中。

③把uipopt.h文件目录uip-0.9/unix中复制到目录uip-0.9/2104中,并对其修改,以满足系统需要。

④编写串口驱动程序和主控函数。

⑤编译源代码。

结语

本设计方案采用1片ARM CPU来控制GPRSmodem,实现了嵌入式实时操作系统uC/OS-II的移植以及小型TCP/IP协议栈uIP的移植。该GPRS终端利用GPRS网和Internet实现了基于GPRS的无线Internet互联,体积小功耗低,可靠性高,并且具有可扩展性和产品开发的延续性,可应用于移动终端、交通管理、信息家电、工业控制、环境监测以及POS网络和电子商务等多种应用场所。

 
WinCE圆圈消息:【上一篇】
寻求NS2 项目合作:【下一篇】
【相关文章】
  • 判断GPRS是否连接的代码
  • [UMU WSH 教程](12)常见对象 - InternetExplorer.Application
  • 配置Microsoft Visual SourceSafe 2005的Internet访问
  • 中国联通cdma 1x和中国移动gprs数据业务比较
  • 关于采用GPRS—MODEM发送彩信的问题
  • 主流无线传输技术GPRS与CDMA对比
  • Kaspersky Internet Security驱动溢出漏洞
  • 手机通过GPRS上传 到web网站
  • Internet Explorer 编程简述(十一)实现完美的Inplace Drag & Drop——“超级拖放”
  • 如何用gprs段信猫发短信
  • 【随机文章】
  • switch中的while
  • winxp下APACHE2+PHP5+MYSQL4+PHPMYADMIN 的配置
  • Java程序在访问DB2数据库时的必备条件
  • 使用proz来加速你的Freebsd ports安装
  • C#和.NET核心技术书评
  • 一个新java web项目入手过程总结
  • Sun JSE 6 released
  • 吸引3千万网友眼球 NeoPets风靡全球
  • 浮 动 视 口
  • 路由器新技术
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.