專利名稱:植入式醫(yī)療儀器的軟件在線升級方法
技術(shù)領(lǐng)域:
本發(fā)明涉及植入式醫(yī)療儀器的軟件在線升級的方法,屬于植入式醫(yī)療儀器技術(shù)領(lǐng)域。
背景技術(shù):
植入式醫(yī)療儀器種類很多,如植入式心臟起搏器與除顫器、腦起搏器、神經(jīng)刺激器、肌肉刺激器、心電記錄器等,為防止體液滲入,一般將電路放在鈦外殼內(nèi),用激光焊接方法進行全密封。植入式醫(yī)療儀器的電路,一般以微處理器為核心,以軟件控制整個電路的測量或起搏刺激功能,以及通過雙向無線通信與體外遙測/程控系統(tǒng)交換數(shù)據(jù)。上述微處理器的軟件,在植入式醫(yī)療儀器出廠時固化在程序存儲器內(nèi),植入患者體內(nèi)后無法變更,如果需要軟件升級或者遇到存儲器個別單元失效的情況,只能手術(shù)更換整個植入式醫(yī)療儀器。
對植入式醫(yī)療儀器而言,電路硬件的架構(gòu)在國際上經(jīng)過多年的發(fā)展已經(jīng)比較成熟,目前的進展主要在于醫(yī)學(xué)的飛速發(fā)展,人們對疾病機理的認識不斷進步,新的信號處理算法和治療模式不斷出現(xiàn),推動了植入式醫(yī)療儀器的越來越快的更新?lián)Q代,而這種類型的功能更新?lián)Q代,完全可以通過軟件升級來實現(xiàn)。另外,植入式醫(yī)療儀器在使用過程中,不排除存儲器個別單元失效,導(dǎo)致軟件運行故障的可能性,美國曾經(jīng)出現(xiàn)多種型號的心臟起搏器因存儲器失效而被迫召回的情況。
植入式醫(yī)療儀器的壽命受限于電池容量,一般在5-8年,而且價格非常昂貴,手術(shù)更換不僅給患者帶來身體上的創(chuàng)傷,而且伴隨巨大的經(jīng)濟壓力。隨著電池性能的不斷進步,以及無線經(jīng)皮充電技術(shù)的快速發(fā)展,新研制出的植入式醫(yī)療儀器的壽命不斷延長,因此軟件的在線升級具有廣泛的應(yīng)用前景。在植入式醫(yī)療儀器植入患者體內(nèi)使用后,只需由醫(yī)生或?qū)I(yè)人員控制,用體外遙測/程控系統(tǒng)與植入式醫(yī)療儀器建立雙向無線通信,把新版本的軟件寫入程序存儲器,即可實現(xiàn)一些新的治療功能,從而避免了手術(shù)更換儀器帶來的麻煩,同時也大大節(jié)省了費用。
就存儲器技術(shù)而言,目前最新的非易失大容量存儲器FLASH,不僅具有讀寫速度快、結(jié)構(gòu)簡單、低功耗等特點,而且大多數(shù)都支持ISP和IAP技術(shù),為植入式醫(yī)療儀器軟件的在線升級提供了保障。
現(xiàn)有的嵌入式系統(tǒng)軟件升級方法都需要使嵌入式處理器可以主動檢測并獲取軟件更新數(shù)據(jù)(例如通過電話撥號、網(wǎng)絡(luò),或者可移動存儲器)。這對于處于全天候治療工作狀態(tài)的植入式醫(yī)療儀器來說是不可取的。同時,植入式醫(yī)療儀器對軟件的可靠性也有更高的要求。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的不足,本發(fā)明的目的是為植入式醫(yī)療儀器,提供一種安全可靠的軟件在線升級方法,從而在無需手術(shù)的情況下,賦予植入式醫(yī)療儀器更強的功能,實現(xiàn)無創(chuàng)、低成本的產(chǎn)品更新?lián)Q代。
所述的植入式醫(yī)療儀器包含體外的程控系統(tǒng)和體內(nèi)的植入式醫(yī)療儀器兩個部分。其中,所述程控系統(tǒng)由依次雙向互聯(lián)的程控器、PDA和外部存儲器組成,所述的植入式醫(yī)療儀器含有微控制器、分別與該位控制器雙向互聯(lián)的RAM存儲器、FLASH存儲器、通信接口、刺激信號產(chǎn)生電路,以及和該刺激信號雙向互聯(lián)的電極,所述程控系統(tǒng)中的程控器以無線通信方式與植入式醫(yī)療儀器中的通信接口雙向通信;本發(fā)明所述的方法依次含有以下步驟步驟1.把包括幀頭標(biāo)記、指令字等在內(nèi)的該植入式儀器的終端服務(wù)程序存儲于該可自編程的FLASH中,并且在軟件升級過程中始終保持原樣;步驟2.用戶通過該程控系統(tǒng)使用按指令幀傳送的數(shù)據(jù)交換方法依次按以下步驟控制該植入式醫(yī)療儀器的軟件升級過程,步驟2.1用戶啟動該程控系統(tǒng)中PDA的軟件升級程序,檢查所述PDA外部存儲器是否有合法的程序更新軟件,若有則提示用戶對微控制器進行復(fù)位操作;步驟2.2若有合法的更新程序,則PDA向所述MCU發(fā)送更新請求,由該MCU啟動所述植入式醫(yī)療儀器內(nèi)的終端服務(wù)程序;步驟2.3該MCU經(jīng)所述通信接口發(fā)送密碼與登錄指令,以獲得讀寫操作權(quán);步驟2.4該MCU檢查程序版本信息,確認是否需要執(zhí)行軟件升級操作,如果確認需要升級,則轉(zhuǎn)入下一步;步驟2.5該發(fā)送擦除FLASH存儲器指定段的指令,為軟件升級做準(zhǔn)備;步驟2.6若擦除結(jié)束,該MCU發(fā)送寫入該FLASH存儲器的指令,寫入要更新的程序,更新醫(yī)療功能程序入口地址,或者發(fā)送寫入FLASH存儲器的指令,修改登錄密碼,或者再把剛寫入的程序讀出,以檢驗是否正確完整;步驟2.7該MCU發(fā)送熱啟動指令使該植入式醫(yī)療儀器執(zhí)行更新后的程序;當(dāng)該植入式醫(yī)療儀器進入軟件升級的過程后,其中的微控制器依次執(zhí)行以下步驟步驟I檢查接收緩存RAM中是否受到幀頭,若以收到,則轉(zhuǎn)入下一步;步驟II檢查隨后收到的字節(jié)是否為約定的指令,所述約定的指令是指寫FLASH幀指令,或擦除FLASH幀指令,若指令正確,則轉(zhuǎn)入下一步;負責(zé),返回步驟I;步驟III檢查隨后收到的重復(fù)兩次的接收數(shù)據(jù)內(nèi)容的總長值是否一致,若一致則轉(zhuǎn)入下一步;若不同,或者未收到,則返回步驟I;步驟IV按照步驟III接收到的數(shù)據(jù)內(nèi)容總長值從通信接口讀取數(shù)據(jù)并進行CRC校驗,若正確,則執(zhí)行指令,用設(shè)定的應(yīng)答幀返回執(zhí)行結(jié)果,若不正確,則返回相應(yīng)的錯誤信息。
所述的植入式醫(yī)療儀器的軟件在線升級方法,其特征在于,該方法為備份式升級方法,即在空閑的FLASH存儲器空間寫入新版本的軟件,在校驗正確后,修改所述存儲器中的醫(yī)療功能程序入口地址,在所述微控制器復(fù)位并重新啟動后,實現(xiàn)軟件升級。
所述的植入式醫(yī)療儀器的軟件在線升級方法,其特征在于,所述的微控制器的復(fù)位操作過程是,首先把控制磁鐵置于體外靠近植入式醫(yī)療儀器的位置,同時該PDA控制所述程控器發(fā)射設(shè)定頻率的電磁波來實現(xiàn)的。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果(1)支持植入式心臟起搏器與除顫器、腦起搏器、神經(jīng)刺激器、肌肉刺激器、心電記錄器等多種植入式醫(yī)療儀器,通過無線雙向通信在線升級軟件;(2)軟件升級過程的安全性和可靠性高,使用方便,升級過程可隨時中斷,還可以從中斷處繼續(xù)進行升級;(3)將昂貴的植入式醫(yī)療儀器進行升級,增強功能,延長有效使用壽命,本發(fā)明具有極高的經(jīng)濟效益和社會效益。
圖1是支持在線軟件升級的植入式醫(yī)療儀器的內(nèi)部結(jié)構(gòu)框圖。
圖2是FLASH存儲器的空間分配示意圖。
圖3是PDA的程序流程圖。
圖4是植入儀器接收處理指令數(shù)據(jù)幀的程序流程圖。
圖5是指令數(shù)據(jù)幀和應(yīng)答幀的結(jié)構(gòu)示意圖a為指令幀,b為擦除FLASH幀,c為寫FLASH幀,d為應(yīng)答幀。
具體實施例方式
下面結(jié)合附圖對本發(fā)明的植入式醫(yī)療儀器的軟件在線升級方法的優(yōu)選實施方式做出詳細說明。
如圖1所示,植入式醫(yī)療儀器主要包括植入儀器和體外程控系統(tǒng),程控系統(tǒng)又包括程控器和掌上電腦PDA兩部分。植入儀器手術(shù)植入于病人體內(nèi),執(zhí)行預(yù)定的特定醫(yī)療功能,由配有串行通訊模塊(UART)的CPU、通信電路、RAM存儲器、FLASH存儲器和醫(yī)療功能執(zhí)行模塊等部分組成。程控系統(tǒng)由醫(yī)生及相關(guān)人員操作,運行PDA上的管理軟件,通過程控器與植入儀器建立基于電磁耦合方式的雙向無線數(shù)據(jù)通信,控制植入儀器的軟件升級與其它工作過程。其中,無線數(shù)據(jù)通信系統(tǒng)可以實現(xiàn)4cm左右通信距離、600bps以上通信速率的經(jīng)皮雙向無線通信,滿足植入式醫(yī)療儀器軟件升級的要求。
如圖2所示,植入儀器的FLASH存儲器分為多個程序存儲器和一個信息存儲區(qū)。系統(tǒng)程序存儲區(qū)存放著啟動和終端執(zhí)行程序,以及幀頭標(biāo)記、指令字符等數(shù)據(jù),這一部分在軟件升級過程中不會被改變。其他程序存儲區(qū)存放著控制植入儀器工作的程序。一般而言,植入儀器相對體外醫(yī)療儀器,實現(xiàn)的功能較簡單,程序的代碼尺寸也較小,以植入式神經(jīng)刺激器為例,一般在2k字節(jié)以內(nèi),以一個60kB的FLASH存儲器為例,可以存儲30個版本的程序。因此,為植入儀器安全起見,使用備份式升級方法,即在空閑的程序存儲器空間,寫入新版本的程序,校驗正確后,修改信息存儲器中的數(shù)據(jù)來更新程序入口地址,微處理器復(fù)位并重新啟動后,即實現(xiàn)了軟件的在線升級。
用戶通過程控系統(tǒng)(PDA和程控器)和控制磁鐵控制整個軟件升級過程,典型的PDA操作流程如圖3所示1.檢測外部存儲器中是否有合法的可更新軟件文件。
2.確認存在可用的軟件后,提示用戶進行復(fù)位操作,使得植入部分進入軟件升級操作狀態(tài);3.發(fā)送密碼與登錄指令,以獲得讀寫操作權(quán);4.檢查程序版本信息,確認是否需要執(zhí)行軟件升級操作,如果確認需要升級,則轉(zhuǎn)入下一步;5.發(fā)送擦除存儲器指令,為軟件升級做準(zhǔn)備;6.發(fā)送寫入存儲器指令,將新的軟件寫入;7.發(fā)送寫入存儲器指令,將醫(yī)療功能程序入口地址更新;8.需要時,可以發(fā)送寫入存儲器指令,修改登錄密碼;9.需要時,可以再把剛剛寫入的程序讀出,以檢驗是否正確完整;10.發(fā)送熱啟動指令,稍后系統(tǒng)將進入新的程序執(zhí)行。
在復(fù)位操作時,首先將控制磁鐵置于體外對應(yīng)植入儀器的位置,同時PDA控制程控器持續(xù)發(fā)射特定頻率的電磁波,在上述兩個條件的共同作用下,植入儀器進入復(fù)位狀態(tài),并在任何一個條件不滿足時重新啟動。植入儀器重新啟動后,單片機和外圍的電路被初始化,隨后單片機的啟動程序持續(xù)讀取串口緩沖區(qū),檢測啟動終端程序指令。如果在5秒鐘內(nèi)檢測到指令,則啟動終端執(zhí)行程序。植入儀器首先根據(jù)接收到的指令對FLASH存儲器的指定段進行擦除操作,然后逐次接收指令數(shù)據(jù)幀,先將數(shù)據(jù)存入RAM,校驗正確后寫入FLASH存儲器,直至整個程序文件寫入結(jié)束。
植入儀器的終端執(zhí)行程序負責(zé)接收和執(zhí)行指令數(shù)據(jù)幀,包括如下步驟(如圖4所示)1.檢查接收緩存中是否收到幀頭字節(jié),收到后則轉(zhuǎn)入步驟2;2.檢查隨后收到的字節(jié)是否為約定的指令,正確則進入步驟3,否則返回步驟1;3.檢查隨后收到的2字節(jié)數(shù)據(jù)總長是否相同,如果相同則準(zhǔn)入步驟4,如果兩字節(jié)數(shù)據(jù)不同,或者沒有接收到數(shù)據(jù)則轉(zhuǎn)到步驟1;4.根據(jù)接收到的數(shù)據(jù)總長從接收緩存接收一定數(shù)量的數(shù)據(jù),隨后轉(zhuǎn)入步驟5。如果沒有接收到足夠數(shù)量的數(shù)據(jù)則轉(zhuǎn)入步驟1;5.取出接收到數(shù)據(jù)的最后2字節(jié),對其它的部分進行CRC生成運算,并與取出的2字節(jié)比較,如果校驗正確則轉(zhuǎn)入步驟6,否則轉(zhuǎn)入步驟1;6.取出指令碼、操作地址、數(shù)據(jù)長等信息,執(zhí)行相關(guān)的操作;7.把操作結(jié)果或出錯信息發(fā)送到程控系統(tǒng);8.轉(zhuǎn)到步驟1,準(zhǔn)備接收并執(zhí)行下一幀指令數(shù)據(jù)。
如圖5所示,本發(fā)明的軟件升級采用按幀傳送的數(shù)據(jù)交換方法,幀分為兩類,即程控系統(tǒng)發(fā)送給植入儀器的指令數(shù)據(jù)幀(將各類指令及其數(shù)據(jù)封裝成幀,稱為“指令數(shù)據(jù)幀”),以及植入儀器返回給程控系統(tǒng)的應(yīng)答幀。通信時,體外程控系統(tǒng)首先發(fā)出指令數(shù)據(jù)幀,植入儀器收到后執(zhí)行相關(guān)操作,并把應(yīng)答幀發(fā)送回程控系統(tǒng)。在執(zhí)行擦除、寫入等重要操作之前,需要輸入密碼登錄系統(tǒng),以獲得相應(yīng)權(quán)限。
指令數(shù)據(jù)幀由7個部分組成幀頭、指令、內(nèi)容總長、操作地址、數(shù)據(jù)長、數(shù)據(jù)、校驗碼,主要包括寫FLASH幀和擦除FLASH幀,各部分的說明如下1.幀頭表明指令的類別,如對于軟件升級操作為80H;2.指令表明程控系統(tǒng)要求的操作,如寫FLASH為26H,擦除FLASH為25H;3.內(nèi)容總長是指操作地址、數(shù)據(jù)長、數(shù)據(jù)、校驗碼的總字節(jié)數(shù),用1個字節(jié)表示,通信時發(fā)送兩次以進行校驗;4.操作地址為對FLASH存儲器進行操作的起始地址;5.對于寫FLASH幀,數(shù)據(jù)長是指將要寫入FLASH的數(shù)據(jù)字節(jié)數(shù),隨后為寫入的數(shù)據(jù),長度可變,一般為16個字節(jié);對于擦除FLASH幀,因為FLASH存儲器的擦除要求按段進行(例如每段512字節(jié)),所以只需給出上述的操作地址,而無需給出數(shù)據(jù)長和數(shù)據(jù);6.校驗碼為采用CRC-16校驗方法計算。
應(yīng)答幀為植入儀器接收到體外程控系統(tǒng)的指令數(shù)據(jù)碼后,返回的應(yīng)答。其組成比較簡單,包括幀頭和執(zhí)行結(jié)果。幀頭表明指令的類別,如對于軟件升級操作為80H;執(zhí)行結(jié)果分操作成功和操作失敗兩種。
植入式醫(yī)療儀器的軟件在線升級方法,突出特點是對安全性的極高要求,解決方案如下1.植入儀器一般為鈦外殼密封,具有較好的電磁屏蔽性能,其通信和軟件在線升級要求程控器距離皮膚3-4厘米左右,外界的電磁干擾無法達到干擾通信和軟件升級的強度;2.植入儀器的軟件升級功能,在其正常工作時不能調(diào)用,只有用程控器和磁鐵共同作用,使其復(fù)位并重新啟動后的5秒時間內(nèi),使用PDA發(fā)送特定指令啟動終端執(zhí)行程序,并用PDA和程控器運行專用軟件,才能啟動軟件在線升級;3.PDA在軟件升級前時,會通過檢查電子簽名等手段來確認其版本信息真實性,同時還會檢查植入儀器用戶信息,確認該軟件對此用戶是否適用。通過終端執(zhí)行程序進行擦或?qū)懖僮鲿r,植入儀器端需要校驗32字節(jié)軟件升級密碼,全部正確后才能開始軟件在線升級;4.軟件升級的通信過程,具有完整的握手機制,請求指令和應(yīng)答信息錯誤無法建立通信;5.軟件升級的通信過程,每個指令數(shù)據(jù)幀的傳輸都進行CRC校驗,發(fā)現(xiàn)通信過程受到干擾而造成數(shù)據(jù)傳輸失敗后,可以隨時中斷軟件升級操作,植入儀器仍可正常啟動并運行終端執(zhí)行程序;6.軟件升級過程中,植入儀器接收到的新版本程序,并不覆蓋舊版本程序,而是寫在FLASH存儲器新的區(qū)域,只有全部新版本程序?qū)懭胝_后,才啟用新版本程序。
7.植入儀器內(nèi)的終端執(zhí)行程序僅負責(zé)數(shù)據(jù)收發(fā)和存儲器相關(guān)操作,其精簡的結(jié)構(gòu)和功能最大程度上保證了軟件的可靠性。軟件升級的一系列操作由PDA上的軟件控制。
上述方式只是本發(fā)明優(yōu)選的實施方式,對于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在本發(fā)明公開的植入式醫(yī)療儀器軟件在線升級方法的基礎(chǔ)上,很容易想到將其應(yīng)用于各種儀器系統(tǒng),而不僅限于本發(fā)明具體實施方式
所描述的系統(tǒng)結(jié)構(gòu),因此前面描述的方式只是優(yōu)選的,而并不具有限制性的意義。
權(quán)利要求
1.植入式醫(yī)療儀器的在線軟件升級方法,其特征在于所述的植入式醫(yī)療儀器包含體外的程控系統(tǒng)和體內(nèi)的植入式醫(yī)療儀器兩個部分。其中,所述程控系統(tǒng)由依次雙向互聯(lián)的程控器、PDA和外部存儲器組成,所述的植入式醫(yī)療儀器含有微控制器、分別與該位控制器雙向互聯(lián)的RAM存儲器、FLASH存儲器、通信接口、刺激信號產(chǎn)生電路,以及和該刺激信號雙向互聯(lián)的電極,所述程控系統(tǒng)中的程控器以無線通信方式與植入式醫(yī)療儀器中的通信接口雙向通信;本發(fā)明所述的方法依次含有以下步驟步驟1.把包括幀頭標(biāo)記、指令字等在內(nèi)的該植入式儀器的終端服務(wù)程序存儲于該可自編程的FLASH中,并且在軟件升級過程中始終保持原樣;步驟2.用戶通過該程控系統(tǒng)使用按指令幀傳送的數(shù)據(jù)交換方法依次按以下步驟控制該植入式醫(yī)療儀器的軟件升級過程,步驟2.1用戶啟動該程控系統(tǒng)中PDA的軟件升級程序,檢查所述PDA外部存儲器是否有合法的程序更新軟件,若有則提示用戶對微控制器進行復(fù)位操作;步驟2.2若有合法的更新程序,則PDA向所述MCU發(fā)送更新請求,由該MCU啟動所述植入式醫(yī)療儀器內(nèi)的終端服務(wù)程序;步驟2.3該MCU經(jīng)所述通信接口發(fā)送密碼與登錄指令,以獲得讀寫操作權(quán);步驟2.4該MCU檢查程序版本信息,確認是否需要執(zhí)行軟件升級操作,如果確認需要升級,則轉(zhuǎn)入下一步;步驟2.5該發(fā)送擦除FLASH存儲器指定段的指令,為軟件升級作準(zhǔn)備;步驟2.6若擦除結(jié)束,該MCU發(fā)送寫入該FLASH存儲器的指令,寫入要更新的程序,更新醫(yī)療功能程序入口地址,或者發(fā)送寫入FLASH存儲器的指令,修改登錄密碼,或者再把剛寫入的程序讀出,以檢驗是否正確完整;步驟2.7該MCU發(fā)送熱啟動指令使該植入式醫(yī)療儀器執(zhí)行更新后的程序;當(dāng)該植入式醫(yī)療儀器進入軟件升級的過程后,其中的微控制器依次執(zhí)行以下步驟步驟I檢查接收緩存RAM中是否受到幀頭,若以收到,則轉(zhuǎn)入下一步;步驟II檢查隨后收到的字節(jié)是否為約定的指令,所述約定的指令是指寫FLASH幀指令,或擦除FLASH幀指令,若指令正確,則轉(zhuǎn)入下一步;負責(zé),返回步驟I;步驟III檢查隨后收到的重復(fù)兩次的接收數(shù)據(jù)內(nèi)容的總長值是否一致,若一致則轉(zhuǎn)入下一步;若不同,或者未收到,則返回步驟I;步驟IV按照步驟III接收到的數(shù)據(jù)內(nèi)容總長值從通信接口讀取數(shù)據(jù)并進行CRC校驗,若正確,則執(zhí)行指令,用設(shè)定的應(yīng)答幀返回執(zhí)行結(jié)果,若不正確,則返回相應(yīng)的錯誤信息。
2.根據(jù)權(quán)利要求1所述的植入式醫(yī)療儀器的軟件在線升級方法,其特征在于,該方法為備份式升級方法,即在空閑的FLASH存儲器空間寫入新版本的軟件,在校驗正確后,修改所述存儲器中的醫(yī)療功能程序入口地址,在所述微控制器復(fù)位并重新啟動后,實現(xiàn)軟件升級。
3.根據(jù)權(quán)利要求1或2所述的植入式醫(yī)療儀器的軟件在線升級方法,其特征在于,所述的微控制器的復(fù)位操作過程是,首先把控制磁鐵置于體外靠近植入式醫(yī)療儀器的位置,同時該PDA控制所述程控器發(fā)射設(shè)定頻率的電磁波來實現(xiàn)的。
全文摘要
本發(fā)明屬于植入式醫(yī)療儀器技術(shù)領(lǐng)域,其特征在于植入儀器的可自編程的FLASH存儲器中駐留有終端執(zhí)行程序,在軟件升級時不受影響,程控系統(tǒng)(包括掌上電腦PDA和程控器)從外部存儲器獲取新版的軟件,與植入儀器建立雙向無線通信,通過指令數(shù)據(jù)幀和應(yīng)答幀交換數(shù)據(jù)信息,在空閑的FLASH存儲器空間寫入新版本的軟件,校驗正確后,更新程序入口地址,植入儀器復(fù)位并重新啟動后,完成軟件的備份式在線升級。本發(fā)明的軟件在線升級方法具有普適性,安全性和高可靠性,使用方便,可應(yīng)用于各類植入式醫(yī)療儀器。
文檔編號G06F9/445GK1818867SQ20061001155
公開日2006年8月16日 申請日期2006年3月24日 優(yōu)先權(quán)日2006年3月24日
發(fā)明者李路明, 郝紅偉, 馬伯志, 薛林, 曹洋 申請人:清華大學(xué)