Skip to main content

醫療物聯網利用 Windows 10 即時擴充功能

物聯網把隔離的嵌入式系統變成連線的互動式裝置,而這種裝置為了在執行應用程式控制功能時合理排除未知數,對即時效能的要求越來越高。
雖然 Windows 10 的原生功能並不支援即時作業,但是第三方擴充功能可以為開發人員提供相關解決方案,協助他們善用 Windows 10 的功能同時滿足其應用程式的即時需求。

當然,擁有豐富功能的 Windows 作業系統 (OS) 為開發人員和設計師提供各式各樣開發工具、網路堆疊和觸控式圖形介面,協助他們創造需要人機互動的連線設計。
此外,隨著物聯網 (IoT) 裝置越來越受到歡迎,新一代 Windows 10 IoT Core 平台已準備好,可以補足 Windows CE 和 Windows Embedded 軟體版本的之間的鴻溝。

不過,為了避免 Windows 之前的版本發生連貫性的問題,Microsoft 選擇 Windows 10 不納入即時功能。
這是非常重大的缺點,尤其是對於醫療物聯網系統的設計師而言,因為他們需要即時效能才能確保快速、確定性的反應時間。

所以我們需要一套即時軟體擴充功能,讓運行 Windows 10 的裝置可以做出確定性的反應,但是在深入探討可用的解決方案之前,我們先來瞭解 Windows 10 IoT Core 架構的背景資訊。

功能豐富的 Windows 10 適合物聯網

Windows 10 平台實際上是一系列可延展的作業系統產品,其中包含 Windows 10 IoT Core,這是一個專為資源有限的連線裝置設計的小型套裝軟體。
Windows 10 IoT Core(以及 Windows 10 系列的其餘成員)搭配作業系統本身,可提供橫跨多個硬體平台(包括 32 和 64 位元的運算架構)運作的服務和 API 給開發人員。

為了協助週邊裝置、感測器和其他物聯網裝置連接到比如 Microsoft Azure 這類雲端服務,Windows 10 IoT Core 支援 Bluetooth、Wi-Fi、Wi-Fi Direct 以及 AllJoyn 標準(目前以 IoTivity 的名稱繼續運作)。
因為我們使用多個通訊協定和作業系統平台,所以這樣的支援是達成互通性的重要因素。
作業系統也提供安全功能,例如安全開機和 BitLocker 磁碟加密,保護連線裝置不受網路威脅與惡意攻擊之傷害。

Windows IoT Core 作業系統的重要性很可能會超越 Windows CE。
雖然 Windows CE 提供即時處理,但是它因為與標準 Windows 的關係沒有連貫性所以總是面臨各種難題(例如,因為使用者互動和開發工具是 Windows CE 平台專用的)。
Microsoft 推出 Windows 10,確保這個新平台不會再次受缺少連貫性和延展性的問題所困,但是在過程中它也剝奪了 Windows 10 的即時功能。 對於醫學系統一類的應用程式,因為分秒必爭且確定性至關緊要,所以開發人員需要一種解決方案。

Windows 10 IoT Core 具備即時功能

嵌入式應用的開發人員要如何把基線 Windows 10 轉變成即時作業系統 (RTOS)?請使用 IntervalZero 及其 RTX64,這是讓 Windows 10 IoT Core 具備即時處理能力的附加元件。

RTX6 是獨立運作的即時子系統 (RTSS),完全獨立於 Windows 核心之外而且略過 Windows 排程器來加速達成確定性和硬即時的反應(圖 1)。 Windows 程式因此可以透過 RTX64 軟體提供的即時 API 在兩個層級上(即核心層級和使用者層級)與即時的部份互動。

圖 1. 為了達成確定性和即時的反應,RTX64 在其本身的硬體抽象層 (HAL) 中執行,獨立在 Windows 核心之外,讓開發人員仍然可以利用 Windows 多樣化的使用者介面。
(資料來源:IntervalZero)

RTX64 既不是隔離 Windows 也不是修改 Windows 基礎架構,因為 RTX64 內的硬體抽象層 (HAL) 與 Windows HAL 截然不同(雖然兩種 HAL 並行運作)。
那樣會創造單一的軟體環境,既可流暢地操作 Windows 多樣化的使用者介面,還可以使用 RTX64 軟體即時程序。

RTX64 的 HAL 可以從 1 個處理器核心延展至 63 個,同時在低至 1 µs 的時間內交付確定性的效能。
存在 RTX64 的 RTSS 內部的高速排程器採用預先行動和以優先順序為導向的演算法,以對稱多處理 (SMP) 將多達 997 個獨立程序與無限個執行緒分配到核心。 如此即可免去 Windows 與即時執行緒之間的互動(或干擾),也不需要虛擬化或其他程序間的通訊方法。 它也確保 RTX 型應用程式可以不受 Windows 系統故障之影響。

RTX64 可以存取 128 GB 的非分頁記憶體,讓它更加適合醫學應用,因為它可以用於核磁共振成像 (MRI), 這是需要針對器官影像進行精確的造影成像和處理的技術。

快速、低成本的開發必須有硬體支援

由於 Windows 環境缺乏確定性,嵌入式技術開發人員通常必須分別使用兩種處理平台:一個用於一般資料處理應用程式,例如 HMI 和網路通訊,而另一個則運行 RTOS 來執行控制功能。 這樣的架構成本高而且平台之間發生的問題會影響設計。

但是只要使用正確的支援硬體,即可避免這種雙平台的做法。 例如,Intel Atom® 處理器 E6xx 系列使用的 Intel® 超執行緒技術 (HT) 可以同時執行兩個執行緒:一個用於 Window 10 IoT Core,而另一個用於 RTX64。 從作業系統的角度來看,這項技術可以讓執行緒像是兩個不同的核心般運行。 這樣做可以簡化系統設計、降低整體成本、縮減機板尺寸以及讓軟體開發更順利。 Intel Atom 處理器可以讓即時應用程式達成 DSP 等級的效能,保持浮點數精確度。

價值鏈體系的力量

Microsoft 推出 Windows 10 及其 Windows 10 IoT Core,大幅改良了 Windows 系統。 但是沒有完美的作業系統;而 IntervalZero 及其 RTX64 則展現了價值鏈體系的力量。 如今我們可以採用低功耗 Intel Atom 處理器和 Microsfot Windows 10 IoT Core 軟體打造即時應用程式。 一套硬體結合單一作業環境再搭配 RTOS 擴充功能,有助於物聯網應用程式簡化設計、降低成本和縮短上市時程。