用于转子悬浮控制系统中程序在线升级的方法和装置

文档序号:25542894发布日期:2021-06-18 20:39阅读:139来源:国知局
用于转子悬浮控制系统中程序在线升级的方法和装置

本发明涉及计算机应用技术领域,尤其涉及一种用于转子悬浮控制系统中程序在线升级的方法和装置。



背景技术:

精密真空转子球腔装置,它是在空心球形转子的周围装有均匀分布的高压电极,对转子形成静电场,使高速旋转的转子悬浮在球腔中心,从而避免了机械摩擦和干扰,这也是精密真空转子球腔装置保持高精度的基础。其中,转子悬浮依靠转子悬浮控制系统完成,其可靠程度是精密真空转子球腔装置稳定工作的基础。

现有的转子悬浮控制系统普遍使用具有数字信号处理及算法实现优势的dsp作为控制芯片,由于工程实现的限制,dsp常常处于复杂且封闭的环境中。当悬浮系统应用程序需要升级时,传统jtag接口具有引脚多、传输距离近、无法一对多升级等缺点,导致在程序升级过程中需经过系统拆解及重新装配的复杂流程,由此带来系统调试及优化的困难。

因此,有必要实现转子悬浮控制系统中程序的在线升级,以优化程序调试流程。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种转子悬浮控制系统中实现应用程序在线升级的方法,以实现在无需硬件设置或设备拆接的情况下,通过底层程序烧写应用程序达到升级的目的,并且可以实现一对多的程序升级,即单个上位机对多个转子悬浮控制设备同时升级。

本发明的第二个目的在于提出一种用于转子悬浮控制系统中程序在线升级装置。

本发明的第三个目的在于提出一种非临时性计算机可读存储介质。

本发明的第四个目的在于提出一种计算机程序产品。

为达上述目的,本发明第一方面实施例提出了一种用于转子悬浮控制系统中程序在线升级方法,包括:以下步骤:

将底层程序存储在flasha存储空间;

基于预先建立的程序环境调用main函数,将dac输出清零;

在清零后,判断是否接收到上位机的升级指令;

若接收到所述升级指令,则根据上位机发送的升级数据文件烧写至flashe。

为达上述目的,本发明第二方面实施例提出了一种用于转子悬浮控制系统中程序在线升级的装置,包括:存储模块,用于将底层程序存储在flasha存储空间;

输出模块,用于基于预先建立的程序环境调用main函数,将dac输出清零;

判断模块,用于在清零后,判断是否接收到上位机的升级指令;

烧写模块,用于在接收到所述升级指令时,根据上位机发送的升级数据文件烧写至flashe。

为了实现上述目的,本发明第三方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面实施例所述的用于转子悬浮控制系统中程序在线升级的方法。

为了实现上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上述第一方面实施例所述的用于转子悬浮控制系统中程序在线升级的方法。

本发明的实施例,至少具有如下的技术效果:

开发基于串口通信的在线升级技术,在无需硬件设置或设备拆接的情况下,通过底层程序烧写应用程序达到升级的目的,其中底层程序是指已经固化在dsp指定flash空间中的程序,主要完成应用程序数据文件接收及烧写。应用程序即为悬浮系统的升级程序。另外,需要指出的是,本发明可实现一对多的程序升级,即单个上位机对多个转子悬浮控制设备同时升级。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所提供的一种用于转子悬浮控制系统中程序在线升级的方法的流程示意图;

图2为本发明实施例所提供的一种在线升级基本原理示意图;

图3为本发明实施例所提供的一种底层程序流程图;

图4为本发明实施例所提供的一种应用程序格式转换过程示意图;以及

图5为本发明实施例所提供的一种用于转子悬浮控制系统中程序在线升级装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的用于转子悬浮控制系统中程序在线升级的方法和装置。其中,本发明实施例中的应用程序即为悬浮控制系统的升级程序。

图1为本发明实施例所提供的一种用于转子悬浮控制系统中程序在线升级的方法的流程示意图。

如图1所示,该方法包括以下步骤:

步骤101,将底层程序存储在flasha存储空间。

步骤102,基于预先建立的程序环境调用main函数,将dac输出清零。

步骤103,在清零后,判断是否接收到上位机的升级指令。

步骤104,若接收到升级指令,则根据上位机发送的升级数据文件烧写至flashe。

本实施例中,基于串口通信的在线升级基本原理如图2所示。以tms320f28335为例,依次经过如下过程:

