本发明涉及fpga固件升级,具体而言,涉及一种fpga固件的远程升级方法及其装置。
背景技术:
1、fpga是一种可编程逻辑器件,可用于实现各种数字电路和系统。它提供了一种可编程的硬件平台,允许设计者根据自己的需求来定义和配置电路的功能和连接关系。
2、随着集成电路技术的进一步发展,fpga因具备功能灵活、开发成本低和上市速度快等特点,而广泛应用于数字产品设计的各个领域。目前fpga配置数据一般使用基于静态随机存储器sram(static random access memory)的存储方式,掉电后数据消失。因此在实用中需要为fpga芯片外加专用配置芯片,在上电时,由这个专用配置芯片把配置数据加载到fpga中,之后fpga就可以正常工作。配置芯片通常是基于flash存储器的器件。fpga配置数据更新的常用做法是:通过专用的下载电缆把配置数据从pc下载到fpga配置芯片中。这种方法在早期的开发调试中显得非常便利,然而在系统组装并形成产品后,由于下载电缆接口通常不会作为系统的一个外部接口,此时若想更新fpga配置数据将会很麻烦,需要把系统重新拆开才能进行。
3、因此,在越来越多的系统中,需要通过以配置数据的远程更新来提高系统的可扩展性和升级的灵活性。
技术实现思路
1、本发明的目的在于提供一种fpga固件的远程升级方法及其装置,其可以通过远程更新来提高系统的可扩展性和升级的灵活性。
2、本发明的实施例通过以下技术方案实现:
3、本发明提供一种fpga固件的远程升级方法,包括以下步骤:
4、进行上电;
5、初始化fpga模块和主控模块,所述fpga模块的模式选择为从动加载模式;
6、通过所述主控模块配置所述fpga模块的引脚;
7、判断所述fgpa模块的是否配置正确,若正确则进行加载配置数据的准备;
8、所述主控模块读取待配置器件的配置文件;
9、将所述配置文件写入所述fpga模块;
10、所述fpga模块中所述配置文件写入和配置完成后结束流程。
11、优选地,通过所述主控模块配置所述fpga模块的引脚的方法为:将所述fpga模块的nconfig引脚置低,将所述fpga模块的dclk引脚置高。
12、优选地,判断所述fgpa模块的是否配置正确,若正确则进行加载配置数据的准备的方法为:
13、检测所述fgpa模块的nstatus引脚是否为低电平,若为低电平则通过所述主控模块将所述fgpa模块的nconfig引脚置高并持续30秒,若非低电平则持续检测所述fgpa模块的nstatus引脚的状态。
14、优选地,所述所述主控模块读取待配置器件的配置文件的方法为:
15、所述主控模块从自身的flash存储模块读取所述配置文件,所述配置文件为*.rbf文件。
16、优选地,所述主控模块的获取所述配置文件的方法为:
17、配置远程系统,远程系统设置了基于tcp/ip连接的在线升级程序,所述在线升级程序用于加载所述配置文件;
18、所述远程系统通过lan与所述主控模块相连;
19、所述远程系统通过握手和数据传输将所述配置文件写入所述主控模块。
20、优选地,将所述配置文件写入所述fpga模块的方法为:
21、所述主控模块通过串行接口将所述配置文件写入所述fpga模块。
22、为了解决以上问题,本发明还提供了一种fpga固件的远程升级装置,应用于以上任意所述的一种fpga固件的远程升级方法,包括远程系统、fpga模块和主控模块;
23、所述fpga模块和所述远程系统分别连接到所述主控模块;
24、所述fpga模块的模式选择为从动加载模式;
25、所述主控模块作为控制中心,用于将预先从所述远程系统获取的所述配置文件写入所述fpga模块。
26、优选地,所述fpga模块和所述主控模块的连接方式为:
27、所述fpga模块的dclk引脚、data0引脚、nstatus引脚、conf_done引脚和nconfig引脚分别连接所述主控模块的dclk引脚、data引脚、oe引脚、ncs引脚和ninit_conf引脚;
28、所述nstatus引脚、conf_done引脚和nconfig引脚分别接一个上拉电阻。
29、优选地,所述远程系统和所述主控模块通过lan端口相连。
30、本发明实施例的技术方案至少具有如下优点和有益效果:
31、本发明可以应用于各类终端测试领域,应用范围广泛、可匹配性很高;
32、本发明的匹配性能已完全可以替代机械开关,集成性优于机械开关近3倍,可以实现机械开关体积下更高密度的端口扩展与集成;
33、本发明可以为自动测试平台的搭建提供更多端口的扩展,实现效率的提升,节约成本;
34、本发明还解决了机械开关在寿命上仅有百万量级寿命的痛点,相关设施具备更大的使用寿命,具体可达亿次量级,大幅度降低在使用中的维护和更换成本;
35、本发明设计合理、硬件结构简单,性价比极高,便于实施和推广。
1.一种fpga固件的远程升级方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种fpga固件的远程升级方法,其特征在于,通过所述主控模块配置所述fpga模块的引脚的方法为:将所述fpga模块的nconfig引脚置低,将所述fpga模块的dclk引脚置高。
3.根据权利要求1所述的一种fpga固件的远程升级方法,其特征在于,判断所述fgpa模块的是否配置正确,若正确则进行加载配置数据的准备的方法为:
4.根据权利要求1所述的一种fpga固件的远程升级方法,其特征在于,所述所述主控模块读取待配置器件的配置文件的方法为:
5.根据权利要求4所述的一种fpga固件的远程升级方法,其特征在于,所述主控模块的获取所述配置文件的方法为:
6.根据权利要求1所述的一种fpga固件的远程升级方法,其特征在于,将所述配置文件写入所述fpga模块的方法为:
7.一种fpga固件的远程升级装置,应用于权利要求1-6任意的所述的一种fpga固件的远程升级方法,其特征在于,包括远程系统、fpga模块和主控模块;
8.根据权利要求7所述的一种fpga固件的远程升级装置,其特征在于,所述fpga模块和所述主控模块的连接方式为:
9.根据权利要求7所述的一种fpga固件的远程升级装置,其特征在于,所述远程系统和所述主控模块通过lan端口相连。