在嵌入式系統(tǒng)開發(fā)和應(yīng)用過程中,差異化也許是有趣的事。每臺(tái)設(shè)備都有獨(dú)特的硬件和軟件架構(gòu)及其自身的獨(dú)特功能。因此,要設(shè)計(jì)出可滿足如此廣泛要求的軟件開發(fā)工具和操作系統(tǒng)就成為一個(gè)艱巨挑戰(zhàn)。在嚴(yán)峻的經(jīng)濟(jì)條件下,對開發(fā)商來說,若因外包使其核心競爭力受損則絕非明智之舉。但作為開發(fā)者畢竟更愿意外包那些可以從商業(yè)渠道獲得的不具差異化特征的組件 .
嵌入式設(shè)備市場存在可廣泛涵蓋的某些共同特性。醫(yī)療設(shè)備和儀器就是其中越來越重要的一個(gè)領(lǐng)域。在現(xiàn)代化的醫(yī)療機(jī)構(gòu)內(nèi),電子技術(shù)應(yīng)用的范圍之廣、數(shù)量之多是“觸目驚心”的。醫(yī)療設(shè)備和系統(tǒng)的范圍從龐大的要占用一整間房的核磁共振成像掃描儀到便攜式和手持儀器、再到如心臟起搏器等植入式設(shè)備,應(yīng)有盡有。上述每種產(chǎn)品都是嵌入式系統(tǒng)。
當(dāng)設(shè)計(jì)醫(yī)療設(shè)備系統(tǒng)時(shí),軟件開發(fā)人員必須牢記如下四個(gè)主要方面:1)安全。無論設(shè)計(jì)還要遵從哪些其它標(biāo)準(zhǔn),安全都是其中重要的,不可以犧牲安全為代價(jià)。2)性能。大多數(shù)嵌入式系統(tǒng)都有若干性能標(biāo)準(zhǔn),但對許多醫(yī)療設(shè)備來說,其性能可是性命攸關(guān)的。3)經(jīng)濟(jì)性。現(xiàn)在全球醫(yī)療康護(hù)成本都在不斷上升,控制醫(yī)療設(shè)備開發(fā)成本是實(shí)現(xiàn)負(fù)擔(dān)得起的醫(yī)療保健的關(guān)鍵之一。4)功能。設(shè)計(jì)任何設(shè)備的意義都在于能為用戶提供若干具體功能和用處。本文將重點(diǎn)探討嵌入式軟件、特別是實(shí)時(shí)操作系統(tǒng)的選擇和實(shí)施是如何影響上述四個(gè)方面的。
安全
當(dāng)病人到醫(yī)院就診時(shí),他或她所期待的是病患的緩解或治愈而不是受到傷害。時(shí)刻牢記病人的安全是醫(yī)療機(jī)構(gòu)應(yīng)盡的職責(zé)和義務(wù)。這就強(qiáng)制了醫(yī)療儀器和系統(tǒng)要遵從一套明確的安全標(biāo)準(zhǔn)。但對嵌入式軟件又有哪些要求?
用法。操控醫(yī)療設(shè)備出錯(cuò)的代價(jià)比操控任何其它設(shè)備出錯(cuò)的代價(jià)都高。有不同制造商制造的、工作于不同方式的、許多種不同醫(yī)療設(shè)備在使用中。這些設(shè)備在高壓力環(huán)境下使用,常常是由超負(fù)荷且疲憊的醫(yī)護(hù)人員操作的。很難想象一位整天連軸轉(zhuǎn)的醫(yī)生會(huì)認(rèn)真研讀每臺(tái)要使用設(shè)備的操作手冊。
所以,所有“智能”醫(yī)療設(shè)備都要有直觀的用戶界面(UI)就變得至關(guān)重要。越來越多的用戶界面是由帶巧妙編排的菜單和多媒體功能的高分辨率圖形顯示器實(shí)現(xiàn)的。開發(fā)高品質(zhì)用戶界面軟件并非易事。用戶界面開發(fā)包必須帶可用的商業(yè)操作系統(tǒng),以便能以具成本效益的方式為復(fù)雜的醫(yī)療設(shè)備構(gòu)建具有卓異特性的用戶界面。
可靠性。醫(yī)療儀器的硬件設(shè)計(jì)人員會(huì)選用高可靠性器部件。同樣,構(gòu)建可靠的軟件也應(yīng)使用經(jīng)過現(xiàn)場驗(yàn)證、諸如已商品化且應(yīng)用廣泛并滿足手頭工作要求的操作系統(tǒng)(OS)等組件(如,用實(shí)時(shí)操作系統(tǒng)而不是臺(tái)式機(jī)操作系統(tǒng)的衍生版本)。 一臺(tái)要經(jīng)常關(guān)電重啟以“復(fù)位重置”的醫(yī)療設(shè)備是不可接受的。在彈出的對話框內(nèi)給出一個(gè)莫名其妙的出錯(cuò)報(bào)告并非一種可接受的方法,應(yīng)不在設(shè)計(jì)考慮之內(nèi)。
驗(yàn)證。在大多數(shù)國家,監(jiān)管機(jī)構(gòu)測試并認(rèn)證醫(yī)療設(shè)備是否滿足特定標(biāo)準(zhǔn)。軟件認(rèn)證是一個(gè)復(fù)雜且昂貴的過程,通常在系統(tǒng)級實(shí)施。因此,購買一款“經(jīng)過核證的實(shí)時(shí)操作系統(tǒng)(RTOS)”是不可能的,因?yàn)镽TOS只是一個(gè)完整應(yīng)用中的一個(gè)組成部分。
但根據(jù)所選的RTOS,有三個(gè)因素可提升獲得認(rèn)證的幾率。首先是選用一款具有良好設(shè)備認(rèn)證記錄的實(shí)時(shí)操作系統(tǒng);其次是RTOS的大小。軟件的認(rèn)證費(fèi)用與所含的代碼大小成正比。一個(gè)具有高度可擴(kuò)展性且代碼少的操作系統(tǒng)顯然有利于降低成本。第三,提供源代碼的操作系統(tǒng)將簡化認(rèn)證過程中的修改操作,并支持對在終設(shè)計(jì)中到底包含哪些代碼具有終控制權(quán)。
性能
對許多類型的系統(tǒng)(如臺(tái)式電腦)來說,通過簡單地提升CPU性能、加大內(nèi)存容量就可提升系統(tǒng)性能。但對許多嵌入式系統(tǒng)、特別是絕大多數(shù)醫(yī)療設(shè)備來說,這種做法卻行不通。相反,必須要以性能和功能恰到好處的CPU以及少量的內(nèi)存來實(shí)現(xiàn)既定目標(biāo)。上述要求是通過高效運(yùn)行構(gòu)建在“快速”操作系統(tǒng)基礎(chǔ)之上的軟件實(shí)現(xiàn)的。
大多數(shù)醫(yī)療系統(tǒng)是“實(shí)時(shí)運(yùn)行”的。但這并不一定意味著它們工作的速度快,而是說它們必須要在特定時(shí)間內(nèi)做出響應(yīng),其特點(diǎn)是可預(yù)測性或確定性。對事件的反應(yīng)必須“準(zhǔn)時(shí)”——不早也不晚。實(shí)現(xiàn)可預(yù)測性的步是使用確定性或真正的實(shí)時(shí)操作系統(tǒng)。
經(jīng)濟(jì)性
醫(yī)療設(shè)備和系統(tǒng)市場的競爭非常激烈,大限度地降低成本至關(guān)重要。需考慮的一些成本構(gòu)成包括:
開發(fā)成本。醫(yī)療設(shè)備的研發(fā)過程受多種因素的影響。產(chǎn)品上市進(jìn)度也許是重要的因素。軟件設(shè)計(jì)、開發(fā)和認(rèn)證必須要在非常緊迫的期限內(nèi)完成。重復(fù)使用經(jīng)過驗(yàn)證的軟件(如實(shí)時(shí)操作系統(tǒng))可以加速這一進(jìn)程。自己開發(fā)一款RTOS代價(jià)高昂,且需要長期的支持擔(dān)當(dāng)。使用商業(yè)操作系統(tǒng)使?jié)M足各種標(biāo)準(zhǔn)變得容易,且還能簡化認(rèn)證過程、減少認(rèn)證費(fèi)用。了解所選用的代碼業(yè)已在先前的應(yīng)用中得到成功認(rèn)證,對降低開發(fā)成本很關(guān)鍵。硬件/軟件集成階段往往是費(fèi)心費(fèi)力費(fèi)時(shí)的,在時(shí)間段上,它一般處在終產(chǎn)品發(fā)布日和新的可用原型硬件提供日之間。
制造成本。在更小內(nèi)存上運(yùn)行的高效軟件加之選用非高端的CPU可降低器件成本、減少所需的元器件數(shù)。一個(gè)商用實(shí)時(shí)操作系統(tǒng)在這方面有幫助,且如果其商業(yè)模式是靈活的,它就不會(huì)對成本產(chǎn)生負(fù)面影響。
功能
提供特定的設(shè)備功能是應(yīng)用軟件的根本職責(zé)。但是,在有些情況,實(shí)現(xiàn)所需的功能會(huì)特別費(fèi)時(shí)費(fèi)力。
設(shè)備支持。在嵌入式軟件開發(fā)中,設(shè)備支持是個(gè)大挑戰(zhàn),其后續(xù)工作與硬件有更多牽連。此外,能使硬件部件特點(diǎn)相得益彰的軟件編程技巧也至關(guān)重要。目前大多數(shù)電子產(chǎn)品設(shè)計(jì)依賴于商用標(biāo)準(zhǔn)外圍器件。對大多數(shù)商業(yè)操作系統(tǒng)來說,這些設(shè)備的驅(qū)動(dòng)軟件是現(xiàn)成的。使用以前已被應(yīng)用過多次的代碼會(huì)使硬件/軟件集成工作簡單得多。
便攜性。越來越多的醫(yī)療設(shè)備要求便攜性。雖然便攜性始于對硬件的要求,但它對軟件產(chǎn)生重大影響。關(guān)鍵問題是降低功耗、以大限度地延長電池壽命。軟件可在以下方面對便攜性有所助益:
1)減小內(nèi)存容量。盡量減少軟件的內(nèi)存占用將減少所需內(nèi)存量,從而降低功耗。一款商用操作系統(tǒng)很可能是緊湊的且具有高效擴(kuò)展能力,這樣就可能僅對 用到的代碼實(shí)施配置。下圖2演示了一款假設(shè)的具有271個(gè)服務(wù)調(diào)用的操作系統(tǒng)以及一個(gè)僅使用其中三個(gè)調(diào)用的應(yīng)用示例。
2)高效利用CPU。高效軟件可以較低的時(shí)鐘頻率令人滿意地運(yùn)行于CPU之上,時(shí)鐘頻率對功耗有巨大影響。高效軟件甚至可工作于較低端的CPU、且仍能實(shí)現(xiàn)預(yù)期性能。一種高效實(shí)時(shí)操作系統(tǒng)可確保在正確的時(shí)間運(yùn)行正確的代碼且不會(huì)引致任何不菲的開銷。
3)電源管理。若所選的CPU(或硬件設(shè)計(jì))支持主動(dòng)電源管理,那么操作系統(tǒng)就可以控制這一能力。電源管理支持僅對CPU內(nèi)正在工作的部分供電,或根據(jù)CPU的使用情況動(dòng)態(tài)調(diào)整時(shí)鐘頻率。
連接性。越來越多的醫(yī)療儀器和系統(tǒng)正被相互連接起來。有多種連接技術(shù)可供選配,尤其是以下兩種技術(shù),既有效用又具挑戰(zhàn)性。
1)USB是當(dāng)今連接電腦與外設(shè)的通用協(xié)議。處理USB協(xié)議的軟件非常復(fù)雜。驅(qū)動(dòng)不同類型的設(shè)備需要類驅(qū)動(dòng)器。由于USB設(shè)備既可以是控制器;也可能是外設(shè);而這兩種“身份”又需要不同的協(xié)議棧,從而使問題進(jìn)一步復(fù)雜。對醫(yī)療設(shè)備來說,既可作為主機(jī)又可作為功能外設(shè)的情況都是可能的。當(dāng)從可用的USB堆棧中選用一款USB實(shí)現(xiàn)時(shí),千萬記得要選用“經(jīng)過認(rèn)證的USB”實(shí)現(xiàn)方案。
2)無線網(wǎng)絡(luò)有各種形態(tài),從諸如藍(lán)牙和ZigBee這類的點(diǎn)對點(diǎn)連接,到WiFi這類的對等網(wǎng)絡(luò)。采用無線方式進(jìn)行通信的醫(yī)療設(shè)備所帶來的好處遠(yuǎn)非僅僅是便利性。對醫(yī)院來說,去掉了成捆的線纜對整潔環(huán)境有好處,還利于規(guī)避事故,這在全球范圍內(nèi)都是真切的關(guān)注所在。但無線網(wǎng)絡(luò)不能以犧牲安全和保障為代價(jià)。為確保安全,以能防范竊聽的方式發(fā)送病人數(shù)據(jù)就變得至關(guān)重要。目前已有包括802.11i協(xié)議在內(nèi)的各種加密方式。一些商業(yè)實(shí)時(shí)操作系統(tǒng)供應(yīng)商提供完整的預(yù)集成WiFi方案。
本文小結(jié)
與大多數(shù)嵌入式應(yīng)用一樣,醫(yī)療電子設(shè)備的開發(fā)需要從技術(shù)和商業(yè)角度考慮一系列問題。包括采用合適的技術(shù)、通過認(rèn)證、將合適產(chǎn)品以合適價(jià)格及時(shí)推向市場等一系列工作。復(fù)用現(xiàn)有成熟技術(shù)不過是種常識(shí),而從實(shí)時(shí)操作系統(tǒng)起步則是明智之舉。