植入式医疗设备的软件升级方法

文档序号:6424058阅读:147来源:国知局
专利名称:植入式医疗设备的软件升级方法
技术领域
本发明涉及医疗器械领域,更具体地说,涉及植入式医疗设备的软件升级方法。
背景技术
植入式医疗设备用于一些特殊病症的辅助性治疗已经越来越得到广泛的应用,植入式医疗设备包括两部分体外控制设备和体内设备,体内设备例如包括有植入式神经刺激器(如胃电刺激器、脑深部刺激器、脊髓刺激器等)、心脏起搏器、植入式药物泵、植入式除颤器等等。为了达到全天候监控的目的,需要对植入体内的刺激器进行控制,实施无线遥控。对于体内设备而言,一旦植入人体内,体内设备内的硬件电路及固化在程序存储器内的控制软件就无法进行变更和更新,只能通过手术更换。硬件电路由于比较成熟,更改的可能性很小或者短期内不会更改。为了适应医学的飞速发展,以及人们对疾病机理的认识不断进步,新的治疗模式和信号处理方法不断出现,控制软件的升级成为必然。另外,随着电池技术的不断进步以及充电技术的应用,体内设备的寿命越来越长,使得控制软件的升级有着更为广阔的前景。现有体内设备的在线软件升级一般都是使用体外控制设备将软件程序数据发送至体内设备来进行的,通过驻留在体内设备内的终端执行程序(软件升级时不变化)来更新软件的控制功能模块。但是现有的软件更新方法的安全性和可靠性较低,无法满足体内设备对安全性和可靠性的需求。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述无法更新全部软件以及安全性和可靠性较低的缺陷,提供植入式医疗设备的软件升级方法。本发明解决其技术问题所采用的技术方案是构造一种植入式医疗设备的软件升级方法,用于体外控制设备为体内设备进行软件升级,包括步骤
51、体外控制设备获取升级版本的软件程序数据,并向体内设备发送软件升级请求指令,所述软件升级请求指令附加有其对应的CRC校验值,且包括对应的体内设备的标识;
52、体外控制设备检测是否接收到所述体内设备返回的准备完毕响应,并依据检测结果向体内设备发送所述升级版本的软件程序数据;
53、体外控制设备检测所述软件程序数据是否接收成功,若是,则进入步骤S4;若否, 则重新发送所述软件程序数据;
54、体外控制设备检测所述软件程序数据是否发送完毕,并依据检测结果发送包含有所述软件程序数据的CRC校验值的结束指令。在本发明所述的软件升级方法中,步骤S2具体包括
S21、体外控制设备检测是否接收到体内设备返回的准备完毕响应,若接收到所述准备完毕响应,则判断体内设备的软件的当前版本是否需要升级,若需要升级,则进入步骤S22 ; 若未接收到所述准备完毕响应,则进入步骤S23 ;522、体外控制设备依据升级版本的软件程序数据的长度将其划分为多个数据段,每一数据段附加有其对应的CRC校验值,依次发送附加有CRC校验值的所述多个数据段;
523、体外控制设备判断是否超过第一预设重发次数,若否,则返回步骤Sl重新发送所述软件升级请求指令。在本发明所述的软件升级方法中,在步骤Sl之前还包括
SO、设置磁铁于体内设备对应的体外位置,所述磁铁用于吸合位于体内设备内的干簧管,并至少持续预设时间。在本发明所述的软件升级方法中,步骤S3中,重新发送所述软件程序数据具体包括体外控制设备判断是否超过第二预设重发次数,若否,则重新发送所述软件程序数据。在本发明所述的软件升级方法中,步骤S4具体包括
541、体外控制设备检测所述多个数据段是否发送完毕,若是,则进入步骤S42;若否, 则继续发送其余的数据段;
542、体外控制设备发送包含有所述软件程序数据的CRC校验值的结束指令; 在本发明所述的软件升级方法中,还包括步骤
55、体外控制设备检测所述结束指令是否接收成功,若否,则进入步骤S6;
56、体外控制设备判断是否超过第三预设重发次数,若否,则重新发送所述结束指令。本发明还构造一种植入式医疗设备的软件升级方法,用于体内设备通过体外控制设备来进行升级,包括步骤
A、体内设备检测是否接收到体外控制设备所发送的软件升级请求指令,并在接收到所述软件升级请求指令时,核对所述软件升级请求指令的CRC校验值以及对应的体内设备的标识是否正确,若正确,则进入步骤B ;
B、体内设备擦除用于存放升级版本的软件程序数据的第一存储区,并发送准备完毕响应至体外控制设备;其中,与所述升级版本的软件程序数据对应的旧版本的软件程序数据存放在第三存储区中;
C、体内设备接收来自体外控制设备发送的所述升级版本的软件程序数据,并在校验正确后将其写入所述第一存储区并发送数据接收成功信息至体外控制设备,在校验错误后发送数据接收失败信息至体外控制设备;
D、体内设备接收来自体外控制设备发送的结束指令,所述结束指令包含有所述升级版本的软件程序数据的CRC校验值;计算存储在所述第一存储区的软件程序数据的CRC校验值,并与所述结束指令中的CRC校验值进行比较,在校验正确后将所述软件程序数据中的函数地址向量写入第二存储区,并发送结束指令接收成功信息至体外控制设备。在本发明所述的软件升级方法中,还包括步骤
E、体内设备升级成功后,复位所述体内设备,并运行所述升级版本的软件程序数据;
F、若体内设备升级失败,则返回步骤A。在本发明所述的软件升级方法中,所述函数地址向量包括更新主函数和中断函数入口地址。在本发明所述的软件升级方法中,步骤A之前还包括
A01、体内设备检测设置在其内部的干簧管是否闭合,体内设备对应的体外位置放置有磁铁,并持续预设时间,若是,则测量所述干簧管闭合的时间是否超过预设时间;若超过预设时间,则设置软件升级标记,进入步骤A。本发明的有益效果是,首先,通过增加CRC校验确保升级的软件程序数据无误,保证了植入式医疗设备的体内设备升级的安全性和可靠性。本发明的技术方案应用广泛,能够适用于任何植入式医疗设备的软件升级。其次,通过在软件程序数据发送失败时重复发送软件程序数据,保证了软件升级的可靠性,使得体内设备的用户有时间调整体外控制设备,不会导致软件升级到中途而中断。再者,通过更新包括主程序和中断入口地址的所有软件程序的入口地址来达到全部程序数据更新的目的。软件升级完成以后,体内设备自动复位运行升级版本的软件程序数据。最后,体内医疗仪器通过体外控制设备与磁铁的共同作用才能启动软件升级,提高软件升级的可靠性和安全性。


