一种基于IAP的升级系统及其升级方法与流程

文档序号:16466534发布日期:2019-01-02 22:49阅读:325来源:国知局
一种基于IAP的升级系统及其升级方法与流程

本发明涉及嵌入式技术领域,尤其涉及一种应用于智能柜员机的基于iap的升级系统及其升级方法。



背景技术:

在现有技术中,随着电子技术、通信技术以及计算机技术的迅猛发展,嵌入式系统已经广泛应用于各个领域,各种行业对嵌入式设备的系统功能、性能以及规模的要求都在日益提高,开发者必须能够针对客户的需求及时对系统进行维护和升级,以延长系统的使用周期及改善系统的性能等。

现有的升级方式分为:在线编程(icp,in-circuitprogramming)和在程序中编程(iap,inapplicationprogramming)两种。其中,在线编程是通过jtag/swd协议或者系统加载程序(bootloader)下载用户应用程序到微控制器中;在程序中编程是通过任何一种通信接口,例如网口、usb、uart等下载程序或者应用数据到存储器中,在不需要操作硬件平台的情况下实现升级。利用iap功能,即使在产品发布之后也可以方便地通过预留的通信端口对产品中的程序固件进行更新升级。

现有技术中对智能柜员机的升级方式采用在线系统编程工具向控制芯片中下载应用程序,需要借助操作平台,系统升级欠稳定,移植性差;且目前,各个厂商均有针对各自的产品定制化的升级实现方式,代码不会开源免费共享。因此,如何开发一套应用于智能柜员机的基于iap的升级系统及其升级方法,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的在于提供一种基于iap的升级系统及其升级方法,应用于智能柜员机,以解决上述技术背景中提出的问题。

为实现上述目的,本发明采用以下技术方案:

本发明第一方面提供了一种基于iap的升级系统,包括pc单元、图像单元、上主控板单元和下主控板单元;所述图像单元包括dsp模块,所述上主控板单元包括第一mcu模块和第一flash模块,所述下主控板单元包括第二mcu模块和第二flash模块;

所述pc单元与所述dsp模块通信连接,所述dsp模块与所述第一mcu模块通信连接,所述第一mcu模块与所述第二mcu模块通信连接;

所述dsp模块向所述第一mcu模块发送升级指令,并读取所述pc单元发送的升级数据压缩文件,所述第一mcu模块根据所述升级指令控制所述第一flash模块实现升级,和/或所述第一mcu模块向所述第二mcu模块转发所述升级指令,所述第二mcu模块根据所述升级指令控制所述第二flash模块实现升级。

优选地,所述上主控板单元预设第一通信协议,所述pc单元通过所述图像单元发送给所述第一mcu模块的指令符合所述第一通信协议后,所述上主控板单元执行所述pc单元发送的指令、或下发给所述下主控板单元。

优选地,所述下主控板单元预设第二通信协议,所述第一mcu模块发送给所述第二mcu模块的指令符合所述第二通信协议后,所述下主控板单元执行所述上主控板单元发送的指令。

更优选地,所述第一通信协议和所述第二通信协议相同或者不同。

进一步地,所述图像单元和所述上主控板单元之间采用rs232通信协议。

进一步地,所述上主控板单元和所述下主控板单元之间采用rs485通信协议。

优选地,所述pc单元与所述图像单元通过usb连接通信。

优选地,所述一种基于iap的升级系统还包括存储单元,所述存储单元与所述dsp模块通信连接,存储所述dsp模块转发所述pc单元发送的所述升级数据压缩文件。

更优选地,所存储单元包括、但不限于u盘、硬盘、光盘、软盘中的一种。

优选地,所述一种基于iap的升级系统还包液晶显示单元,所述液晶显示单元通过rs232通信协议分别与所述dsp模块和所述第一mcu模块通信连接。

具体地,所述液晶显示单元用于显示各个模块的升级信息,更新相应的进度条和升级的百分比,和/或显示所述上主控板单元中的所述第一mcu模块发送的错误信息的编码,和/或供开发工程师调试程序用。

