用于多模块系统的在线升级方法及旋转导向系统技术方案

技术编号:21398498 阅读:28 留言:0更新日期:2019-06-19 06:52
本发明专利技术提供了一种用于多模块系统的在线升级方法及旋转导向系统,该在线升级方法包括:将多模块系统通过单总线与上位机连接;上位机自动向多模块系统中的各个模块发送升级软件指令;各个模块接收升级软件指令并修改其相对应的EEPROM存储器中的存储值;将多模块系统断电并重新上电;各个模块运行各自的BootLoader程序并读取其相对应的EEPROM存储器中的存储值,针对待升级程序的模块,BootLoader程序接收升级程序数据并将升级程序数据写入相对应的FLASH存储器中;针对其他无需升级的模块,擦除EEPROM存储器中的存储值并等待待升级程序的模块升级程序。应用本发明专利技术的技术方案,以解决现有技术中软件升级方法操作不方便、效率低且无法保证仪器的密封性的技术问题。

【技术实现步骤摘要】
用于多模块系统的在线升级方法及旋转导向系统
本专利技术涉及嵌入式软件在线升级的
,尤其涉及一种用于多模块系统的在线升级方法及旋转导向系统。
技术介绍
目前,嵌入式处理器最常用的软件升级方式是通过JTAG接口进行软件程序更新,该种方式由于JTAG接口信号线多,因此通常需要露出电路板才能达到升级程序的目的。针对旋转导向系统这种拆装难度大,且对密封性要求高的石油钻井仪器而言,采用此种软件升级方式进行旋转导向系统各模块的软件升级会导致操作不方便、效率低且无法保证仪器的密封性的问题。
技术实现思路
本专利技术提供了一种用于多模块系统的在线升级方法及旋转导向系统,能够解决现有技术中软件升级方法操作不方便、效率低且无法保证仪器的密封性的技术问题。根据本专利技术的一方面,提供了一种用于多模块系统的在线升级方法,多模块系统具有多个模块,各个模块中均具有BootLoader程序、EEPROM存储器以及FLASH存储器,在线升级方法包括:将多模块系统通过单总线与上位机连接;上位机自动向多模块系统中的各个模块发送升级软件指令;各个模块接收升级软件指令并修改其相对应的EEPROM存储器中的存储值,存储值用于指示多个模块中待升级程序的模块的位置;将多模块系统断电并重新上电;各个模块运行各自的BootLoader程序并读取其相对应的EEPROM存储器中的存储值,判断多个模块中的待升级程序的模块;其中,针对待升级程序的模块,待升级程序的模块中的BootLoader程序接收升级程序数据并将升级程序数据写入相对应的FLASH存储器中;针对其他无需升级的模块,擦除无需升级的模块中的EEPROM存储器中的存储值并等待待升级程序的模块升级程序。进一步地,各个模块接收升级软件指令并修改其相对应的EEPROM存储器中的存储值之后,在线升级方法还包括:各个模块接收到升级软件指令后,向上位机发送读取结果,上位机校验各个模块发送的读取结果,当读取结果不正确时,上位机报错并重新发送升级软件指令直至发送成功。进一步地,待升级程序的模块中的BootLoader程序接收升级程序数据并将升级程序数据写入相对应的FLASH存储器中具体包括:待升级程序的模块中的BootLoader程序依次接收升级程序数据并将接收到的升级程序数据进行缓存;当缓存的升级程序数据达到设定存储量后,BootLoader程序将升级程序数据依次写入相对应的FLASH存储器中。进一步地,待升级程序的模块中的BootLoader程序依次接收升级程序数据并将接受到的升级程序数据进行缓存具体包括:待升级程序的模块中的BootLoader程序依次接收升级程序数据,BootLoader程序每接收一帧数据,需要检查数据帧的同步头、目的地址和源地址,并核对数据帧的校验字节。进一步地,BootLoader程序核对数据帧的校验字节具体包括:BootLoader程序核对数据帧的校验字节,当校验字节不正确时,将数据帧丢弃;当校验字节正确时,将数据帧返回至上位机,上位机验证发送的数据帧与接收的数据帧是否相同,如果发送的数据帧与接收的数据帧不相同,则上位机继续发送数据帧;如果发送的数据帧与接收的数据帧相同,则上位机发送下一帧的数据帧。进一步地,BootLoader程序将升级程序数据依次写入相对应的FLASH存储器中具体包括:BootLoader程序判断键值,并获取应用起点;BootLoader程序对接收的数据块进行处理,并按照数据块中的地址信息存储到相应的位置。进一步地,各个模块均还包括处理器,FLASH存储器为处理器的片内存储器,其中,键值与处理器的型号相匹配。进一步地,在待升级程序的模块中的BootLoader程序接收升级程序数据之前,在线升级方法还包括:针对待升级程序的模块,等待设定时间以擦除FLASH存储器内的数据。根据本专利技术的另一方面,提供了一种旋转导向系统,旋转导向系统包括多个模块,多个模块使用如上所述的在线升级方法进行程序升级。应用本专利技术的技术方案,当系统某模块需要升级程序时,只需通过上位机对系统的各模块做简单的设置,即可通过单总线升级程序,操作简单、方便,不需拆装,有效地保证了产品的密封性。再者,本专利技术的在线升级方法通过编写具有防数据错误功能的BootLoader程序并在应用程序中增加与BootLoader的交互,从而将升级的应用程序准确、方便地通过单总线烧写到多模块系统的任意模块的FLASH存储器中。本专利技术的在线升级方法相对于现有技术而言,操作更加方便,不需要拆装仪器,在升级程序的同时有效的保证了系统的密封性,并节省了时间。附图说明所包括的附图用来提供对本专利技术实施例的进一步的理解,其构成了说明书的一部分,用于例示本专利技术的实施例,并与文字描述一起来阐释本专利技术的原理。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据本专利技术的具体实施例提供的用于多模块系统的在线升级方法的流程框图;图2示出了根据本专利技术的具体实施例提供的BootLoader程序接收获取有效数据的流程图;图3示出了根据本专利技术的具体实施例提供的BootLoader程序向FLASH存储器中烧写程序的流程图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。如图1所示,根据本专利技术的具体实施例提供了一种用于多模块系统的在线升级方法,该多模块系统具有多个模块,各个模块中均具有BootLoader程序、EEPROM存储器以及FLASH存储器,该在线升级方法包括:将多模块系统通过单总线与上位机连接;上位机自动向多模块系统中的各个模块发送升级软件指令;各个模块接收升级软件指令并修改其相对应的EEPROM存储本文档来自技高网...

