我如何决定RTOS的滴答频率?

时间:2012-02-05 18:26:05

标签: operating-system

如果RTOS可以选择在用户级别随时更改节拍频率(例如,仅使用API​​),那么以有效节拍频率到达的参数(需要考虑)是什么?如果滴答太快,我最终会在内核级别执行大量执行。如果刻度很慢,我会错过实时标准。我应该对一些高优先级就绪线程的最早时间进行分析吗?这不是一个特定的操作系统,而是一个更通用的问题。

2 个答案:

答案 0 :(得分:1)

通常,在RTOS中,一个刻度从1ms到10ms不等,取决于您的要求和您的硬件平台;我不认为你需要动态地动态改变这个值,因为这可以实现,但不需要,并且我知道没有RTOS支持这个功能;

如果软件中需要很多定时器,并且最精确的时基Y在1到10ms之间,则可以将TICK配置为Nms(1

如果您需要一个具有1 us或甚至1 ns的定时器,我认为硬定时器是正确的选择,并且使用ISR尽可能地工作,或ISR + TASK,如果这符合您的要求;

较大的TICK值会缩短精确时间,但同时会降低系统开销;

相反,较小的TICK,你可以获得更高的精确时间基础,但它会产生很高的系统开销;

如果TICK达到某种程度,系统将无法运行,因为您的应用程序无法获得CPU时间,CPU大部分时间都会运行RTOS。

答案 1 :(得分:0)

滴答率必须足够快以处理所需的响应速度。

如果您的应用程序需要超时/重新安排/延迟...以微秒为单位,则嘀嗒率为1000 ticks / sec(1 tick / ms),将会太慢。但是,如果您的申请延期50毫秒,那么50000秒/秒的速度显然是过度的。

大多数情况下,我认为您可以期望处理器足够快以处理所需的滴答速率。如果不是,那么您可能要么重新考虑(部分)代码架构和/或硬件选择。

希望这有帮助。