更优选地,所述液晶显示单元使用触摸显示屏。

优选地,所述上主控板单元还包括第一fpga模块,所述第一fpga模块通过spi传输方式与所述第一flash模块连接,执行所述第一mcu模块通过所述dsp模块转发所述pc单元发送的第一控制命令。

优选地,所述下主控板单元还包括第二fpga模块,所述第二fpga模块通过spi传输方式与所述第二flash模块连接,执行所述第二mcu模块接收所述第一mcu模块发送的第二控制命令。

更优选地,所述第一控制命令包括、但不限于上电自检命令、存取钱命令、防尘罩开关命令、传输数据包命令和停机命令中的一种或几种。

更优选地,所述第二控制命令包括、但不限于上电自检命令、存取钱命令、防尘罩开关命令、传输数据包命令和停机命令中的一种或几种。

更优选地,所述第一控制命令和所述第二控制命令相同或者不同。

优选地,所述图像单元还包括第三fpga模块、测厚模块和/或磁性模块,所述第三fpga模块与所述dsp模块通信连接,所述测厚模块和/或所述磁性模块与所述第三fpga模块通信连接;

所述第三fpga模块将所述测厚模块发送的钞票厚度数据和/或所述磁性模块发送的钞票磁性数据发送给所述dsp模块,或者

所述第三fpga模块将所述测厚模块发送的校验信息和/或所述磁性模块发送的校验信息发送给所述dsp模块;

所述dsp模块将所述pc单元发送的所述升级数据压缩文件通过所述第三fpga模块发送给所述测厚模块和/或所述磁性模块。

更优选地,所述第三fpga模块包括ram核,所述测厚模块发送的钞票厚度数据和/或所述磁性模块发送的钞票磁性数据写入所述ram核,等待所述dsp模块读取,或者

所述测厚模块发送的校验信息和/或所述磁性模块发送的校验信息写入所述ram核,等待所述dsp模块读取;

所述dsp模块将所述pc单元发送的所述升级数据压缩文件写入所述ram核。

本发明第二方面提供了一种基于iap的升级方法,该方法包括:

步骤a1:pc单元发送升级数据压缩文件给dsp模块,执行步骤a2;

步骤a2:所述dsp模块将收到的所述升级数据压缩文件写入存储单元中,依次循环直至所述升级数据压缩文件传输完成,执行步骤a3;

步骤a3:所述dsp模块对所述升级数据压缩文件进行数据完整性分析,若所述升级数据压缩文件不完整,则执行用户功能程序,并退出任务;若所述升级数据压缩文件完整,则系统进入升级任务,执行步骤a4;

步骤a4:判断所述dsp模块是否升级程序,若升级,则执行dsp模块升级程序,并退出升级任务;若不升级,则执行步骤a5;

步骤a5:判断下主控板单元是否升级,若升级,则执行下主控板单元升级程序,并退出升级任务;若不升级,则执行步骤a6;

步骤a6:判断上主控板单元是否升级,若升级,则执行上主控板单元升级程序,并退出升级任务;若不升级,则执行步骤a7;

步骤a7:判断磁性模块是否升级,若升级,则执行磁性模块升级程序,并退出升级任务;若不升级,则执行步骤a8;

步骤a8:判断测厚模块是否升级,若升级,则执行测厚模块升级程序,并退出升级任务;若不升级,则执行步骤a9;

步骤a9:判断液晶显示单元是否升级,若升级,则执行液晶显示单元升级程序,并退出升级任务;若不升级,则退出升级任务。

优选地,所述步骤a3中,所述dsp模块对所述升级数据压缩文件进行数据完整性分析,具体包括:

步骤a31:所述dsp模块连接所述存储单元,执行步骤a32;

步骤a32:判断所述存储单元中是否存在所述升级数据压缩文件,若没有,则执行用户功能程序,并退出任务;若有,则执行步骤a33;

步骤a33:所述dsp模块拷贝所述升级数据压缩文件,执行步骤a34;

