CN207611373U - 一种基于主/从结构的控制系统 - Google Patents
一种基于主/从结构的控制系统 Download PDFInfo
- Publication number
- CN207611373U CN207611373U CN201720300284.5U CN201720300284U CN207611373U CN 207611373 U CN207611373 U CN 207611373U CN 201720300284 U CN201720300284 U CN 201720300284U CN 207611373 U CN207611373 U CN 207611373U
- Authority
- CN
- China
- Prior art keywords
- slave
- firmware
- memory space
- firmware upgrade
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本实用新型公开了一种用于智能机器人的基于主/从结构的控制系统,系统包括主机以及与主机相连的一个或多个从机,主机包括:云端接口,其连接到云端服务器,配置为获取云端服务器推送的固件升级信息;主机数据处理器,其连接到所述云端接口,配置为根据所述固件升级信息判断是否需要执行从机固件升级,并且当需要执行从机固件升级时通过所述云端接口获取固件升级程序并将获取到的所述固件升级程序输出到所述从机;从机包括:固件存储器,其配置为存储从机固件程序;从机数据处理器,其连接到所述主机以及所述固件存储器,配置为根据所述固件升级程序升级所述从机固件程序。本实用新型的控制系统可以快速方便的实现从机的软件程序的更新。
Description
技术领域
本实用新型涉及计算机领域,具体涉及一种基于主/从结构的控制系统。
背景技术
主/从结构是用于智能机器人的控制系统结构中一种较为常见的结构。在主/从结构中:主机一般是指可以直接发出操控命令的计算机,其一般配合执行设备从机协同工作;从机一般是指是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。
由于主机、从机的分工不同,从机一般具有相对固定的工作模式并实现相对明确的功能,而不是像个人计算机系统那样经常需要根据用户需求加载新的应用程序以实现新的功能。因此从机中一般加载有相对固化的软件程序,并且从机通常并不具备较为复杂的分析判断以及数据通信能力。但是,随着计算机技术的不断发展,控制系统的复杂度、灵活性要求不断提高,控制系统中的从机的功能经常需要优化,也就是说,从机中固化的软件程序需要被经常更新。但是由于从机并不具备较为复杂的分析判断以及数据通信能力,因此从机软件程序的更新往往需要基于特定的硬件接口以及特定的更新程序才能完成,这大大影响了更新效率。
因此,需要一种更加便于进行从机软件程序更新的主/从结构。
实用新型内容
本实用新型提供了一种用于智能机器人的基于主/从结构的控制系统,所述系统包括主机以及与主机相连的一个或多个从机,所述主机包括:
云端接口,其连接到云端服务器,配置为获取云端服务器推送的固件升级信息;
主机数据处理器,其连接到所述云端接口,配置为根据所述固件升级信息判断是否需要执行从机固件升级,并且当需要执行从机固件升级时通过所述云端接口获取固件升级程序并将获取到的所述固件升级程序输出到所述从机;
所述从机包括:
固件存储器,其配置为存储从机固件程序;
从机数据处理器,其连接到所述主机以及所述固件存储器,配置为根据所述固件升级程序升级所述从机固件程序。
在一实施例中:
所述固件存储器包含第一存储空间以及第二存储空间,所述第一存储空间配置为保存所述从机固件程序,所述第二存储空间配置为保存所述固件升级程序;
所述从机数据处理器还配置为当需要固件升级时将所述第二存储空间的数据覆盖写入所述第一存储空间。
在一实施例中,所述从机数据处理器还配置为执行初始化操作,在所述初始化操作中,所述从机数据处理器配置为:
判断是否需要固件升级,当需要固件升级时将所述第二存储空间的数据覆盖写入所述第一存储空间。
在一实施例中,在所述初始化操作中,所述从机数据处理器还配置为:
当不需要固件升级时直接执行存储在所述第一存储空间的程序。
在一实施例中,在所述初始化操作中,所述从机数据处理器还配置为:
当所述第二存储空间的文件覆盖写入所述第一存储空间成功完成后执行存储在所述第一存储空间的程序。
在一实施例中:
所述固件存储器还包含第三存储空间,所述第三存储空间配置为存储初始程序;
所述从机数据处理器还配置为执行所述第三存储空间的程序以实现所述初始化操作。
在一实施例中,所述从机数据处理器还配置为在每次上电时首先执行所述第三存储空间的程序。
在一实施例中,所述从机数据处理器还配置为采用在应用编程的方式将所述第二存储空间的数据覆盖写入所述第一存储空间。
在一实施例中,所述第三存储空间配置为采用联合测试工作组或在系统编程的方式写入数据。
在一实施例中,所述主机还包含固件暂存器,其中:
所述主机数据处理器配置为通过所述云端接口下载所述固件升级程序并将所述固件升级程序保存到所述固件暂存器;
所述主机数据处理器还配置为将所述固件暂存器保存的所述固件升级程序发送到所述从机。
本实用新型的控制系统可以快速方便的实现从机的软件程序的更新;相较于现有技术,根据本实用新型的控制系统,可以大大简化从机软件程序的更新流程,降低更新难度,从而提高工作效率。
本实用新型的其它特征或优点将在随后的说明书中阐述。并且,本实用新型的部分特征或优点将通过说明书而变得显而易见,或者通过实施本实用新型而被了解。本实用新型的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。
附图说明
附图用来提供对本实用新型的进一步理解,并且构成说明书的一部分,与本实用新型的实施例共同用于解释本实用新型,并不构成对本实用新型的限制。在附图中:
图1是根据本实用新型一实施例的系统结构简图;
图2~图5是根据本实用新型实施例的系统部分结构简图。
具体实施方式
以下将结合附图及实施例来详细说明本实用新型的实施方式,借此本实用新型的实施人员可以充分理解本实用新型如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本实用新型。需要说明的是,只要不构成冲突,本实用新型中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本实用新型的保护范围之内。
在主/从结构的控制系统中,由于主机、从机的分工不同,从机一般具有相对固定的工作模式并实现相对明确的功能,而不是像个人计算机系统那样经常需要根据用户需求加载新的应用程序以实现新的功能。因此从机中一般加载有相对固化的软件程序,并且从机通常并不具备较为复杂的分析判断以及数据通信能力。但是,随着计算机技术的不断发展,控制系统的复杂度、灵活性要求不断提高,控制系统中的从机的功能经常需要优化,也就是说,从机中固化的软件程序需要被经常更新。但是由于从机并不具备较为复杂的分析判断以及数据通信能力,因此从机软件程序的更新往往需要基于特定的硬件接口以及特定的更新程序才能完成,这大大影响了更新效率。
针对上述问题,本实用新型提出了一种用于智能机器人的基于主/从结构的控制系统。在该控制系统中,利用主机获取升级软件并将升级软件发送到从机,从而实现从机软件程序的更新升级。这样,在进行从机软件程序的升级时就不需要特别建立针对从机的通讯接口。本实用新型的控制系统可以快速方便的实现从机的软件程序的更新;相较于现有技术,根据本实用新型的控制系统,可以大大简化从机软件程序的更新流程,降低更新难度,从而提高工作效率。
如图1所示,在一实施例中,系统100包括主机110以及与主机相连的从机120、130、140、150。从机120、130、140、150分别实现不同的功能。以从机120为例,其包含从机数据处理器121以及固件存储器122。固件存储器122配置为存储从机固件程序。从机数据处理器121配置为运行固件存储器122所存储的从机固件程序并将运行结果数据传回主机110,从而实现从机120所要实现的功能。
主机110也可以仅与唯一的从机相连,本申请不进行限定。
进一步的,主机110包括云端接口111以及主机数据处理器112。云端接口111连接到云端服务器101,其配置为获取云端服务器推送的固件升级信息;主机数据处理器112连接到云端接口111,其配置为根据云端服务器推送的固件升级信息判断是否需要执行从机固件升级,并且当需要执行从机固件升级时通过云端接口111获取固件升级程序并将获取到的固件升级程序输出到对应的从机(从机120、130、140或150)。
以从机120为例,从机数据处理器121配置为当接收到来自主机的固件升级程序时,根据固件升级程序升级固件存储器122所存储的从机固件程序从而完成从机软件程序的升级。
具体的,如图2所示,在一实施例中,主机210的主机数据处理器212包含升级判断单元213以及下载单元214。
云端服务器201向主机210推送固件升级信息。云端接口211将固件升级信息转发至主机数据处理器212,主机数据处理器212中的升级判断单元213根据固件升级信息判断是否需要进行从机固件升级。具体的,在一实施例中,云端服务器201推送包含最新的固件版本号的固件升级信息,升级判断单元213判断最新的固件版本号与当前从机上所存储的固件程序的版本号是否一致,如果一致,则不需要升级,如果不一致,则需要进行从机固件升级。
当升级判断单元213判断需要进行从机固件升级,其发送升级信号给下载单元214,下载单元214从云端服务器201处下载对应固件升级信息的最新的固件升级程序。最后主机数据处理器212将下载单元214下载的固件升级程序发送到对应的从机。
进一步的,在一实施例中,主机数据处理器212将下载单元214下载固件升级程序的同时就将固件升级程序同步发送到对应的从机。但是,在某些应用场景中,主机数据处理器212无法在下载单元214下载固件升级程序的同时将固件升级程序同步发送到对应的从机(例如,当前主从机的通信通道被占用)。
因此,在一实施例中,主机数据处理器212还包含固件暂存器215。下载单元214配置为通过云端接口211下载固件升级程序并将固件升级程序保存到固件暂存器215。主机数据处理器212配置为将固件暂存器215保存的固件升级程序发送到对应的从机。这样,主机数据处理器212就可以在主从通信通道空闲时再发送固件升级程序,从而避免了数据发送冲突的发生。
进一步的,下载单元214配置为采用断点续传方式获取固件升级程序,主机数据处理器212配置为当固件暂存器215中保存的固件升级程序为下载完成的完整版本时再将固件升级程序发送到对应的从机。从而避免了同步传输时遇到下载意外中断而导致从机获取到残缺的固件升级程序并进行错误升级的情况的发生。
进一步的,如图3所示,在一实施例中,从机320的固件存储器包含存储空间323以及存储空间324。存储空间323配置为保存从机固件程序,存储空间324配置为保存固件升级程序。
在正常运行状态下,从机数据处理器321配置为运行存储空间323中所保存的从机固件程序,并将运行结果反馈给主机310以实现从机功能。在升级状态下,主机310发送固件升级程序到从机320的从机数据处理器321,从机数据处理器321先将接收到的固件升级程序写入存储空间324,然后从机数据处理器321读取存储空间324中保存的固件升级程序,并将其覆盖写入存储空间323。
这样固件升级程序的接收与从机固件程序的升级就被分离为独立的两个步骤,从而大大降低了从机数据处理器321与固件存储器322之间通信错误情况的发生。
进一步的,在从机数据处理器321将数据覆盖写入存储空间323前首先对存储空间324中保存的固件升级程序进行验证,保证固件升级程序接收的完整。这就避免了在接收固件升级程序的同时同步进行从机固件程序的升级所存在的由于固件升级程序接收失败导致的升级失败。
进一步的,如图4所示,在一实施例中,从机420的从机数据处理器421包含初始化单元425、执行单元426以及升级单元427。当主机410发送固件升级程序到从机420时,升级单元427接收固件升级程序并将其保存到固件存储器422的存储空间424中。从机420的从机数据处理器421配置为通过初始化单元425执行初始化操作,在初始化操作中:
初始化单元425配置为判断是否需要固件升级,具体的,在一实施例中,初始化单元425判断存储空间424中是否保存有新版本的固件升级程序;
当需要固件升级时输出升级信号给升级单元427;升级单元427接收到升级信号后读取存储空间424中保存的固件升级程序并将其覆盖写入存储空间423从而完成固件升级;
当初始化单元425判断不需要进行固件升级时发送运行信号到执行单元426,执行单元426配置为接收到运行信号后直接执行存储在存储空间423中的程序并将执行结果反馈给主机410。
进一步的,在一实施例中,升级单元427还配置为当固件升级程序覆盖写入存储空间423完成后(升级完成后)发送运行信号到执行单元426,执行单元426配置为接收到运行信号后直接执行存储在存储空间423中的程序并将执行结果反馈给主机410。
进一步的,在一实施例中,从机在运行时所执行的程序包含两部分,一部分是初始化程序(Bootloader),一部分是从机固件程序。如图5所示,在一实施例中,从机520的固件存储器522包括存储空间523、524以及525。存储空间523配置为存储初始化程序,初始化程序在一般的固件升级操作中是不做修改的。
首先,从机数据处理器521的初始化单元526运行存储空间523中的程序(初始化程序),执行初始化操作,判断是否需要进行固件升级操作(进一步的,在初始化操作中还包含有从机运行参数初始化等其他初始化操作)。在初始化操作完毕后,如果不需要进行固件升级操作,则执行单元527执行存储空间524中存储的程序(从机固件程序)。在初始化操作完毕后,如果需要进行固件升级操作,则升级单元528将存储空间525中的程序(固件升级程序)读出,覆盖写入存储空间524,并且在覆盖写入完成后由执行单元527执行存储空间524中新的程序。
进一步的,在一实施例中,从机的从机处理器配置为在在每次上电时首先执行固件存储器中保存有初始化程序部分的存储空间中的程序。即,在每次上电时,从机首先进行初始化操作(包含运行参数初始化以及升级判断等步骤),在初始化操作完成后,根据升级判断的结果来进行下一步的操作(直接执行程序或先升级再执行升级后的程序)。
进一步的,在一实施例中,由于从机在运行时所执行的程序包含初始化程序以及从机固件程序两部分,并且在一般的升级过程中初始化程序部分并不作修改,仅仅是更新从机固件程序部分。因此,针对初始化程序部分以及从机固件程序部分采用不同的保存和/或写入模式。
具体的,在一实施例中,针对从机固件程序部分采用在应用编程(In ApplicationProgramming,IAP)的方式。即,通过IAP方式将存储有固件升级程序的存储空间中的程序段烧入用于存储从机固件程序的存储空间。
另外,在一实施例中,针对初始化程序部分则采用联合测试工作组(Joint TestAction Group,JTAG)或在系统编程(In System Programming,ISP)的方式。即在从机最初设置时采用JTAG或ISP方式将初始化程序的代码烧入用于存储初始化程序的存储空间中。
进一步的,在一实施例中,在从机的最初设置时采用JTAG或ISP方式将初始化程序的代码烧入用于存储初始化程序的存储空间中,其中,初始化程序包含IAP代码。在升级操作中调用初始化程序的IAP代码将存储有固件升级程序的存储空间中的程序段烧入用于存储从机固件程序的存储空间。在执行从机固件程序部分时,首先需要把处理器的中断向量表映像到自己的向量表,然后再执行其他的操作。
进一步的,在一实施例中,从机上最初的从机固件程序是在初始化程序烧入完成后调用初始化程序的IAP代码烧入的。在另一实施例中,从机上最初的从机固件程序是同初始化程序一起,采用JTAG或ISP方式烧入的。
虽然本实用新型所公开的实施方式如上,但所述的内容只是为了便于理解本实用新型而采用的实施方式,并非用以限定本实用新型。本实用新型所述的技术方案还可有其他多种实施例。在不背离本实用新型实质的情况下,熟悉本领域的技术人员当可根据本实用新型做出各种相应的改变或变形,但这些相应的改变或变形都应属于本实用新型的权利要求的保护范围。
Claims (10)
1.一种用于智能机器人的基于主/从结构的控制系统,所述系统包括主机以及与主机相连的一个或多个从机,所述主机包括:
云端接口,其连接到云端服务器,配置为获取云端服务器推送的固件升级信息;
主机数据处理器,其连接到所述云端接口,配置为根据所述固件升级信息判断是否需要执行从机固件升级,并且当需要执行从机固件升级时通过所述云端接口获取固件升级程序并将获取到的所述固件升级程序输出到所述从机;
所述从机包括:
固件存储器,其配置为存储从机固件程序;
从机数据处理器,其连接到所述主机以及所述固件存储器,配置为根据所述固件升级程序升级所述从机固件程序。
2.根据权利要求1所述的系统,其特征在于:
所述固件存储器包含第一存储空间以及第二存储空间,所述第一存储空间配置为保存所述从机固件程序,所述第二存储空间配置为保存所述固件升级程序;
所述从机数据处理器还配置为当需要固件升级时将所述第二存储空间的数据覆盖写入所述第一存储空间。
3.根据权利要求2所述的系统,其特征在于,所述从机数据处理器还配置为执行初始化操作,在所述初始化操作中,所述从机数据处理器包括:
初始化单元,其判断第二存储空间是否保存有新版本的固件升级程序;
升级单元,其当需要固件升级时将所述第二存储空间的数据覆盖写入所述第一存储空间。
4.根据权利要求3所述的系统,其特征在于,在所述初始化操作中,所述从机数据处理器还包括:
执行单元,其当不需要固件升级时直接执行存储在所述第一存储空间的程序。
5.根据权利要求4所述的系统,其特征在于,在所述初始化操作中,所述从机数据处理器的执行单元,其当所述第二存储空间的文件覆盖写入所述第一存储空间成功完成后执行存储在所述第一存储空间的程序。
6.根据权利要求3-5中任一项所述的系统,其特征在于:
所述固件存储器还包含第三存储空间,所述第三存储空间配置为存储初始程序;
所述从机数据处理器的初始化单元,还配置为执行所述第三存储空间的程序以实现所述初始化操作。
7.根据权利要求6所述的系统,其特征在于,所述从机数据处理器的初始化单元还配置为在每次上电时首先执行所述第三存储空间的程序。
8.根据权利要求7所述的系统,其特征在于,所述从机数据处理器还配置为采用在应用编程的方式将所述第二存储空间的数据覆盖写入所述第一存储空间。
9.根据权利要求8所述的系统,其特征在于,所述第三存储空间配置为采用联合测试工作组或在系统编程的方式写入数据。
10.根据权利要求1所述的系统,其特征在于,所述主机还包含固件暂存器,其中:
所述主机数据处理器配置为通过所述云端接口下载所述固件升级程序并将所述固件升级程序保存到所述固件暂存器;
所述主机数据处理器还配置为将所述固件暂存器保存的所述固件升级程序发送到所述从机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201720300284.5U CN207611373U (zh) | 2017-03-24 | 2017-03-24 | 一种基于主/从结构的控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201720300284.5U CN207611373U (zh) | 2017-03-24 | 2017-03-24 | 一种基于主/从结构的控制系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN207611373U true CN207611373U (zh) | 2018-07-13 |
Family
ID=62792236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201720300284.5U Active CN207611373U (zh) | 2017-03-24 | 2017-03-24 | 一种基于主/从结构的控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN207611373U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110187891A (zh) * | 2019-03-18 | 2019-08-30 | 杭州电子科技大学 | 一种用于多核可编程控制器的程序开发方法及系统 |
CN110515637A (zh) * | 2019-07-12 | 2019-11-29 | 湖南新云网科技有限公司 | 一种程序升级方法、系统及终端设备 |
CN110780909A (zh) * | 2019-10-14 | 2020-02-11 | 武汉虹识技术有限公司 | 分布式嵌入式系统升级方法及装置 |
-
2017
- 2017-03-24 CN CN201720300284.5U patent/CN207611373U/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110187891A (zh) * | 2019-03-18 | 2019-08-30 | 杭州电子科技大学 | 一种用于多核可编程控制器的程序开发方法及系统 |
CN110187891B (zh) * | 2019-03-18 | 2023-03-03 | 杭州电子科技大学 | 一种用于多核可编程控制器的程序开发方法及系统 |
CN110515637A (zh) * | 2019-07-12 | 2019-11-29 | 湖南新云网科技有限公司 | 一种程序升级方法、系统及终端设备 |
CN110780909A (zh) * | 2019-10-14 | 2020-02-11 | 武汉虹识技术有限公司 | 分布式嵌入式系统升级方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511911B (zh) | 系统固件升级包的生成方法及装置 | |
CN207611373U (zh) | 一种基于主/从结构的控制系统 | |
CN100454258C (zh) | 嵌入式系统加载程序与应用程序一体化更新方法 | |
US9223559B2 (en) | Information processing apparatus, electronic control unit, information processing method, and program | |
CN105786549B (zh) | 智能设备及其升级方法 | |
CN109656597A (zh) | 固件升级方法、装置及计算机可读存储介质 | |
CN108536452B (zh) | 一种嵌入式设备及其系统软件升级方法、系统和终端 | |
CN106874032A (zh) | 光模块固件升级的方法、装置及光模块 | |
US11022967B2 (en) | Method for generating a technical system model, executable on a test unit, and the test unit | |
CN104391714A (zh) | 一种车辆的软件更新方法和装置 | |
CN111984261A (zh) | 编译方法与编译系统 | |
CN101667133B (zh) | 固件更新方法和使用该方法更新固件的芯片 | |
US20130030568A1 (en) | Robot system control method and a device therefor | |
CN110262828A (zh) | 系统业务模块配置方法、系统、可读存储介质和设备 | |
CN103019695B (zh) | 数据对象与状态控制逻辑分离系统和方法 | |
CN109800006A (zh) | 一种定制化脚本的发布方法、系统及存储介质 | |
US20220147040A1 (en) | Electronic Control Device and Method for Setting Control Data | |
CN109426511A (zh) | 软核更新方法和系统 | |
CA2997302C (en) | Application migration | |
CN109857397A (zh) | 项目构建的方法、装置和存储介质 | |
CN114281890B (zh) | 一种bios带外管理系统及方法 | |
CN107911816A (zh) | 用于多模IoT设备的启动方法、多模IoT设备及存储介质 | |
CN107436790A (zh) | 一种组件升级管理方法及装置 | |
JP4863449B2 (ja) | 複数のアプリケーションの参照関係を管理する管理システム | |
US7051093B1 (en) | QNX operation system network auto configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |