RT Linux中的快速周期性任务

5
RT Linux能够以多快的时间间隔执行(实时)周期任务?
我正在研究科学数据采集应用程序的硬件和软件解决方案。要求在大约40kHz的生理过程中进行实时反馈控制。有硬件解决方案(使用可编程DSP芯片),但我想知道实时Linux任务是否可以处理整个问题。该任务很简单:从A/D板读取一个样本,执行一些简单的算术运算,并将一个样本写入A/D板。RT Linux能否每秒调度40k次此任务,或者这是不合理的速度?
如果我们可以在CPU上执行周期性任务,我们可以编写应用程序而无需硬件依赖。如果不能,则必须使用混合CPU / DSP系统。显然,我希望是前者。
1个回答

2
根据http://www.ibm.com/developerworks/linux/library/l-real-time-linux/所述,即使在普通处理器上运行非实时的Linux系统,也可以提供平均20微秒的计时器间隔,相当于50kHz。同一篇文章还提到,在带有某些实时修改的2.6内核中,高分辨率计时器可以提供1微秒的间隔,或1000kHz。因此,我认为期望实时内核能够可靠地提供40kHz并不过分。

1
非实时的Linux可以轻松地提供平均50kHz,但该系统的要求是最坏情况下40kHz,因此非实时的Linux不适用。计时器的分辨率不能保证它能以特定速率周期性触发;可能会出现计时器可以在恰好232微秒的时间周期性触发,但20微秒太快了。 - Barry Wark
1
是的,我的观点是,如果一个非实时系统可以平均每秒传输50k(由于某些间隔被抢占而导致延迟),那么一个实时系统应该能够可靠地传输40k。我并不建议您使用非实时系统,只是将其用作“最坏情况”的比较。 - Michael Bray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接