步骤a34:所述dsp模块校验拷贝的所述升级数据压缩文件是否完整,若不完整,则执行步骤a33;若完整,则系统进入升级任务。

优选地,所述升级数据压缩文件包括多个待升级模块升级所需的升级数据压缩文件,所述待升级模块包括所述dsp模块、所述下主控板单元、所述上主控板单元、所述磁性模块、所述测厚模块和所述液晶显示单元中的一种或几种。

更优选地,所述一种基于iap的升级方法还包括升级校验步骤,所述待升级模块在执行相应的升级程序前对其收到的对应的所述升级数据压缩文件进行升级校验,升级校验后,反馈升级成功或升级失败的信息。

进一步地,所述升级校验步骤包括:

步骤b1:待升级模块读取其对应的所述升级数据压缩文件的文件头的数据信息,并根据相关协议进行数据校验,若数据不正确,反馈升级失败信息,所述dsp模块重新发送对应的所述升级数据压缩文件或者放弃升级;若数据正确,则执行步骤b2;

步骤b2:待升级模块读取其对应的所述升级数据压缩文件的第一帧数据信息,并根据相关协议进行数据校验,若数据不正确,反馈升级失败信息,所述dsp模块重新发送对应的所述升级数据压缩文件或者放弃升级;若数据正确,则执行步骤b3;

步骤b3:待升级模块读取其对应的所述升级数据压缩文件的第二帧数据信息,并根据相关协议进行数据校验,依次循环,直至该待升级模块将其对应的所述升级数据压缩文件接收完,反馈升级成功信息。

本发明上下文内容中,如果没有特别声明,术语dsp模块是digitalsignalprocessing的缩写,即数字信号处理器;术语mcu模块是microcontrollerunit的缩写,即微控制器,又称单片微型计算机(singlechipmicrocomputer)或者单片机。

与现有技术相比,本发明的技术方案具有以下有益效果:

1)提供一种基于iap的升级系统,应用于智能柜员机,采用两个mcu模块实现升级过程中的指令和数据传输,升级过程中可以通过第一mcu模块向第二mcu模块转发dsp模块发送的指令和升级数据,从而使得dsp模块只需连接第一mcu模块便可对第二mcu模块进行升级,简化了升级流程,加快了升级速度,且稳定性好、移植性强,大大提升了系统升级的安全性和可靠性。

2)提供一种基于iap的升级方法,能够支持上述升级系统的正常运行。

附图说明

构成本申请的一部分附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本发明优选实施例的升级系统的原理框图;

图2是本发明优选实施例的升级方法的流程图;

图3是本发明优选实施例的dsp模块读取升级数据压缩文件的流程图;

图4是本发明优选实施例的升级校验步骤的流程图。

图例说明:

1、pc单元;2、图像单元;21、dsp模块;22、第三fpga模块;23、测厚模块;24、磁性模块;3、上主控板单元;31、第一mcu模块;32、第一flash模块;33、第一fpga模块;4、下主控板单元;41、第二mcu模块;42、第二flash模块;43、第二fpga模块;5、存储单元;6、液晶显示单元。

具体实施方式

本发明提供一种基于iap的升级系统及其升级方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一:

图1为本发明优选实施例的升级系统的原理框图。

如图1所示,一种基于iap的升级系统,应用于智能柜员机,包括pc单元1、图像单元2、存储单元5、液晶显示单元6、上主控板单元3和下主控板单元4;所述图像单元2包括dsp模块21、第三fpga模块22、测厚模块23和/或磁性模块24;所述上主控板单元3包括第一mcu模块31、第一flash模块32和第一fpga模块33;所述下主控板单元4包括第二mcu模块41、第二flash模块42和第二fpga模块43。

所述pc单元1与所述dsp模块21通信连接,在一种优选的实施例中,所述pc单元1与所述图像单元2通过usb连接通信。

所述dsp模块21分别与所述存储单元5、所述图像单元2中的所述第三fpga模块22、液晶显示单元6和所述上主控板单元3中的所述第一mcu模块31相连。所述测厚模块23和/或所述磁性模块24与所述第三fpga模块22通信连接。在一种优选的实施例中,所述测厚模块23和/或所述磁性模块24通过rs232通信协议与所述第三fpga模块22通信连接。

其中,所述存储单元5存储所述dsp模块21转发所述pc单元1发送的所述升级数据压缩文件。所存储单元5包括、但不限于u盘、硬盘、光盘、软盘中的一种。

所述液晶显示单元6通过rs232通信协议分别与所述dsp模块21和所述第一mcu模块31通信连接。所述液晶显示单元6用于显示各个模块的升级信息,更新相应的进度条和升级的百分比,和/或显示所述上主控板单元3中的所述第一mcu模块31发送的错误信息的编码,和/或供开发工程师调试程序用。在一种优选的实施例中,所述液晶显示单元6使用触摸显示屏。

所述第三fpga模块22将所述测厚模块23发送的钞票厚度数据和/或所述磁性模块24发送的钞票磁性数据发送给所述dsp模块21,或者所述第三fpga模块22将所述测厚模块23发送的校验信息和/或所述磁性模块24发送的校验信息发送给所述dsp模块21;所述dsp模块21将所述pc单元1发送的所述升级数据压缩文件通过所述第三fpga模块22发送给所述测厚模块23和/或所述磁性模块24。

在一种优选的实施例中,所述第三fpga模块22包括ram核,所述测厚模块23发送的钞票厚度数据和/或所述磁性模块24发送的钞票磁性数据写入所述ram核,等待所述dsp模块21读取,或者所述测厚模块23发送的校验信息和/或所述磁性模块24发送的校验信息写入所述ram核,等待所述dsp模块21读取;所述dsp模块21将所述pc单元1发送的所述升级数据压缩文件写入所述ram核。

所述dsp模块21与所述第一mcu模块31通信连接;所述第一mcu模块31与所述第二mcu模块41通信连接。

所述上主控板单元3预设第一通信协议,所述pc单元1通过所述图像单元2发送给所述第一mcu模块31的指令符合所述第一通信协议后,所述上主控板单元3执行所述pc单元1发送的指令、或下发给所述下主控板单元4。

所述下主控板单元4预设第二通信协议,所述第一mcu模块31发送给所述第二mcu模块41的指令符合所述第二通信协议后,所述下主控板单元4执行所述上主控板单元3发送的指令。

所述第一通信协议和所述第二通信协议相同或者不同。在一种优选的实施例中,所述图像单元2和所述上主控板单元3之间采用rs232通信协议,所述上主控板单元3和所述下主控板单元4之间采用rs485通信协议。

其中,所述上主控板单元3中,所述第一mcu模块31通过spi传输方式与所述第一flash模块32连接,根据所述dsp模块21发送的升级指令控制所述第一flash模块32实现升级;所述第一fpga模块33通过spi传输方式与所述第一flash模块32连接,执行所述第一mcu模块31通过所述dsp模块21转发所述pc单元1发送的第一控制命令。所述第一控制命令包括、但不限于上电自检命令、存取钱命令、防尘罩开关命令、传输数据包命令和停机命令中的一种或几种。

所述下主控板单元4中,所述第二mcu模块41通过spi传输方式与所述第二flash模块42连接,根据所述dsp模块21发送的升级指令控制所述第二flash模块42实现升级;所述第二fpga模块43通过spi传输方式与所述第二flash模块42连接,执行所述第二mcu模块41接收所述第一mcu模块31发送的第二控制命令。所述第二控制命令包括、但不限于上电自检命令、存取钱命令、防尘罩开关命令、传输数据包命令和停机命令中的一种或几种。所述第一控制命令和所述第二控制命令相同或者不同。

上述基于iap的升级系统的工作原理如下:

