mC/OS-II在GPRS终端系统中的应用

发布者:mb5362443最新更新时间:2008-01-23 来源: www.esic.cn关键字:GPRS  OS-II  AT命令集  AT指令  程序设计技术  ZIF  特权模式 手机看文章 扫描二维码
随时随地手机看文章

  摘 要:本文介绍了实时多任务mC/OS-II操作系统在GPRS终端中的移植及应用,以及GPRS终端的硬件组成和软件框架,详细说明了mC/OS-II在ARM器件S3C44B0x芯片上的移植过程和GPRS终端的软件设计。

    实时嵌入式操作系统mC/OS-II面向中小型嵌入式应用,包含全部功能模块的内核大约为10KB,RAM的应用量主要与系统中的任务数有关。

  GPRS是在目前运行的GSM网络基础上发展起来的数据业务,可以采用与GSM同样的调制技术、频率,以及同样的TDMA帧结构。利用现有的基站子系统(BSS),GPRS从一开始就可以提供全面的覆盖。

  GPRS终端系统的硬件组成

  GPRS终端系统主要由控制部分和GPRS无线模块组成,如图1所示。

  图1 GPRS终端的硬件组成原理

  为了适应嵌入式技术在GPRS通信中的应用,系统的控制部分采用了S3C44B0x芯片。

  S3C44B0x是16/32位RISC微处理器, 为手持设备和通常应用提供了一种高性价比的解决方案。

  S3C44B0x具有丰富的片内资源,可以通过串行接口操作GPRS模块,操作指令为AT命令集。

  GPRS无线模块采用了SIM300,该模块支持GPRS的语音、数据和短信息功能,内嵌TCP/IP协议。该模块主要由射频天线、内部Flash、SRAM、GSM基带处理器、匹配电源和一个60脚的ZIF插座组成。其中,GSM基带处理器是核心部件,其作用相当于一个协议处理器,用来处理外部系统通过串口发送过来的AT指令。GPRS模块接收速率可达86.2kbps,发送速率达21.5kbps,易于集成。

  mC/OS-II的移植

  mC/OS-II是一个移植性很强的操作系统,其源代码分为硬件无关和硬件有关两个部分,移植时只需修改与硬件有关的部分。移植mC/OS-II到S3C44B0X 上,需做以下工作:

  (1) 修改数据类型

  为保持与平台的无关性,mC/OS-II使用经过宏定义的通用类型,如INT16U,表示16 位无符号数。在移植时,要把它们映射成正确的类型。

  (2) 进入和退出临界段

  用关闭和打开中断的方式,实现进入临界段函数OS_ENTER_CRITICAL()和退出临界段函数OS_EX2IT_CRITICAL()。

  (3) 设置堆栈生长方向

  不同的处理器堆栈的生长方向不同,对S3C44B0X来说,其生长方向可以向上也可以向下。但是,由于编译器ADS仅支持堆栈从上往下长,并且必须是满递减堆栈,所以这里要设置的实际使用方向为向下增长,即

  #define OS_STR_GROWTH 1;

  (4) 任务的切换和调度

  进行任务的切换和调度有两种方法,一是当前运行的任务主动调用OS_Sched() ,判断是否有更高优先级的任务要运行,如果有就将其切换到就绪态,然后调用OS_TASK_SW() ,产生一个软中断,中断向量指向函数OSIntCtxSw() ,在其中修改任务堆栈,运行新的任务。二是产生硬件中断后,在中断处理函数中调用OSIntEx()。

  在上述过程中,产生软中断和修改任务堆栈的代码都是与处理器相关的, S3C44B0X 的软中断汇编指令是SWI ,压栈和出栈的汇编指令分别是STM和LDM。

  (5) 堆栈的初始化

  mC/OS-II在创建任务时会调用OSTaskStkInt() 函数对任务堆栈进行初始化,这里需要将堆栈设置成和产生中断后的形式一样,一般包括任务起始地址、中断返回地址、CPU 寄存器等内容。另外,还要保证任务是运行在特权模式下,而不是用户模式下。

  (6) 时钟节拍中断

  mC/OS-II用时钟节拍中断实现时间延迟和超时功能,定时频率一般在10Hz~100Hz。设置定时器的代码与CPU 相关,中断向量必须指向mC/OS-II时钟节拍中断服务子程序OSTickISR() 。

  系统的流程和任务的组成

  本系统中,首先调用OSInit(),初始化mC/OS-II所有的变量和数据结构,再调用ARM_init()初始化微控制器的定时器及串口等硬件,通过调用OSTaskCreate(),依次创建各个任务,最后调用OSStart()启动系统,开始多任务调度。整个系统控制程序模块及流程如图2所示。

  

  

  图2 系统控制程序模块及流程

  整个系统中的任务包括ARM控制部分的键盘扫描、LCD显示任务和通信任务以及GPRS终端功能的短消息任务,语音通话任务等。因此,在mC/OS-II系统中的任务主要包括:

  键盘扫描任务task_sys_key scan(),包括4×4键盘部分的扫描识别keyscan(),以及对应按键功能编码的实现keyscan_code()等。

  LCD显示任务task_sys_ lcddis(),包括背景内容显示display_context()、输入内容显示display_input()、输出内容显示display_output()等。

  通信任务task_sys_ communication(),除了包括系统和主机进行通信的函数host_msg(),以实现通过电脑进行系统操作,还有各个任务之间相互通信的处理msg_tasl()。

  话音通话任务task_sys_ telephone(),其中包括电话呼叫gprs_phone_call()、电话接听gprs_phone_recevie()等。 另外,还包括系统短信收发任务。

  根据系统进行GPRS短消息通信和语音通信的功能要求,设置各个任务的优先级如表1所示。

  结语

  mC/OS-II实时操作系统是开放源代码且得到实际验证的软件平台,而S3C44BOx具有强大的32位RISC性能,基于此软件及硬件平台对GPRS模块进行设计,能大量减轻研发任务,提高研发速度,为在短时间内实现GPRS终端系统设计创造良好条件。

 

