基于MIPS处理器和RTAI的数控系统中调度抖动的研究

发布者:会弹琴的鲸鱼3312最新更新时间:2014-10-24 来源: 21ic关键字:MIPS  RTAI  数控系统  调度抖动 手机看文章 扫描二维码
随时随地手机看文章

 1 前言

目前,国内外的数控系统大多采用X86体系结构的CPU,主要是因为X86体系结构上拥有丰富的应用软件,开

发环境和技术积累,可以在一定程度上缩短数控系统的开发周期.但X86体系结构也有其自身的缺点,比如其指令集体系结构过于复杂,成本高.而且X86技术一直被国外的几家大公司所垄断,将其应用在数控系统这样的战略资源上,存在一定的安全隐患.

M1PS体系结构具有灵活开放,成本低的优点,在工业控制、网络、通信、多媒体娱乐等领域得到了广泛的应用.我国已经研制出了具有自主知识产权的MIPS通用CPU.因此将MIPS结构的CPU应用在数控系统上,不仅可以降低数控系统的成本,还增加了数控系统特别是高档数控系统国产化的水平.

实时操作系统是数控系统的软件基础,数控软件中的运动控制器部分需要实时操作系统对其进行周期性的调度,对

实时操作系统的性能要求很苛刻.一般来说,应用于数控系统中的实时操作系统需要具有高实时性,时间确定性以及高可靠性,安全性和容错性….

在硬实时操作系统中,主要是依靠时钟硬件产生的中断对周期进程进行调度.虽然时钟可以精确的给出定时中断,但硬件和操作系统的运作方式会对中断响应和进程调度产生影响,从而使周期进程每次开始执行的时间变的不确定,这就是调度抖动.调度抖动直接影响到数控加工的精度,如果数控系统的加工速度为10米/分钟,那么5O微秒的抖动就可能产生约8.3微米的随动误差.针对特定的体系结构研究与分析运动控制器的调度抖动,对掌握并改善数控系统的性能具有重要的意义.

RTAI(Real Time Application Interface)是由意大利米兰理工学院航天工程系发起开发的一个遵循GNU GPL的开源项目,RTAI已经支持i386,MIPS,PowerPC,ARM 和M68k-~ommu等处理器,是目前支持处理器最多的linux实时解决方案之一.RTAI具有丰富的功能和良好的硬实时性能.本文针对数控系统的运动控制器,讨论了在MIPS平台上RTAI操作系统的调度抖动测试,并分析了产生调度抖动的原因.

2 抖动测试

2.1 抖动测试方法

在本文中,用于测试的硬件平台是龙芯2E处理器,主频为664.32MHz.该处理器拥有64KB的一级缓存和512KB的二级缓存.系统内存为256M.

本文在抖动测试中采用了内部软件测试技术:记录运动控制器的第一条指令每次执行的时间戳,并存储在共享内存中,在测试完毕后,再读取共享内存中的数据以供分析 】.时间戳从CPU内部的高精度计时器获取,它是一个32位的寄存器(cp0L9 ),每个指令周期自动加1,类似于pentium系列CPU上的TSC(Time Stamp Count) .可以使用MFC0指令读出该计时器的值.但32位的计时器在664.32MHz的主频下,每隔6.47秒就会发生一次翻转,因此需要对得到的数据进行溢出处理.本文处理方法是维护一个64位的虚拟计时器:

union{

unsigned long long tsc;

unsigned long hltsc[2];

}tsc;

该结构将一个64位的长整型变量分成了两个32位的长整型变量,低32位用来获取计时器的值,高32位在计时器溢

出时加1,这样就得到了一个虚拟的64位的高精度计时器.在664.32MHz的主频下,64位的计时器需要880年的时间才会发生一次翻转.可以采用下面的函数读取虚拟计时器csc的值:

inline unsigned long long rdtsc(void)

{

unsigned long count;

asm

一 volatile一(”mfcO/t%0, $9/n/t“ :”=f”

(count));

tsc.hltsc[1]+=(count tSC.~tscf0]=count;

return tsc.tsc;

}

在MIPS中,CP0协处理器中的11号寄存器可以作为实时时钟使用.11号寄存器又称为compare寄存器,它用来在

特定的时刻产生一个中断,该寄存器被写入一个初值后,便不断的将此值与计时器中的值进行比较,一但二者相等,便触发63号中断 3.因此MIPS CPU的定时精度可以达到纳秒级.

2.2 数据分析

通过上述方法获得的时间序列是一个递增数列,相邻两个元素之问的差值即是运动控制器的实际周期.为了尽可能

的减小测试误差的影响,本文采用最小二乘法对时间序列进行拟合,得到时间序列的一条最佳逼进线,使用这条最佳逼进线来计算各周期的名义值 J.时问序列中的每一个元素与最佳逼进线之间的差值就是各个周期的调度抖动.

