资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
电子之家 www.bbww.net 资料版权归合法所有者所有 严禁用于商业用途 基于 8051 嵌入式系统的 GPRS 终端实现 基于 8051 嵌入式系统的 GPRS 终端实现 介绍了基于 GPRS 网的数据传输、嵌入式实时操作系统 u/OS-II 以及小型 TCP/IP 协议栈 uIP;深入论述了基于 8051 嵌入式系统的 GPRS 终端的实现。提供了一种罗为简单、廉价和实用的 GPRS 终端的实现方案,说明了在 8051 中如何进行 uC/OS-II和 uIP 的移植。 关键词:GPRS 终端 嵌入式系统 实时操作系统 TCP/IP 随着数据无线传输需求的骤增和中画移动 GPRS 业务全面投入运营,无线数据通信的应用越来越广泛。GPRS 网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,且其本身就是一个分组型数据网,支持 TCPIP协议,无需经过 PSTN 等网络的转接,可直接与 Internet 网互通。因此 GPRS 业务在无线上网、环境监测、交通监控、移动办公等行业中具有无可比拟的性价比优势。 为了满足 GPRS 终端的低成本、小型化和移动灵活等要求,现在广泛采用单片机对 GPRS 终端进行控制,并且引入嵌入式系统实现 TCPIP 协议栈。目前主要的困难在于:运行 TCPIP 协议对计算机存储器、运算速度等要求较高,会占用大量的系统资源;而嵌入式系统大多采用 8 位单片机,硬件资源非常有限,支持 TCPIP 协议非常困难。本文采用了在嵌入式实时操作系统 uCOS-II 中移植一种小型 TCPIP 协议栈 uIP 的方法, 使基于 8051 嵌入式系统的 GPRS 终端能够在网络中进行数据传输;同时改善了系统的性能,提高了系统的可靠性,增强了系统的可扩展性和产品开发的可延续性。 1 基于 GPRS 网的数据传输1 基于 GPRS 网的数据传输 GPRS 是在 GSM 的基础上引入了分组控制单元(PCU)、 服务支持节点(SGSN)和网关支持节点(GGSN)等新部件而构成的无线数据传输系统,其用户能够在端到端分组方式下发送和接收数据。基于 GPRS 网的数据传输系统如图 1 所示。具体的数据传输流程为: 欢迎光临中国最大的电子工程师应用网站欢迎光临中国最大的电子工程师应用网站 网址:网址:www.bbww.net 电子之家 www.bbww.net 资料版权归合法所有者所有 严禁用于商业用途 GPRS 终端通过接口从客户系统中取出用户数据; 处理后以 GPRS 分组数据的形式发送到 GSM 基站(BSS); 分组数据经 SGSN 封装后,发送到 GPRS IP 骨干网; 若分组数据是发送到另一 GPRS 终端, 则先发送到目的 SGSN, 再经 BSS 发送到 CPBS 终端; 若分组数据是发送到外部网络(如Internet),则将分组数据包经 GGSN 进行协议转换后,发送到外部网络。 2 嵌入式实时操作系统 uCOS-II2 嵌入式实时操作系统 uCOS-II uCOS-II 是由 Jean JLabrosse 先生编写的、现在流行的一种免费公开源代码的实时操作系统。它可广泛应用于从 8 位到 64 位单片机的各种不同类型、不同规模的嵌入式系统。带有详细注解的 uCOS-II 源代码只有 200 页左右;其中 95左右是用 C 语言编写的,与 MCU 类型相关的代码用 8088 汇编写成,不超过 200 行。uCOS-II 不仅具有结构小巧、可固化、可裁剪、多任务和可剥夺型的实时内核等特点;而且其实时性、稳定性裙可靠性也得到了广泛认可。uCOS-II 的最小内核可编译至 2KB,一般情况占用内存在 10KB 数量级,适用基于 8051 的嵌入式系统的需要。在系统中嵌入 uCOS-II 可以把整个程序分成许多任务,每个任务相对独立,然后在每个任务中设置超时函数,时间用完后,必须交出 MCU 的使用权。即使一个任务发生问题,也不会影响其他任务的运行。在单片机系统中嵌入 uCOS-II 提高了系统的可靠性,并使调试程序变得简单,同时也增强了系统的可扩展性和产品开发的可延续性。 不过 uCOS-II 仅仅是一个实时操作系统内核,与商业实时操作系统软件包比较,它缺少 Utilities 部分,如文件系统、远程函数调用库、通信软件库。通信软件包括:TCPIP 软件库、蓝牙通信软件库、IrDA 红外通信软件库等。这一类软件的解决有两种途径:一个是购买第三方软件;另一个是自己编写。如果只是用单片机实现 TCPIP 协议中的某些功能,可以选用免费公开源代码的小型 TCPIP 协议栈,把它移植到 uCOS-II。 目前 uCOS-II 的最新版本为 V270,但现在广泛学习和应用的是 V252。 3 小型 TCPIP 协议栈 uIP3 小型 TCPIP 协议栈 uIP uIP 是由瑞士计算机科学院的 Adam Dunkels 等开发的一种免费公开源代码的小型 TCPIP 协议栈, 它专门为 8 位和 16 位 MCU编写。uIP 完全是用 C 语言编写,它在保证一个完整的 TCPIP 栈的前提下,只保留了最必要的一系列特征,使其代码最少、占用的 RAM 最小;它只能处理单一的网络接口。通常的 TCPIP 栈采用 BSD socket API,需要来自下层的多任务操作系统欢迎光临中国最大的电子工程师应用网站欢迎光临中国最大的电子工程师应用网站 网址:网址:www.bbww.net 2电子之家 www.bbww.net 资料版权归合法所有者所有 严禁用于商业用途 欢迎光临中国最大的电子工程师应用网站欢迎光临中国最大的电子工程师应用网站 网址:网址:www.bbww.net 3的支持,而且任务管理、语境切换以及堆栈空间的分配都要占用很大的开销,超出了 8 位机系统的能力。uIP 采用了一个事件驱动接口,通过调用应用程序响应事件。而相应的应用程序作为 C 函数调用。通常情况下,uIP 的源代码虽然只有几 KB,RAM 占用仅几百字节,但 uIP 提供了网络通信所必须的协议,包括:ARP、SLIP、IP、UDP、ICMP(PINC)和 TCP;能够满足 8位 MCU 接入 TCPIP 网络(如 Internet)的需要。目前 uIP 最新的版本为 V0.9,符合 Internet 标准。 4 GPRS 终端的工作原理及硬件实现4 GPRS 终端的工作原理及硬件实现 GPRS 终端由控制模块控制 TCPIP 模块和无线发送模块实现。其结构框图如图 2 所示。 41 控制模块41 控制模块 控制模块的作用主要有: 控制模块通过 AT 指令初始化 GPRS 无线模块,使之附着在 GPRS 网上,获得网络运营商动态分配给 GPRS 终端的 IP 地址,并与目的终端或服务器之间建立连接; 控制模块通过 RS232 串口向客户系统收发数据或指令; 控制模块通过 RS232 串口向 TCPIP 模块收发数据; 控制模块自主或根据远程控制指令采取其他操作。 控制模块的 MCU 选用华邦的八位机 WINBOODW77E58。W77E58 是台湾华邦公司生产的、与 MCS51 系列单片机兼容的、可多次编程的快速微处理器, 在其内部集成有 32KB 的可重复编程的 Flash ROM、 256 字节的片内存储器、 IKB 用 MOVX 指令访问的 SRAM、可编程看门狗定时器、三个 16 位定时器、二个增强型的全双工串行口、片内 RC 振荡器、双 16 位数据指针等诸多功能。在很多场合,几乎不用扩展外围芯片就能够满足系统要求。由于其采用了全新设计的微处理器内核,去除多余的时钟和存储周期,在相同的晶振频率下,根据不同的指令类型,其运行速度一般比传统 8051 系列快 153 倍。一般情况下,平均可达25 倍以上。另外,由于 W77E58 采用全静态 CMOS 设计,能工作在低速晶振频率下。与普通的 8051 相比,若 W77E58 采用低速工作频率,在相同的指令吞吐量下,W77E58 的节电性能也将大大提高。 42 TCPIP 模块42 TCPIP 模块 TCPIP 模块通过 RS232 串口与 GPRS 无线模块通信,提供非透明和透明两路通道。相对应地,该模块有两种传输模式:透明模式和非透明模式。通过软件切换,模块在处于不同的传输模式时,数据流向也有所不同。当传送 AT 指令集时,模块进入透明模式,可以直接访问 GPRS 无线模块;当模块进人非透明传输方式时,用户数据从串口进入 TCPIP 模块后,先十丁成 TCPIP 包,再经串口发送给 GPRS 模块;GPRS 无线模块把其封装成 GPRS 分组数据包传到 GPRS 网上。TCPIP 模块由基于单片机 8051 的嵌入式系统实现。选用 WINBOODW77E58 作为嵌入式系统的微处理器,嵌入式实时操作系统选用 uCOS-II,然后在 uCOS-II 中移植 uIP 实现 TCPIP 协议栈。 43 GPRS 无线模块43 GPRS 无线模块 GPRS 无线模块作为 GPRS 终端的无线收发模块,把从 TCPIP 模块接收的 TCPIP 包和从基站接收的 GPRS 分组数据进行相应的协议处理后再转发。GPRS 无线模块采用了 SIEMENS 公司的 MC35 GPRS 模块。MC35 模块主要由射频天线、内部 Flash、电子之家 www.bbww.net 资料版权归合法所有者所有 严禁用于商业用途 SRAM、 GSM 基带处理器、 匹配电源和一个 40 脚的 ZIF 插座组成。 GSM 基带处理器是核心部件, 其作用相当于一个协议处理器,用来处理外部系统通过串口发送过来的 AT 指令。射频天线部分主要实现信号的调制与解调,以及外部射频信号与内部基带处理器之间的信号转换。匹配电源为处理器及射频部分提供所需的电源。MC35 GPRS 模块支持 GSM900 和 GSMl800 双频网络,接收速率可达 8620kbps,发送速率可达 215kbps,并且很容易集成。当然最大的数据吞吐量还要依赖于 GPRS 网络的支持。 5 TCPIP 模块的软件实现5 TCPIP 模块的软件实现 51 uCOS-II 在 8051 上的移植51 uCOS-II 在 8051 上的移植 uCOS-II 是自由软件,非商业的运用如科研、教学都是免费的。任何使用者都可以从互联网上下载其源代码,通过适当的修改加以移植,使其满足自己硬件和系统的需要。为了移植,需要先了解 uCOS-II 操作系统的总体结构,图 3 所示是 uCOS-II 的结构及与硬件的关系。 与处理器无关的代码中包含了 uCOS-II 的系统函数, 在进行系统移植时一般不需要对这部分进行修改; 只要将 UCOS-II C文件包含在自己的项目中,即可将 uCOS-II 中所有与 MCU 无关的代码包含到移植的代码中。 与应用相关的代码是用户根据自己的应用系统定制合适的内核服务功能,它包括两个文件:OS_CFGH、INCLUDESH。其中OS_CFGH 用来配置内核,用户根据需要对内核进行定制,设置系统的基本情况,例如系统可提供的最大任务数量、是否定制邮箱服务、是否需要系统提供任务挂起功能、是否提供任务优先级动态改变功能等。而 INCLUDESH 则是系统头文件。 处理器相关的代码中包含了对各种不同类型 MCU 的支持,需要根据自己的 MCU 对这部分进行修改。针对 Keil C51 编译器和8051 芯片的技术特点,uCOS-的移植与三个文件相关:处理器相关 C 文件(OS_CPUH、OS_CPU_CC)和汇编文件(OS_CPU_AASM)。 欢迎光临中国最大的电子工程师应用网
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号