下面将结合附图及实施例对本发明作进一步说明,附图中
图1是依据本发明一实施例的植入式医疗设备的软件升级方法流程示意图; 图2是步骤102的详细流程图3是依据本发明另一实施例的植入式医疗设备的软件升级方法流程示意图; 图4是步骤103的详细流程图; 图5是步骤104的详细流程图6是依据本发明再一实施例的植入式医疗设备的软件升级方法流程示意图; 图7是依据本发明一实施例的由植入式医疗设备执行的软件升级方法流程示意图; 图8是依据本发明另一实施例的由植入式医疗设备执行的软件升级方法流程示意图; 图9是应用图1-6所述的软件升级方法的体外控制设备的结构示意图; 图10是图9中的第一检测单元902的结构示意图; 图11是应用图7-8所述的软件升级方法的体内设备的结构示意图; 图12是依据本发明另一实施例的体内设备的结构示意图。
具体实施例方式图1是依据本发明一实施例的植入式医疗设备的软件升级方法100流程示意图。 方法100由控制体内设备中的软件升级的体外控制设备执行。参考图1可知,方法100包括如下步骤
步骤101、体外控制设备获取升级版本的软件程序数据,并向体内设备发送软件升级请求指令,所述软件升级请求指令附加有其对应的CRC校验值,且包括对应的向体内设备的标识;
步骤102、体外控制设备检测是否接收到所述体内设备返回的准备完毕响应,并依据检测结果向体内设备发送所述升级版本的软件程序数据;
步骤103、体外控制设备检测所述软件程序数据是否接收成功,若是,则进入步骤104 ; 若否,则返回步骤102重新发送所述软件程序数据;步骤104、体外控制设备检测所述软件程序数据是否发送完毕,并依据检测结果发送包含有所述软件程序数据的CRC校验值的结束指令。其中,软件程序数据可根据需要分为多个数据段进行发送。在本发明一实施例中, 步骤102具体包括如下步骤,如图2所示
步骤1021、体外控制设备检测是否接收到体内设备返回的准备完毕响应,若接收到所述准备完毕响应,则进入步骤1022,判断所述体内设备的软件的当前版本是否需要升级,若需要升级,则进入步骤1023 ;若未接收到所述准备完毕响应,则进入步骤IOM ;
步骤1023、体外控制设备依据升级版本的软件程序数据的长度将其划分为多个数据段,每一数据段附加有其对应的CRC校验值,依次发送附加有CRC校验值的所述多个数据段;
步骤1024、体外控制设备判断是否超过第一预设重发次数,若否,则返回步骤101重新发送所述软件升级请求指令,若是,则结束软件升级过程,可由用户决定是否重新进行软件升级。在本发明一实施例中,在步骤101之前还包括如下步骤(如图3所示)
步骤101’、设置磁铁于体内设备对应的体外位置,所述磁铁用于吸合位于体内设备内的干簧管,并至少持续预设时间。磁铁的存在使得体内设备内的干簧管闭合,干簧管闭合保持一段时间,就可认为磁铁的放置是用户想要升级软件的操作,而非意外操作(即意外放置磁铁导致干簧管闭合)。因为一般情况下,如果不是用户真正的放置操作,干簧管闭合时间会是短暂的,防止了对体内设备软件升级的误操作,增强了软件升级的可靠性和安全性。其它步骤同图1所示的步骤101-104,此处不再赘述。在本发明一实施例中,步骤103具体如图4所示,包括如下步骤
步骤1031,体外控制设备检测所述软件程序数据是否接收成功,若是,则进入步骤 104 ;若否,则进入步骤1032判断是否超过第二预设重发次数,若未超过,则返回步骤102, 重新发送所述软件程序数据;若超过,则结束软件升级过程,可由用户决定是否重新进行软件升级。对于划分了多个数据段的软件程序数据,步骤104具体包括如下步骤,如图5所示
1041、体外控制设备检测所述多个数据段是否发送完毕,若是,则进入步骤1042;若否,则返回步骤102,继续发送其余的数据段;
1042、体外控制设备发送包含有所述软件程序数据的CRC校验值的结束指令;这里的 CRC校验值是所有软件程序数据,也即所有数据段的CRC校验值。在本发明又一实施例中,软件升级方法100除了步骤101-104 (此处为了简要起见,未示出)外,还包括以下步骤,如图6所示
步骤105、体外控制设备检测所述结束指令是否接收成功,若否,则进入步骤106 ;若是,则说明升级操作成功完成,结束升级操作。步骤106、体外控制设备判断是否超过第三预设重发次数,若否,则返回步骤104, 重新发送所述结束指令。上文所述的第一预设重发次数、第二预设重发次数、第三预设重发次数、预设时间等的具体取值可根据实际需要来设定,可以相同也可以不相同,本发明对此不做限制。
本发明还提供另一种植入式医疗设备的软件升级方法700,该方法由体内设备来执行,如图7所示,方法700包括如下步骤
步骤701、体内设备检测是否接收到体外控制设备所发送的软件升级请求指令,并在接收到所述软件升级请求指令时,核对所述软件升级请求指令的CRC校验值以及对应的体内设备的标识是否正确,若正确,则进入步骤702 ;
步骤702、体内设备擦除用于存放升级版本的软件程序数据的第一存储区,并发送准备完毕响应至体外控制设备;其中,与所述升级版本的软件程序数据对应的旧版本的软件程序数据存放在第三存储区中;
步骤703、体内设备接收来自体外控制设备发送的所述升级版本的软件程序数据,并在校验正确后将其写入所述第一存储区并发送数据接收成功信息至体外控制设备,在校验错误后发送数据接收失败信息至体外控制设备;
步骤704、体内设备接收来自体外控制设备发送的结束指令,所述结束指令包含有所述软件程序数据的CRC校验值;计算存储在所述第一存储区的软件程序数据的CRC校验值,并与所述结束指令中的CRC校验值进行比较,在校验正确后将所述软件程序数据中的函数地址向量写入第二存储区,并发送结束指令接收成功信息至体外控制设备。这里的函数地址向量包括更新主函数和中断函数入口地址。当软件更新过程完成时,就可以通过更新主函数和中断函数入口地址来定位对应的功能软件地址,从而运行更新后的程序。在本发明一实施例中,除了步骤701-704外,还包括步骤705 体内设备升级成功后,复位所述体内设备,并运行所述升级版本的软件程序数据。如果方法700升级失败,则可以根据需要决定是否重新下载新版本的软件程序数据。本发明提供的对体内设备的功能软件的升级方法中,新版本的程序数据单独存放在第一存储区,该新版本的程序数据的入口地址存放在第二存储区,而新版本的程序数据对应的旧版本的程序数据存放在第三存储区,这样保证了新版本的操作不会擦除旧版本,不影响旧版本的软件程序数据的执行。即便升级失败,旧版本的程序仍能继续运行,保证了升级过程中功能软件的正常运行,也满足了用户对体内设备的极高安全性的需求。可依据不同的功能需求,更新一个或多个功能程序,其对应的包括更新主函数和中断函数入口地址的函数地址向量也会随即更新,而与新版本对应的旧版本的软件程序数据不再需要,可对其擦除,用于后续升级时存放其它新版本的软件程序数据。本方案设置多个存储区,新版本的更新不影响旧版本的运行,在新版本更新完成之后,便可释放旧版本占用的存储区,用于存放其它新版本程序,既保证了升级的安全性,也避免了存储资源的浪费。在本发明一实施例中,步骤701之前还包括以下步骤(如图8所示)
步骤701’、体内设备检测设置在其内部的干簧管是否闭合,体内设备对应的体外位置设置有磁铁,并持续预设时间,若是,则测量所述干簧管闭合的时间是否超过预设时间;若超过预设时间,则设置软件升级标记,然后进入步骤701。其它步骤同图7,此处不再赘述。应用上述图1-6所述的软件升级方法的体外控制设备的具体结构如图9所示,体外控制设备900包括依次通信连接的升级请求指令发送单元901、第一检测单元902、第二检测单元903、第三检测单元904。升级请求指令发送单元901,用于获取升级版本的软件程序数据,并发送软件升级请求指令,所述软件升级请求指令附加有其对应的CRC校验值,且包括对应的体内设备的标识。第一检测单元902,用于检测是否接收到所述体内设备返回的准备完毕响应,并依据检测结果发送所述升级版本的软件程序数据。第二检测单元903,用于检测所述软件程序数据是否接收成功,若是,则由第三检测单元904进行处理;若否,则由第一检测单元902重新发送所述软件程序数据。在本发明一实施例中,第二检测单元903还用于,在检测到所述软件程序数据接收失败时,判断是否超过第二预设重发次数,若否,则由第一检测单元902重新发送所述软件程序数据。第三检测单元904,用于检测所述软件程序数据是否发送完毕,并依据检测结果发送包含有所述软件程序数据的CRC校验值的结束指令。在本发明一实施例中,第三检测单元904具体用于检测所述多个数据段是否发送完毕,若是,则发送包含有所述软件程序数据的CRC校验值的结束指令;若否,则继续发送其余的数据段。第一检测单元902具体包括准备完毕响应检测单元9021、划分单元9022、判断单元9023,如图10所示。 准备完毕响应检测单元9021,用于检测是否接收到所述体内设备返回的准备完毕响应,若接收到所述准备完毕响应,则判断所述体内设备的软件的当前版本是否需要升级, 若需要升级,则由划分单元进行处理;若未接收到所述准备完毕响应,则由判断单元进行处理;
划分单元9022,用于依据升级版本的软件程序数据的长度将其划分为多个数据段,每一数据段附加有其对应的CRC校验值,依次发送附加有CRC校验值的所述多个数据段;
判断单元9023,用于判断是否超过第一预设重发次数,若否,则由所述升级请求指令发送单元901重新发送所述软件升级请求指令。其中,体外控制设备900还可以包括第四检测单元,用于检测所述结束指令是否接收成功,若否,则判断是否超过第三预设重发次数,在未超过所述第三预设重发次数时重新发送所述结束指令。图11示出了一种体内设备1100,体内设备1100中的功能模块的软件能够根据需要进行更新,体内设备1100包括检测单元1101、擦除单元1102、第一校验单元1103、第二校验单元1104、复位和运行单元1105。检测单元1100,用于检测是否接收到软件升级请求指令,并在接收到所述软件升级请求指令时,核对所述软件升级请求指令的CRC校验值以及对应的体内设备的标识是否正确,若正确,则由擦除单元进行处理。擦除单元1102,用于擦除用于存放升级版本的软件程序数据的第一存储区A,并发送准备完毕响应至体外控制设备。第一校验单元1103,用于接收来自体外控制设备发送的所述升级版本的软件程序数据,并在校验正确后将其写入所述第一存储区A并发送数据接收成功信息至体外控制设备,在校验错误后发送数据接收失败信息至体外控制设备。第二校验单元1104,用于接收来自体外控制设备发送的结束指令,所述结束指令包含有所述软件程序数据的CRC校验值;对所述结束指令进行校验,在校验正确后将所述结束指令中有关所述软件程序数据的入口地址的部分写入第二存储区B,并发送结束指令接收成功信息至体外控制设备。复位和运行单元1105,用于复位所述体内设备,并运行所述升级版本的软件程序数据。其中,为了描述方便,图中仅示出了与软件升级相关的功能单元,体内设备1100 的其它功能模块未示出,例如刺激输出模块、心脏起搏模块等。在本发明一实施例中,体内设备1100还包括闭合检测单元1106,如图12所示,闭合检测单元1106用于检测干簧管是否闭合,若是,则测量所述干簧管闭合的时间是否超过预设时间;若超过预设时间,则设置软件升级标记,再由检测单元1100进一步处理。只有在软件升级标记置为1的前提下才能由体外控制设备执行软件升级操作,提高了软件升级的可靠性和安全性。关于体外控制设备和体内设备的通信方式,本发明对此不加限制,通过更新体内设备内的软件程序可以改变相应的通信方式,本发明的软件更新方案不仅能够更新帮助患者治疗疾病的功能程序,还能够更换功能程序,使得在旧的功能程序数据不再需要时,更改为患者所需要的其他体征监测或辅助治疗功能程序。通过更改软件程序的入口地址,可以很方便的擦除旧程序并替换为新程序。本发明通过在软件程序数据接收失败时重复发送软件程序数据,保证了软件升级的可靠性,使得用户有时间调整体外控制设备,不会导致软件升级到中途而中断。通过增加 CRC校验确保升级的软件程序数据无误。本发明的技术方案应用广泛,能够适用于任何植入式医疗设备的软件升级。而且,通过更新包括主程序和中断入口地址的所有软件程序的入口地址来达到部分或全部程序数据更新的目的。软件升级完成以后,体内医疗仪器自动复位运行升级版本的软件程序数据。另外,体内医疗仪器通过体外控制设备与磁铁的共同作用才能启动软件升级,提高软件升级的可靠性和安全性。
权利要求
1.一种植入式医疗设备的软件升级方法,用于体外控制设备为体内设备进行软件升级,其特征在于,包括步骤51、体外控制设备获取升级版本的软件程序数据,并向体内设备发送软件升级请求指令,所述软件升级请求指令附加有其对应的CRC校验值,且包括对应的体内设备的标识;52、体外控制设备检测是否接收到所述体内设备返回的准备完毕响应,并依据检测结果向体内设备发送所述升级版本的软件程序数据;53、体外控制设备检测所述软件程序数据是否接收成功,若是,则进入步骤S4;若否, 则重新发送所述软件程序数据;54、体外控制设备检测所述软件程序数据是否发送完毕,并依据检测结果发送包含有所述软件程序数据的CRC校验值的结束指令。
2.根据权利要求1所述的软件升级方法,其特征在于,步骤S2具体包括521、体外控制设备检测是否接收到体内设备返回的准备完毕响应,若接收到所述准备完毕响应,则判断体内设备的软件的当前版本是否需要升级,若需要升级,则进入步骤S22 ; 若未接收到所述准备完毕响应,则进入步骤S23 ;522、体外控制设备依据升级版本的软件程序数据的长度将其划分为多个数据段,每一数据段附加有其对应的CRC校验值,依次发送附加有CRC校验值的所述多个数据段;523、体外控制设备判断是否超过第一预设重发次数,若否,则返回步骤Sl重新发送所述软件升级请求指令。
3.根据权利要求2所述的软件升级方法,其特征在于,在步骤Sl之前还包括SO、设置磁铁于体内设备对应的体外位置,所述磁铁用于吸合位于体内设备内的干簧管,并至少持续预设时间。
4.根据权利要求1所述的软件升级方法,其特征在于,步骤S3中,重新发送所述软件程序数据具体包括体外控制设备判断是否超过第二预设重发次数,若否,则重新发送所述软件程序数据。
5.根据权利要求2所述的软件升级方法,其特征在于,步骤S4具体包括541、体外控制设备检测所述多个数据段是否发送完毕,若是,则进入步骤S42;若否, 则继续发送其余的数据段;542、体外控制设备发送包含有所述软件程序数据的CRC校验值的结束指令。
6.根据权利要求1所述的软件升级方法,其特征在于,还包括步骤55、体外控制设备检测所述结束指令是否接收成功,若否,则进入步骤S6;56、体外控制设备判断是否超过第三预设重发次数,若否,则重新发送所述结束指令。
7.—种植入式医疗设备的软件升级方法,用于体内设备通过体外控制设备来进行升级,其特征在于,包括步骤A、体内设备检测是否接收到体外控制设备所发送的软件升级请求指令,并在接收到所述软件升级请求指令时,核对所述软件升级请求指令的CRC校验值以及对应的体内设备的标识是否正确,若正确,则进入步骤B ;B、体内设备擦除用于存放升级版本的软件程序数据的第一存储区,并发送准备完毕响应至体外控制设备;其中,与所述升级版本的软件程序数据对应的旧版本的软件程序数据存放在第三存储区中;C、体内设备接收来自体外控制设备发送的所述升级版本的软件程序数据,并在校验正确后将其写入所述第一存储区并发送数据接收成功信息至体外控制设备,在校验错误后发送数据接收失败信息至体外控制设备;D、体内设备接收来自体外控制设备发送的结束指令,所述结束指令包含有所述升级版本的软件程序数据的CRC校验值;计算存储在所述第一存储区的软件程序数据的CRC校验值,并与所述结束指令中的CRC校验值进行比较,在校验正确后将所述软件程序数据中的函数地址向量写入第二存储区,并发送结束指令接收成功信息至体外控制设备。
8.根据权利要求7所述的软件升级方法,其特征在于,还包括步骤E、体内设备升级成功后,复位所述体内设备,并运行所述升级版本的软件程序数据;F、若体内设备升级失败,则返回步骤A。
9.根据权利要求7所述的软件升级方法,其特征在于,所述函数地址向量包括更新主函数和中断函数入口地址。
10.根据权利要求7-9任一项所述的软件升级方法,其特征在于,步骤A之前还包括 A01、体内设备检测设置在其内部的干簧管是否闭合,体内设备对应的体外位置放置有磁铁,并持续预设时间,若是,则测量所述干簧管闭合的时间是否超过预设时间;若超过预设时间,则设置软件升级标记,进入步骤A。
全文摘要
本发明涉及植入式医疗设备的软件升级方法,其中,用于体外控制设备为体内设备进行软件升级的方法包括步骤S1、获取升级版本的软件程序数据,并发送软件升级请求指令;S2、检测是否接收到体内设备返回的准备完毕响应,并依据检测结果发送所述升级版本的软件程序数据;S3、检测所述软件程序数据是否接收成功,若是,则进入步骤S4;若否,则重新发送所述软件程序数据;S4、检测所述软件程序数据是否发送完毕,并依据检测结果发送包含有所述软件程序数据的CRC校验值的结束指令。本方案通过增加CRC校验确保升级的软件程序数据无误,从而保证了植入式医疗设备的体内设备升级的安全性和可靠性。
文档编号G06F9/445GK102184113SQ20111012238
公开日2011年9月14日 申请日期2011年5月12日 优先权日2011年5月12日
发明者刘灵华, 赵益新 申请人:深圳市锘特达科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1