为什么在拥有RTOS时需要可编程实时单元(PRU)?

时间:2014-11-23 18:59:12

标签: embedded raspberry-pi beagleboneblack rtos

beaglebone Black处理器包括两个独立的可编程实时单元(PRU)。业余爱好者和专业人士对可能将这些单元用于实时应用感到兴奋,这是可以理解的。但是,如果您可以使用RTOS(无论是beaglebone还是Rasberry pi),为什么还需要PRU?

编辑 - 有关信息,BBB的ARM Cortex A8运行频率为1 GHz,频率为1.9 DMIPS / MHz。 PRU是以200 MHz运行的简单RISC。

2 个答案:

答案 0 :(得分:7)

Linux,即使使用实时调度程序也不适合许多具有微秒级响应要求的关键硬实时任务,另一方面,它提供或支持UI,连接和大量功能。文件系统支持。这些东西要么在RTOS中不可用,要么在高端RTOS中以很高的成本提供,并且硬件支持有限。

因此,如果您的系统具有硬实时约束,但需要更多通用计算功能,例如网络,文件系统连接到商业现货(COTS)外围设备等,那么PRU提供了解决方案。

另一方面,我无法帮助,但认为这是TI推销更多芯片的营销活动。使用一个或多个处理器执行时间关键任务(可能运行RTOS)的类似解决方案始终是可能的(并且确实很常见),而UI和连接由具有必要硬件和内存资源的单个处理器处理但没有真实的时间限制。 PRU设备有两个32位内核,但XMOS xCORE设备有多达16个内核 - 有16个通信内核,您甚至可能不需要RTOS。

回答这个问题......

  

[...]如果你有RTOS [...],你为什么需要PRU?

...直接;在这种情况下你可能不需要它们,但是你会松开Linux - 你的应用程序可能需要它。它只是使用Linux的实时应用程序的众多解决方案之一。你付钱,然后自己选择。

答案 1 :(得分:5)

BeagleBone或RaspberryPI中的处理器很可能实时太“重” - 毕竟,你可以在你的PC上运行RTOS,但它不会非常敏感完全确定性,即使它比典型的微控制器更快(我猜这些PRU是某种具有新名称的微控制器)。在这些主板上的高级应用处理器中,您很少能直接访问硬件或中断,这对于实际执行时间要求严格的实时应用程序至关重要。