EDN China > 技术文章 > 测试与测量 > 系统测试 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于裸机编程的实时系统

来源:中电网 / 作者:东华理工学院 林刚勇 周航慈 吴光文 朱兆优?? 2006年02月06日 ?? 收藏0

?????? 引 言  

?????? 在嵌入式控制系统的设计中,如何对被控制的多个任务进行有效协调,使其动作顺序合理、响应速度快捷,往往是设计者所考虑的一个很重要的方面,也是衡量检验一个系统的综合性能的重要指标。为了在多个任务的协调控制中满足实时性的要求,设计者往往会考虑在系统中嵌入目前流行的某种实时操作系统。现在也有一些通过验证的比较优秀的实时操作系统可供选择,有的源代码甚至是免费提供的,网上也有大量的移植成功的源代码范例。基于实时操作系统编程可以大大缩短开发的周期,实时性也有足够的保证。基于实时操作系统编程的代价之一是,增加了程序代码的长度;代价之二是,需要较多的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所示。

处理实时性要求不同的任务

????????????????????????????????????????????????????????????? 图1处理实时性要求不同的任务

处理实时性要求基本相同的任务

?????????????????????????????????????????????????????? 图2处理实时性要求基本相同的任务


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

操作系统? 裸机? 编程? 实时?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