掌桥专利:专业的专利平台
掌桥专利
首页

一种光电设备的程序更新方法及装置

文献发布时间:2024-04-18 19:58:26


一种光电设备的程序更新方法及装置

技术领域

本发明属于计算机软件程序更新技术领域,尤其涉及光电设备的程序更新方法及装置。

背景技术

嵌入式处理器因其应用灵活、编程方便,已广泛应用于各种专用设备中,使其具有数据处理、运算、逻辑判断等功能。

JTAG(Joint Test Action Group)作为一种标准测试协议,被绝大多数处理器支持,除用于芯片测试外,还用于在线编程仿真调试。

光电设备(后文简称设备)是一种功能丰富、内部集成多种板卡的专用设备,这些板卡用于完成通信控制、伺服控制、数据处理等功能。

通常,在设备小批量研发阶段,含处理器的板卡会将JTAG接口引至板载插座,通过板载插座接入专用仿真调试器,实现程序在板在线仿真调试。最后,通过仿真器将代码固化到处理器内部的存储空间中。

设备进入外场验证及售后保障维护阶段,当处理器应用程序需要更新时,如还通过在板仿真下载程序,则必须将设备机壳打开。如此,不仅增加了程序更新的工作量,而且还会破坏光电设备的密封性。为避免上述情况,除采用处理器ISP功能(即利用处理器上某个特定的外设通信接口实现程序更新)外,也可将JTAG接口引出至设备壳体对外插座上,通过外接插头实现仿真器与处理器JTAG接口相连接,从而实现程序更新。

JTAG接口支持菊花链,具有扩展性,可将设备中多个具有JTAG接口的处理器通过菊花链连接方式串接起来,实现一个接口访问不同芯片的能力。有专利及文章利用该方法巧妙地设计了仿真下载电路,比如支持自由进出的JTAG菊花链。

将设备内部板卡的JTAG接口引出至设备壳体对外连接器上;同时设备内部采用支持自由进出的JTAG菊花链电路,不仅解决了设备后期程序更新需要拆卸单体机壳的问题,同时也支持内部多个处理器的访问与升级。但该方案存在两个缺点,第一,JTAG接口有六根信号线nTRST、TCK、TMS、TDI、TDO以及nRST,所需连接器引脚资源多;第二,需要专用的仿真器硬件支持,增加售后维护成本。

发明内容

针对以上两个缺点,本发明的目的是设计一个利用CAN(控制器局域网,Controller Area Network)接口对光电设备的程序进行更新的装置及其方法,不仅利于统一管理嵌入式应用程序,而且操作简便,适用于保障及售后维护现场快速更新程序。

本发明一种光电设备的程序更新方法,包括以下步骤:

步骤一、程序更新装置加载应用程序文件;

步骤二、设置初始化工作,当程序更新装置的CAN接口接收到来自设备的总线数据后,判断数据中的源地址码,如果数据库中没有,则增加数据库条目,若有相应的源地址码,则自动选择相应的条目,准备进入下一步操作;

步骤三、下载应用程序文件。

进一步地,在步骤一加载应用程序文件中,将bin文件从计算机上直接拷贝到采用FAT32文件存储格式的移动存储介质中,然后将移动存储介质插入程序更新装置,供其读取。

进一步地,在步骤一加载应用程序文件中,通过网络接口,计算机通过浏览器访问程序更新装置,将计算机中应用程序文件通过浏览器中的操作接口拷贝至程序更新装置中的Flash中。

进一步地,在步骤三下载应用程序文件中,利用计算机网页浏览器访问服务操作对应的菜单,下载应用程序文件到对应的目的站码地址的处理器中。

进一步地,在步骤三下载应用程序文件中,将所述程序更新装置内存储的待更新应用程序文件通过CAN接口传输到相应设备的处理器中。

本发明一种光电设备的程序更新装置,包括处理器;CAN接口,用于访问支持CAN总线IAP的处理器;Flash,作为所述装置内置存储介质实现待更新程序的本地存储;RAM,用于在程序更新时,将需更新的应用程序提前读取到内存中,加快程序文件访问与更新;ETH网口,用于网络连接。

进一步地,内嵌网页服务器的程序更新装置可通过ETH网口被计算机通过网页浏览器访问,根据浏览器上的提示操作,将需更新的应用程序上传到程序更新装置内的Flash中。

进一步地,还包括USB接口和/或SDIO接口,USB接口支持OTG,用于外接U盘存储介质,访问U盘内的程序文件;SDIO接口用于外接SD存储卡,访问SD存储卡内的程序文件。

进一步地,还包括键盘与显示器,用于人机交互。

本发明提出了一种光电设备的程序更新方法及装置,将计算机内利用编译器编译生成用于更新处理器的应用程序文件,通过常用的移动存储介质或者网线连接方式,便捷地加载到程序更新装置中。操作程序更新装置直接将应用程序通过CAN总线更新至设备内指定的处理器中。本发明方便产品调试、维护升级,以及应用程序文件管理。

附图说明

图1为程序更新装置与被更新单体之间的关系示意图;

图2为程序更新装置内部模块组成示意图;

图3为专用键盘与显示器布局图;

图4为站码数据库示意图;

图5为数据库编辑条目示意图;

图6为本发明工作初始设置流程图;

图7为存储介质选项菜单示意图;

图8为选择待升级应用示意图;

图9为站码选择菜单示意图;

图10为程序文件下载示意图;

图11为本发明下载操作的人机交互流程图;

图12为程序更新装置内处理器与待升级处理器的运行流程图;

图13为简化版的程序更新装置内部模块组成示意图;

图14为将程序更新装置集成于设备单体中的示意图;

图15为在系统中增加程序更新装置的示意图。

具体实施方式

为了更好地了解本发明的目的、方案及功能,下面结合附图1-15,对本发明一种光电设备的程序更新方法及装置做进一步详细的描述,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

实施例1:

光电设备的应用程序更新装置(后文简称程序更新装置)与待更新程序的设备单体的连接关系如图1所示。图1中,左侧外框代表光电设备,内部小框B(1)至B(n)代表设备内n个具有处理器的板卡,各板卡上的处理器均挂载于CAN总线上,通过CAN总线与外部设备交互信息。程序更新装置通过CAN总线对设备内处理器进行程序更新的基本思路是利用处理器的IAP(在应用编程,In Application Programming)功能将存储在程序更新装置内的待更新程序直接更新到相应的处理器中。

利用程序更新装置更新的处理器,其代码设计须满足两个条件。第一,CAN总线通信扩展帧ID字段必须符合《商用车控制系统局域网络(CAN总线)通信协议》,CAN协议中ID字段最低8位代表源地址;第二,程序内部代码分为两部分,一部分是用户编写的Bootloader代码,处理器上电便执行该代码,用于检查是否有来自外设接口的应用程序更新请求,如果有,则将待下载更新的应用程序按规定的起始地址写入,如果没有,则重新初始化中断向量,然后修改程序指针使其跳转到原应用程序代码的首地址并开始执行原应用程序代码。Bootloader代码存储地址与应用程序代码存储地址不得有冲突。

程序更新装置的内部组成如图2所示。程序更新装置中CAN接口用于访问支持CAN总线IAP的处理器;USB接口支持OTG(数据传输技术,On-The-Go),用于外接U盘存储介质,访问U盘内的程序文件;SDIO(安全数字输入输出接口,Secure Digital Input and Output)接口用于外接SD存储卡,访问SD存储卡内的程序文件;Flash作为程序更新装置内置存储介质实现待更新程序的本地存储;内嵌网页服务器的程序更新装置可通过ETH网口被计算机通过网页浏览器访问,根据浏览器上的提示操作,将需更新的应用程序上传到程序更新装置内的Flash中。RAM作为内存,在程序更新时,将需更新的应用程序提前读取到内存中,加快程序文件访问与更新;专用键盘与显示器是程序更新装置的人机交互界面,可以选取程序更新装置内的程序文件进行下载更新。专用键盘由五个按键组成,分别是

程序更新装置的工作原理是利用光电设备内部支持IAP功能的处理器,将装置内存储的待更新应用程序文件通过CAN接口更新传输到相应的处理器中。应用程序文件是编译器对源代码编译后生成的后缀名为bin的二进制文件。

程序更新装置的操作主要分为三个部分:加载应用程序文件、设置初始化工作及下载应用程序文件。

