CN105159731A - 一种fpga配置文件远程升级的装置 - Google Patents
一种fpga配置文件远程升级的装置 Download PDFInfo
- Publication number
- CN105159731A CN105159731A CN201510654248.4A CN201510654248A CN105159731A CN 105159731 A CN105159731 A CN 105159731A CN 201510654248 A CN201510654248 A CN 201510654248A CN 105159731 A CN105159731 A CN 105159731A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- fpga
- fpga configuration
- module
- remote upgrade
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种FPGA配置文件远程升级的装置,该装置包括以下模块:远端计算机、传输网络、网络接口模块、CPU模块、SDRAM、FPGA和EEPROM。远端计算机通过网络接口连接传输网络,网络接口模块接收传输网络发送的FPGA配置文件,实现FPGA配置文件的远程传输,并将FPGA配置文件发送到CPU模块,CPU模块将FPGA配置文件以文件形式放入SDRAM,再将SDRAM中的FPGA配置文件按字节读出发送给FPGA,FPGA将FPGA配置文件写入EEPROM,完成FPGA配置文件远程升级功能。
Description
技术领域
本发明涉及通信网络领域,尤其涉及一种FPGA配置文件远程升级的装置。
背景技术
FPGA在当今各种电子类产品中被广泛使用,FPGA的使用非常灵活,内部具有丰富的逻辑资源,提供大量的逻辑功能模块,具有设计周期短、配置灵活、集成度高等特点。
FPGA内部大多采用SRAM工艺,它的配置数据存储在SRAM中。由于SRAM的易失性,每次系统上电时,必须重新配置数据。通常由外部专用的EEPROM配置芯片来配置。
对于密封机箱系统,机箱内部板卡的FPGA的升级是一个费时费力的工作。如需升级更改FPGA配置文件,就要通过编程下载电缆对EEPROM重新编程。但是在很多工作环境中,如车载、舰载等内部空间有限环境下安装的设备,以及恶劣环境下工作的仪器,难以直接连接编程下载电缆进行现场编程,不方便设备进行维护升级。此时,如果有方法能在不必打开设备机箱的情况下就可以快速地完成FPGA的升级,甚至可以远程升级,对于设备的调试及维护会带来极大的方便。
发明内容
有鉴于密封机箱系统,升级FPGA配置文件的实现难度,本发明提供一种FPGA配置文件远程升级的装置。通过传输网络传送FPGA升级程序,并通过CPU访问FPGA,实现FPGA配置文件的更新而不需依赖于编程下载电缆,并且不需增加外部器件。
本发明所采取的技术方案为:
一种FPGA配置文件远程升级的装置,其特征在于:该装置包括有远端计算机100、传输网络110、网络接口模块120、CPU模块130、SDRAM140、FPGA150和EEPROM160。
远端计算机100,用于远程访问需升级的设备,存储需要升级的FPGA配置文件,并将FPGA配置文件传送到传输网络,指示FPGA远程升级进度以及是否升级成功;
传输网络110,用于实现远端计算机与网络接口模块的传输数据功能,接收远端计算机100发送的FPGA配置文件,并将FPGA配置文件发送到网络接口模块;
网络接口模块120,用于实现与传输网络的接口功能,接收传输网络110发送的FPGA配置文件,并将FPGA配置文件发送到CPU模块130;
CPU模块130,用于接收网络接口模块120发送的FPGA配置文件,将FPGA配置文件以文件形式存入SDRAM140中暂存,再通过远程升级驱动程序132将SDRAM140中的FPGA配置文件按字节读出,并通过CPU接口发送给FPGA150。
SDRAM140,用于缓存FPGA配置文件;
FPGA150,用于接收CPU130发送过来的FPGA配置文件,并将FPGA配置文件写入EEPROM160。
其中,CPU模块130包括网络数据接收、存储模块131和远程升级驱动程序132;
网络数据接收、存储模块131,用于接收网络接口模块120发送的FPGA配置文件,并将FPGA配置文件以文件形式存入SDRAM140中;
远程升级驱动程序132,用于获得SDRAM140中的FPGA配置文件大小,并在SDRAM140中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入EEPROM160。
其中,远程升级驱动程序132包括数据写入模块133和数据校验模块134;
数据写入模块133,用于获得SDRAM140中的FPGA配置文件大小,并在SDRAM140中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入FPGA150。
数据校验模块134,用于获得SDRAM140中的FPGA配置文件大小,并在SDRAM140中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入FPGA150。
其中,FPGA150包括远程升级模块151;
远程升级模块151,用于完成CPU接口与EEPROM接口直接的转换,实现CPU130访问配置芯片EEPROM160。远程升级模块151接收远程升级驱动程序132按字节写入的FPGA配置文件,并配合远程升级驱动程序132完成读出的数据与写入数据的校验。
本发明与现有技术相比,所取得的有益效果为:
本发明实现了FPGA的配置文件的远程升级,摆脱了利用专用编程线缆现场配置的局限,并且不需增加外部器件,非常经济和高效。在不必打开设备机箱的情况下就可以快速地完成FPGA的升级,甚至可以远程升级,方便设备FPGA功能的升级及调试,提高了设备的可维护性,降低了维护成本。
附图说明
图1为本发明FPGA配置文件远程升级的装置的电原理逻辑方框图。
图2为数据写入模块133的工作流程图。
图3为数据读取模块134的工作流程图。
具体实施方式
下面结合附图对本发明实施例所述的技术方案作进一步的详细说明。
参照图1,一种FPGA配置文件远程升级的装置,远端计算机100通过网络接口连接传输网络110,网络接口模块120接收传输网络110发送的FPGA配置文件,实现FPGA配置文件的远程传输,并将FPGA配置文件发送到CPU模块130,CPU模块130将FPGA配置文件以文件形式放入SDRAM140,再将SDRAM140中的FPGA配置文件按字节读出发送给FPGA150,FPGA150将FPGA配置文件写入EEPROM160,完成FPGA配置文件远程升级功能。
具体包括:
远端计算机100:用于通过网络接口远程访问需升级的设备,存储需要升级的FPGA配置文件,并将FPGA配置文件传送到传输网络,指示FPGA远程升级进度以及是否升级成功。
传输网络110:用于实现远端计算机与网络接口模块的传输数据功能,接收远端计算机100发送的FPGA配置文件,并将FPGA配置文件发送到网络接口模块。
网络接口模块120:网络接口模块120根据传输网络110而确定,用于实现与传输网络的接口功能,接收传输网络110发送的FPGA配置文件,并将FPGA配置文件发送到CPU模块130。
CPU模块130:用于接收网络接口模块120发送的FPGA配置文件,将FPGA配置文件以文件形式存入SDRAM140中暂存,再通过远程升级驱动程序132将SDRAM140中的FPGA配置文件按字节读出,并通过CPU接口发送给FPGA150。CPU模块130包括网络数据接收、存储模块131和远程升级驱动程序132。
网络数据接收、存储模块131,用于接收网络接口模块120发送的FPGA配置文件,并将FPGA配置文件以文件形式存入SDRAM140中。
远程升级驱动程序132,用于获得SDRAM140中的FPGA配置文件大小,并在SDRAM140中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入FPGA150。远程升级驱动程序132包括数据写入模块133和数据校验模块134。
数据写入模块133,用于获得SDRAM140中的FPGA配置文件大小,并在SDRAM140中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入FPGA150。
数据写入模块133工作流程如图2所示,主要包括以下步骤:
(1)系统打开FPGA配置文件,并获得文件大小;(2)申请缓存,并将FPGA配置文件读入SDRAM140中;(3)判断是否配置文件的首地址;(4)通过状态寄存器判断是否处于空闲状态;(5)向FPGA地址寄存器写入写地址;(6)向FPGA数据寄存器写入写数据;(7)向FPGA读写控制寄存器写入写命令;(8)写指针移到下一个字节;(9)判断是否配置文件的结束地址。
数据校验模块134,用于获得SDRAM140中的FPGA配置文件大小,并在SDRAM140中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入FPGA150。
数据读取模块134工作流程如图3所示,主要包括以下步骤:
数据校验模块134主要实现将EEPROM160中的配置文件读出并与写入的FPGA配置文件进行比较的过程,数据校验模块134主要包括以下步骤:
(1)判断是否是首地址;(2)通过状态寄存器判断是否处于空闲状态;(3)向FPGA地址寄存器写入读地址;(4)向FPGA读写控制寄存器写入读命令;(5)通过状态寄存器判断是否处于空闲状态;(6)从FPGA数据寄存器读出EPCS中的数据;(7)读出的数据与写入的数据进行比较,不一致则返回失败,一致则到下一步;(8)读指针移到下一个字节;(9)判断是否是结束地址。
SDRAM140:用于缓存FPGA配置文件。
FPGA150:用于接收CPU130发送过来的FPGA配置文件,并将FPGA配置文件写入EEPROM160。FPGA150包括远程升级模块151。
远程升级模块151,用于完成CPU接口与EEPROM接口直接的转换,实现CPU130访问配置芯片EEPROM160。远程升级模块151接收远程升级驱动程序132按字节写入的FPGA配置文件,并配合远程升级驱动程序132完成读出的数据与写入数据的校验。
Claims (4)
1.一种FPGA配置文件远程升级的装置,其特征在于:该装置包括有远端计算机(100)、传输网络(110)、网络接口模块(120)、CPU模块(130)、SDRAM(140)、FPGA(150)和EEPROM(160);
远端计算机(100),用于远程访问需升级的设备,存储需要升级的FPGA配置文件,并将FPGA配置文件传送到传输网络,指示FPGA远程升级进度以及是否升级成功;
传输网络(110),用于实现远端计算机与网络接口模块的传输数据功能,接收远端计算机(100)发送的FPGA配置文件,并将FPGA配置文件发送到网络接口模块;
网络接口模块(120),用于实现与传输网络的接口功能,接收传输网络(110)发送的FPGA配置文件,并将FPGA配置文件发送到CPU模块(130);
CPU模块(130),用于接收网络接口模块(120)发送的FPGA配置文件,将FPGA配置文件以文件形式存入SDRAM(140)中暂存,再通过远程升级驱动程序(132)将SDRAM(140)中的FPGA配置文件按字节读出,并通过CPU接口发送给FPGA(150);
SDRAM(140),用于缓存FPGA配置文件;
FPGA(150),用于接收CPU(130)发送过来的FPGA配置文件,并将FPGA配置文件写入EEPROM(160)。
2.根据权利要求1所述的一种FPGA配置文件远程升级的装置,其特征在于:CPU模块(130)包括网络数据接收、存储模块(131)和远程升级驱动程序(132);
网络数据接收、存储模块(131),用于接收网络接口模块(120)发送的FPGA配置文件,并将FPGA配置文件以文件形式存入SDRAM(140)中;
远程升级驱动程序(132),用于获得SDRAM(140)中的FPGA配置文件大小,并在SDRAM(140)中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入EEPROM(160)。
3.根据权利要求1所述的一种FPGA配置文件远程升级的装置,其特征在于:FPGA(150)包括远程升级模块(151);
远程升级模块(151),用于完成CPU接口与EEPROM接口直接的转换,实现CPU(130)访问配置芯片EEPROM(160)。远程升级模块(151)接收远程升级驱动程序(132)按字节写入的FPGA配置文件,并配合远程升级驱动程序(132)完成读出的数据与写入数据的校验。
4.根据权利要求2所述的一种FPGA配置文件远程升级的装置,其特征在于:远程升级驱动程序(132)包括数据写入模块(133)和数据校验模块(134);
数据写入模块(133),用于获得SDRAM(140)中的FPGA配置文件大小,并在SDRAM(140)中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入FPGA(150);
数据校验模块(134),用于获得SDRAM(140)中的FPGA配置文件大小,并在SDRAM(140)中申请缓存,打开FPGA配置文件,将FPGA文件按字节写入FPGA(150)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510654248.4A CN105159731B (zh) | 2015-10-12 | 2015-10-12 | 一种fpga配置文件远程升级的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510654248.4A CN105159731B (zh) | 2015-10-12 | 2015-10-12 | 一种fpga配置文件远程升级的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159731A true CN105159731A (zh) | 2015-12-16 |
CN105159731B CN105159731B (zh) | 2018-09-28 |
Family
ID=54800595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510654248.4A Active CN105159731B (zh) | 2015-10-12 | 2015-10-12 | 一种fpga配置文件远程升级的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159731B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201590A (zh) * | 2016-06-29 | 2016-12-07 | 瑞斯康达科技发展股份有限公司 | 一种fpga配置文件加载方法和系统 |
CN106843955A (zh) * | 2017-01-17 | 2017-06-13 | 西安电子科技大学 | 基于文件压缩及非接触式的fpga动态配置方法 |
CN106919409A (zh) * | 2015-12-25 | 2017-07-04 | 航天信息股份有限公司 | 一种fpga单元升级设备、系统和方法 |
CN107621819A (zh) * | 2017-08-24 | 2018-01-23 | 电子科技大学 | 一种三维声波测井仪的fpga配置文件在线更新装置 |
CN107918545A (zh) * | 2017-12-13 | 2018-04-17 | 天津光电通信技术有限公司 | 一种基于zynq的远程升级系统及其实现方法 |
CN107943506A (zh) * | 2017-11-21 | 2018-04-20 | 北京合力电气传动控制技术有限责任公司 | 一种电力电子变流装置及应用方法 |
CN108132811A (zh) * | 2017-12-15 | 2018-06-08 | 杭州迪普科技股份有限公司 | 一种fpga程序数据的加载方法及装置 |
CN108572835A (zh) * | 2018-04-26 | 2018-09-25 | 南京国电南自维美德自动化有限公司 | 一种fpga配置文件在线升级系统 |
CN109710460A (zh) * | 2018-12-17 | 2019-05-03 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN111934911A (zh) * | 2020-07-15 | 2020-11-13 | 北京自动化控制设备研究所 | 一种基于网络分发的fpga固件批量升级系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783812A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种基于网络的fpga配置系统及配置方法 |
CN102609287A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种通过cpu远程更新fpga的装置及其方法 |
CN102662701A (zh) * | 2012-03-28 | 2012-09-12 | 中兴通讯股份有限公司 | Cpld在线升级方法、装置及业务单板 |
CN103136028A (zh) * | 2013-03-11 | 2013-06-05 | 西北工业大学 | 一种基于fpga的flash存储器远程在线升级方法 |
CN103617054A (zh) * | 2013-11-15 | 2014-03-05 | 中国航空无线电电子研究所 | 一种远程加载fpga配置文件的装置及加载方法 |
CN104063257A (zh) * | 2014-07-23 | 2014-09-24 | 武汉邮电科学研究院 | 一种fpga自动加载系统及方法 |
-
2015
- 2015-10-12 CN CN201510654248.4A patent/CN105159731B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783812A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种基于网络的fpga配置系统及配置方法 |
CN102609287A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种通过cpu远程更新fpga的装置及其方法 |
CN102662701A (zh) * | 2012-03-28 | 2012-09-12 | 中兴通讯股份有限公司 | Cpld在线升级方法、装置及业务单板 |
CN103136028A (zh) * | 2013-03-11 | 2013-06-05 | 西北工业大学 | 一种基于fpga的flash存储器远程在线升级方法 |
CN103617054A (zh) * | 2013-11-15 | 2014-03-05 | 中国航空无线电电子研究所 | 一种远程加载fpga配置文件的装置及加载方法 |
CN104063257A (zh) * | 2014-07-23 | 2014-09-24 | 武汉邮电科学研究院 | 一种fpga自动加载系统及方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919409A (zh) * | 2015-12-25 | 2017-07-04 | 航天信息股份有限公司 | 一种fpga单元升级设备、系统和方法 |
CN106201590B (zh) * | 2016-06-29 | 2019-06-11 | 瑞斯康达科技发展股份有限公司 | 一种fpga配置文件加载方法和系统 |
CN106201590A (zh) * | 2016-06-29 | 2016-12-07 | 瑞斯康达科技发展股份有限公司 | 一种fpga配置文件加载方法和系统 |
CN106843955A (zh) * | 2017-01-17 | 2017-06-13 | 西安电子科技大学 | 基于文件压缩及非接触式的fpga动态配置方法 |
CN107621819A (zh) * | 2017-08-24 | 2018-01-23 | 电子科技大学 | 一种三维声波测井仪的fpga配置文件在线更新装置 |
CN107621819B (zh) * | 2017-08-24 | 2019-12-27 | 电子科技大学 | 一种三维声波测井仪的fpga配置文件在线更新装置 |
CN107943506A (zh) * | 2017-11-21 | 2018-04-20 | 北京合力电气传动控制技术有限责任公司 | 一种电力电子变流装置及应用方法 |
CN107918545A (zh) * | 2017-12-13 | 2018-04-17 | 天津光电通信技术有限公司 | 一种基于zynq的远程升级系统及其实现方法 |
CN108132811A (zh) * | 2017-12-15 | 2018-06-08 | 杭州迪普科技股份有限公司 | 一种fpga程序数据的加载方法及装置 |
CN108132811B (zh) * | 2017-12-15 | 2021-09-21 | 杭州迪普科技股份有限公司 | 一种fpga程序数据的加载方法及装置 |
CN108572835A (zh) * | 2018-04-26 | 2018-09-25 | 南京国电南自维美德自动化有限公司 | 一种fpga配置文件在线升级系统 |
CN109710460A (zh) * | 2018-12-17 | 2019-05-03 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN111934911A (zh) * | 2020-07-15 | 2020-11-13 | 北京自动化控制设备研究所 | 一种基于网络分发的fpga固件批量升级系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105159731B (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159731A (zh) | 一种fpga配置文件远程升级的装置 | |
CN109656593B (zh) | 基于zynq芯片实现fpga程序远程升级的方法 | |
CN105573800B (zh) | 一种基于zynq的单板或多板系统及在线更新方法 | |
US11099831B2 (en) | Firmware update in a storage backed memory system | |
CN101783812A (zh) | 一种基于网络的fpga配置系统及配置方法 | |
CN105373407A (zh) | 嵌入式系统dsp和fpga在线升级方法 | |
CN103324583B (zh) | 一种光纤陀螺离线高速数据采集方法 | |
CN107885517B (zh) | 嵌入式系统处理器程序加载电路 | |
CN103198042A (zh) | Pci航空串行总线板卡及实现动态加载数据处理方法 | |
CN101211266A (zh) | 一种实现fpga自动下载和在线升级的方法 | |
CN105320531A (zh) | 一种基于MicroBlaze软核的FPGA软件在线升级方法 | |
CN107015914B (zh) | 数据标定方法及系统 | |
CN104077166B (zh) | 基于fpga中ip核的epcs与epcq存储器在线升级方法 | |
CN102063939B (zh) | 一种电可擦除可编程只读存储器的实现方法和装置 | |
CN103617054A (zh) | 一种远程加载fpga配置文件的装置及加载方法 | |
CN104572384A (zh) | 一种芯片多fpga验证方法及系统 | |
CN104320317A (zh) | 一种以太网物理层芯片状态的传送方法和装置 | |
CN114201360B (zh) | 一种aer功能管理方法、装置、服务器和存储介质 | |
CN106649137B (zh) | 一种Nand Flash坏块管理方法、装置及存储器 | |
CN104699500A (zh) | 智能设备中实现引导程序自动升级的方法 | |
CN106383726A (zh) | 一种基于图像视频传输接口的讯号适配器升级方法 | |
CN103812739A (zh) | Fpga与dsp的通信装置和通信方法 | |
CN103544079B (zh) | 基于可编程控制器实现闪存芯片数据恢复的系统及方法 | |
CN102034543B (zh) | 在单任务中实现同时烧写多片nandflash的方法 | |
CN105068965A (zh) | 基于I2C总线的NAND Flash存储方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |