067-139832020

KURT_Linux、RT|足球滚球APP2021-01-05 06:34

本文摘要:如果应用强大的周期性,或者在一段时间内大量高精度计时器超时,则使用动态多模式时钟机制提高Linux的时钟精度,并通过分析测试表明,该方案不现实。结合KURT-Linux的one-shot思想,提高时钟准确度,利用高级可编程中断控制器(APIC)[4]或可选硬件资源,建立系统时钟和分段的高精度动态时钟,并确保系统拥有高精度动态时钟和低精度系统时钟[5-7]。

精度

CNC (CNC)已经沦为现代制造业的核心技术之一,开放式数字控制系统与传统数字控制系统相比具有功能、灵活性、成本等优势,使开放式数字控制系统成为数字控制系统未来发展的主要趋势。目前,开放式数字控制系统有三种结构:专用CNC PC、标准化PC运动控制器和软数字控制系统。其中硬数字系统采用多任务实时操作系统,将运动控制部分和管理部分构建为一个硬件平台,符合数字控制系统的功能和非功能(主要是实时)拒绝[1]。

开放数字控制系统的理想软件平台是动态多任务操作系统。目前,商用动态多任务操作系统多为VxWORKS、iRMX、QNX等所熟知,但这些操作系统产品大部分成本高,开放性较差。UNIX是一个增长非常迅速的UNIX系统,被广泛应用于服务器、桌面系统和嵌入式应用领域。

Linux是对外开放源代码的特点,可以开发具有自主知识产权的数控系统。但是,Linux的早期设计目标是执着于系统效率和公平性的分时操作系统,在实时拒绝较低的领域受到了限制。2.6内核的Linux时钟粒度增加到1毫秒,但与数控系统拒绝定点精度相去甚远。

近年来的研究通过对时钟粒度进行细分,提高Linux的动态应用能力,明确提出了KURT-Linux系统、RT-Linux系统等一些方案和设想。本文对KURT_Linux、RT-Linux如何提高时钟精度进行分析。如果应用强大的周期性,或者在一段时间内大量高精度计时器超时,则使用动态多模式时钟机制提高Linux的时钟精度,并通过分析测试表明,该方案不现实。

1Linux时钟机制和增强的1.1Linux时钟机制时钟和计时器对Linux系统至关重要。首先,内核需要管理系统运行时间和墙时间。第二,内核的很多工作都是基于时间的。

其中一些任务是持续周期,如平衡调度程序的操作队列或展开屏幕。一些工作需要继续进行的I/O工作人员需要在继续工作之前等待比较时间。

(大卫亚设、Northern Exposure(美国电视剧)、Northern Exposure系统时钟是计时器硬件和系统软件的融合,X86体系结构中使用最广泛的计时器硬件是英特尔8254可编程计时器芯片(PIT),时钟中断(tick)。时钟中断是完成中断服务程序、修订系统时间和任务管理、日程安排等任务的特定周期性中断。系统在每个时钟中断处置中修订jiffies,以获取系统计时器链表timer_list,并报废超时计时器。与系统计时器相比,动态计时器是安排事件在未来特定时间点再次发生的机制。

依靠系统时钟中断,检查时钟中断服务程序下半部分是否有超时动态计时器,并扩展处理。Linux2.6内核的系统时钟频率为1000Hz。

也就是说,时钟中断的启动周期为1毫秒,中断服务程序每1毫秒持续运行一次。动态计时器可以随时超时,但只有中断服务处理程序继续运行时,才会检查超时的动态计时器并继续运行,因此动态计时器的平均误差约为系统时钟周期的一半。数控数控系统的工作过程通常先提供计时器(操作系统完成),然后定期继续运行控制程序。

周期一般是几十微秒到十毫秒。在每个周期内,必须完成状态监控、解码、刀具补偿计算、插值计算、PLC管理、方向控制等任务。如您所见,加工工件时CNC拒绝的实时性很低,因此需要在非常短和准确的周期内完成一系列计算和输入输出。

否则,加工精度无法保证。与标准2.6内核Linux计时器精度相比,几乎被数控系统周期动态操作拒绝的微秒定点精度。提高1.2时钟准确度的方法近年来明确提出了Linux动态改造的方案和设想,主要有KURT-Linux、RT-Linux等[2]。

下面分别展开解说。_ Kurt _ Linux[3]通过Kansas大学开发的Linux内核内部改造,可以动态应用于市场需求。

对于时钟精度,KURT-Linux将与Linux的时钟中断相同的模式再次更改为引导时间模式(one-shotmode)。也就是说,在时钟芯片上设置超时时间,然后等待超时事件再次发生。

在时钟中断处理过程中,根据需要重新设置超时时间。通过这种半宽时钟模式,将Linux时钟精度提高到S级。确保拒绝某些动态操作的精度,并避免不必要的调度开销。

RT-Linux是新墨西哥理工大学开发的基于Linux的硬实时系统。使用双核方法设计基于原始Linux处理动态进程的内核,然后将整个Linux用作在动态内核中工作的低优先级进程。

时钟精度与KURT_Linux相似,将系统动态时钟设置为单个引导时的状态,然后使用TSC获得最大CPU时钟频率的定点精度。MontaVistaLinux是JamesReady开发的嵌入式Linux,需要通过Linux内核的内部改造,对原始Linux内核的数据结构等进行动态要求的更改。对于高精度时钟,它充满了中断CPU的传统周期性方法,可以在需要计时器的其中一个S上产生中断,但每个S在不产生中断的情况下,将系统的定点精度提高到S级。

Linux-SRT是剑桥大学DavidIngram博士论文项目,它在Linux中对Hz的定义进行了非常简单的更改,将Linux时钟频率从100Hz提高到1024Hz。以这种方式一起构建很简单,但这导致了频率高的定点中断,导致系统成本相当高。结合KURT-Linux的one-shot思想,提高时钟准确度,利用高级可编程中断控制器(APIC) [4]或可选硬件资源,建立系统时钟和分段的高精度动态时钟,并确保系统拥有高精度动态时钟和低精度系统时钟[5-7]。但是,在可选硬件相反或APIC受限的应用环境中,PIT芯片不能用作高精度的时钟源,每次停止报废时,都需要重新计算下一次停机时间并对PIT进行编程。

由于PC兼容性,PIT芯片位于短距离ISA总线上,频率密度设置计时器硬件也需要经过很多时钟周期。因此,one-shot模式时钟中断处理时间可能会超过标准Linux时钟中断处理时间的7~15倍[8-9]。

如果应用强大的周期或在一段时间内集中大量计时器时发生超时,则应使用与one-shot不同的时钟模式。如果系统没有动态计时器,则系统间隔1ms不会中断周期性jiffies时钟,并使用one-shot模式将系统性能提高约1.5%。如果系统没有动态计时器,则应将时钟设置为RTLCLOCKMODEPERIODIC操作模式,并确保时钟周期与标准Linux下的时钟周期完全一致,以便Linux在系统没有动态操作时能够有效工作。


本文关键词:动态,计时器,中断,数字,足球滚球APP

本文来源:足球滚球APP-www.gotyaoi.com