一种卫星通信设备在线升级FPGA固件的方法及系统与流程

文档序号:31731926发布日期:2022-10-05 02:13阅读:255来源:国知局
一种卫星通信设备在线升级FPGA固件的方法及系统与流程
一种卫星通信设备在线升级fpga固件的方法及系统
技术领域
1.本发明涉及嵌入式设备升级技术领域,尤其涉及一种卫星通信设备在线升级fpga固件的方法及系统。


背景技术:

2.在卫星通信终端或模块中,fpga(现场可编程门阵列,field-programmable gate array)应用越来越广泛,主要用于进行终端或模块内状态控制,算法解析等。
3.fpga是一种掉电易失型器件,为解决掉电易失性所带来的问题,fpga一般在外围搭配一颗存储芯片,用于存储fpga固件。系统上电后pc机通过下载器在线对fpga器件进行固件下载、更新。但该解决方案存在很大的局限性。在设备出厂后如需进行软件设计则需要进行拆机或者拆盖后升级,且还需升级的工程师具备一定的专业知识,固件升级流程较为复杂繁琐,且升级成本较高,所需时间较长,需要进一步改进。


技术实现要素:

4.本发明的目的在于克服现有技术的不足,提供一种卫星通信设备在线升级fpga固件的方法及系统,方法主要由一个具备掉电存储功能的控制板通过selectmap接口和fpga互联实现fpga固件在线加载,通过网线和pc端上位机软件实现fpga固件文件更新,提高了设备的软件升级效率,减少了升级成本和升级时间。
5.本发明的目的是通过以下技术方案来实现的:一种卫星通信设备在线升级fpga固件的方法,包括:步骤一:控制板进行初始化,启动网络数据接收流程,接收上位机发送的fpga固件文件;步骤二:控制板判断本地存储器中的fpga固件文件的存储情况,若本地已有fpga固件文件,则进行fpga固件加载;若本地没有fpga固件文件,则等待上位机发送fpga固件更新文件;步骤三:控制板接收fpga固件更新文件,并对其进行解析和数据校验,根据数据校验结果进行fpga固件加载或放弃更新。
6.具体的,所述步骤一具体为:控制板进行硬件外设、网络协议栈和软件协议栈初始化,启动网络数据接收流程,通过tcp协议接收fpga固件文件。
7.具体的,所述步骤二具体包括:控制板先判断本地存储器nand flash中是否存储有/fpga.bit文件,即fpga固件文件;若本地已有fpga固件文件,则通过selectmap接口协议进行fpga固件加载;若本地没有fpga固件文件,则等待上位机发送fpga固件更新文件。
8.具体的,所述步骤三具体包括:控制板接收到上位机固件更新指令后,首先解析出待更新fpga固件长度及所有校验结果值;并判断接收数据包的长度是否已经大于或等于待更新fpga固件长度,若接收数据包的长度未超过待更新fpga固件长度,则将接收数据存储于本地flash中,然后进行加和校验并存储校验值于全局变量中;若已接收数据包长度已大
于或等于待更新fpga固件长度,则比对全局校验值和上位机下发校验值是否一致,若一致则通知上位机更新成功并通过selectmap接口协议进行fpga固件加载;若不一致则删除本地flash中当前存储的fpga固件文件,并通知上位机由用户决定fpga固件更新进度。
9.一种卫星通信设备在线升级fpga固件的系统,采用上述的一种卫星通信设备在线升级fpga固件的方法实现,包括上位机、控制板和fpga芯片;控制板通过rj45网络线缆与上位机连接;fpga芯片设有selectmap接口,fpga芯片通过selectmap接口与控制板连接。
10.具体的,所述控制板包括cpu处理器、gpio接口、uart接口、mac集成芯片和存储器;cpu处理器分别与gpio接口、uart接口、mac集成芯片、存储器电连接;mac集成芯片与rj45网络线缆电连接;gpio接口通过线缆与selectmap接口连接。
11.具体的,所述存储器为nand-flash存储器。
12.本发明的有益效果:1.本发明设计了一个具备掉电存储功能的控制板,由一个处理器+存储器构成,主要用于存储fpga固件文件,上电后通过selectmap接口给fpga加载固件,然后通过网络线缆接口接收上位机更新的fpga固件,并存储于控制板存储器中,提高了设备对fpga固件文件的读取速度。
13.2.本发明在pc端的上位机上设置了上位机软件,用于确认控制板是否在线,和控制板进行握手连接,读取通过fpga开发工具编译完成的fpga固件文件、并按照自定义协议下发至控制板,减小了设备升级对技术人员水平依赖,提高固件升级的效率,大大减小了对技术人员水平的依赖,减少了升级成本和升级时间。
附图说明
14.图1是本发明的步骤示意图;图2是系统硬件框架图;图3是卫星通信设备在线设计fpga固件方案上位机软件流程图;图4是卫星通信设备在线设计fpga固件方案控制板软件流程图。
具体实施方式
15.为了对本发明的技术特征、目的和有益效果有更加清楚的理解,现对本发明的技术方案精选以下详细说明。显然,所描述的实施案例是本发明一部分实施例,而不是全部实施例,不能理解为对本发明可实施范围的限定。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他所有实施例,都属于本发明的保护范围。
16.实施例一:本实施例中,如图1所示,一种卫星通信设备在线升级fpga固件的方法,包括:步骤一:控制板进行初始化,启动网络数据接收流程,接收上位机发送的fpga固件文件;步骤二:控制板判断本地存储器中的fpga固件文件的存储情况,若本地已有fpga固件文件,则进行fpga固件加载;若本地没有fpga固件文件,则等待上位机发送fpga固件更新文件;步骤三:控制板接收fpga固件更新文件,并对其进行解析和数据校验,根据数据校
验结果进行fpga固件加载或放弃更新。
17.本实施例中,控制板中安装有相应的软件,具备网络通信功能,可通过网线与pc机互联。因此,在控制板系统上电后,控制板进行网口等硬件外设,网络协议栈,文件系统等软件协议栈初始化,启动网络数据接收流程,通过tcp协议接收fpga固件文件控制板进行硬件外设、网络协议栈和软件协议栈初始化,启动网络数据接收流程,通过tcp协议接收fpga固件文件。
18.本实施例中,启动网络数据接收流程后,控制板先判断本地存储器nand flash中是否存储有/fpga.bit文件,即fpga固件文件;若本地已有fpga固件文件,则通过selectmap接口协议进行fpga固件加载;若本地没有fpga固件文件,则等待上位机发送fpga固件更新文件。
19.本实施例中,控制板接收到上位机固件更新指令后,首先解析出待更新fpga固件长度及所有校验结果值;并判断接收数据包的长度是否已经大于或等于待更新fpga固件长度,若接收数据包的长度未超过待更新fpga固件长度,则将接收数据存储于本地flash中,然后进行加和校验并存储校验值于全局变量中;若已接收数据包长度已大于或等于待更新fpga固件长度,则比对全局校验值和上位机下发校验值是否一致,若一致则通知上位机更新成功并通过selectmap接口协议进行fpga固件加载;若不一致则删除本地flash中当前存储的fpga固件文件,并通知上位机由用户决定fpga固件更新进度。
20.实施例二:本实施例中,一种卫星通信设备在线升级fpga固件的系统,采用上述实施例一的一种卫星通信设备在线升级fpga固件的方法实现。如图2所示,包括上位机、控制板和fpga芯片;控制板通过rj45网络线缆与上位机连接;fpga芯片设有selectmap接口,fpga芯片通过selectmap接口与控制板连接。
21.本实施例中,控制板主要用于存储fpga固件文件,上电后通过selectmap接口给fpga加载固件,通过网络线缆接口接收上位机更新的fpga固件,并存储于控制板存储器中。
22.控制板包括cpu处理器、gpio接口、uart接口、mac集成芯片和存储器;cpu处理器分别与gpio接口、uart接口、mac集成芯片、存储器电连接;mac集成芯片与rj45网络线缆电连接;gpio接口通过线缆与selectmap接口连接。
23.其中,mac集成芯片主要是集成了mac芯片和phy芯片。此外,对于cpu处理器、mac和phy三部分硬件,可选择集成或独立部署,主要有以下几种情况:(1)cpu内部集成了mac和phy,难度较高;(2)cpu内部集成mac,phy采用独立芯片(主流方案);(3)cpu不集成mac和phy,mac和phy采用独立芯片或者集成芯片。
24.本实施例中,存储器采用nand-flash存储器。nand-flash存储器是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用。本发明为了使得控制板具备掉电存储功能,因此采用nand-flash存储器进行数据存储,使得fpga在升级过程中掉电时也能存储固件文件数据。
25.本实施例中,上位机运行基于自定义协议的上位机软件,主要用于确认控制板是否在线,和控制板进行握手连接,读取通过fpga开发工具编译完成的fpga固件文件、并按照
自定义协议下发至控制板。
26.如图3所示,上位机软件流程具体为:上位机软件在运行前,需首先在界面对接接口中设置控制板对应的ip地址和tcp服务端口号,同时通过界面功能打开对应的fpga固件文件。设置完成后点击“连接”按钮进行和控制板tcp握手连接,在完成连接后点击“开始更新”按钮,进行固件更新。在固件更新流程中首先发送待更新固件文件长度及校验结果到控制板,后直接发送fpga固件文件内容。发送完成后接收控制板返回更新结果,并进行相应提示,如更新成功,则直接弹窗提示。如更新失败,则弹窗提示并由用户选择是否进行再次更新,如用户选择再次更新,则进行固件更新流程。因tcp协议本身具备重传、确认机制。因此本发明中不再进行该部分的冗余设计。
27.本实施例中,控制板的cpu处理器中预置处理软件,用于与上位机进行通信和数据传输。如图4所示,控制板的软件运行流程如下:1)系统上电。
28.2)控制板进行网口等硬件外设,网络协议栈,文件系统等软件协议栈初始化,启动网络数据接收流程,通过tcp协议接收fpga固件文件。
29.3)判断nand flash中是否存储有/fpga.bit文件(该文件存储于构建与nand flash之上的文件系统根目录中,为fpga固件文件)。
30.4)如本地已有fpga固件文件,则通过selectmap接口协议进行fpga固件加载。
31.5)如本地没有fpga固件文件,则等待上位机发送fpga固件更新文件。
32.6)接收到上位机固件更新后,首先解析待更新fpga固件长度及所有校验结果值。
33.7)接收数据包长度是否已经大于等于待更新fpga固件长度,如未超过则接收数据存储于本地flash中,进行加和校验,并存储校验值于全局变量中。
34.8)如已接收数据包长度已大于等于待跟新fpga固件长度,则比对全局校验值和上位机下发校验值是否一致,如一致则通知上位机更新成功并通过selectmap接口协议进行fpga固件加载。如不一致则删除本地flash中当前存储的fpga固件文件,并通知上位机由用户决定是否进行再次更新或者放弃。
35.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1