【技术保护点】
1.一种用于多模块系统的在线升级方法,所述多模块系统具有多个模块,各个模块中均具有BootLoader程序、EEPROM存储器以及FLASH存储器,其特征在于,所述在线升级方法包括:将多模块系统通过单总线与上位机连接;所述上位机自动向所述多模块系统中的各个模块发送升级软件指令;各个所述模块接收所述升级软件指令并修改其相对应的EEPROM存储器中的存储值,所述存储值用于指示多个所述模块中待升级程序的模块的位置;将所述多模块系统断电并重新上电;各个所述模块运行各自的BootLoader程序并读取其相对应的EEPROM存储器中的存储值,判断多个所述模块中的待升级程序的模块;其中,针对待升级程序的模块,所述待升级程序的模块中的BootLoader程序接收升级程序数据并将所述升级程序数据写入相对应的FLASH存储器中;针对其他无需升级的模块,擦除所述无需升级的模块中的EEPROM存储器中的存储值并等待所述待升级程序的模块升级程序。

【技术特征摘要】
1.一种用于多模块系统的在线升级方法,所述多模块系统具有多个模块,各个模块中均具有BootLoader程序、EEPROM存储器以及FLASH存储器,其特征在于,所述在线升级方法包括:将多模块系统通过单总线与上位机连接;所述上位机自动向所述多模块系统中的各个模块发送升级软件指令;各个所述模块接收所述升级软件指令并修改其相对应的EEPROM存储器中的存储值,所述存储值用于指示多个所述模块中待升级程序的模块的位置;将所述多模块系统断电并重新上电;各个所述模块运行各自的BootLoader程序并读取其相对应的EEPROM存储器中的存储值,判断多个所述模块中的待升级程序的模块;其中,针对待升级程序的模块,所述待升级程序的模块中的BootLoader程序接收升级程序数据并将所述升级程序数据写入相对应的FLASH存储器中;针对其他无需升级的模块,擦除所述无需升级的模块中的EEPROM存储器中的存储值并等待所述待升级程序的模块升级程序。2.根据权利要求1所述的用于多模块系统的在线升级方法,其特征在于,各个所述模块接收所述升级软件指令并修改其相对应的EEPROM存储器中的存储值之后,所述在线升级方法还包括:各个所述模块接收到所述升级软件指令后,向所述上位机发送读取结果,所述上位机校验各个模块发送的读取结果,当所述读取结果不正确时,所述上位机报错并重新发送所述升级软件指令直至发送成功。3.根据权利要求2所述的用于多模块系统的在线升级方法,其特征在于,所述待升级程序的模块中的BootLoader程序接收升级程序数据并将所述升级程序数据写入相对应的FLASH存储器中具体包括:所述待升级程序的模块中的BootLoader程序依次接收所述升级程序数据并将接收到的所述升级程序数据进行缓存;当缓存的所述升级程序数据达到设定存储量后,所述BootLoader程序将所述升级程序数据依次写入相对应的FLASH存储器中。4.根据权利要求3所述的用于多模块系统的...

【专利技术属性】
技术研发人员:杨斌白璟马慧斌唐雅琴刘焕雨薛秋来吕伟刘庆成张东旭廖冲
申请(专利权)人:航天科工惯性技术有限公司中国石油集团川庆钻探工程有限公司钻采工程技术研究院
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1