1.f28335dsp上电,首先从复位向量0x3fffc0处开始运行。该地址存放着引导程序的入口地址0x3ffc00。

2.dsp跳转到0x3ffc00处执行引导程序initboot,该引导程序在出厂前已固化在bootrom上。

3.仍然执行代码,根据gpio84~gpio87的电平状态确定程序的入口地址,本发明选择jumptoflash模式,将程序跳转到flash中0x33fff6处执行。

4.底层程序存放在0x33fff6开始的存储空间,即flasha。底层程序流程图如图3所示。首先完成c语言程序环境建立,随后自动调用main函数。为了避免升级过程中dac电压波动带来转子位置失控,main函数将dac输出清零后根据上位机的指令完成相应功能:若上位机发送升级指令,则接收升级程序数据文件并烧写到flashe,等待重新上电;若上位机发送不升级指令或长时间未接收到指令信息,则跳转到应用程序入口,即flashe的首地址0x318000执行应用程序。

在本发明的实施例中,底层程序主要完成三部分功能:升级判断、应用程序数据文件接收及存储、数据文件烧写。

升级判断,即当上位机发送升级指令“y”执行升级功能,发送“n”跳转到flashe执行应用程序。跳转指令的实现依靠绝对地址:

#definejump_application_section(void(*)(void))0x318000

(*jump_application_section)();

应用程序数据文件接收通过rs232串口实现,接收到的数据一般存储在内部ram中,为此开辟12k×16bit的数据空间。定义缓冲数组buffer,并将其分配到data_sect段

#pragmadata_section(buffer,"data_sect");

uint16buffer[12288];

底层cmd文件中,将data_sect段定位到raml1~raml3,即从地址0x009000开始,长度为0x003000的ram空间。

ram_l1l2l3:origin=0x009000,length=0x003000

data_sect:>ram_l1l2l3page=0

数据文件烧写依赖ti提供的flash28335_api_v210.lib。f28335片上flash不支持在操作flash的同时运行其中的程序;flash操作函数中的延时必须准确以避免时序错误,基于以上两点,操作flash的相关函数需复制到ram中执行。ti提供了memcopy()可实现上述复制功能。完成复制后,通过调用flash_erase()、flash_program()和flash_verify()将接收到的数据文件烧写到flashe区域。

在一些具体的实施例中,配置底层程序的cmd文件,将入口地址定位到0x33fff6。编译工程,将生成的.out文件通过jtag接口烧写到flash中。至此,底层程序已固化在flash中,不可修改。

配置应用程序的cmd文件,将入口地址定位到0x318000。应用程序经ccs编译后默认生成.out文件,该文件代码和数据存放在不同的段中,无法直接用于flash烧写,需将其转换成.bin数据格式。转换过程如图4所示。c2000hexutility和fileoshell.exe可分别生成.hex和.bin文件。

综上,本发明实施例的用于转子悬浮控制系统中程序在线升级的方法,开发基于串口通信的在线升级技术,在无需硬件设置或设备拆接的情况下,通过底层程序烧写应用程序达到升级的目的,其中底层程序是指已经固化在dsp指定flash空间中的程序,主要完成应用程序数据文件接收及烧写。应用程序即为悬浮系统的升级程序。另外,可实现一对多的程序升级,即单个上位机对多个转子悬浮控制设备同时升级。

为了实现上述实施例,本发明还提出一种用于转子悬浮控制系统中程序在线升级的装置。

图5为本发明实施例提供的一种用于转子悬浮控制系统中程序在线升级的装置的结构示意图。

如图5所示,该用于转子悬浮控制系统中程序在线升级的装置包括:存储模块510、输出模块520、判断模块530、烧写模块540。其中,

存储模块510,用于将底层程序存储在flasha存储空间;

输出模块520,用于基于预先建立的程序环境调用main函数,将dac输出清零;

判断模块530,用于在清零后,判断是否接收到上位机的升级指令;

烧写模块540,用于在接收到所述升级指令时,根据上位机发送的升级数据文件烧写至flashe。

需要说明的是,前述对用于转子悬浮控制系统中程序在线升级的方法实施例的解释说明也适用于该实施例的用于转子悬浮控制系统中程序在线升级的装置,此处不再赘述。

为了实现上述实施例,本发明还提出一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所描述的用于转子悬浮控制系统中程序在线升级的方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所描述的用于转子悬浮控制系统中程序在线升级的方法。

为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上述实施例所描述的用于转子悬浮控制系统中程序在线升级的方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1