在非升级状态下,所述pc单元1向所述dsp模块21发送上电自检命令、存取钱命令、防尘罩开关命令、传输数据包命令以及停机命令等。所述dsp模块21将所述磁性模块24和/或所述测厚模块23发送的图像信息进行分析处理,并将图像信息的分析结果传送给所述上主控板单元3中的所述第一mcu模块31,并/或将接收到的所述pc单元1发送的上电自检命令、存取钱命令、防尘罩开关命令、传输数据包命令以及停机命令等分析处理后发送给所述上主控板单元3中的所述第一mcu模块31。所述第一mcu模块31执行所述dsp模块21发送来的上电自检命令、存取钱命令、防尘罩开关命令、传输数据包命令以及停机命令等,或将上述命令转发给所述下主控板单元4中的所述第二mcu模块41,所述第二mcu模块41配合所述上主控板单元3完成上电自检命令、存取钱命令、传输数据包命令以及停机命令等。

在升级状态下,所述pc单元1向所述dsp模块21发送升级数据压缩文件,所述dsp模块21将所述升级数据压缩文件传送给所述存储单元5,所述dsp模块21优先升级。所述dsp模块21向所述第一mcu模块31发送升级指令,所述第一mcu模块31根据所述升级指令控制所述第一flash模块32实现升级;若是所述下主控板单元4需要升级,则所述第一mcu模块31将升级命令传输给所述下主控板单元4中的所述第二mcu模块41,所述第二mcu模块41根据所述升级指令控制所述第二flash模块42实现升级;若是两者都升级,则优先升级所述下主控板单元4。所述dsp模块21向所述磁性模块24发送升级指令,所述磁性模块24根据所述升级指令实现升级;所述dsp模块21向所述测厚模块23发送升级指令,所述测厚模块23根据所述升级指令实现升级;若是两者都升级,则优先升级所述磁性模块24。所述dsp模块21向所述液晶显示单元6发送升级指令,所述液晶显示单元6根据所述升级指令实现升级。

实施例二:

所述升级数据压缩文件包括多个待升级模块升级所需的升级数据压缩文件,所述待升级模块包括所述dsp模块21、所述下主控板单元4、所述上主控板单元3、所述磁性模块24、所述测厚模块23和所述液晶显示单元6中的一种或几种。

图2是本发明优选实施例的升级方法的流程图。

图3是本发明优选实施例的dsp模块读取升级数据压缩文件的流程图。

图4是本发明优选实施例的升级校验步骤的流程图。

如图2所示,所述一种基于iap的升级方法包括:

步骤a1:pc单元1发送升级数据压缩文件给dsp模块21,执行步骤a2;

步骤a2:所述dsp模块21将收到的所述升级数据压缩文件写入存储单元5中,依次循环直至所述升级数据压缩文件传输完成,执行步骤a3;

步骤a3:所述dsp模块21对所述升级数据压缩文件进行数据完整性分析,若所述升级数据压缩文件不完整,则执行用户功能程序,并退出任务;若所述升级数据压缩文件完整,则系统进入升级任务,执行步骤a4;

步骤a4:判断所述dsp模块21是否升级程序,若升级,则执行dsp模块升级程序,并退出升级任务;若不升级,则执行步骤a5;

步骤a5:判断下主控板单元4是否升级,若升级,则执行下主控板单元升级程序,并退出升级任务;若不升级,则执行步骤a6;

步骤a6:判断上主控板单元3是否升级,若升级,则执行上主控板单元升级程序,并退出升级任务;若不升级,则执行步骤a7;

步骤a7:判断磁性模块24是否升级,若升级,则执行磁性模块升级程序,并退出升级任务;若不升级,则执行步骤a8;

步骤a8:判断测厚模块23是否升级,若升级,则执行测厚模块升级程序,并退出升级任务;若不升级,则执行步骤a9;

步骤a9:判断液晶显示单元6是否升级,若升级,则执行液晶显示单元升级程序,并退出升级任务;若不升级,则退出升级任务。

其中,所述步骤a3中,所述dsp模块21对所述升级数据压缩文件进行数据完整性分析,如图3所示,具体包括:

步骤a31:所述dsp模块21连接所述存储单元5,执行步骤a32;