图1是在正常负载下,前100个测试点与最佳逼进线的偏离值.刚开始的几个点反映了较大的抖动,其中最大的抖动达到了228微秒.这个现象是正常的,因为运动控制器在刚开始运行的时候没有将指令和数据加载到cache中,相应的页表也没加载到TLB(Translation l_x~okaside Buffer)中,因此会不断发生cache失效异常和TLB重填异常,这加重了系统的负担,并延迟了运动控制器的执行.从第40组数据以后,抖动趋于平稳.在后面的测试中,均将前100组数据舍弃,从而可以更好的统计一般情况.

RTAI提供了两种调度模式,分别是单触发模式(oneshotmode)和周期模式(periodic mode) .在单触发模式下,在每次执行调度函数时,系统都需要根据当前的情况重新计算下次触发定时中断的时间,并对定时器进行编程.而周期模式只在时钟初始化的时候对定时器进行编程,以后便始终依赖这个固定的时钟周期进行调度.单触发模式下,系统的负担较重,会在一定程度上影响系统的性能.本文分别在单触发模式和周期模式下测试了运动周期的抖动.

1.jpg

在单触发模式下,调度中加入了补偿,如果上一次的调度被延迟了,那么下次便会提前调度,以消除调度抖动的累积.比如上次的实际周期为2010微秒,那么下次的实际周期就应该是1990微秒.图2是在10000组测试样例中抽取的100组数据,从中可以看出,所有的测试点均以标准值为中心对称分布,反映了上面描述的调度方法.单触发模式下最大抖动为23.476微秒,平均抖动为414纳秒.

2.jpg

周期模式下的调度没有补偿,实时进程不会提前执行,因此调度抖动会在每次调度的时间戳上累积.由于硬件定时器的定时周期在运动控制器的执行期间是固定的,抖动的下限是0.图3(见下页)是从10000组样例中抽取的100组数据.在所测的10000组数据中,所有元素均为正值,抖动的最大值为73.8微秒,平均抖动为3.298微秒.周期模式下的平均抖动时间是单触发模式下的8倍.单触发模式的调度虽然较精确,但需要耗费大量的cpu时间,加重了系统的负担,在硬件性能较差的环境下,其性能可能会低于周期模式.因此,在选用调度模式时,需要针对特定的硬件平台和软件环境进行抖动测试 .[page]

3 抖动产生的原因分析

RTAI采用了2种调度算法,分别为单调速率算法和最早时限优先算法.本文采用的是单调速率算法,因为该算法基于

静态优先级,能够保证最高优先级进程的稳定调度-6j.调度程序每次选择的进程总是优先级最高的进程,在同等优先级的各进程之间则采用时间片轮转的方法进行调度.在数控系统的所有进程中,运动控制器的优先级最高,因此,我们只需要研究高优先级的进程产生抖动的原因即可.根据RTAI的调度机制,运动控制器可以抢占其他进程,并且不会被其它任何进程抢占,因此没有进程可以延迟运动控制器的执行.但是存在其它因素可以延缓它的执行,比如总线上锁,关中断,中断嵌套,资源竞争,cache失效,以及操作系统中存在不可抢占的关键区域等.在设计良好的实时系统中,不可抢占的临界区很少,且运动控制器几乎不需要内存以外的其他资源,能够对运动控制器产生影响的主要因素只有关中断,中断嵌套和cache失效.

3.jpg

前面已经介绍过了cache失效会在运动控制器刚加载时对调度抖动产生影响,实际上在运动控制器的运行过程中,其他的非实时进程,如图形显示,网络访问,磁盘读写等都会影响cache,从而间接的影响运动控制器.为了降低cache失效对调度抖动的影响,可以尽量减少除数控软件以外的其它程序的运行.比如使用TinyX代替具有图形加速功能的XServer前面已经介绍过了cache失效会在运动控制器刚加载时对调度抖动产生影响,实际上在运动控制器的运行过程中,其他的非实时进程,如图形显示,网络访问,磁盘读写等都会影响cache,从而间接的影响运动控制器.为了降低cache失效对调度抖动的影响,可以尽量减少除数控软件以外的其它程序的运行.比如使用TinyX代替具有图形加速功能的XServer

RTAI的进程调度是由硬件时钟的定时中断驱动的.图4简略地说明了从时钟给出中断,到运动控制器开始执行的过

程.这个过程包括,系统关中断的时间,中断准备时间和中断处理时间.在关中断的时间内,系统不能对其他任何优先级的中断进行响应,所以时钟中断必须等待,直到系统开中断.中断准备阶段是指,从CPU开始响应时钟中断到进入时钟中断的处理程序所需要的时间,中断处理阶段是指执行中断处理程序rt—timer—handler(),即调度程序所需要的时间 J.中断准备时问和中断处理时间在特定的系统上是固定的,只有几微秒的时间,而且在我们的测试方法中不会对测试结果产生影响.单从时钟中断处理的过程来看,调度延迟主要取决于系统的最大关中断时问 J.在本文的测试平台上最大关中断时间为13.24微秒.