程序更新装置加载应用程序文件有两种途径,参见图3,一种是将bin文件从计算机上直接拷贝到采用FAT32文件存储格式的移动存储介质U盘或者SD卡中,然后将移动存储介质插入程序更新装置,供其读取。另一种是利用SSI(服务器端,Server Side Include)技术,将与交互界面操作相关的文本及图形等包含于网页中,作为嵌入式服务的一部分嵌入到处理器中。采用CGI(公共网关接口,Common Gateway Interface)技术,建立用户应用程序与嵌入式服务器之间的标准接口,使用户应用程序和Web服务器之间传递信息,从而使浏览器中的网页具有交互功能。通过网络接口,计算机可以直接通过浏览器访问程序更新装置,将计算机中应用程序文件通过浏览器中的操作接口拷贝至程序更新装置中的Flash中。

设置初始化工作是程序更新装置将应用程序文件更新到相应处理器前的准备工作。除对程序更新装置自身的离线初始设置操作外,还有待更新程序单体的在线设置操作。离线初始设置是通用设置,即在通电条件下无外接设备的设置操作。在图3所示主界面示意图中,点击上下按键,选择条目1,点击回车键进入站码数据库,如图4所示。

站码数据库每个条目包含有站码名称与站码号,根据光电设备内实际各处理器的CAN源地址进行相应名称的字符命名,易于操作员辨认区分。在离线状态下,选择对应数据库条目,点击回车键,进入编辑数据库菜单,如图5所示。在编辑菜单中将对应条目都清空,则删除数据库。选择“……”项编辑,则是增加数据库。而在线设置是指,当程序更新装置的CAN接口接收到来自设备的总线数据后,会判断数据中的源地址码,如果数据库中没有相应的源地址码,则会自动增加站码号,并缺省站码名,如图4中条目4所示。若有相应的源地址码,则会自动选择相应的条目,准备进入下一步操作。工作初始设置流程图如图6所示,这里略去同名与同站码的处理操作。

前面两项工作都完成后,进入升级程序的最后一步操作—下载应用程序文件。程序更新装置首先要从图3所示主界面进入第2项存储介质项,如图7,选择应用更新程序所处的存储介质。在存储介质中,选择待升级的应用程序文件,如图8所示。

确认了待升级的应用程序文件后,进一步确认站码如图9所示。选择站码后,开始执行下载操作,如图10所示。上述人机交互操作的流程如图11所示。程序更新装置与设备内处理器的程序执行流程分别如图12所示。

实施例2:

设计简化版的程序更新装置,裁掉移动存储介质加载应用程序文件的功能,直接通过网络接口将计算机中的应用程序文件加载到Flash中。其组成结构如图13所示。

裁剪后,加载文件操作中计算机仅能通过网口将应用程序文件拷贝到程序更新装置的Flash中,其余操作均相同。

实施例3:

在某些平台系统应用中,将程序更新装置裁减掉键盘与显示器,作为平台系统设备的一部分集成于设备单体中,如图14所示。

在程序更新装置中的嵌入式服务中增加通过网页操作编辑目的站程序的选项,直接利用计算机网页浏览器访问服务操作对应的菜单,下载应用程序文件到对应的目的站码地址的处理器中。

实施例4:

在光电设备与其他CAN总线设备同时存在的系统中,在空间允许的条件下可将程序更新装置作为系统中的单体之一,与系统中其余单体并列,如图15所示。

直接利用系统中与网络交换机相连接的终端计算机访问程序更新装置,通过浏览器将终端计算机中管理的应用程序文件拷贝至程序更新装置,并指定所更新的处理器。程序更新装置为CAN总线上所有处理器建立、维护程序数据库,支持对连接至CAN总线上的所有处理器进行应用程序更新升级。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种FPGA程序更新方法、装置及设备
  • 一种生成引导程序的方法、开机广告更新方法及终端设备
  • 一种更新设备设置的方法及设备设置装置
  • 程序版本更新方法及装置、存储介质及电子设备
  • 一种应用程序更新方法、存储介质和终端设备
  • 一种程序更新方法、程序更新装置及电子设备
  • 程序文件的更新方法、程序文件的更新装置和电子设备
技术分类

06120116489170