嵌入式系统的更新、故障检测系统及方法与流程

文档序号:15346485发布日期:2018-09-04 22:49阅读:204来源:国知局

本发明属于通信技术领域,具体涉及一种嵌入式系统更新、故障检测系统及方法。



背景技术:

本发明可以实现嵌入式系统代码更新和故障检测功能。实际投入使用的嵌入式系统设备,为了逐步完善性能,需要不断升级运行代码;设备长时间运行后,随着设备的老化,会出现各种故障;无论是代码升级,还是故障定位,以往都是维护人员携带便携式计算机或仪器仪表到设备现场进行更新或者故障处理,这种方式耗时昂贵,而且效率低下。如果能利用无处不在的互联网接入点,对嵌入式系统进行远程代码升级,或者通过互联网对设备内部多个模块的故障情况进行远程诊断,给维修提供有价值的信息,就可以让升级维护和检测维修过程成本更低,而且省时省力。



技术实现要素:

为了解决现有嵌入式系统更新和故障检测耗时和效率低下的问题,本发明提供一种嵌入式系统的更新和故障检测方法,通过互联网接入点对远端嵌入式系统的多个嵌入式芯片进行代码更新,并可以对多个嵌入式模块及外围组件进行故障检测,具体通过以下技术方案予以实现:

嵌入式系统的更新和故障检测系统,包括:一个或多个嵌入式系统、数据交换装置、远程接入主机、本地计算机,其中:

所述本地计算机,用于以远程通信的方式向所述远程接入主机发送请求数据;

所述远程接入主机,用于接收所述本地计算机的请求数据,根据所述请求数据运行相应的软件,并生成系统更新数据或故障检测数据,并将所述系统更新数据或故障检测数据通过串行通信方式发送给所述数据交换装置;

所述数据交换装置,用于在所述远程接入主机和所述其中一个嵌入式系统之间建立透明传输通路,所述透明传输通路用于远程接入主机和所述其中一个嵌入式系统之间进行非解析的直接数据交换;

所述一个或多个嵌入式系统中需要更新或故障检测的嵌入式系统,用于根据所述系统更新数据或故障检测数据进行系统更新或故障检测;

其中,所述本地计算机的软件模块包括:

远程数据发送模块,用于向远程接入主机发送更新或者检测数据请求。

其中,所述远程接入主机的软件模块包括:

远程接收模块,用于接收所述本地计算机发送的请求数据;

嵌入式更新模块,用于根据所述请求数据运行更新调试软件,生成所述系统更新数据;

故障检测模块,用于根据所述请求数据运行故障检测软件,生成所述故障检测数据;

串行收发模块,用于实现远程接入模块与数据交换装置之间的通信功能;

模式切换模块,用于对数据交换装置在业务模式、更新模式以及故障检测模式三种模式中进行切换;

其中,所述数据交换装置包括串行收发模块,用于实现数据交换装置与所述嵌入式系统之间的通信功能;

所述的嵌入式系统包括的功能模块:

串行收发模块,用于实现嵌入式系统与数据交换装置之间的通信功能;

更新模块,用于切换嵌入式系统工作模式,并根据接收数据进行系统更新。

本系统故障检测模块,用于上报本系统的故障数据。

其中,所述远程通信方式包括以下之一,以太网、串口、can总线;所述串行通信方式包括以下之一:rs485、rs232、rs422、控制器局域网can、通用串行总线usb、modbus。

所述数据交换装置包括模式转换模块,用于将数据交换装置在业务工作模式、系统更新模式以及故障检测模式下进行切换。

其中,所述的数据交换装置还包括通道切换模块,通道切换模块完成远程接入主机与多个不同的待更新待检测嵌入式系统之间的数据通路的切换任务,某一时刻远程接入主机只和一个待更新待检测嵌入式系统建立透明传输通路。

嵌入式系统的更新方法,包括:

本地计算机通过远程通信的方式向所述远程接入主机发送请求数据;

所述远程接入主机接收到所述的请求数据后,将远程接入主机的控制权交给本地计算机,本地操作人员在远程主机运行所述嵌入式更新模块产生系统更新数据包,远程接入主机通过串行通信方式将所述系统更新数据包发送给所述数据交换装置;

所述数据交换装置接收到所述系统更新数据包后,在待更新的嵌入式系统与远程接入主机之间建立透明传输通路;

待更新的嵌入式系统通过所述透明传输通路接收所述远程接入主机发送的系统更新数据包,嵌入式系统收到更新数据后,对嵌入式芯片运行代码进行更新,更新完毕后产生更新校验码,并通过透明传输通路将校验码返回给远程接入主机;

其中,所述数据交换装置接收到所述系统更新数据包后,从业务模式切换到更新模式;

其中,所述系统更新数据包包括:模式切换命令、需要更新的嵌入式系统的地址码,更新数据和校验数据。

其中,每个待更新的嵌入式系统更新完毕后,远程接入主机向所述数据交换装置发送下一个待更新的嵌入式系统的地址码,对下一个待更新的嵌入式系统进行更新。

嵌入式系统的故障检测方法,包括:

本地计算机通过远程通信方式向所述远程接入主机发送请求数据;

所述远程接入主机接收到所述的请求数据后,将远程接入主机的控制权交给本地计算机,本地操作人员在远程主机运行所述故障检测模块产生故障检测数据包,远程接入主机通过串行通信方式将故障检测数据包发送给数据交换装置;

所述数据交换装置接收到所述故障检测数据包后,在远程接入主机和待诊断的嵌入式系统之间建立透明传输通路;

待诊断的嵌入式系统通过所述透明传输通路接收远程接入主机发送的故障检测数据包进行故障检测;

其中所述故障检测数据包包括,待诊断嵌入式系统的地址码、故障诊断命令、诊断数据;

所述数据交换装置接收到所述故障检测数据包后,由业务模式切换到故障检测模式。

每个待诊断的嵌入式系统诊断完毕后,所述远程接入主机向所述数据交换装置发送下一个嵌入式系统地址码,对下一个待诊断的嵌入式系统进行诊断。

其中,待诊断的嵌入式系统通过所述透明传输通路接收远程接入主机发送的故障检测数据包进行故障检测,具体包括:待诊断的嵌入式系统接收到故障检测数据包后,执行所述故障诊断命令,并向远程接入主机返回检测数据,通过对检测数据分析并判定该嵌入式系统的故障状况。

以上技术方案与现有技术相比具有以下技术效果:

1、本发明在现有的嵌入式系统基础上,通过在本地计算机向远程接入主机发送远程命令,运行远程接入主机上的系统更新软件、检测软件来实现系统更新和故障排查,避免了调试人员携带设备去现场调试,可以节省大量人力成本,提高了工作效率。

2、本发明不需要增加额外的硬件模块,只需要在嵌入式系统本身的硬件基础上,占用一少部分硬件和软件资源,增加软件配置项,就可以实现远程代码更新和故障诊断功能,达到了节省了硬件成本和嵌入式系统规模的目的。

3、本发明进行系统更新和故障检测时,数据交换装置是远程接入主机和嵌入式系统之间的多路开关选择通路,在一个更新任务或调试任务过程中,数据交换装置会在远程接入主机和某一个嵌入式系统之间建立透明传输通路,远程接入主机和这个嵌入式系统之间的数据不再经过数据交换装置的解析转发,而是两者之间的数据进行透明传输,使远程更新成为可能;透明传输的数据通路,给故障检测和故障判定提供了更丰富的信息,提高了故障检测的效率。

附图说明

图1是本发明嵌入式系统的更新和故障检测系统结构示意图;

图2是本发明嵌入式系统的更新方法流程图;

图3是本发明嵌入式系统的故障检测方法流程图。

具体实施方式

为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,以下仅是本发明的一部分实施例,而非保护的全部内容。

实施例1

嵌入式系统的更新和故障检测系统,如图1,包括:本地计算机、远程接入主机、数据交换装置和一个或多个嵌入式系统,其中本地计算机和远程接入主机与所述名称和功能一致,系统中控单元部分功能与所述数据交换装置功能相同。

其中,本地计算机,用于通过远程通信的方式向所述远程接入主机发送请求数据;

远程接入主机,用于根据接收到的所述请求数据运行软件,并生成系统更新数据或故障检测数据,并将系统更新数据或故障检测数据通过串行通信方式转发给数据交换装置。

数据交换装置,业务模式下用于完成所述远程接入主机和多个嵌入式系统之间交互数据的解析;更新模式或故障检测模式下,用于在所述远程接入主机和某个嵌入式系统之间建立透明传输通路。

其中,本实施例中的一个或多个嵌入式系统包括伺服控制单元、数据采集单元和射频信号产生单元(图中未标出),其都是需要更新或故障检测的嵌入式系统。

其中,远程接入主机包括:远程接入模块:本例使用的是以tcp/ip(因特网传输互联协议)协议运行的远程接入控制软件,具体可以是teamviwer,用于接收所述本地计算机发送的请求数据;嵌入式更新模块:不同的嵌入式系统对应于不同的嵌入式更新模块,本例中使用了两种嵌入式更新模块,分别是以uart(通用异步收发)协议运行的st(意法半导体)公司mcu(微控制器)的flymcu软件工具,和以uart(通用异步收发)协议运行的atmel公司的flip软件工具,用于根据请求数据运行更新软件,生成系统更新数据;故障检测模块是由系统开发人员编写的上位机测试软件,根据要检测的故障目标,生成故障检测数据;串行收发模块,本例中使用moxa(磨砂卡)卡将pc机的usb(通用串行总线)端口和rs422接口的数据相互转换,用于实现远程接入主机与系统中控单元之间的数据交换。

其中,数据交换装置与伺服控制单元之间使用rs232协议通讯,数据交换装置与数据采集单元之间使用rs232协议通讯,数据交换装置与射频信号产生单元之间使用rs232协议通讯。

伺服控制单元包括:uart(通用异步收发)收发模块,用于实现伺服控制单元与数据交换单元之间串行通信;

更新模块:以fpga(现场可编程门阵列)实现,当接收到更新启动命令后对伺服控制单元的mcu(微控制器)芯片at89c51cc01进行复位并进入bootloader模式,更新代码完成后下载完成后,更新模块对mcu(微控制器)芯片at89c51cc01进行复位并进入正常工作模式。

其中,远程通信方式包括以下之一,以太网、串口、can总线;串行通信方式包括以下之一:rs485、rs232、rs422、控制器局域网can、通用串行总线usb、modbus。

其中,数据交换装置还包括模式切换模块,如本例中以fpga(现场可编程门阵列)实现的通道切换模块,依据远程接入主机发送来的通道切换命令,可以选择远程接入主机与伺服控制单元、数据采集单元或射频信号采集单元之间形成透明传输通道。某一时刻远程接入主机只和一个待更新检测的嵌入式系统保持透明传输通路。

本实施例中使用的所有硬件设备都是系统原有装置,不需要为了远程更新和调试而专门增加硬件设备,本实施例中的本地计算机,在非更新调试模式情况下作为外场设备的状态监测主机使用,本实施例中的远程接入主机,在非更新调试模式情况下作为主机设备的控制显示计算机。本实施例中的系统中控单元,在非更新调试模式情况下作为控制显示计算机与设备主机之间的数据解析和交互单元。

实施例2

本实施例提供一种嵌入式系统的更新方法,在实施例1的基础上,如图2,包括以下步骤:

在本地计算机上运行teamviwer软件,通过远程通信的方式向远程接入主机发送连接请求;远程接入主机teamviwer接收到的请求数据后,建立连接,本地计算机获取远程接入主机的控制权。

本地人员在远程接入主机上运行串口助手软件,向数据交换装置发送通道切换数据,数据交换装置接收到通道切换数据后,在远程接入主机和伺服控制单元(待更新的嵌入式系统)之间建立透明传输通路。

远程接入主机和伺服控制单元之间可以直接交互数据,本地人员在远程接入主机上向伺服控制单元发送更新启动命令,伺服控制单元接收到更新启动命令后,远程接入主机通过建立的透明传输通道向伺服控制单元发送更新数据,伺服控制单元的fpga更新控制模块对mcu(微控制单元)进行复位操作,mcu(微控制单元)复位后进入boot模式。

其中,系统更新数据包包括:模式切换命令、更新数据和需要更新的嵌入式系统的地址码。

数据交换装置接收到所述系统更新数据包后,也从正常工作模式转换到系统更新模式,本地人员在远程接入主机上启动flip软件,点击连接操作,flip软件和mcu成功建立连接后,选择烧结文件,并执行写入命令,写入完成后,执行验证操作,验证完成后,代码已经写入到mcu中。

本地人员退出flip软件,运行串口助手软件,向伺服控制单元发送更新结束命令,伺服控制单元接收到更新完毕命令后,对mcu进行复位并进入程序执行模式,伺服控制系统代码更新完成。

本地人员通过串口助手向系统中控单元发送通道关闭命令,数据交换装置断开远程接入主机和伺服控制单元之间的透明传输通道,数据交换装置恢复到业务模式,至此对伺服控制单元完成了一次完整的代码更新任务。

一个嵌入式系统更新完毕后,本地人员可以向数据交换装置发送下一个通道切换地址码,并使下一个嵌入式单元进入更新模式,重复上述更新过程。可以将所有嵌入式系统进行更新。

所有需要更新的嵌入式系统更新完毕后,本地人员在远程接入主机上用串行收发软件向数据交换装置发送退出系统更新模式命令。数据交换装置的模式转换模块将工作模式从更新模式切换回正常业务模式,更新后的嵌入式系统和远程接入主机之间的透明传输通路断开。

本地人员在远程接入主机上启动终端业务软件,整个系统恢复到更新之前的业务运行状态。

本地人员释放对远程接入主机的控制权,关闭远程控制软件,更新过程完毕。

实施例3

一种嵌入式系统的故障检测方法,如图3,包括:

本地计算机通过远程通信方式向所述远程接入主机发送请求数据;

远程接入主机接收到所述的请求数据后,运行所述故障检测模块产生故障检测数据包,远程接入主机通过串行通信方式将故障检测数据包发送给数据交换装置;

数据交换装置接收到所述故障检测数据包后,在远程接入主机和待诊断的嵌入式系统之间建立透明传输通路;

待诊断的嵌入式系统通过透明传输通路接收远程接入主机发送的故障检测数据包进行故障检测;

其中所述故障检测数据包包括,待诊断嵌入式系统的地址码、故障诊断命令、诊断数据;

数据交换装置接收到故障检测数据包后,也由工作模式转换到故障检测模式;

其中,还包括,每个待诊断的嵌入式系统诊断完毕后,远程接入主机向数据交换装置发送下一个嵌入式系统诊断命令,对下一个待诊断的嵌入式系统进行诊断。

其中,待诊断的嵌入式系统通过透明传输通路接收远程接入主机发送的故障检测数据包进行故障检测。具体包括:待诊断的嵌入式系统接收到故障检测数据包后,执行所述故障诊断命令,并向远程接入主机返回检测数据,通过对检测数据进行分析判定该待诊断的嵌入式系统的故障状况。

本发明提供的嵌入式系统的故障检测方法,无需设备维护人员携带设备去现场进行检测,直接通过本地计算机远程获取远程接入主机的控制权,远程接入主机从正常工作模式转换成故障检测模式,并通过串行通信方式向数据交换装置发送故障检测数据包,进行故障检测,通过在待检测的嵌入式系统与远程接入主机之间建立透明传输通路,待检测的嵌入式系统通过透明传输通道向远程接入主机返回检测数据,通过对检测数据进行分析判定该嵌入式系统的故障状况。

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