基于RTAI的嵌入式Linux硬实时性能的研究与实现
从实验结果可以看出,uClinux操作系统难以完成周期小于20ms以下的周期性任务,因此对于周期性的A/D采样以及高实时控制很难实现,经过改造后的RTAI/uClinux双内核结构时间分辨率低于100us,完全可以满足电能质量控制器在A/D采样等方面的实时性周期任务。
3.3 中断响应速度测试
中断的响应速度是实时控制系统的重要指标,例如在A/D采样和计算完成后,系统需要控制进程尽快地被调度执行,以执行正确的控制策略。对于一个支持硬实时任务的系统来说,除了测试系统的平均响应速度外,还需要测试系统在最差情况下的响应速度以及处理器的负荷状况对系统响应速度的影响。
设计实验如下:利用一个外部的DSP帮助测量系统的中断响应速度。DSP2407在启动内部定时器后,将MCF5249 的一个I/O引脚状态改变,MCF5249内部的高优先级进程在引脚状态改变并且被重新调度后,立即将DSP2407的指定I/O引脚置高,DSP2407在其指定的I/O引脚被置高后停止定时器。利用DSP2407的定时器可以精确的计算出从MCF5249引脚状态改变至MCF5249 内部进程响应之间的时间间隔,从而确定MCF5249内部进程的响应速度。改变MCF5249处理器的负荷,重复实验,在每种情况下重复实验过程1000 次,找出不同情况下系统响应的平均速度以及最慢响应速度。
操作系统 | 处理器负荷轻 | 处理器负荷较重 | ||
平均响应时间 | 最慢响应时间 | 平均响应时间 | 最慢响应时间 | |
uClinux | 120us | 12ms | 221ms | 795ms |
RTAI/uClinux | 25us | 27us | 27us | 30us |
表2 响应速度实验结果分析表
Table2 Analysis of response speed experiment
从实验结果可以看出,在处理器负荷较轻时uClinux系统有着良好的响应性能,但是在最差情况下,系统响应速度较慢,响应时间达到了12ms,随着处理器负荷的进一步加重,uClinux系统的响应速度急剧下降,对于控制系统,尤其是硬实时系统来说,这是不可接受的,因为中断响应速度直接影响到控制系统的反应速度。而RTAI-uClinux双内核系统在处理器负荷变化时,系统的响应速度变化不明显,而且中断响应速度始终稳定在微妙级,适合作为硬实时系统的控制系统。
4 结论
RTAI可以显著改进嵌入式Linux系统的实时性能,已经用于电能监控系统,通过对比试验可以看出RTAI-uClinux双内核的系统具有良好的硬实时性能,使得嵌入式Linux系统在高实时性领域中可以得到实际的应用。
参考文献:
[1]Lineo, Inc. RTAI Programming Guide 1.0. September 2000
[2] E. Bianchi,L.Dozio,P.Mantegazza.A Hard Real Time support for LINUX. www.aero.polimi.it/projects/rtai/
[3]MCF5282 ColdFire® Microcontroller User’s Manual. http://www.motorola.com/coldfire
[4] 齐俊生,崔杜武,黑新宏.嵌入式Linux硬实时性的研究与实现.计算机应用.2003, 23(6):34-36;
Qi Junsheng,Cui Duwu,Hei Xinhong. Research and Implementation of Hard Real2time Performance of Embeded Linux. Computer Applications. 2003,23(6):34-36;
[5] 陈继荣,黄建华. Linux操作系统实时性分析及改进策略.微计算机信息.2005,22:67-69;
Chen Jirong, Huang Jianhua. Linux Operating System Real- time Analysis and Improvement Strategy. Control Automation. 2005, 22:67-69;
[6]须文波,张星烨,欧爱辉.基于RTAI-Linux的实时操作系统的分析与研究.现代计算机.2005,163(5):19-21
Xu Wenbo, Zhang Xingye, Ou Aihui. Analysis and Research on Real-Time Operating System based on RTAI-Linux. Modern Computer. 2005, 163(5):19-21
评论