一种LED显示控制***在线升级的方法
技术领域
本发明涉及电子显示控制技术领域,尤其涉及的是一种平面发光控制***的功能结构。
背景技术
可编程逻辑器件是基于SRAM的应用技术,其程序不能保存在内部,需要在每次上电复位时都对其进行配置。就最常见的可编程逻辑器件如FPGA来说,其配置方式一般有两类:一种是通过专用下载电缆由计算机直接对其进行配置,并将程序保存在可读可写的专用EEPROM当中,以便FPGA在脱机上电时通过内嵌的配置模块,以主动方式完成配置后开始工作;二是通过被动模式采用外部微处理器对其进行配置,该方式可将专用EEPROM改为具有SPI串行总线的FLASH,除在上电时完成对FPGA的配置外,还可利用串口实现对FPGA程序的在线升级,将新程序代码写入指定的FLASH区域。
在LED显示领域,广泛使用FPGA配合FLASH的组合来构成其显示控制***的主要功能部分。由于LED显示屏的面积日趋增大,一块显示屏所需要配备的显示控制***的数量也随之不断增多;另一方面,LED显示控制***的***控制程序经常需要更换升级。基于以上两个原因,在LED显示控制***经常需要进行***内可编程逻辑器件程序的升级操作,在上述两种对FPGA的配置方式中,显然第二种的在线升级操作更为符合这里的应用需求。
在当前的应用条件下,如图1所示,LED显示***厂家将一个显示屏的所有显示控制器顺序连接,如图2所示,每一个显示控制器中都包含有相互连接的存储区及可编程逻辑器件。在进行在线升级操作时,通过显示控制信号发生装置将新的控制程序一次性写入到各个显示控制器的存储区,各显示控制器再将各程序从存储区加载进入对应的可编程逻辑器件当中,完成整个显示控制***的在线升级。由于在线下载程序耗时较长,而LED显示屏的通常在户外使用,应用环境较为恶劣,从而导致在线下载过程容易出现意外的故障情况,使得程序升级不成功,而各显示控制器的存储区内原有程序在升级过程的开始阶段就已经被擦除掉,因此升级失败的后果就是整个显示屏无法再正常工作。在这种情况下,必须由工人将各显示控制器从显示屏上拆下,拿回厂家将最初始的程序重新加载进入各显示控制器的可编程逻辑器件当中。这样的做法会大大增加***的维护成本,影响用户使用。
因此,现有技术存在明显缺陷,需要改进。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种LED显示控制***在线升级的方法。
本发明的技术方案如下:
一种LED显示控制***在线升级的方法,包括以下步骤:A1、将基本功能程序写入基本存储区;A2、加载所述基本功能程序;A3、将升级功能程序写入升级存储区;A4、校验所述升级存储区内的所述升级功能程序,判断校验结果是否错误,是则继续执行步骤A3;A5、加载所述升级功能程序。
应用于上述方案,所述方法中,所述步骤A1之前还执行步骤A100、将存储区域分区为基本存储区及升级存储区。
应用于上述方案,所述方法中,所述步骤A100中,设置一个所述基本存储区以及一个所述升级存储区,所述步骤A5中,访问所述升级存储区,加载所述升级功能程序。
应用于上述各相关方案,所述方法中,所述步骤A100中,设置至少二个所述升级存储区,所述步骤A5中,轮询各所述升级存储区或任选所述升级存储区,加载所述升级功能程序。
应用于上述各相关方案,所述方法中,所述步骤A1之前还执行步骤A102、在所述LED显示控制***中设置一个可编程逻辑器件;并且,所述步骤A5之后,还执行步骤A6、在所述LED显示控制***中设置一个可编程逻辑器件,并调用所述可编程逻辑器件执行所述升级功能程序,进行显示控制。
应用于上述方案,所述方法中,所述步骤A3之前还执行步骤A300、执行所述基本功能程序。
应用于上述方案,所述方法中,所述步骤A1之前还执行步骤A101、在所述基本存储区设置写保护标识位;并且,所述步骤A2之后还执行以下步骤A21:将所述写保护标识位设置为有效,使所述基本存储区不可再被擦写,从而达到保护所述基本存储区中的数据的效果。
应用于上述各相关方案,所述方法中,所述步骤A2、是由所述LED显示控制***将所述基本功能程序写入所述基本存储区;A3、由所述可编程逻辑器件加载所述基本功能程序,将所述升级功能程序写入所述升级存储区;A4、由所述LED显示控制***将所述升级功能程序写入所述升级存储区;A5、所述可编程逻辑器件加载所述升级功能程序。
应用于上述方案,所述方法中,所述步骤A3之前还执行步骤A301、将校验代码写入所述升级功能程序;并且,所述步骤A4中,所述校验所述升级存储区内的所述升级功能程序,执行以下步骤A41、由所述可编程逻辑器件对所述升级功能程序进行重新计算,得到计算结果,与所述校验代码进行比对,判断两者是否相等,得到校验结果。
应用于上述方案,所述方法中,所述步骤A4中,所述步骤A41之后,还执行步骤A42、在将所述校验结果由所述可编程逻辑器件反馈到所述LED显示控制***,由所述LED显示控制***根据所述校验结果判断校验结果是否错误。
采用上述方案,本发明通过划分存储区,使得显示控制器在升级过程中只对存储区的一部分进行擦写操作,一旦发生在线升级故障的情况,各显示控制器通过校验发现故障,继而根据所述基本功能程序引导启动再次升级动作,直到正确完成在线升级操作为止。这样的在线升级方案避免了因升级过程故障而导致维护时间、维护费用大大增加,具有非常好的应用前景和市场价值。
附图说明
图1为现有技术的LED显示控制***的连接结构示意图;
图2为现有技术的显示控制器内部在线升级硬件连接示意图;
图3为本发明一个实施例的流程图;
图4为本发明一个实施例的结构示意图;
图5为本发明另一个实施例的结构示意图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
实施例1
本实施例提供了一种LED显示控制***在线升级的方法,以LED显示控制领域内最常用的FPGA与FLASH分别作为可编程逻辑器件及存储区域为例,如图4所示,所述的LED显示控制***包括了***控制端和显示控制器两部分,两者相互连接,可完成双向通信。其中,显示控制器又包含了存储区域FLASH及可编程逻辑器件FPGA。FLASH与***控制端相连,接收后者发送的写数据;FLASH与FPGA相连,由FPGA从FLASH中加载程序;FPGA与***控制端相连,由显示控制器将反馈信息发送给***控制端。如图3所示,该方法主要包括以下步骤:
B1:***控制端将所述FLASH划分为一个基本存储区和一个升级存储区,***控制端将基本功能程序写入所述基本存储区;
B2:***控制端对所述FPGA上电复位,由FPGA从所述FLASH的基本存储区加载所述基本功能程序;
B3:由FPGA执行上述基本功能程序配合所述***控制端将所述升级功能程序写入所述升级存储区;
B4:所述FPGA对所述升级存储区内的所述升级功能程序进行校验,并将校验结果与所述升级功能程序中的校验代码进行比对。
如果校验结果错误,FPGA将校验结果反馈回***控制端,***控制端在接收到该错误校验结果后,再次执行所述步骤B3,或者反馈出错信息、通知用户升级出错;
如果校验结果正确,FPGA将校验结果反馈回***控制端,***控制端在接收到该正确校验结果后,继续执行步骤B5;
B5:FPGA加载所述升级功能程序,完成在线升级。
在升级过程中,如果发生意外情况,在现有技术条件下将导致升级无法正确完成,需要将所述显示控制端返回工厂进行重写程序的工作。而通过实施上述实例,则可避免因读写只有一块存储区域而导致的一次性擦写失败造成***无法使用的情况,***可以通过自动的重写升级功能程序,完成在线升级的任务。较之现有的重写FPGA程序的方法,在时间和人力成本的控制上得到了很好的效果。
实施例2
在上述实施例的基础上,所述基本功能区和升级存储区均可以不止一个,例如,设置两个基本功能区和两个升级存储区,或者,设置两个基本功能区和三个升级存储区等。其中,基本功能程序和升级功能程序可以分别写入各基本功能区和各升级存储区,也可以选择从任意一个基本功能区和任意一个升级存储区加载基本功能程序和升级功能程序。如图5所示,硬件的连接结构与图4基本相同,本实施例主要包括以下步骤:
C1:***控制端将所述FLASH划分为一个基本存储区和两个升级存储区:升级存储区1和升级存储区2,***控制端将基本功能程序写入所述基本存储区;
C2:***控制端对所述FPGA上电复位,由FPGA从所述FLASH的基本存储区加载所述基本功能程序;
C3:由FPGA执行上述的基本功能程序配合所述***控制端将所述升级功能程序写入所述升级存储区1和升级存储区2;
C4:所述FPGA对所述升级存储区1和升级存储区2内的所述升级功能程序分别进行校验,并将校验结果分别与所述升级功能程序中的校验代码进行比对,其中升级存储区1的校验结果错误,升级存储区2的校验结果正确,FPGA将这两个校验结果均反馈回***控制端,***控制端在接收到校验结果后,继续执行步骤C5;
C5:FPGA加载所述升级存储区2中的升级功能程序,完成在线升级。
本实施例通过增加一个升级存储区,在一个升级存储区的擦写有误时,***可以自动从另一个升级存储区加载升级功能程序,这样可以节省一次重复擦写升级存储区的操作,进一步提高了效率。
实施例3
在上述实施例1或实施例2的基础上,可以在写入基本功能程序之前,在基本存储区设置写保护位,并在写入基本功能程序之后,将该写保护位设置为有效,从而使该区域在之后的在线升级步骤当中不会被误擦写,很好地保护了基本功能程序的数据。
由于在线升级工作由人工通过***控制端来完成,而***控制端通常由软件、硬件构成,因此在进行软硬件操作时可能出现擦写区域设置的错误操作,本实施例对基本存储区设置的写保护位,从而保证了***基本功能不会被破坏,即时升级错误,也可以通过自动重复擦写升级功能程序最终完成升级任务。
实施例4
在上述实施例1或实施例2的基础上,在所述步骤B3或C3中,***控制端根据当前要写入的升级功能程序计算出该程序数据的CRC校验码,作为升级程序的末尾字段写入升级功能区。所述步骤B4或C4当中,FPGA在加载升级功能程序之前,首先对该升级功能程序校验字段之前的数据进行计算,将计算结果与该升级程序末尾的校验字段进行比对,若计算结果与校验字段相同,则校验结果正确,相反地,若不相同,则校验结果错误。
实施例5
应用于上述各例,将上述各在线升级方法中的各步骤在LED显示控制***生产厂执行一遍,在产品销售给客户之后,若客户需要对LED显示控制***的程序进行升级,则只需要执行后续升级步骤即可,即每次升级操作只对升级功能区进行操作,这样可以降低客户升级操作的复杂度,有较好的市场应用价值。
需要说明的是,上述各技术特征的相互组合,形成各个实施例,应视为本发明说明书记载的范围。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。