通过CAN总线远程升级的嵌入式系统及方法技术方案

技术编号:11018467 阅读:130 留言:0更新日期:2015-02-11 09:09
本发明专利技术提供了一种通过CAN总线远程升级的嵌入式系统,包括远程控制设备和N台嵌入设备,每个嵌入设备包括:CAN总线接口,用于接收远程控制设备发来的控制指令并发送给控制模块,同时接收本台嵌入设备的状态数据和请求数据并发送到远程控制设备;控制模块,用于接收控制指令并判断目标ID是否与本台嵌入设备的ID相同,当目标ID与本台嵌入设备的ID相同时,将根据升级指令对控制模块中的程序区进行升级或根据设置指令来设置功能模块的状态。本发明专利技术还公开了一种通过CAN总线远程升级嵌入设备的方法。本发明专利技术只要通过一条双芯导线连接所有设备,就可以对一些不便于拆卸的和异地的系统进行升级,方便了用户的使用。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种通过CAN总线远程升级的嵌入式系统,包括远程控制设备和N台嵌入设备,每个嵌入设备包括:CAN总线接口,用于接收远程控制设备发来的控制指令并发送给控制模块,同时接收本台嵌入设备的状态数据和请求数据并发送到远程控制设备;控制模块,用于接收控制指令并判断目标ID是否与本台嵌入设备的ID相同,当目标ID与本台嵌入设备的ID相同时,将根据升级指令对控制模块中的程序区进行升级或根据设置指令来设置功能模块的状态。本专利技术还公开了一种通过CAN总线远程升级嵌入设备的方法。本专利技术只要通过一条双芯导线连接所有设备,就可以对一些不便于拆卸的和异地的系统进行升级,方便了用户的使用。【专利说明】通过CAN总线远程升级的嵌入式系统及方法
本专利技术涉及一种嵌入式系统领域,更具体地,涉及一种通过CAN总线远程升级的嵌入式系统及方法。
技术介绍
目前,嵌入式系统都具备在线升级功能,但是很多设备的升级只是局限于串口或其他专用接口。也有一些具备以太网接口的设备使用以太网升级,但是对于不具备以太网接口或因为各种原因不能使用以太网的设备就不能实现远程升级。而且现有的升级系统不能确保升级成功,如果升级失败,将需要派工程师到现场或者将系统发给开发人员才能解决,浪费了人力、物力,不能提高工作效率。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种通过CAN总线远程升级的嵌入式系统及方法,能够解决现有技术中存在的不能对不便于拆卸的和远程的系统进行升级的问题。 为达到上述目的,本专利技术的技术方案是这样实现的: 一方面,本专利技术提供了一种通过CAN总线远程升级的嵌入式系统,包括远程控制设备和N台嵌入设备,每个嵌入设备包括:CAN总线接口、控制模块和功能模块,其中,CAN总线接口,通过CAN总线与远程控制设备相连,用于接收远程控制设备发来的控制指令并发送给控制模块,同时接收控制模块发来的本台嵌入设备的状态数据和请求数据并发送到远程控制设备;其中,控制指令包括:对控制模块的升级指令和对功能模块的设置和数据传输指令;控制指令的完整格式包括:帧信息、同步头、目标类型ID、源设备类型ID、目标ID、源ID、命令、命令数据、校验和;控制模块,与CAN总线接口和功能模块相连,用于接收控制指令并判断目标ID是否与本台嵌入设备的ID相同,当目标ID与本台嵌入设备的ID相同时,将根据升级指令对控制模块中的程序区进行升级或根据设置指令来设置功能模块的状态。 优选地,在使用嵌入设备之前,对在同一条CAN总线上的远程控制设备和N台嵌入设备设置不同的ID,且每台设备的ID是唯一的。 优选地,控制模块还包括程序存储器和处理器,其中,程序存储器,用于存储系统的各类程序,包括:升级程序、主程序、用户程序和用户主程序,远程升级时,只升级用户程序和用户主程序;处理器,用于当收到升级指令时,根据升级指令对用户程序和用户主程序进行升级并将升级结果通过CAN总线接口反馈给远程控制设备,其中升级指令包括:升级标志、升级开始命令、需要升级的代码的长度和升级数据。 优选地,控制模块还用于将每台嵌入设备的状态数据和请求数据通过CAN总线接口发送给远程控制设备。 优选地,冋步头为起始标志,当收到冋步头即开始接收控制指令;目标ID为接收控制指令的目标设备的ID ;源ID为发送控制指令的设备的ID ;命令为对嵌入设备所做的操作指令及数据内容的说明;命令数据为与所述操作指令相关的数据和嵌入设备返回的状态数据和请求数据。 优选地,用户程序代码的最高地址低于主程序代码的地址。 另一方面,本专利技术还提供了一种通过CAN总线远程升级嵌入设备的方法,包括:远程控制设备通过CAN总线接口将控制指令发送给控制模块;其中,控制指令包括:对控制模块的升级指令和对功能模块的设置和数据传输指令;控制指令的完整格式包括:帧信息、同步头、目标类型ID、源设备类型ID、目标ID、源ID、命令、命令数据、校验和;控制模块接收控制指令并判断目标ID是否与本台嵌入设备的ID相同,当目标ID与本台嵌入设备的ID相同时,将根据升级指令对控制模块中的程序区进行升级或根据设置指令来设置功能模块的状态。 优选地,在使用所述嵌入设备之前,对在同一条CAN总线上的远程控制设备和N台嵌入设备设置不同的ID,且每台设备的ID是唯一的;控制模块还用于将每台嵌入设备的状态数据和请求数据通过CAN总线接口发送给远程控制设备。 优选地,控制模块中的处理器当收到升级指令时,根据升级指令对程序存储器中的用户程序和用户主程序进行升级并将升级结果通过CAN总线接口反馈给远程控制设备,其中升级指令包括:升级标志、升级开始命令、需要升级的代码的长度和升级数据。 优选地,冋步头为起始标志,当收到冋步头即开始接收控制指令;目标ID为接收控制指令的目标设备的ID ;源ID为发送控制指令的设备的ID ;命令为对嵌入设备所做的操作指令及数据内容的说明;命令数据为与操作指令相关的数据和嵌入设备返回的状态数据和请求数据。 本专利技术的技术效果: 1.由于本专利技术中为每台嵌入设备设置一个CAN总线接口和唯一 ID,在多台嵌入设备环境下通过CAN总线对嵌入设备实现远程升级,方便了用户的使用; 2.由于本专利技术通过CAN总线将远程控制设备与嵌入设备相连,只要通过一条双芯导线连接所有设备,就可以实现一些不便于拆卸的和异地的系统升级,解决了现有技术中由于各种原因导致的不能对设备进行远程升级的问题; 3.本专利技术在升级过程中加了多重保护,可以确保升级成功,这一点在远程升级中特别重要,否则出现升级失败,将需要派工程师到现场或者将系统发给开发人员才能解决,节省了人力、物力,提高了工作效率。 【专利附图】【附图说明】 此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1示出了根据本专利技术实施例一的通过CAN总线远程升级的嵌入式系统结构示意图; 图2示出了根据本专利技术实施例二的通过CAN总线远程升级的嵌入式系统结构示意图; 图3示出了根据本专利技术实施例二的通过CAN总线远程升级的嵌入式系统的程序存储器结构示意图; 图4示出了根据本专利技术实施例三的通过CAN总线远程升级的嵌入式系统的连接方式示意图; 图5示出了根据本专利技术实施例四的通过CAN总线远程升级的嵌入式系统的连接方式示意图; 图6示出了根据本专利技术实施例五的通过CAN总线远程升级嵌入设备的方法的流程图; 图7示出了根据本专利技术实施例六的通过CAN总线远程升级嵌入设备的方法中嵌入设备的具体处理流程图; 图8示出了根据本专利技术实施例七的通过CAN总线远程升级嵌入设备的方法中远程控制设备的具体处理流程图。 【具体实施方式】 下面将参考附图并结合实施例,来详细说明本专利技术。 实施例一 图1示出了根据本专利技术实施例一的通过CAN总线远程升级的嵌入式系统结构示意图;如图1所示,该系统包括:远程控制设备和N台嵌入设备,每台嵌入设备包括:CAN(Controller Area Net-work,控制器局域网)总线接口 10、控制模块20和功能模块30,其中, 远程控制设备可以是P本文档来自技高网...

【技术保护点】
一种通过CAN总线远程升级的嵌入式系统,包括远程控制设备和N台嵌入设备,其特征在于,每个所述嵌入设备包括:CAN总线接口、控制模块和功能模块,其中, 所述CAN总线接口,通过CAN总线与所述远程控制设备相连,用于接收所述远程控制设备发来的控制指令并发送给所述控制模块,同时接收所述控制模块发来的本台嵌入设备的状态数据和请求数据并发送到所述远程控制设备; 其中,所述控制指令包括:对所述控制模块的升级指令和对所述功能模块的设置和数据传输指令; 所述控制指令的完整格式包括:帧信息、同步头、目标类型ID、源设备类型ID、目标ID、源ID、命令、命令数据、校验和; 所述控制模块,与所述CAN总线接口和所述功能模块相连,用于接收所述控制指令并判断所述目标ID是否与本台嵌入设备的ID相同,当所述目标ID与本台嵌入设备的ID相同时,将根据所述升级指令对所述控制模块中的程序区进行升级或根据所述设置指令来设置所述功能模块的状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄喜荣
申请(专利权)人:北京同步科技有限公司
类型:发明
国别省市:北京;11

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

1