我需要开发一个实时应用程序,它可以尽可能快地处理用户的输入(来自一些外部控制面板),并向LCD监视器提供一些输出(也非常快)。
更准确地说,我需要处理固定时间中断(周期为1ms)来重新计算内部模型,从外部控制面板获取当前状态。
当内部模型发生变化时,我需要更新液晶显示器上的图片(现在我认为最合适的方法是在每次中断时更新)。也不希望这里有任何延误。
最适合实现它的平台是什么?而且哪一个最具成本效益?
我听说过QNX、IntervalZero RTX、rtlinux,但不知道每一个的细节和功能。
谢谢!
就不同的操作系统而言,我知道QNX具有非常好的"硬"实时性,并且已经构建了&从头开始优化。它现在还运行了Qt(QNX6.5),以实现全功能的GUI。
我听到(第二手)传闻信息,rtlinux非常接近硬实时(保证实时),但如果驱动程序(通常是第三方)编码不好,有时可能会延迟。[这是RTOS供应商提供的,所以请相信它的价值。]
作为一个设计问题,我将这三个独立的操作解耦为三个具有不同优先级的线程:一个线程用于获取数据并设置新数据准备就绪的信号量,一个线程用来更新模型并设置模型准备就绪的信号量,以及一个线程来更新GUI。我会以更慢的更新速度运行GUI线程。大多数显示器都在60-120Hz的范围内进行更新。为什么更新速度比屏幕上显示的数据快?