基于MIPS处理器和RTAI的数控系统中调度抖动的研究
时间:07-22
来源:互联网
点击:
3 抖动产生的原因分析
RTAI采用了2种调度算法,分别为单调速率算法和最早时限优先算法.本文采用的是单调速率算法,因为该算法基于
静态优先级,能够保证最高优先级进程的稳定调度-6j.调度程序每次选择的进程总是优先级最高的进程,在同等优先级的各进程之间则采用时间片轮转的方法进行调度.在数控系统的所有进程中,运动控制器的优先级最高,因此,我们只需要研究高优先级的进程产生抖动的原因即可.根据RTAI的调度机制,运动控制器可以抢占其他进程,并且不会被其它任何进程抢占,因此没有进程可以延迟运动控制器的执行.但是存在其它因素可以延缓它的执行,比如总线上锁,关中断,中断嵌套,资源竞争,cache失效,以及操作系统中存在不可抢占的关键区域等.在设计良好的实时系统中,不可抢占的临界区很少,且运动控制器几乎不需要内存以外的其他资源,能够对运动控制器产生影响的主要因素只有关中断,中断嵌套和cache失效.
前面已经介绍过了cache失效会在运动控制器刚加载时对调度抖动产生影响,实际上在运动控制器的运行过程中,其他的非实时进程,如图形显示,网络访问,磁盘读写等都会影响cache,从而间接的影响运动控制器.为了降低cache失效对调度抖动的影响,可以尽量减少除数控软件以外的其它程序的运行.比如使用TinyX代替具有图形加速功能的XServer前面已经介绍过了cache失效会在运动控制器刚加载时对调度抖动产生影响,实际上在运动控制器的运行过程中,其他的非实时进程,如图形显示,网络访问,磁盘读写等都会影响cache,从而间接的影响运动控制器.为了降低cache失效对调度抖动的影响,可以尽量减少除数控软件以外的其它程序的运行.比如使用TinyX代替具有图形加速功能的XServer
RTAI的进程调度是由硬件时钟的定时中断驱动的.图4简略地说明了从时钟给出中断,到运动控制器开始执行的过
程.这个过程包括,系统关中断的时间,中断准备时间和中断处理时间.在关中断的时间内,系统不能对其他任何优先级的中断进行响应,所以时钟中断必须等待,直到系统开中断.中断准备阶段是指,从CPU开始响应时钟中断到进入时钟中断的处理程序所需要的时间,中断处理阶段是指执行中断处理程序rt—timer—handler(),即调度程序所需要的时间 J.中断准备时问和中断处理时间在特定的系统上是固定的,只有几微秒的时间,而且在我们的测试方法中不会对测试结果产生影响.单从时钟中断处理的过程来看,调度延迟主要取决于系统的最大关中断时问 J.在本文的测试平台上最大关中断时间为13.24微秒.
现代操作系统均允许中断嵌套,以便及时响应紧急的中断.那么在中断准备和中断处理阶段,时钟中断的处理有可能被其他的中断抢占,这也会对运动控制器的抖动产生影响.为了降低这种影响,应该尽可能的减少系统中的中断数量,这样不仅可以降低时钟中断被抢占的可能性,也可以降低系统的负载.在数控系统中,由于不需要大批量的读写磁盘数据,不需要电源管理,可以将DMA,APM 和ACPI禁用.这些设备会产生大量的中断,并频繁的对总线上锁.如果该数控系统无需网络通信,也可以将网络禁用.
在禁用了上述设备后,本文在单触发模式下,对运动控制器的调度抖动进行了重新测试.最大抖动为8.02微秒,平均抖动为392纳秒.最大抖动接近没禁用设备以前的1/4.图5是10000组测试样列的散点图.从图上可以看出大部分的测试点都分布在微秒内,这样的抖动在数控系统中是可以接受的.当数控系统以10米/分的速度加工的时候,8微秒的抖动最多能产生1.3微米的随动误差.
4 总结
对实时系统而言,调度抖动是不可避免的.调度抖动的大小与硬件体系结构和操作系统的运作方式密切相关.在数控系统中,大的调度抖动会对加工精度产生影响.本文针对M1PS平台,在不同的调度模式下测试了运动控制器的调度抖动,并采用最小二乘法对结果进行了分析.实验表明,在该数控系统中,周期模式下的平均抖动是单触发模式的8倍多.在数控系统中,可能引起抖动的因素有cache失效,系统关中断以及中断嵌套等,本文针对这些因素对系统做了优化,禁用了DMA,APM,ACPI等与数控系统的运行关系甚微的设备,并将具有图形加速功能的X Server替换成了对资源占用很小的Tiny X.结果在单触发模式下,最大抖动可以缩短到原来的四分之一,平均抖动也有所改善.测试结果证实,在MIPS平台下,RTAI完全能够满足数控系统的需要.
吴文江 ,秦承刚 ,陶耀东
(中国科学院沈阳计算技术研究所,辽宁沈阳11ooo4)
(中国科学院研究生院,北京100039)
E-mail:qinchenggang@ sict.ac.cn
- 以超低功耗微处理器MSP430为核心的热计量表设计(06-18)
- 如何充满信心地设计军用SDR产品(07-25)
- 可精确测距的低成本超声子系统(10-15)
- Q2686无线CPU和LonWorks的无线监控网关设计(01-25)
- dsPIC30F3013的CAN总线数据采集系统(01-17)
- Si472x射频收发芯片的交通状况提示装置(02-18)
