请输入关键词进行检索 使用帮助
Google
 
基于裸机编程的实时系统

 

摘要:在系统控制过程中,实时性是系统性能的一个重要测试指标。应用实时操作系统是保证实时性的一种普遍方法,但是一些资源相对缺乏的单片机是不适合用操作系统的。本文介绍在中低档控制系统中,在不采用实时操作系统的情况下,如何对多个任务进行控制,以达到实时性要求的方法。


关键词:嵌入式系统 单片机 实时操作系统

引 言

  在嵌入式控制系统的设计中,如何对被控制的多个任务进行有效协调,使其动作顺序合理、响应速度快捷,往往是设计者所考虑的一个很重要的方面,也是衡量检验一个系统的综合性能的重要指标。为了在多个任务的协调控制中满足实时性的要求,设计者往往会考虑在系统中嵌入目前流行的某种实时操作系统。现在也有一些通过验证的比较优秀的实时操作系统可供选择,有的源代码甚至是免费提供的,网上也有大量的移植成功的源代码范例。基于实时操作系统编程可以大大缩短开发的周期,实时性也有足够的保证。基于实时操作系统编程的代价之一是,增加了程序代码的长度;代价之二是,需要较多的RAM空间,在不扩展片外存储器的情况下,中低档单片机是难以胜任的。另一方面,大部分中低档应用系统通过合理的设计,采用基于裸机编程(没有实时操作系统)的方法,也可以保证一定的实时性,从而达到实时控制的要求,这是本文所要介绍的内容。

1 系统设计原理


  1.1 通过定时中断间隔的设计来保证实时性

  为了完成控制系统中多任务的实时响应要求,可以利用定时中断作为系统的时钟。每个中断的间隔作为时钟的最小基本单位,这个值要小于或等于被控制的各个任务中对时间要求最苛刻的任务的最大允许响应时间。定时间隔越短,响应越快捷,但系统CPU的负担也越重(因为CPU休眠的时间也越来越少)。这是一对相互矛盾的事物,需要设计者谨慎的协调才能达到最完美的效果。例如在配料控制系统中,如果加料速度为20 kg/s,要求配料误差为1 kg,则系统的实时性必须保证在50 ms之内。为了留有余地,可将定时中断间隔设置为20 ms。

  1.2 通过对所有任务的及时“照看”来管理多任务

  可以根据各个任务对实时性要求的不同程度,将任务分为不同的类型。对实时性要求越是苛刻的任务,就需要得到系统越频繁的“照看”。对于实时性要求不高的任务,系统对它的“照看”时间间隔可以长一些。例如,有两个任务A和B,任务A每秒必须“照看”10次,任务B每秒必须“照看”2次,则控制流程如图1所示。从图1中可以看出,任务A每隔0.1 s“照看”1次,任务B每隔0.5 s“照看”1次。对实时性要求基本相同的若干任务,可依次“照看”,其程序流程如图2所示。


本刊由产品互链网提供,资料仅供参考

 申请编辑员
 相关知识
 相关文章
Cimatron软件在电工电器上的应用
一种双MCU结构的嵌入式Internet接入服务器
集成电路封装制品中气孔气泡问题的分析
uC/OS-II在EP7312上的移植
适应实时多任务的微控制器高效指令支持
PHILIPS公司32位FLASH MCU的优势
嵌入式实时系统中断管理技术研究
ADμC812的串行外设接口(SPI)及其应用
基于VxWorks的多DSP系统的多任务程序设计
Home.Net模型/架构研究
欢迎成为编辑员
  本网为开放式知识库,成为编辑员可共同维护相关栏目知识。

产品互链网 © 版权所有 2001-2007 | 服务建立友谊 | 辽ICP备06016610号