嵌入式系统ARM7在车辆调度中的应用
一、车辆调度系统的整体设计
整个系统包括四个部分(1)通信主站;(2)车载从站;(3)通信链路。(4)系统监控部分。下面对各个部分的功能做一个简单的介绍。
(1)通信主站:完成信息的转发,它是连接系统监控部分和车载从站的纽带,它将从系统监控部分来的信息转发给车载从站。并且接收车载从站的信息,并将信息上传给系统监控部分。
(2)车载从站:被监控的对象,接收监控调度命令,并可以返回自己的状态信息。状态信息的取得是依靠在车载从站中的GPS接收机来完成车辆位置和速度信息等的采集工作。
(3)通信链路:完成通信主站和车载从站的信息传递及通信主站和系统监控部分的信息交互。其中前者在本次设计中是以GSM手机模块做为通信的工具,而后者是采用RS232或USB来实现的。
(4)系统监控部分:以图形的方式将被监控车辆的位置信息显示在电子地图上(GIS,地理信息系统的采用),并且可以显示其状态等文字信息。并且可以通过系统监控部分的人机界面来完成调度命令等信息的输入。由于在很多的论文中包含了这些车辆监控系统的基本组成元素,所以在这里就简单的介绍一下。相关内容可以参考有关的论文资料。下面重点讨论UC/OS-II的内核调度机理、操作系统的移植、基于状态机的嵌入式系统程序开发和硬件设计方面的问题。图一给初一个车辆监控系统的示意图。
二、操作系统的内核调度机理
由于本系统对时性要求不是很强,采用了UC/OS-II这种简单的源码开发的操作系统。由于UC/OS-II是以任务为基础进行调度的。所以系统中所要处理的中间结果或响应外部的输入和输出,都应该在任务中完成。任务的调度是基于优先级的(UC/OS不支持时间片轮转的方法)。在多任务调度开始后,时钟节拍开始工作,时钟节拍产生周期性的中断,时钟节拍提供延时或超时的依据。多任务启动之前应该先进行初始化的工作,包括CPU、TCB(任务控制块)、ECB(事件控制块)和操作系统本身的初始化等。初始化完毕后多任务启动,系统总是运行就绪状态优先级最高的任务。由于任务本身是一个无限的循环,所以任务中必须包含引起任务切换的函数,如OSTimeDly()、OSSemPend()等,执行到这些函数时将引起任务的切换,即任务的调度。任务切换之前应该保护现场。任务之间要进行通信,通信的方式很多,可以采用全局变量、共享存储区等一些常用的方式,但在采用UC/OS-II的系统中任务之间的通信更多采用信号量、消息邮箱等进行。
三、操作系统的移植
相关文章
- 2023-03-02智能化色谱分析软件的研究与应用探讨
- 2022-04-27监控摄像机日夜及彩色黑白转换两用简析
- 2024-07-09多CCD拼接相机中图像传感器不均匀性校正
- 2024-07-31铁路客车提速轴承外圈非基准端面挡边平行度测量仪的研制
- 2024-02-26实现同一分析周期内两流路并行分析的技术改造



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。