现代操作系统均允许中断嵌套,以便及时响应紧急的中断.那么在中断准备和中断处理阶段,时钟中断的处理有可能被其他的中断抢占,这也会对运动控制器的抖动产生影响.为了降低这种影响,应该尽可能的减少系统中的中断数量,这样不仅可以降低时钟中断被抢占的可能性,也可以降低系统的负载.在数控系统中,由于不需要大批量的读写磁盘数据,不需要电源管理,可以将DMA,APM 和ACPI禁用.这些设备会产生大量的中断,并频繁的对总线上锁.如果该数控系统无需网络通信,也可以将网络禁用.

4.jpg

在禁用了上述设备后,本文在单触发模式下,对运动控制器的调度抖动进行了重新测试.最大抖动为8.02微秒,平均抖动为392纳秒.最大抖动接近没禁用设备以前的1/4.图5是10000组测试样列的散点图.从图上可以看出大部分的测试点都分布在微秒内,这样的抖动在数控系统中是可以接受的.当数控系统以10米/分的速度加工的时候,8微秒的抖动最多能产生1.3微米的随动误差.

5.jpg
t.jpg

4 总结

对实时系统而言,调度抖动是不可避免的.调度抖动的大小与硬件体系结构和操作系统的运作方式密切相关.在数控系统中,大的调度抖动会对加工精度产生影响.本文针对M1PS平台,在不同的调度模式下测试了运动控制器的调度抖动,并采用最小二乘法对结果进行了分析.实验表明,在该数控系统中,周期模式下的平均抖动是单触发模式的8倍多.在数控系统中,可能引起抖动的因素有cache失效,系统关中断以及中断嵌套等,本文针对这些因素对系统做了优化,禁用了DMA,APM,ACPI等与数控系统的运行关系甚微的设备,并将具有图形加速功能的X Server替换成了对资源占用很小的Tiny X.结果在单触发模式下,最大抖动可以缩短到原来的四分之一,平均抖动也有所改善.测试结果证实,在MIPS平台下,RTAI完全能够满足数控系统的需要.

关键字:MIPS  RTAI  数控系统  调度抖动 引用地址:基于MIPS处理器和RTAI的数控系统中调度抖动的研究

上一篇:向51单片机说再见
下一篇:单片机与PLC在工业应用中异同分析

推荐阅读最新更新时间:2024-03-16 13:43

基于FPGA的远距离测温器数控系统设计
摘要:介绍了远距离测温器的结构组成和工作原理,设计了基于FPGA的远距离测温器数控系统的数据采集与控制系统,使用Altera公司的Cyclonell系列的FPGA实现了包括数据采集、数据通信等控制功能,着重叙述了硬件与软件的实现方法。该数控系统具有测量精度高,低功耗等特点。 关键词:远距离测温;FPGA;数据采集与控制系统;NiosⅡ 0 引言 在一些特殊的科研场所和工业生产单位,出于各种条件限制,仪表往往不能就近测量物体实际温度;而以往所使用的一些传感器在使用时受到各种环境因素的影响,使得传感器测量得到的温度不能精确地反映被测物体的温度。因此,人们需要找寻一种远距离测温器,能够精确测量物体温度,并能实时监控温度数据。
[嵌入式]
基于FPGA的远距离测温器<font color='red'>数控系统</font>设计
MIPS Warrior P-class CPU获Baikal Electronics采用
Baikal-T1处理器内置高性能、高效率的MIPS CPU,适用于电信、工业自动化和嵌入式系统等应用 2015年6月3日 ─ Imagination Technologies 宣布,俄罗斯IC设计公司 Baikal Electronics在其新推出的多核处理器中集成了Imagination的最新MIPS Warrior P级 P5600 CPU。Baikal公司的Baikal-T1处理器具有灵活性、高运行频率与低能耗等特性,可帮助客户为电信、工业自动化和嵌入式系统应用设计先进、高效的解决方案。 谈到Baikal-T1处理器,Baikal Electronics首席技术官Grigoriy Khrenov表示:
[手机便携]
巴西的Unitec公司获得Imagination MIPS CPU授权
2017年3月8日 ─Imagination Technologies 宣布,巴西的 Unitec 半导体公司 (Unitec Semiconductores) 已选用 MIPS M-class CPU 作为其新款电源管理 IC 的控制器。这款芯片将被用在 Unitec Semiconductores 旗下子公司 Unitec Solutions 为 IoT 智慧城市应用开发的各项产品中。 精巧、高效率的 MIPS microAptiv MCU IP 内核是微控制器 (MCU) 和嵌入式应用的理想选择,可满足这些应用对于高性能、高效率以及安全性的即时需求。它是 Imagination 最精巧、最低功耗的 CPU 系列产品,与竞争对
[嵌入式]
MIPS科技进入中国两周年庆典上海研发中心迁入新址
  MIPS 架构及内核得到用户迅速采用“数字家庭”市场的领导地位日益稳固   为数字消费和商业应用提供业界标准处理器架构及内核的领先供应商 MIPS 科技(纳斯达克交易代码:MIPS)举行乔迁新张庆典,庆祝 MIPS 科技进入中国两周年以及上海研发中心迁入新址,大大增强本地研发能力。由于“数字家庭”市场的快速增长的推动作用,大中国区已成为 MIPS 科技“全球增长最快的地区”。      MIPS 科技首席执行总裁 John Bourgoin 表示:“中国经济的迅猛发展推动着该地区对家庭娱乐、宽带接入以及便携式媒体设备的前所未有的消费需求,而这些领域正是 MIPS 科技的专长所在,并拥有主导市场地位。在过去的两年间,MIPS
