安全關(guān)鍵型軟件和 SoC – 對于下一代醫(yī)療設(shè)備,直線和狹窄的路徑是什么?
嵌入式開發(fā)人員在開發(fā)醫(yī)療嵌入式設(shè)備時面臨著多個決策,從選擇最佳系統(tǒng)軟件以獲得最佳應(yīng)用性能,到了解軟件操作系統(tǒng)與目標(biāo)硬件之間的交互和限制。軟件工程師應(yīng)該使用小型微內(nèi)核、實時操作系統(tǒng) (RTOS) 還是通用操作系統(tǒng) (GPOS),如安卓或 Linux?其他考慮因素包括系統(tǒng)的物理尺寸,以滿足便攜性和功能要求,包括更快的性能、功耗、數(shù)據(jù)保護和顯示(用戶界面)技術(shù)。影響嵌入式軟件選擇的FDA認證和行業(yè)標(biāo)準(zhǔn)也參與其中。
現(xiàn)代醫(yī)療設(shè)備正在以創(chuàng)紀(jì)錄的速度發(fā)展。從供患者在家中使用的便攜式無線設(shè)備到醫(yī)療專業(yè)人員在設(shè)施中使用的更大更復(fù)雜的設(shè)備,毫無疑問,我們處于開發(fā)新方法以增強患者和醫(yī)療專業(yè)人員能力的最前沿。我們?nèi)绾未_??刂七@些設(shè)備的系統(tǒng)軟件完全按計劃運行,幾乎沒有傷害患者的風(fēng)險?
問題的核心:操作系統(tǒng)
通常,操作系統(tǒng) (OS) 管理醫(yī)療嵌入式設(shè)備。操作系統(tǒng)可以從一些有進取心的軟件程序員內(nèi)部構(gòu)建的簡單“滾動自己的”到來自已建立的供應(yīng)商的更復(fù)雜的操作系統(tǒng)。GPOS(如 Linux 或 Android)為應(yīng)用程序開發(fā)建立了一個功能豐富的平臺,但有時消耗的內(nèi)存比必要的要多。RTOS也是現(xiàn)代醫(yī)療設(shè)備的不錯選擇,特別是當(dāng)特定的系統(tǒng)要求需要確定性的搶占式內(nèi)核和較小的內(nèi)存占用量時。在混合中的某個地方,您的應(yīng)用程序和硬件有一個理想的候選者。有一件事是肯定的:在選擇操作系統(tǒng)之前,請確切地知道應(yīng)用程序的意圖和您計劃使用的硬件。
設(shè)備將如何使用?
在開發(fā)嵌入式系統(tǒng)時,將風(fēng)險降至最低的一種方法是首先考慮其用例 - 不僅要考慮最終用戶將如何與它交互,還要考慮如何設(shè)計,開發(fā)和測試它。該設(shè)備將主要由醫(yī)療保健提供者使用,由家中的患者使用,還是兩者兼而有之?
設(shè)備是否具有通信模式或純粹是獨立的?根據(jù)其通信需求,您可能會發(fā)現(xiàn)首選操作系統(tǒng)包含許多您需要的模式,或者您可能更喜歡其他操作系統(tǒng),在這種情況下,您必須通過通信堆棧和/或驅(qū)動程序進行移植才能獲得正確的通信軟件組合。
是否確定了任何實時需求?對于某些設(shè)備,不需要實時行為。如果延遲 100 毫秒處理中斷,則結(jié)果可能會延遲 100 毫秒,但這不會導(dǎo)致失敗。但是,如果它是參與眼科手術(shù)的激光,如果激光不能在精確的時間打開和關(guān)閉,這可能會產(chǎn)生災(zāi)難性的影響。如果激光具有眼動追蹤引導(dǎo),則即使在存在眼球運動的情況下,激光也必須以預(yù)定義的模式同步移動。
也許該設(shè)備是關(guān)鍵設(shè)備,因此對成本的敏感性最小。相反,手持式且銷售量達到數(shù)百萬的設(shè)備對成本具有很高的敏感性。這些類型的考慮因素將直接影響最小化 BOM 的需求,這反過來又可能導(dǎo)致最小化內(nèi)存,從而最大限度地減少有效構(gòu)建完整應(yīng)用程序所需的內(nèi)存。
一切都與硬件有關(guān)
定義用例后,就該找到合適的硬件了。醫(yī)療系統(tǒng)可以非常小,8位微控制器的時鐘頻率低于25 MHz,并且僅使用8K的內(nèi)存。更復(fù)雜的設(shè)計可以包括功能豐富的SoC,時鐘頻率為數(shù)百MHz和兆字節(jié)的內(nèi)存。系統(tǒng)范圍包括具有專用處理器或DSP的混合系統(tǒng),以及包含眾多多核芯片的系統(tǒng)。
最適合您的設(shè)計的因素來自用例和對您希望系統(tǒng)如何表現(xiàn)的期望。
多核是必要的嗎?
對于選擇多核的兩個主要原因 - 純處理性能和低功耗管理 - 第三個原因可以添加,即兩者的結(jié)合。
如果您擔(dān)心低功耗,您可能希望使用多核SoC,因為它可以在較低的時鐘頻率下利用所有可用內(nèi)核,而不是以更高的頻率為主處理器計時。當(dāng)不需要時,它可以關(guān)閉額外的內(nèi)核以節(jié)省功率。
雖然功耗和性能都是使用多核的好理由,但問題更多的是關(guān)于找到分配CPU的最佳方式。使用對稱硬件,您可以在所有可用內(nèi)核上使用單個操作系統(tǒng)作為對稱多核處理 (SMP) 的一種類型。大多數(shù) GPOS 和某些 RTOS 都具有此功能。然而,使用SMP可能會使跨內(nèi)核的調(diào)度復(fù)雜化,因為由于一個內(nèi)核中的緩存未命中而導(dǎo)致的實時命中可能導(dǎo)致另一個內(nèi)核中的緩存刷新,這總是導(dǎo)致系統(tǒng)中的延遲。自旋鎖等功能是所有支持 SMP 的操作系統(tǒng)所共有的。如果使用不當(dāng),自旋鎖可能會損害系統(tǒng)性能,因為一個內(nèi)核會停滯一段時間,等待另一個內(nèi)核上的資源被釋放。
構(gòu)建系統(tǒng)的另一種方法(即使使用對稱硬件)是應(yīng)用非對稱多核處理(AMP)技術(shù)。這種方法涉及兩個或多個獨立的操作系統(tǒng),使用硬件(如一系列 FIFO)或通過共享內(nèi)存通過某種類型的通信通道進行交互。有一個標(biāo)準(zhǔn)使應(yīng)用程序開發(fā)通過多核關(guān)聯(lián)(稱為多核通信 API (MCAPI))進行可移植。
當(dāng)硬件和軟件世界發(fā)生碰撞時
考慮這樣一種情況:與 Windows 主機具有 USB 連接的醫(yī)療設(shè)備通常遵循 USB 規(guī)范,但是當(dāng) SoC 的所有部分被激活時,硬件間歇性地開始發(fā)出規(guī)范之外的信號,使得主機在會話過程中關(guān)閉端口,從而在最不合時宜的時間(在患者數(shù)據(jù)收集期間)導(dǎo)致故障。由于結(jié)果丟失,患者提前24小時為原始程序做了特殊準(zhǔn)備,必須準(zhǔn)備重新測試。
造成港口關(guān)閉的根本原因有兩個。首先,軟件假設(shè)USB控制器不會出現(xiàn)故障。其次,系統(tǒng)架構(gòu)沒有為在會話過程中拔下設(shè)備的情況進行規(guī)劃。如果系統(tǒng)考慮了這些用例中的任何一個,系統(tǒng)就會在本地存儲數(shù)據(jù),從而允許在重新建立會話后進行傳輸,從而最大限度地降低患者可能重新測試的風(fēng)險。
該應(yīng)用程序依靠USB控制器的完美操作來防止數(shù)據(jù)丟失。如果應(yīng)用程序已分解為多個部分,則可能會避免數(shù)據(jù)丟失。在數(shù)據(jù)收集和數(shù)據(jù)傳輸不相互關(guān)聯(lián)的架構(gòu)中,即使鏈路斷開,數(shù)據(jù)仍存儲在設(shè)備中,因此當(dāng)它恢復(fù)時,它可以從中斷的地方繼續(xù),而不會丟失任何數(shù)據(jù)。在傳輸?shù)街鳈C之前,在后臺對緩沖區(qū)進行寫入是避免在這種情況下丟失數(shù)據(jù)的一種方法。
如果使用軟件變通辦法來檢測 USB 總線掛起,則該變通辦法可以將 SoC 引腳從 USB 模式中取出,并使其成為 GPIO 引腳,以便主機可以檢測到重置條件并強制重新枚舉設(shè)備。然后,USB 軟件將重新提交緩沖區(qū),并且傳輸將恢復(fù)。最終結(jié)果是數(shù)據(jù)不會丟失,只是在解決方法發(fā)生時延遲。
可移植性注意事項
操作系統(tǒng)管理系統(tǒng)的硬件和軟件資源。最基本的管理是記憶和時間。但是,操作系統(tǒng)的責(zé)任在哪里停止,應(yīng)用程序的責(zé)任從哪里開始呢?雖然應(yīng)用程序可以內(nèi)置設(shè)備驅(qū)動程序并直接與硬件通信,但隨著設(shè)備的發(fā)展和使用更新的硬件,移植到新硬件成為一項挑戰(zhàn)。因此,建議系統(tǒng)中的大多數(shù)(如果不是全部)設(shè)備由操作系統(tǒng)管理,以確保將來的可移植性。
法規(guī)和患者隱私
對便攜性的需求包括用于連接的 GSM 無線電或 802.11 無線接口等無線設(shè)備。其他包括藍牙和ZigBee,這些鏈接也必須是安全的,并提供患者隱私。即使在設(shè)備本身中,也必須只有有權(quán)看病人的醫(yī)生才能真正看到病人的數(shù)據(jù)。禁止未經(jīng)授權(quán)的訪問也是任何設(shè)備的關(guān)鍵要求。記錄是否安全,即使對于在設(shè)備上工作的技術(shù)人員也是如此?是否有任何模式使此數(shù)據(jù)不安全?真正的健康保險流通與責(zé)任法案 (HIPPA) 合規(guī)性是確保信息安全至關(guān)重要。患者記錄數(shù)據(jù)庫內(nèi)部的安全性也是如此。
結(jié)論
醫(yī)療設(shè)備是一種特殊的品種,它將以某種方式觸及我們所有人。在設(shè)計這些系統(tǒng)時,我們需要格外小心,以確保設(shè)備能夠?qū)崿F(xiàn)其預(yù)期功能。使用 RTOS 或 GPOS 來滿足確定性、大小、啟動時間、功耗優(yōu)化和可用中間件的廣度要求是否有意義?最后,為了最大限度地降低風(fēng)險,我們需要確保遵守HIPA和FDA的所有法規(guī)。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5086文章
19143瀏覽量
306087 -
soc
+關(guān)注
關(guān)注
38文章
4177瀏覽量
218476 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6847瀏覽量
123424
發(fā)布評論請先 登錄
相關(guān)推薦
評論