步骤a32:判断所述存储单元5中是否存在所述升级数据压缩文件,若没有,则执行用户功能程序,并退出任务;若有,则执行步骤a33;

步骤a33:所述dsp模块21拷贝所述升级数据压缩文件,执行步骤a34;

步骤a34:所述dsp模块21校验拷贝的所述升级数据压缩文件是否完整,若不完整,则执行步骤a33;若完整,则系统进入升级任务。

在一种优选的实施例中,所述一种基于iap的升级方法还包括升级校验步骤,所述待升级模块在执行相应的升级程序前对其收到的对应的所述升级数据压缩文件进行升级校验,升级校验后,反馈升级成功或升级失败的信息。

如图4所示,所述升级校验步骤包括:

步骤b1:待升级模块读取其对应的所述升级数据压缩文件的文件头的数据信息,并根据相关协议进行数据校验,若数据不正确,反馈升级失败信息,所述dsp模块21重新发送对应的所述升级数据压缩文件或者放弃升级;若数据正确,则执行步骤b2;

步骤b2:待升级模块读取其对应的所述升级数据压缩文件的第一帧数据信息,并根据相关协议进行数据校验,若数据不正确,反馈升级失败信息,所述dsp模块21重新发送对应的所述升级数据压缩文件或者放弃升级;若数据正确,则执行步骤b3;

步骤b3:待升级模块读取其对应的所述升级数据压缩文件的第二帧数据信息,并根据相关协议进行数据校验,依次循环,直至该待升级模块将其对应的所述升级数据压缩文件接收完,反馈升级成功信息。

下面以所述图像单元2中的所述磁性模块24为例具体说明:

当所述磁性模块24需要升级时,首先,所述pc单元1发送所述磁性模块24的升级数据压缩文件给所述dsp模块21,然后所述dsp模块21把收到的升级数据压缩文件写到所述存储单元5中,例如u盘,依次循环直到所述升级数据压缩文件传输完成。等所述升级数据压缩文件都写到所述存储单元5后,所述dsp模块21对所述升级数据压缩文件进行数据完整性分析,若数据完整则进入升级任务,若数据不完整,所述dsp模块21重新拷贝所述升级数据压缩文件。

所述磁性模块24进入升级任务后,所述dsp模块21将所述升级数据压缩文件的文件头写到所述图像单元2中所述第三fpga模块22的ram核中,然后所述第三fpga模块22读取ram核中的文件头的数据信息并且通过串口发送给所述磁性模块24,所述磁性模块24根据相关协议进行数据分析,若数据不正确,则将不正确的数据信息通过串口发送给所述第三fpga模块22并且写到ram核中,所述dsp模块21从ram核中把返回的数据信息读走进行分析发现和协议不匹配则升级失败,此时所述dsp模块21可以继续发送文件头或者放弃升级;若是正确,则将正确的数据信息通过串口发送给所述第三fpga模块22并且写到ram核中,所述dsp模块21从ram核中把返回的数据信息读走进行分析发现和协议匹配,则开始将所述升级数据压缩文件的第一帧数据信息写到ram核中并且通过串口发送给所述磁性模块24,所述磁性模块24根据相关协议进行数据分析,若是不正确,则将不正确的数据信息通过串口发送给所述第三fpga模块22并且写到ram核中,所述dsp模块21从ram核中把返回的数据信息读走进行分析发现和协议不匹配则升级失败,此时所述dsp模块21可以继续发送第一帧数据信息或者放弃升级;若是正确,则将正确的数据信息通过串口发送给所述第三fpga模块22并且写到ram核中,所述dsp模块21从ram核中把返回的数据信息读走进行分析发现和协议匹配,则开始将所述升级数据压缩文件的第二帧数据信息写到ram核中并且通过串口发送给所述磁性模块24,所述磁性模块24根据相关协议进行数据分析,依次循环直到所述磁性模块24将所述升级数据压缩文件接收完成,所述磁性模块24跳转到用户功能程序,升级任务结束。

以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。

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