关键字:GPRS  OS-II  AT命令集  AT指令  程序设计技术  ZIF  特权模式 引用地址:mC/OS-II在GPRS终端系统中的应用

上一篇:一种快速位同步时钟提取方案及实现
下一篇:基于DS2432的USB口1-Wire总线适配器的设计

推荐阅读最新更新时间:2024-05-13 21:01

MC68HC908GP32上移植μC/OS-II
在前几讲中,介绍了μC/OS-II的概念、工作机制,还介绍了μC/OS-II在Intel 80X86CPU上的移植,相信读者通信学习,已经对移植的过程和步骤有了一定的了解。ΜC/OS-II最初是为摩托罗拉68HC11系列单片机设计的。68HC11系列单片机有外部总线,可以外接RAM和ROM;而没有外部总线8位MCU。由于RAM容量的限制,移植就存在一定的困难;但对于有些8位的MCU,将μC/OS-II移植到MOTOROLA MC68H908GP32(以下简称GP32)上。 一、在GP32上移植μC/OS-11的主要问题 在第(4)讲中,介绍过要移植μC/OS-11,目标处理必须满足以下要求:
[嵌入式]
试论将μC/OS-II用于单片机教学
摘要:当前,大学中的“嵌入式系统与单片机应用”及类似课程的教学内容和实验正处在转型期,由单纯8位机转向8位、16位、32位并举;开发方式上,仿真器在逐步退出;嵌入式实时操作系统被引入教学。本文就相关课程内容与实验平台方案的设计提出一些看法,以引起同行的思考与讨论。 关键词:单片机 嵌入式 RTOS μC/OS 教学 培训 引 言 在2003年天津举行的“全国单片机及嵌入式系统学术年会”上,来自全国各地几十所大学的教师对单片机与嵌入式系统教学展开了热烈的讨论。这里,就我们的认识介绍如下,以达到抛砖引玉的目的。 1 单片机与嵌入式系统应用类课程的转型期   当前,单片机与嵌入式系统应用类课程正处在转型期。过去的20年中,
[嵌入式]
用IP2002器件支持GPRS的GPS系统实现
随着GPS在社会生活中应用范围的日益广泛,人们对它的研究也日益深入。GPS数据的远程传输作为GPS中的一个重要部分,也伴随通信技术的发展而不断变化,从原先的集群方式到传呼方式再到后来的短信方式,无不反映着人们对性价比的追求。 随着移动GPRS业务的开展,利用GPRS来进行GPS数据传输的优势慢慢的显现出来。相对于传统的远程传输方式(例如通过电话拨号)来说,GPRS数据传输具有突出的优点。一方面,GPRS资费比较便宜,可以采用多种资费方案。对于大数据量业务的用户可以采用包月的方式,对于小数据量业务的用户可以根据通信的数据量和提供的服务质量进行计费。另一方面,在GPRS网中,用户只需与网络建立一次连接,就可长时间的保持这种连接,并只在传
[网络通信]
GPRS网络的PLC分布式控制系统
引 言 自20世纪90年代以来,数字化技术取得突飞猛进的发展,并且日益渗透到各个领域,智能家居在21世纪将成为现代社会和家庭的新时尚。作为通用工业控制计算机的PLC,30多年来不论是在功能上还是在应用领域方面,都有着从逻辑控制到数字控制、单体控制到运动控制、过程控制到集散控制的飞跃,今天的可编程序控制器PLC正成为工业控制领域的主流控制设备,在世界各地发挥着越来越大的作用。 而随着PLC应用的迅猛发展,各种高级控制策略不得不面对不同的对象在大跨距分散地点下的远程控制应用,如何实现大范围分布式应用中各种现场数据传输处理及远程控制,远程维护等就是很现实的问题,这其中的前提之一就是各种数据包的远程传输. 以
[网络通信]
基于GPRS的51单片机固件升级系统设计
引言 嵌入式技术的迅速发展使得越来越多的嵌入式终端设备应用在人们的日常生活中,其中不乏应用在一些偏远地方,甚至工作在无人看管的场合下。人口比较稀少的地方,由于基站分布比较分散,加之人口比较稀疏,基站维护等操作常难以执行,这就需要在某些地方放置网络信号测试仪检测该地区的通信信号质量,并将该信息反馈到远程服务器。同时,由于硬件系统程序设计固有的局限性,固件程序的升级在所难免。针对实际情况,本文开发了网络信号测试仪的单片机远程升级系统。 1 系统硬件设计 整个系统以Silicon Labs公司推出的混合信号片上系统型单片机C8051F340作为核心控制单元,采用GSM/GPRS/EDGE无线模块MC75作为与远程服务器的通信模
[单片机]
基于<font color='red'>GPRS</font>的51单片机固件升级系统设计
基于MC9S12微控制器的发动机高能直接点火控制
摘要:发动机高能直接点火系统需按点火顺序、点火时刻和点火能量的要求实现各点火线圈的独立控制。介绍了以MC9S12DP256微控制器为核心的电子控制单元的软硬件系统设计。利用MCU的增强型捕捉定时器,该将输入捕捉与输出较功能相配合,满足了6个点火线圈初级电路通断电的复杂时序控制要求。该系统在某稀燃天然气发动机的开发中进行了应用,结果表明:在各种工况下,都能获得可靠的点火。 关键词:微控制器 增强型捕捉定时器 点火系统 随着电子技术的发展及对发动机性能要求的提高,微机控制的电子点火系统逐渐取代了传统的发动机点火系统,实现了更为精确的点火时刻和点火能量的控制。 在发动机点火系统中,采用的每个发动机汽缸各带一个点火线圈,对各缸点
[单片机]
如何进行2.5G/3G核心网络测试
本文介绍了在分组交换2.5G/3G核心网络和业务层中建立会话所需的一些关键程序。本文首先将用IMS会话作为具体例子,强调相关的测试挑战,以及如何通过泰克G35协议测试平台来解决这些挑战;最后对2.5G/3G核心网络基础设施上的基于蜂窝网的即按即说(PoC)和多媒体广播多播业务(MBMS)等新业务的影响进行了。   简介   HSDPA和HSUPA等的最新标准化UMTS R5和R6功能,正在将移动网络转化为真正的宽带通信系统。语音收入的不断下降要求运营商通过为客户开发新业务来寻求收入增长来源。   IEEE 802.16e标准(通常称为移动WiMAX)这一替代移动宽带技术的到来,将强化这一趋势。有了这项新技术,竞争业务提
[测试测量]
如何进行2.5G/3G核心网络测试
基于μC/OS-II的嵌入式构件系统设计
    近些年来,随着嵌入式产品需求的不断增加,嵌入式软件正变得越来越复杂,而产品的开发周期也越来越短。嵌入式软件开发迫切需要更高效的软件重用手段。       随着软件复用研究成为热点,其核心技术——构件化软件开发方法(CBD)引起了软件工程领域的高度关注,并且在工程应用领域获得了极大的成功。这种开发方法已在办公应用、电子商务、因特网及分布式网络应用中广泛使用;但在嵌入式领域,构件技术仍处于起步阶段,目前没有一个统一通用的构件规范。尽管如此,由于基于构件的软件设计方法能够极好地满足嵌入式软件几乎所有的特性(如定制、裁剪、动态演变等),有效缩短产品开发周期,这种设计方法无疑将给嵌入式系统的开发带来巨大的好处。       本文尝试
[嵌入式]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved