一种嵌入式设备的在线诊断系统及其方法技术方案

技术编号:5270272 阅读:223 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及嵌入式设备技术领域,特别是一种嵌入式设备的在线诊断系统及其方法。所述嵌入式设备包括一个或多个内部模块,所述系统还包括设置在嵌入式设备内部用于接收用户的诊断请求并返回诊断信息的诊断模块。本发明专利技术现场操作简单易用:由于是一种基于嵌入式软件的在线诊断发明专利技术,嵌入式软件的特点是实时的;同时,在系统任务初始化时,类对象已注册到链表中,诊断任务的相关信息直接可以提出,不需要浪费数据转发的时间了,这样为更快的获得系统需要诊断信息提供时间保障。

【技术实现步骤摘要】

本专利技术涉及嵌入式设备
,特别是。
技术介绍
在嵌入式设备中,需要实时对内部模块进行监控。现有技术如中国专利《嵌入 式软件的在线诊断方法和系统、嵌入式软件装置》(专利号200810137828),该专利内容在 嵌入式软件内部增加一个子模块,该子模块叫做检测代理模块,检测代理模块用来接收嵌 入式软件的各个需要诊断的子模块抄送的报文,并将报文发送给嵌入式软件外部的诊断服 务器进行诊断;嵌入式软件外部的诊断服务器对接收到的报文进行验证处理,发现被诊断 子模块出现的错误时构造正确的新报文下发给检测代理模块,检测代理模块将新报文发送 给需要诊断的子模块,确定出现异常的子模块。该方法存在如下缺陷第一,该诊断方法需要特殊的硬件设备辅助; 第二,该诊断方法需要专门的软件工具辅助;第三,该诊断方法对系统运行进行干扰,系统不能实时运行,传输诊断信息会对系 统进行干扰;第四,该诊断方法不考虑是否是用户需要的信息,这样使用该方法不方便。
技术实现思路
本专利技术的第一个专利技术目的在于提供一种嵌入式设备在线诊断系统,以解决现 有嵌入式设备的在线诊断系统对嵌入式设备运行造成干扰的技术问题。为了实现本专利技术的第一个专利技术目的,采用的技术专利技术如下一种嵌入式设备的在线诊断系统,所述嵌入式设备包括一个或多个内部模块,所述系 统还包括设置在嵌入式设备内部用于接收用户的诊断请求并返回诊断信息的诊断模块。作为一种优选专利技术,所述诊断模块包括依次连接的诊断接口模块、诊断管理处理 模块和对象存储模块诊断接口模块用于接收用户的诊断请求,并通过诊断管理处理模块调取相应内部模块 的诊断信息;诊断管理处理模块根据诊断接口模块传递的诊断请求,从对象存储模块中调取相应内 部模块的诊断信息;对象存储模块存储一个或多个内部模块的对象信息,根据对象信息获取内部模块的诊 断信息。作为进一步的优选方案,所述诊断模块还包括与对象存储模块连接的初始化模 块,所述初始化模块在嵌入式设备初始化的时候,向对象存储模块注册嵌入式设备中一个 或多个内部模块的对象信息。作为进一步的优选方案所述诊断管理处理模块包括互相连接的诊断任务管理模块和诊断任务处理模块,所述诊断任务管理模块用于根据诊断请求,判读所需诊断的内部 模块,所述诊断任务处理模块用于调用对象存储模块调取相应内部模块的诊断信息。作为进一步的优选专利技术,所述对象存储模块采用链表形式存储内部模块的对象。本专利技术的第二个目的,在于提供一种嵌入式设备的在线诊断方法,以应用本专利技术 的第一个专利技术目的提供的在线诊断系统。为了实现本专利技术的第二个专利技术目的,采用的技术专利技术如下 一种嵌入式设备的在线诊断方法,所述方法包括(61)诊断接口模块接收到用户的诊断请求;(62)诊断接口模块向诊断管理处理模块传递诊断请求,要求调取内部模块的诊断信息;(63)诊断管理处理模块从对象存储模块中调取内部模块的诊断信息并返回给诊断接 口模块;(64)诊断接口模块返回内部模块的诊断信息。作为一种优选专利技术,所述方法还包括在嵌入式设备初始化的时候,一个或多个内部模块向对象存储模块注册记录内部模块 的对象信息;所述步骤(63 )从对象存储模块中获取内部模块的对象信息,根据对象信息获取内部模 块的诊断信息。作为进一步的优选专利技术,嵌入式设备初始化时,建立父进程用于执行步骤(61) (64),并为一个或多个内部模块建立基于父进程的子进程,子进程用于调用内部模块的诊 断信息;在嵌入式设备初始化时,把子进程信息注册到对象存储模块,所述内部模块的对象信 息为子进程信息;所述步骤(63 )从对象存储模块获取内部模块的子进程信息,调用子进程获取内部模块 的诊断信息。作为再进一步的优选专利技术,所述内部模块的诊断信息为用户预先设定的用于进行 诊断的内部模块的参数。作为再进一步的优选专利技术,所述子进程信息包括进程号。优选地,本专利技术应用于多屏处理器的实时嵌入式系统,如vxWroks等。本专利技术的有益效果1、本专利技术现场操作简单易用由于是一种基于嵌入式软件的在线诊断专利技术,嵌入式软 件的特点是实时的;同时,在系统任务初始化时,类对象已注册到链表中,诊断任务的相关 信息直接可以提出,不需要浪费数据转发的时间了,这样为更快的获得系统需要诊断信息 提供时间保障。2、不需增加特殊的硬件设备由于本专利技术是基于嵌入式软件架构的专利技术,所以不 涉及特殊的硬件设备。3、不占用内存资源由于各个模块类对象是以注册链表的形式存在的,不涉及占 用内存空间,这样能节省内存。4、不影响系统其它任务的执行,由于只有用户需要诊断时才执行该任务,所以不影响其他任务的运行时间。5、可实时获取被监控对象的状态由于在线诊断任务模块是由多个任务组成的, 在线表示可在处理器工作的同时查询到有关处理器的运行信息;即用户可以随意调取需要 的信息,方便用户及时查询,同时也避免不需要信息查询时间的浪费,所以可以实时获取信 息。附图说明图1为本专利技术实施例在线诊断流程图2为本专利技术实施例在线诊断子进程信号流程图; 图3为本专利技术实施例嵌入式系统初始化流程图。具体实施例方式下面结合附图和具体实施例对本专利技术做进一步详细的说明。如图1所示为本专利技术实施例的在线诊断流程图,具体步骤如下(1)在线诊断接口层(即上述诊断接口模块)接收到用户的诊断请求;(2)在线诊断接口层向在线诊断任务管理层(即上述诊断任务管理模块)传递诊断请 求,要求调取内部模块的诊断信息;(3 )在线诊断任务管理层调用在线诊断任务模块(即上述诊断任务处理模块)从对象存 储模块中调取内部模块的诊断信息并返回给在线诊断接口层;在线诊断任务管理层和在线诊断任务模块共同组成上述诊断管理处理模块。(4)在线诊断接口层返回内部模块的诊断信息。如图2为本专利技术实施例在线诊断子进程信号流程图。父进程为在线诊断任务管理 的任务类,用于实现上述诊断管理处理模块,子进程为内部模块需要诊断的任务类,子进程 为父进程的派生类。每个子进程即是一个需要诊断的对象模块,只需要将每个子进程类对 象注册到类对象链表,当在线诊断任务模块调用链表,可以找到该类对象,进而找到在子进 程实现的用户需要诊断的内容。由于对每个内部模块的诊断都是在子进程中实现,子进程与父进程之间的通讯属 于进程级通讯,速度很快,而且不会对系统造成干扰。如图3所示为本专利技术实施例嵌入式系统初始化流程图。步骤Sl 为在线诊断类任务模块创建一个链表,该链表用于存储即将注册的类对 象;步骤S2 将需要进行在线诊断任务的内部模块创建类对象,将类对象注册到在线诊断 任务的链表中,在模块的对象中实现需要诊断的具体内容;步骤S3 当在线诊断类任务接口层接到命令,分析需要诊断的内部模块,在线诊断类 任务从链表中取出该模块的对象,并获取需要的诊断的信息并返回。权利要求1.一种嵌入式设备的在线诊断系统,所述嵌入式设备包括一个或多个内部模块,其特 征在于,所述系统还包括设置在嵌入式设备内部用于接收用户的诊断请求并返回诊断信息 的诊断模块。2.根据权利要求1所述的在线诊断系统,其特征在于,所述诊断模块包括依次连接的 诊断接口模块、诊断管理处理模块和对象存储模块诊断接口模块用于接收用户的诊断请求,并通过诊断管理处理模块调取相应内部模块 的诊断信息;诊断管理处理模块根据诊断接口模块传递的诊断请求,从对象存储本文档来自技高网...

【技术保护点】
一种嵌入式设备的在线诊断系统,所述嵌入式设备包括一个或多个内部模块,其特征在于,所述系统还包括设置在嵌入式设备内部用于接收用户的诊断请求并返回诊断信息的诊断模块。

【技术特征摘要】

【专利技术属性】
技术研发人员:宋美威吴鹏
申请(专利权)人:广东威创视讯科技股份有限公司
类型:发明
国别省市:81[中国|广州]

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

1