




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于基于 80518051 嵌入式系统的嵌入式系统的 GPRSGPRS 终端实现终端实现 摘要:摘要:介绍了基于 GPRS 网的数据传输、嵌入式实时操作系统 u u/OS-II以及小型 TCP/IP 协议栈 u uIP;深入论述了基于 8051 嵌入式系统的 GPRS 终端的实现。提供了一种罗为简单、廉价和实用的 GPRS 终端的实现方案,说明了在8051 中如何进行 uC/OS-II 和 uIP 的移植。 ; mso-hansi-font-family: Times New Roman 关键词:关键词:GPRS 终端 嵌入式系统 实时操作系统 TCP/IP 随着数据无线传输需求的骤增和中画移
2、动 GPRS 业务全面投入运营,无线数据通信的应用越来越广泛。GPRS 网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,且其本身就是一个分组型数据网,支持 TCPIP 协议,无需经过 PSTN 等网络的转接,可直接与 Internet 网互通。因此 GPRS 业务在无线上网、环境监测、交通监控、移动办公等行业中具有无可比拟的性价比优势。 为了满足 GPRS 终端的低成本、小型化和移动灵活等要求,现在广泛采用单片机对 GPRS 终端进行控制,并且引入嵌入式系统实现 TCPIP 协议栈。目前主要的困难在于:运行 TCPIP 协议对计算机存储器、运算速度等要求较高,会占
3、用大量的系统资源;而嵌入式系统大多采用 8 位单片机,硬件资源非常有限,支持 TCPIP 协议非常困难。本文采用了在嵌入式实时操作系统 uCOS-II 中移植一种小型 TCPIP 协议栈 uIP 的方法,使基于 8051 嵌入式系统的GPRS 终端能够在网络中进行数据传输;同时改善了系统的性能,提高了系统的可靠性,增强了系统的可扩展性和产品开发的可延续性。 图图 1 1 1 1 基于基于 GPRSGPRS 网的数据传输网的数据传输 GPRS 是在 GSM 的基础上引入了分组控制单元(PCU)、服务支持节点(SGSN)和网关支持节点(GGSN)等新部件而构成的无线数据传输系统,其用户能够在端到端
4、分组方式下发送和接收数据。基于 GPRS 网的数据传输系统如图 1 所示。具体的数据传输流程为: GPRS 终端通过接口从客户系统中取出用户数据; 处理后以 GPRS 分组数据的形式发送到 GSM 基站(BSS); 分组数据经 SGSN 封装后,发送到 GPRS IP 骨干网; 若分组数据是发送到另一 GPRS 终端,则先发送到目的 SGSN,再经 BSS发送到 CPBS 终端;若分组数据是发送到外部网络(如 Internet),则将分组数据包经 GGSN 进行协议转换后,发送到外部网络。 2 2 嵌入式实时操作系统嵌入式实时操作系统 uCuCOSOS- -IIII uCOS-II 是由 Je
5、an JLabrosse 先生编写的、现在流行的一种免费公开源代码的实时操作系统。它可广泛应用于从 8 位到 64 位单片机的各种不同类型、不同规模的嵌入式系统。带有详细注解的 uCOS-II 源代码只有 200 页左右;其中 95左右是用 C 语言编写的,与 MCU 类型相关的代码用 8088 汇编写成,不超过 200 行。uCOS-II 不仅具有结构小巧、可固化、可裁剪、多任务和可剥夺型的实时内核等特点;而且其实时性、稳定性裙可靠性也得到了广泛认可。uCOS-II 的最小内核可编译至 2KB,一般情况占用内存在 10KB 数量级,适用基于 8051 的嵌入式系统的需要。在系统中嵌入 uCO
6、S-II 可以把整个程序分成许多任务,每个任务相对独立,然后在每个任务中设置超时函数,时间用完后,必须交出 MCU 的使用权。即使一个任务发生问题,也不会影响其他任务的运行。在单片机系统中嵌入 uCOS-II 提高了系统的可靠性,并使调试程序变得简单,同时也增强了系统的可扩展性和产品开发的可延续性。 不过 uCOS-II 仅仅是一个实时操作系统内核,与商业实时操作系统软件包比较,它缺少 Utilities 部分,如文件系统、远程函数调用库、通信软件库。通信软件包括:TCPIP 软件库、蓝牙通信软件库、IrDA 红外通信软件库等。这一类软件的解决有两种途径:一个是购买第三方软件;另一个是自己编写
7、。如果只是用单片机实现 TCPIP 协议中的某些功能,可以选用免费公开源代码的小型 TCPIP 协议栈,把它移植到 uCOS-II。 目前 uCOS-II 的最新版本为 V270,但现在广泛学习和应用的是 V252。 3 3 小型小型 TCPTCPIPIP 协议栈协议栈 uIPuIP uIP 是由瑞士计算机科学院的 Adam Dunkels 等开发的一种免费公开源代码的小型 TCPIP 协议栈,它专门为 8 位和 16 位 MCU 编写。uIP 完全是用 C 语言编写,它在保证一个完整的 TCPIP 栈的前提下,只保留了最必要的一系列特征,使其代码最少、占用的 RAM 最小;它只能处理单一的网
8、络接口。通常的TCPIP 栈采用 BSD socket API,需要来自下层的多任务操作系统的支持,而且任务管理、语境切换以及堆栈空间的分配都要占用很大的开销,超出了 8 位机系统的能力。uIP 采用了一个事件驱动接口,通过调用应用程序响应事件。而相应的应用程序作为 C 函数调用。通常情况下,uIP 的源代码虽然只有几KB,RAM 占用仅几百字节,但 uIP 提供了网络通信所必须的协议,包括:ARP、SLIP、IP、UDP、ICMP(PINC)和 TCP;能够满足 8 位 MCU 接入 TCPIP 网络(如Internet)的需要。目前 uIP 最新的版本为 V0.9,符合 Internet
9、标准。 4 GPRS4 GPRS 终端的工作原理及硬件实现终端的工作原理及硬件实现 GPRS 终端由控制模块控制 TCPIP 模块和无线发送模块实现。其结构框图如图 2 所示。 41 控制模块 控制模块的作用主要有: 控制模块通过 AT 指令初始化 GPRS 无线模块,使之附着在 GPRS 网上,获得网络运营商动态分配给 GPRS 终端的 IP 地址,并与目的终端或服务器之间建立连接; 控制模块通过 RS232 串口向客户系统收发数据 或指令; 控制模块通过 RS232 串口向 TCPIP 模块收发数据; 控制模块自主或根据远程控制指令采取其他操作。 控制模块的 MCU 选用华邦的八位机 WI
10、NBOODW77E58。W77E58 是台湾华邦公司生产的、与 MCS51 系列单片机兼容的、可多次编程的快速微处理器,在其内部集成有 32KB 的可重复编程的 Flash ROM、256 字节的片内存储器、IKB 用MOVX 指令访问的 SRAM、可编程看门狗定时器、三个 16 位定时器、二个增强型的全双工串行口、片内 RC 振荡器、双 16 位数据指针等诸多功能。在很多场合,几乎不用扩展外围芯片就能够满足系统要求。由于其采用了全新设计的微处理器内核,去除多余的时钟和存储周期,在相同的晶振频率下,根据不同的指令类型,其运行速度一般比传统 8051 系列快 153 倍。一般情况下,平均可达 2
11、5 倍以上。另外,由于 W77E58 采用全静态 CMOS 设计,能工作在低速晶振频率下。与普通的 8051 相比,若 W77E58 采用低速工作频率,在相同的指令吞吐量下,W77E58 的节电性能也将大大提高。 42 TCPIP 模块 TCPIP 模块通过 RS232 串口与 GPRS 无线模块通信,提供非透明和透明两路通道。相对应地,该模块有两种传输模式:透明模式和非透明模式。通过软件切换,模块在处于不同的传输模式时,数据流向也有所不同。当传送 AT 指令集时,模块进入透明模式,可以直接访问 GPRS 无线模块;当模块进人非透明传输方式时,用户数据从串口进入 TCPIP 模块后,先十丁成
12、TCPIP 包,再经串口发送给 GPRS 模块;GPRS 无线模块把其封装成 GPRS 分组数据包传到 GPRS网上。TCPIP 模块由基于单片机 8051 的嵌入式系统实现。选用WINBOODW77E58 作为嵌入式系统的微处理器,嵌入式实时操作系统选用 uCOS-II,然后在 uCOS-II 中移植 uIP 实现 TCPIP 协议栈。 43 GPRS 无线模块 GPRS 无线模块作为 GPRS 终端的无线收发模块,把从 TCPIP 模块接收的TCPIP 包和从基站接收的 GPRS 分组数据进行相应的协议处理后再转发。GPRS无线模块采用了 SIEMENS 公司的 MC35 GPRS 模块。
13、MC35 模块主要由射频天线、内部 Flash、SRAM、GSM 基带处理器、匹配电源和一个 40 脚的 ZIF 插座组成。GSM 基带处理器是核心部件,其作用相当于一个协议处理器,用来处理外部系统通过串口发送过来的 AT 指令。射频天线部分主要实现信号的调制与解调,以及外部射频信号与内部基带处理器之间的信号转换。匹配电源为处理器及射频部分提供所需的电源。MC35 GPRS 模块支持 GSM900 和 GSMl800 双频网络,接收速率可达 8620kbps,发送速率可达 215kbps,并且很容易集成。当然最大的数据吞吐量还要依赖于 GPRS 网络的支持。 5 TCP5 TCPIPIP 模块
14、的软件实现模块的软件实现 51 uCOS-II 在 8051 上的移植 uCOS-II 是自由软件,非商业的运用如科研、教学都是免费的。任何使用者都可以从互联网上下载其源代码,通过适当的修改加以移植,使其满足自己硬件和系统的需要。为了移植,需要先了解 uCOS-II 操作系统的总体结构,图 3 所示是 uCOS-II 的结构及与硬件的关系。 与处理器无关的代码中包含了 uCOS-II 的系统函数,在进行系统移植时一般不需要对这部分进行修改;只要将 UCOS-IIC 文件包含在自己的项目中,即可将 uCOS-II 中所有与 MCU 无关的代码包含到移植的代码中。 与应用相关的代码是用户根据自己的
15、应用系统定制合适的内核服务功能,它包括两个文件:OS_CFGH、INCLUDESH。其中 OS_CFGH 用来配置内核,用户根据需要对内核进行定制,设置系统的基本情况,例如系统可提供的最大任务数量、是否定制邮箱服务、是否需要系统提供任务挂起功能、是否提供任务优先级动态改变功能等。而 INCLUDESH 则是系统头文件。 处理器相关的代码中包含了对各种不同类型 MCU 的支持,需要根据自己的MCU 对这部分进行修改。针对 Keil C51 编译器和 8051 芯片的技术特点,uCOS-的移植与三个文件相关:处理器相关 C 文件(OS_CPUH、OS_CPU_CC)和汇编文件(OS_CPU_AAS
16、M)。 (1)修改 OS_CPU。H 文件 OS_CPUH 中包括了用#define 语句定义的与处理器相关的常数、宏以及类型。移植时主要修改的内容有: 与编译器相关的数据类型的设定。参考 Keil C51 编译器中的帮助文件C51PDF,具体路径为C51HLPC51PDF。 用#define 语句定义了两个宏开关中断,具体实现为: #define OS_ENTER_CRITICAL()EA=0关中断 #define OS_EXIT_CRITICAL() EA=1 开中断 根据 8051 堆栈的方向定义 OS_STK_GROWTH。 #define OS_STK_GROWTH 0 8051 堆
17、栈从下向上递增 置 OS_STK_GROWTH 为 0,表示堆栈从下(低地址)向上(高地址)递增;置OS_STK_GROWTH 为 1,表示堆栈从上(高地址)向下(低地址)递减。 uCOS-II 从低优先级任务切换到高优先级任务时需要用到OS_STK_SW(),通过执行 OS_STK_SW()模仿中断的产生。绝大多数 CPU 会提供软中断或指令陷阱(TRAP)完成这项功能。中断服务子程序或指令陷阱处理函数(也叫异常处理函数)的中断向量地址必须指向汇编语言函数 OSCtxSw()。因为 8051没有软中断指令,所以用程序调用代替。 #define OS_TASK_SW() OSCtxSw() (
18、2)修改 OS_CPU_CC uCOS-II 的移植范例要求用户编写 10 个简单的 C 函数,其中 OSTaskSt klnit()是必要的,其他 9 个函数必须声明,但不一定包含任何代码。因为Keil C51 在缺省情况下把函数编译为不可重入的结构,而多任务系统要求并发操作导致重入,所以要在每个 C 函数及其声明后标注 reentrant 关键字,使编译器生成的代码在运行中支持函数可重入。另外pdata、data在 uCOS-II中用做一些函数的形参,但它同时又是 Keil C51 的关键字,这样会导致编译错误。通常可把pdata改成ppdala,data改成ddata解决此问题。具体修改的代码如下: void * OSTaskStkInit(void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt)reentrant 在基于 8051 的 uCOS-II 中,移植 uIP 不需要对现有的 TCPIP 源代码做任何修改,但是必须为网络设备(如网卡芯片、串口等)写一个驱动程序。同时,现有系统的集成部分也要进行相应的处理,例如当有数据到达或者
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家具设计中的简约主义风格探讨试题及答案
- 提高全方位沟通能力的商务英语试题及答案
- 砖和砌块材料试题及答案
- 未来交通工具技术的考试试题及答案
- 新能源汽车的电池共享模式探索试题及答案
- 零售企业库存管理创新与供应链协同效率提升策略研究报告
- 如何通过创业扶持政策实现区域经济融合试题及答案
- 簡化难点2025年大学物理试题及答案
- 文化创意产品数字化设计在文创产业生态构建中的创新成果报告
- 构建良好的小学教育教学环境试题及答案
- 2025-2030中国振动监测系统行业市场发展趋势与前景展望战略研究报告
- 合肥高新美城物业有限公司招聘笔试题库2025
- 《词汇构建法:课件中的词根词缀解析》
- 2025年山东省济南市历城区中考一模物理试题(原卷版+解析版)
- Unit 7 第1课时 Welcome to the unit【基础深耕】七年级英语下册高效课堂(译林版2024)
- 2024年江苏省南京市中考物理试卷真题(含答案)
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 监理工程师通知回复单11
- 立式加工中心操作指导书
- 禁毒学校青少年预防远离毒品教育模板课件
- 汽车4S店售后回访流程
评论
0/150
提交评论