欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > 多任务型嵌入式车载终端系统的发展效果

多任务型嵌入式车载终端系统的发展效果

日期:2023-01-24 阅读量:0 所属栏目:软件技术


  0 引言

  实时操作系统μC/OS-Ⅱ具有任务、时间、内存管理等功能,它是基于优先级调度的抢占式嵌入式实时操作系统,其内核可以任意裁减,移植比较简单,并且能够提供各类功能函数如信号量、邮箱队列等,实现多个任务之间的通信,适用于实时性要求较高的场合。本文利用ARM嵌入式处理器,结合GPRS和GPS技术设计了一款嵌入式车载监控终端系统,系统采用 μC/OS-Ⅱ 嵌入式操作系统,能满足车辆监控终端的设计要求[1]

  1 软件总体设计

  本终端系统硬件主要由中央处理器、GPS 接收机、GPRS 无线通信模块、电源模块等部分组成,实现导航定位、通话、报警和远程通信等功能。

  系统软件采用μC/OS-Ⅱ嵌入式操作系统,软件采用分层设计,具体包括底层硬件驱动层、中间嵌入式操作系统层和应用程序接口层,以及顶层应用层,整个系统体系结构如图1所示。

  软件设计步骤:①进行μC/OS-Ⅱ操作系统的移植;②在此基础上设计各个硬件电路所需要的驱动程序;③进行中断处理程序ISR和各项任务的设计;④利用嵌入式操作系统提供的功能函数创建信号量、消息、邮箱等,最终实现各个任务之间的通信,从而达到控制整个嵌入式系统终端运行的目的。

  1.1 任务设计

  依据嵌入式终端系统所要求的功能,划分如下几个任务:①系统监视任务;②GPS采集任务;③GPS数据处理任务;④键盘输入任务;⑤显示器显示输出任务;⑥串行口收发任务;⑦GPRS通信任务;⑧短信任务以及报警任务。

  另有3个中断服务程序ISR:①定时中断服务程序;②串口接收中断服务程序;③外部中断服务程序。

  图1 μC/OS-II软硬件体系结构

  1.2 优先级设计

  为了有效利用系统资源,共设计20个不同的优先级,最低优先级OS_ LOWEST_ PRIO 的值设为19,除去系统保留7个优先级外,本系统提供给用户可以使用的优先级个数为12 个[2-3]。

  在系统所有任务设计中,由于涉及到车辆安全,实时性要求比较高,所以把报警任务、GPS任务都设计为与中断服务程序ISR相关联。GPS和GPRS通信任务是比较重要的任务,所以优先级别设计较高,而键盘输入任务和显示输出任务实现人机对话功能,实时性要求不高,优先级可以较低,所以各个任务从高到低的优先级设计如下:

  监控任务⑥—报警任务⑦—串口收发任务⑧—GPS信号采集任务⑩—GPRS通信任务—短信任务—键盘任务—显示输出任务。

  1.3 任务间的同步与通信

  系统任务中,串口中断任务与 GPS任务间的通信是利用消息邮箱实现的,使用OSMboxCreat()函数创建一个邮箱,在串口中断任务程序中通过调用OSM boxPost()函数发送信息到邮箱, GPS任务通过调用函数OSMboxPend()接收邮箱中的消息,邮箱接收到OSMboxPend()函数的消息后,启动GPS任务,GPS任务对内存缓冲数据进行解析和处理,之后将解析处理的数据块放入一个共享缓冲区,然后调用事件标志组发送函数OSFlagPend发送置位信号。

  GPS任务和定时器ISR决定GPRS任务能否进入就绪状态,本设计中利用OS_FLAG_GRP事件标志组启动GPRS任务 [4],具体步骤是:①利用OSFlagCrea函数创建一个事件标志组:Flag_Gprs=OSFlagCreat(0x00,&err);②在GPS任务中调用事件标志组发送函数,给Flag_Gprs第1标志位发置1信号:OSFlagPost(Flag_Gprs,0x01,OS_FLAG_SET,&err);③在定时中断中调用事件标志组发送函数,给2标志位发信号量1:OSFlagPost(Flag_Gprs,0x02,OS_FLAG_SET,&err);④在GPRS任务中调用事件标志组等待函数:OSFlagPend(Flag_GpS,0x03,OS_FLAG_WAIT_SET_ALL+OS_FLAG_CONSUME,0,&ERR)。

  当两个信号量都为1时,表示GPS 任务和定时中断都有信号到来,由于等待列表中任务的等待类型为OS_FLAG_ SET_AND,经过逻辑与运算后为1,启动GPRS任务,GPRS任务对共享缓冲区的数据块进行处理后打包,向上位监控中心发送定位信息数据;当两个信号量有一个为0时,GPRS 任务会一直等待事件的到来。等待时间可以设置,防止因为等待事件没有发生而无限期地等待。GPS任务、GPRS任务和ISR之间通信如图3所示。

  GPS任务生成定位数据块在共享缓冲区,由显示输出任务和GPRS发送任务使用,由于是共享资源,设计了一个互斥信号量,当有任务需要访问共享缓冲区时,必须调用OSMutexPendJ( )获得互斥信号量才能访问共享数据块,访问结束后,通过调用OSMutexPost()释放该信号量,便于其它任务访问。

  2 应用程序设计

  2.1 主程序设计

  系统启动后,首先执行主函数,初始化ARM硬件,然后启动μC/OS-II操作系统,通过OSTask Create()调用函数创建启动任务,最后调用函数OSStart(),执行启动任务。

  2.2 启动任务设计

  启动任务时首先创建各分任务, 然后建立通信工具完成任务间通信,调用OSSemCreate()、OSM-boxCreate()、OSMutexCreate()等相关函数,创建信号量邮箱等通信工具,代码如下:

  void TaskStart(void*pdata)

  { OS_ENTER_CRITICAL( ); /*关闭中断*/

  //设置uC/OS-II时钟中断向量

  OS_EXIT_CRITICAl。( ); /*开中断*/

  OSStatlnit(); /*初始化统计任务*/

  //系统硬件初始化

  Timerlnit(); /*初始化定时器*/

  LCDlnit(); /*初始化LCD*/

  GPSlnit(); /*初始化GPS*/

  GPRSlnit(); /* 初始化GPRS*/

  //创建其他任务

  Sem=OSSemCreate(0);

  SemX=OSMutexCreate(2,&err);/*创建信号量*/

  Mbox=OSMboxCreate((void*)0);/*创建邮箱*/

  Flag_Gprs = OSFlagCreate(0,&error);

  OSTaskDel(OS _PROI_SELF); /*删除自己*/

  }

  2.3 其它任务

  本系统任务较多,这里主要介绍GPS采集任务TaskGPS()和GPRS通信任务TaskGPRS()。

  GPS任务采用串口中断方式,首先OSSemCreate函数创建信号量Gpssem= OSSemCreate(0),

  串口中断服务子程序向GPS任务发送同步信号量OSSemPost(Gpssem);

  GPS任务通过调用函数 OSSemPend(Gpssem,0,&error)获取串口中断服务子程序发出的信号量,在获得[专业提供教育论文写作的服务,欢迎光临]该信号量之后,对串口数据进行分析处理,将处理后的数据放入一个共享缓冲区。显示任务和GPRS任务通过调用OSMutexPendJ()函数获得互斥型信号量来对共享数据区进行访问,读取数据后,调用函数OSMutexPost()释放该信号量。

  GPRS任务等待读取GPS任务,定时器ISR给事件标志组对应标志位发置1信号,GPRS任务就绪,在收到置位信号后得到CPU控制权,调用相应的函数对共享缓冲区的定位数据进行处理打包,之后向监控中心发送数据信息,任务流程如图2、图3所示[5]

  3 结语

  本文设计的GPR/GPRS 车载终端系统,利用嵌入式操作系统μC/OS-II提供的信号量、邮箱和事件标志组实现任务间通信和同步。实验表明该系统具有性能稳定、可靠性高、成本低、易于扩展等特点,实现了对车辆的实时监控。

  图2 TaskGPS程序流程 图3 TaskGPRS程序流程

  参考文献:

  \[1\] 李仁波,朱伟兴.基于ARM7的温室灌溉智能测控仪的设计[J].仪表技术与传感器,2009,6(4):18-20.

本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/230009.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学