图形界面实时应用

发布于 2024-11-10 13:39:50 字数 296 浏览 5 评论 0原文

我需要开发实时应用程序,它可以尽快处理用户的输入(来自某些外部控制面板)并向液晶显示器提供一些输出(也非常快)。

更准确地说 - 我需要处理固定时间中断(周期为 1 毫秒)来重新计算内部模型 - 从外部控制面板获取当前状态。

当内部模型改变时,我需要更新液晶显示器上的图片(现在我认为最合适的方法是在每次中断时更新)。也不希望在这里有任何延误。

最适合实施它的平台是什么?还有哪一款最划算呢?

我听说过 QNX、IntervalZero RTX、rtlinux,但不知道每一个的细节和功能。

谢谢!

I need to develop the real-time application which can handle user's input (from some external control panel) as fast as possible and provide some output to LCD monitor (very fast as well).

To be more exact - I need to handle fixed-time interrupts (with period of 1ms) to recalculate internal model - with current state fetched from external control panel.

When internal model is changed i need to update a picture on LCD monitor (now I think the most proper way is to update on each interrupt). Also don't want any delays here.

What is the most suitable platform to implement it? And also which one is the most cost-effective?

I've heard about QNX, IntervalZero RTX, rtlinux but don't know the details and abilities of each one.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

永言不败 2024-11-17 13:39:50

就不同的操作系统而言,我知道 QNX 具有非常好的“硬”实时性,并且已经构建并发布了。从头开始优化。现在它还运行 Qt (QNX 6.5),以实现全功能 GUI 性。

我听说(第二手)轶事信息说 rtlinux 非常接近硬实时(保证实时),但如果驱动程序(通常是第 3 方)编码不好,有时可能会迟到。 [这是来自 RTOS 供应商,所以请珍惜它的价值。]

作为一个设计问题,我将这三个独立的操作解耦为三个具有不同优先级的线程:一个线程用于获取数据并设置一个新的信号量数据已准备好,一个线程用于更新模型并设置模型已准备好的信号量,一个线程用于更新 GUI。我会以慢得多的更新速率运行 GUI 线程。大多数显示器的更新频率都在 60-120Hz 范围内。为什么更新速度快于屏幕上显示的数据?

As far as the different OSs, I know QNX has very good "hard" real time and has been built & optimized from the ground up. It also now has Qt running on it (QNX 6.5) for full featured GUIness.

I have heard (2nd hand) anecdotal information that rtlinux is very close to hard realtime (guaranteed realtime), but it can sometimes be late if a driver (usually 3rd party) is not coded well. [This was from a RTOS vendor, so take it for what it is worth.]

As a design issue, I'd decouple the three separate operations into three threads with different priorities: one thread to fetch the data and set a semaphore that new data is ready, one thread to update the model and set a semaphore that the model is ready, and one thread to update the GUI. I would run the GUI thread at a much slower update rate. Most monitors are in the 60-120Hz range for updating. Why update faster than the data can be shown on the screen?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文