[焦点新闻]
基于MIPS处理器和RTAI数控系统调度抖动的研究
1 前言 目前,国内外的数控系统大多采用X86体系结构的CPU,主要是因为X86体系结构上拥有丰富的应用软件,开 发环境和技术积累,可以在一定程度上缩短数控系统的开发周期.但X86体系结构也有其自身的缺点,比如其指令集体系结构过于复杂,成本高.而且X86技术一直被国外的几家大公司所垄断,将其应用在数控系统这样的战略资源上,存在一定的安全隐患. M1PS体系结构具有灵活开放,成本低的优点,在工业控制、网络、通信、多媒体娱乐等领域得到了广泛的应用.我国已经研制出了具有自主知识产权的MIPS通用CPU.因此将MIPS结构的CPU应用在数控系统上,不仅可以降低数控系统的成本,还增加了数控系统特别是高档数控系统国产化的水平. 实时操
[单片机]
基于<font color='red'>MIPS</font>处理器和<font color='red'>RTAI</font>的<font color='red'>数控系统</font>中<font color='red'>调度</font><font color='red'>抖动</font>的研究
MIPS与SYSGO携手将嵌入式技术带入处理器核心
美普思(MIPS)与SYSGO近日共同宣布,两家公司已携手合作将SYSGO的嵌入式虚拟化技术带到MIPS32处理器核心。 SYSGO 的PikeOS即时作业系统(RTOS)是一个hypervisor虚拟化平台,能让多个应用程式和Android和Linux等作业系统安全地在单一硬体平台上平行运作。透过PikeOS,MIPS的授权客户可具备为不同任务部署CPU资源的灵活性,可因此免除在系统中采用专属安全性CPU的需求。 随着行动付款、跨装置间敏感资料串流、高价值媒体内容处理、以及其他消费应用的兴起,微处理器和系统级安全性的重要性已日渐提升。为因应这些趋势,PikeOS可提供结合RTOS与安全虚拟化环境的独特方案。
[工业控制]
MIPS走向更多
当谈到32 位微控制器时,基于ARM 的产品已经占据重要地位。那么,这会是故事的全部吗?不见得,行业内最重要的公司之一,Microchip Technology,正全力推动其基于MIPS 架构的芯片。他们最新推出的产品在提醒我们,成功的嵌入式设计需要指令集之外的诸多因素。 在计算机历史上,从实验室走出过多少种不同的指令集架构?可能曾经有数百种架构取得过一些商业上的成功; 如果算上诸多博士论文中出现过的,数目可能会多达几千种。拿流行时尚做比喻,计算机体系结构发展就好似女生裙摆的高度一般,经常来回变化。 曾经有一段时间它非常要紧—— 比如在汇编语言编程的时期。至于兼容性,至少在表面上它依旧是件重要的事情,特别是在电脑或视频游戏方面
[嵌入式]
<font color='red'>MIPS</font>走向更多
Android™ “冰淇淋三明治”最新版本开始支持MIPS™ 架构
    为数字家庭、网络和移动应用提供业界标准处理器架构与内核的领导厂商美普思科技公司 (MIPS Technologies, Inc) 今天宣布,最新版的 Android 4.0 平台,即代号为“冰淇淋三明治”(Ice Cream Sandwich) 的 Android™ 4.0.3 版,现已可支持 MIPS™ 架构。在 Google 于 12 月 16 日正式公布源代码后的 24 小时内,MIPS 科技就完成了代码的移植工作。现在,支持 MIPS 架构的 Android 4.0.3 编码已可从 http://developer.mips.com 下载获得。     明年一月,现有艾诺电子 (Ainol Electronics)
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved