INtime RTOS簡介
INtime ? RTOS是一個動態的,確定性的硬實時操作系統,用于多核x86兼容處理器上的非對稱多處理(AMP)。與使用虛擬機管理程序,Windows設備驅動程序或單體應用程序不同,INtime RTOS是完整的操作系統,具有開發人員期望在現代開發環境中使用的系統服務和功能。功能包括動態控制多個主機上多個節點(核心)上的進程,以及系統所有節點之間的豐富進程間通信(IPC)等。
1. INtime基本架構
1 支持的部署模型
INtime RTOS提供兩種不同的部署模型。INtime RTOS上開發的應用程序可以在部署模型或兩者之間進行部署,而無需更改。
a. INtime for Windows:允許在同一主機上啟用Windows和INtime RTOS實例的混合解決方案。
b. INtime distributed RTOS:允許在多核主機上作為獨立系統或分布式系統的一部分運行嵌入式應用程序。
2 多核PC主機整合大量工作負載
1)使用分區的多核PC主機整合大量工作負載(稱為“嵌入式虛擬化”),可通過將不同的應用程序類型合并到同一臺PC上來降低系統成本和復雜性。
2)在具有對稱多處理(SMP) OS的異構部署中,INtime RTOS與Windows *(32位和64位)并行運行,以利用其廣泛的人機界面(HMI)。
3)系統服務將支持擴展到多個主機,從而允許創建具有靈活部署模型的可互操作的分布式實時系統。
4)作為非對稱多處理(AMP)架構部署,每個節點(core)運行一個獨立的INtime RTOS實例,并對其硬件資源進行劃分-包括專用內核,內存,I / O和中斷。當關鍵響應時間很重要時,此方法是需要安全性,可靠性和確定性的最佳選擇。所有INtime RTOS和Windows進程均本地運行,并支持Windows的所有當前版本(包括Windows 10)。
當前的INtime RTOS環境仍向后兼容為先前INtime版本開發的應用程序,從而節省了軟件投資。提供了Windows API級實時擴展代碼的遷移庫。
3 基于對象的RTOS,具有全面的內核服務
為了加快上市時間并簡化開發,INtime RTOS提供了通用操作系統的標準服務。這些服務允許程序員依靠OS來管理其解決方案中的許多系統任務,而無需創建自己的代碼。
INtime RTOS是基于對象的,支持熟悉的編程方法,集成到熟悉的Microsoft Visual Studio環境中。INtime RTOS內核提供了多個對象并維護它們的數據結構,這定義了與其相關的系統調用。對于任何創建的對象,內核都會返回該對象的句柄,該句柄可在分布式系統中的任何INtime RTOS或Windows進程中使用。每個進程都在受保護的用戶模式(Ring 3)下執行,最多有4GB的內存,僅受主機資源限制。
2. INtime關鍵處理機制
1 專用硬件資源劃分機制
INtime RTOS是一種硬實時事件驅動的操作系統,具有以微秒為單位的確定性。
確定性應用程序需要來自主機的專用且隔離的資源:內核,內存和I / O。INtime RTOS專為確定性應用程序而設計,并通過顯式劃分主機硬件為每個實時節點分配資源,從而為實時應用程序提供所需的資源。
低延遲驅動程序包括:
?以太網和INtime的高性能以太網(HPE):EtherCAT ,Sercos III ,Profnet 的基礎
?xHCI USB,PCI / PCIe 和串行端口
2 IPC內部進程通信GOBSnet機制
INtime RTOS提供了確定性IPC機制(GOBSnet),可以在系統中對所有已創建的對象進行分類,搜索和使用,從而為嵌入式系統設計提供了可擴展性。
通過使用顯式的硬件分區和非對稱多處理(AMP或內核親和性),INtime RTOS可以在多個節點上實現確定性應用程序的可伸縮性,以實現性能,或在更少的節點上組合以節省成本。
無論是在同一多核主機上還是在分布式主機上運行,GOBSnet均可在Windows和實時應用程序之間提供一套全面的高效通信服務。盡管彼此隔離,但跨環境共享允許Windows服務與嵌入式功能進行交互,從而實現集成并消除了網絡間的復雜性和傳統嵌入式設計的故障風險。這樣就可以靈活地擴展解決方案的拓撲結構,而無需移植。
3 分布式系統管理器DSM機制
分布式系統管理器(DSM)監視所有節點及其進程,以維護整個嵌入式系統的連續性和可用性。DSM跟蹤系統的狀態,監視其組件的運行狀況,并在組件終止或發生故障時進行清理。
每個INtime RTOS或Windows實例均被視為一個節點。任何INtime節點都可以創建可從任何其他節點訪問的對象,無論是在單個主機上還是跨分布式主機系統。先進的集成內存管理器維護每個進程的內存分配。
3. INtime總結
INtime RTOS支持運行用戶模式(Ring 3)實時應用程序,而不是內核模式驅動程序擴展的模塊化編程模型。
通過使用明確的硬件分區和非對稱多處理(AMP或核心相似性),INtime RTOS可以在多個節點上實現確定性應用程序的可伸縮性。開發人員可以將確定性應用程序分配給可用的內核。
此外,借助GOBSnet,如果需要更多資源,則可以在混合解決方案(Windows和INtime RTOS)主機上的嵌入式應用程序輕松移植到其他主機,同時保持與Windows的互操作性。
4. INtime應用案例
1 CNC應用
如下圖中所顯示的應用,其中運動控制周期,I/O驅動器,監控PLC邏輯和現場總線驅動器(EtherCAT,CANopen)在INtime內核環境中作為實時過程執行,而機器的HMI功能(包括CAD/ CAM系統)以及客戶通常安裝的許多第三方應用程序,將它們作為Windows進程運行,并使用INtime for Windows的NTX庫中的功能與實時軟件進行通信。
2 運動控制
下圖中軟件體系結構將Windows和實時應用程序隔離開來,以提供完整的Windows功能,同時確保控制操作的確定性。設計,診斷,優化和設置運動控制系統應用程序所需的所有必要接口均在Windows下運行,而所得的包括機器接口在內的控制代碼則在TenAsys的INtime for Windows下實時運行。