工業乙太網路效能大躍進。在即時乙太網路應用上,網路節點的反應速度是重要的性能指標,特別是在智慧工廠環境中更是不容忽視;工業乙太網路的所有節點都必須在極短的時間內擷取數據並進行即時處理,方能達到智慧自動化的要求。因應此一發展,微控制器(MCU)業者以Cortex-M3處理器為核心,並結合自行研發的硬體加速器,打造出新一代網路控制晶片,可確保在指定的時間週期內完成數據處理,從而滿足高度即時性應用的需求。
在即時乙太網路應用上,其網路節點的反應速度乃是事關重大之規格。微控制器廠推出R-IN32M3系列的網路控制晶片,提出整合硬體加速器方案來支援內建Cortex-M3處理器,用以加快流程及釋放系統資源。
工業自動化網路須要以非常短的週期時間,在不同的網路協定中做出即時處理(即時性(Real-Time)。這些需求既適用於通訊系統,亦適用於現場工業控制器產品。相對前者,後者從通訊網路擷取數據,並進行處理,再輸出相關的處理結果於自動化控制系統以達成動作目標。在所有系統的網路節點中,最重要的規格為以短暫的延遲時間、微幅的抖動等特性,以滿足系統同時序同步運作。
在以硬體支援網路通訊協定控制器中,這些網路通訊之即時要求幾乎已能被滿足。然而,要如何在控制器產品之上加入即時性功能以提升效能呢?
對於諸如EtherCAT、PROFINET、Ethernet/IP、CC-Link IE等即時乙太網路協定,瑞薩R-IN32M3系列的多協議網路晶片(圖1),能在網路型的控制器系統中,進一步滿足這種即時性要求。除了內建乙太網路(Ethernet)控制器或CC-Link IE Field控制器與完整的ARM Cortex-M3中央處理器(CPU)系統之外,還有額外的硬體加速器被整合到晶片中。其在R-IN32M3控制器中,能控制裝置在最小功耗中,用極短的延遲時間和微幅的抖動,同時控制網路通訊並運行複雜的應用程序。
|
圖1 R-IN32M3控制器功能區塊 |
即時處理系統
即時處理系統在執行任務前和任務之間時,基本上會產生微幅延遲時間(延遲),因此,應盡可能縮短反應時間,並保證在指定的時間週期內執行數據處理,從而滿足即時處理系統。運行更快的程序之時間需要被控制,使延遲更為短暫,且它也應為恆定的延遲時間,所以應該盡量達成沒有或僅有一個最小的抖動狀態。網路型控制器在整個系統中可以靠微幅抖動精準量測出各種不同的延遲,並在時間序列中進行補償。在確定性系統開發上具降低測量誤差和控制誤差的基礎。
另一重點特性是處理事件的同時性及分布式系統內的動作,其透過各個網路段,以不同傳輸特性連結各個節點,即時乙太網協定不僅保證高數據率和短暫的傳輸時間,也必須考慮到在網路中會發生不同的延遲,以求在單一時間基準的每個節點上同步。在此也會有相關的額外協定來定義如何補償與校時,例如R-IN32M3控制器亦支援網路測量和控制系統的精密時鐘同步協定標準(PTP IEEE1588)。可同步其分布在許多節點間的PTP即時時鐘,以滿足對時之需求。
特別透過內建的EtherCAT協定和CC-Link IE Field協定,R-IN32M3系列已能滿足網路上的即時需求。對於其他協定,例如PROFINET和Ethernet/IP,R-IN32M3晶片只須依照使用內建之標準IEEE 802.3乙太網路硬體即可支援,但仍可利用內建之特殊加速硬體功能(HW RTOS),針對此種對時間嚴格要求的通訊協定上,以減少軟體延遲並減少抖動。
控制器即時性
然而,在最小延遲和微幅的抖動情況下得到的高數據傳輸率只是即時系統的一部分,在分布式系統中的各個層面必須也考慮到如何達成即時性效能,包括在控制程序中的各個網路節點中亦得到充分的支援。截至目前為止,這些要求是否已在控制器層級中考量與導入此特性呢?
在控制器系統中,常以一個CPU運算系統連接感測器,架構上須有適當的程序執行單元而且搭配可並行或串行通訊介面的標準平台系統。R-IN32M3控制器中已包含一個完整的ARM Cortex-M3,並搭載足夠的記憶體(SRAM),以處理程序、數據、直接記憶體存取(DMA)、中斷請求和可支援多協定的即時子系統。該子系統一方面能支援執行軟體以對應目標支援的網路協定,另一方面,可同時利用Cortex-M3核心上的空閒資源運行複雜的應用程序。
上述即時要求會經由不同過程和作業系統定義之任務來執行,而後轉傳於標準的系統主程序接續處理,欲改善而進行高效率運作。可預先估算透過短暫延遲和微幅抖動所產生的各任務間的轉換時間,而用以重要和關鍵的同步處理將優化系統的運行量(適用於確定性系統)。
主要特徵
R-IN32M3系列的網路控制器在硬體中支援不同的工業乙太網協定。此外,它還搭載即時作業系統加速器,其支援嵌入式Cortex-M3的即時作業系統。在與網路節點的CPU結合使用時,反應時間比軟體即時作業系統(Software-RTOS)快五至十倍。軟體程序庫簡化了控制器的程序。
圖2分別展示R-IN32M3網路控制器的幾項特徵,圖2a顯示基於硬體和軟體的即時作業系統在數據流量中的性能差異;圖2b顯示基於軟體的即時作業系統的任務調度示意;圖2c顯示基於硬體式的即時作業系統可加速作業系統中任務調度的控制邏輯;圖2d顯示整合的Cortex-M3連接到硬體式即時作業系統和在R-IN32M3控制器的周邊設備。
|
圖2 軟體式與硬體式即時作業系統設計架構 |
硬體加速器即時操作系統
為滿足這些要求,在搭載CPU軟體方面,原則上有幾種方法。例如,可增加CPU的性能然後增加功率損耗,此方式容易提升但卻會產生額外的成本開支。另一方面,瑞薩推出一種新的方法,結合基於硬體的即時作業系統加速器,作為Cortex-M3處理器的獨立功能區塊。由於硬體即時作業系統支援Cortex-M3的任務調度等典型即時功能,顯著加速了部分流程。
其中硬體即時作業系統的功能,包括透過適當的優先次序進行純粹的任務調度,以及經由事件標誌,進行訊號量和任務郵箱的同步,其特性就像一般的任務管理和時間管理。此外,硬體可經由中斷請求直接啟動特定功能,而不涉及Cortex-M3 CPU的元件。整體來說,比起單純的軟件解決方案,這種轉換時間快了五至十倍。其他優點還包括,能顯著降低功耗,並同時增加穩定性。
硬體即時作業系統是一個獨立的功能單元,是連接於CPU控制器和內部存儲器所連接之內部匯流排(CPU-Bus)。這個簡單的連接讓Cortex-M3 CPU絲毫不需任何調整。僅因硬體即時作業系統中斷請求訊號和中斷請求控制器聯繫在一起,而直接和即時的與CPU起作用。
在硬體即時作業系統產生的事件,諸如一個計時器事件來啟動一個任務或一訊號量的狀態改變,將透過這些優先中斷請求,直接在CPU頁面上啟動執行相應操作。關於硬體即時作業系統的驅動程序及其狀態暫存器,CPU會決定附帶事件的細節,並且可立即執行必要的步驟,例如備份當下任務的數據和切換到新任務。經由中斷請求調度程序,並不適用於中斷來源相對冗長的調查,因為在硬體即時作業系統中,已於硬體求得程序,僅須經由相應的暫存器讀出即可。如此釋放的CPU資源可用於其餘應用程式運行,減少系統功耗。
經由軟體資料庫的透明度
在包含μItron作業系統軟體套件中,啟用完全透明的硬體即時作業系統。軟體開發人員幾乎不會注意到在使用該資料庫,其為硬體即時作業系統元件,也不需在程序設計上擔心其應用的規劃細節。即使其為僅整合Cortex-M3核心之R-IN32M3平台已可滿足從標準通訊層面應用到高度即時性能應用之需求。
(本文作者任職於瑞薩電子工業與通訊事業群)