电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 嵌入式系统/ARM技术 > 详细信息
嵌入式系统/ARM技术:ARM7嵌入式系统在车辆调度中的应用
来源:   时间: 2007-10-24 8:27:10    
一、车辆调度系统的整体设计:

整个系统包括四个部分(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的系统中任务之间的通信更多采用信号量、消息邮箱等进行。

三、操作系统的移植:

将UC/OS-II这个操作系统移植到三星公司ARM7TDMI S3C44B0X上要注意OSCtxSW()这个任务切换函数,其中任务切换的核心是利用出栈指令将各个任务的工作现场加以恢复。利用中断返回指令改变PC的指针达到任务切换的目的。它实际上是从任务堆栈中恢复处理器所有的寄存器,并且执行中断返回指令。实际的移植是用软件来模拟中断的发生。移植中的关键问题是如何构造任务堆栈及任务切换时的出栈顺序。而任务区堆栈初始化主要是模拟任务被中断后堆栈中的内容。另值得注意的是开关中断的函数OS_ENTERCRITICAL()和OS_EXIT_CRITICAL()这个函数。这两个函数实现了对临界区内容的保护。

四、基于状态机的程序设计:

整个系统的软件设计采用任务加状态机的设计方法,由于系统中采用了UC/OS-II的操作系统,所以系统中所有事件处理都采用任务调度的方式,任务在操作系统得调度下运行。而对于每个任务采用基于状态机的设计方法,引起系统中某个状态发生转移的事件可能是信号量、也可能是其它的事件。下面对状态机的有关内容加以介绍。

状态机可以看成是一个状态和转换的图,描述了应用程序对接收到事件的响应。

状态机的执行:状态机在某个时刻处理某个事件而在处理另外的事件之前必须完成对这个事件的处理并得到结果。

基于状态机的程序执行过程是这样的:在任何时候都存在一个或者多个状态机活动的状态。如果一个状态是活动的,那么离开这个状态的转换可能会激发,引起一个事件的执行,并使得另一个状态或位于初始状态位置的状态激活(下一个状态处于初始状态)。

状态机它是说明状态机的对象在对象自己的生命期中事件的所经历的状态序列以及它们对那些事件的响应。可以这样理解状态机状态机是对象的状态在事件的作用下从一个状态转移到另一个状态。

状态机中的几个基本概念:

1.状态(state):是指在对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。

2.事件(event)是对一个在时间和空间上占有一定位置的有意义的事情的说明。在状态机中一个事件的产生可以引起一次状态转换。

3.转换(transition)是两个状态之间的一种关系,它指明对象在第一个状态中执行的一定的动作,并当特定事件或特定条件满足时进入第二个状态。

在嵌入式系统的程序设计中,应该注意的另一个问题是函数的可重入问题, 可重入函数可以被递归调用,可以同时被两个或多个进程调用,这就要求在编译的时候要为可重入函数提供一个模拟堆栈区。
图二是设计中采用状态机这种设计方法设计的系统程序中LCD显示部份。下面是对图二的解释。

其中菜单1是显示欢迎界面(就是上面提到的状态);菜单2是发送短消息;菜单3是记录发送短消息内容的;菜单4是用来读取接收到的短消息。具体的状态转移过程是这样的,当显示处于欢迎界面的时候,在这个状态下,如向下的按键被按下(这就是一个事件)或发送短消息的键被按下,则系统状态转移到菜单2(发生了一次状态转移,下面和这是类似的,故相应的分析省略了。);在这个状态下,当向下按键被按下或系统要输入发送短消息的内容时候,系统状态从菜单2进入菜单3;在这个状态下,当向下的键盘被按下,系统的状态转移到菜单4;读取短消息结束时,系统状态返回到欢迎界面。实际的系统还有返回按键等,这里只是用这个图简单说明采用状态机的程序设计方法。

五、硬件设计:

为了从分利用S3C44B0X的时钟频率高的特点,减小S3C44B0X在取指和存取数据的延迟,系统中采用将代码固化在FLASH中,并在系统启动后将代码从FLASH拷贝到SDRAM中运行。并且系统中采用PDIUSBD12做为通信主站和PC上的系统监控部分之间通信。比起RS232串行通信方式,速度有很大的液提高。尤其在调度的车辆数量比较多的时候其速度优势是比较明显的。



六、总结:

经过系统的运行,系统达到了设计的要求。
相关信息
发表评论
打印本页 关闭本页
基于PDIUSBD12的USB控制器的设计
    USB是一种新型的通用串行总线,它具有即插即用、可热插拔和传输速率高的特点,在工业界已经获得了广泛的支持和应用。迄今为止,各种USB的外设已有上千种,除了象显卡这种需要极高数据量和实时性要求特别高的控制设备,几乎所有的PC外设都可以移植到USB上来。   一般的USB设备都使用一片微控制器作为其核心部件,通过微控制器强火的控制和运算功能,开发者可以很容易地实现USB设备...
>>详细内容
基于S3C44B0X μcLinux的嵌入式以太网设计
    随着半导体技术的飞速发展,嵌入式产品已经广泛应用于军事、消费电子、网络通信、工业控制等各个领域,网络化是嵌入式系统发展的必然趋势。嵌入式Linux 作为具有开放的源代码、优秀的网络性能、可裁减等诸多优点的操作系统,非常适合用于具有网络功能的嵌入式系统。本文介绍了以S3C44B0X 的ARM处理器和RTL8019AS 以太网控制器为基础的网络接口设计,并阐述了怎样在嵌入式操作系统μcL...
>>详细内容
基于DSP的PDIUSBD12芯片的应用开发
  一 PDIUSBD12芯片介绍 进行USB开发之前要根据成本与性能选择合适的USB接口芯片。目前USB控制器芯片通常可分成3种: 第一种是专为USB设计的芯片,这类芯片的主要来源是CYPRESS的M8系列和ScanLogic的SL11R系列芯片。这种芯片是为了使用在USB应用设备而特别设计的,而不是在旧的结构上改造出来的,因而其功能的实现能够达到最佳化,但是开发起来比较困难,要学全新的指令集,而且价格较...
>>详细内容
基于PDIUSBD12芯片的USB接口设计
    摘 要:通用串行总线(USB)具有传输速度快、可靠性高、使用灵活等优点,作为一种通信接口规范,他被广泛地应用在PC外设和便携式系统中。文中介绍了基于PDIUSBD12芯片的USB接口的硬件电路设计,并给出了该接口芯片的单片机控制程序(即固件,Firmware)的设计。关键词:通用串行总线;PDIUSBD12;接口;MCU   随着计算机技术和信息技术的飞速发展,计算机外设种类的增多与有限...
>>详细内容
关于三星S3C44B0X目标板的uClinux Bootloader
  uClinux是为控制领域设计的嵌入式Linux操作系统,它沿袭了主流Linux的大部分特性,并进行了一定幅度的裁减。其设计主要针对没有内存管理单元(MMU)的微处理器,例如基于ARM7TDMI内核的S3C44B0X。 嵌入式Linux系统通常由三部份组成:Bootloader、Kernel和File System。其中Bootloader是在系统启动之后、Kernel运行之前所执行的第一段代码,其任务是为调用Kernel准备必要的软硬件环境。由此...
>>详细内容
ARM CPU S3C44B0X在水表智能抄表系统中应用
  摘 要: 介绍水表智能抄表系统的核心部分--抄表手机,以及如何用32位机S3C44B0X来实现抄表手机的功能。关键词: 智能抄表系统 抄表手机 S3C44B0X CPU ARM7TDMI核 USB总线 1 水表智能抄表系统简介目前,自来水表都是机械式的,而且多数自来水表都装在户内,这给水表抄表员带来了很大的麻烦。当抄表员抄表时,必须挨家挨户用肉眼读取水表的读数,然后登记在随身携带的小本子上...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com