CN107621943A - 一种fpga动态批量烧写系统及方法 - Google Patents

一种fpga动态批量烧写系统及方法 Download PDF

Info

Publication number
CN107621943A
CN107621943A CN201710712113.8A CN201710712113A CN107621943A CN 107621943 A CN107621943 A CN 107621943A CN 201710712113 A CN201710712113 A CN 201710712113A CN 107621943 A CN107621943 A CN 107621943A
Authority
CN
China
Prior art keywords
programming
fpga
code
area
host computer
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.)
Pending
Application number
CN201710712113.8A
Other languages
English (en)
Inventor
陈亢
马少飞
王伟峰
严鹏
李名祺
赵锟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Radio Equipment Research Institute
Original Assignee
Shanghai Radio Equipment Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Radio Equipment Research Institute filed Critical Shanghai Radio Equipment Research Institute
Priority to CN201710712113.8A priority Critical patent/CN107621943A/zh
Publication of CN107621943A publication Critical patent/CN107621943A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种FPGA动态批量烧写系统,其包含:上位机,用于进行指令和烧写数据的广播;若干烧写模块,分别通过485总线连接上位机;其中,每个烧写模块分别包含:485芯片,通过所述的485总线连接上位机;FPGA,连接所述的485芯片,该FPGA具有内部加载逻辑;Flash芯片,连接所述的FPGA,该Flash芯片中烧写初始MCS架构;该初始MCS架构包含协议区和代码区,协议区中包含用于决定加载时启用备份区还是更新区的关键字,代码区包含烧写有保留代码的备份区、用于烧写新代码的更新区以及用于烧写新代码的CRC的CRC校验区。其优点是:实现动态烧写和批量更新下载,大大提高了系统调试和软件更新的效率。

Description

一种FPGA动态批量烧写系统及方法
技术领域
本发明涉及数字通信技术领域,具体涉及一种FPGA动态批量烧写系统及方法。
背景技术
目前FPGA广泛应用于各类高速数字信号处理中,而FPGA配置加载程序的方法有很多。一般FPGA可上电主动读取外置存储器中的配置文件,即将代码烧写在独立的外部存储芯片中,例如Flash中,也可以通过CPLD或DSP等控制器来读取配置文件加载到FPGA当中。而且FPGA的配置文件一般通过专用的烧写器进行烧写,这就对设备的使用条件和环境提出了要求,例如带有FPGA产品的结构件需对外留好烧写接口方便进行配置文件更改;而且单板的需要进行抗电磁干扰设计,使得在恶劣条件下烧写可以正常进行。当一台设备有多个FPGA模块时,对硬件和结构设计就提出了更多的要求,而且烧写配置时会损失大量时间,这就需要设计出一种能支持批量烧写的方法。
现有的文献对FPGA的烧写配置方法有以下几种:
文献1(李宗红,何攀峰.基于PCI总线配置FPGA的技术[J].科技信息,2010,17:478-479.)实现了基于PCI总线、CPLD实现的FPGA动态加载技术,但是加入了CPLD等芯片,使硬件设计更为复杂;
文献2(范斌,常青.基于DSP的FPGA动态重构系统研究与设计[J].信息与电子工程,2010,8(2):123-127.)实现了通过DSP来实现FPGA的动态烧写,不过在没有DSP的硬件系统中此设计难以通用;
专利1(FPGA配置程序的烧写方法,201210201314.9,2012)提出了用计算机作为配置器,以带网络接口的PowerPC作为微处理器,将包含接口转换电路的FPGA通过烧写电缆连接配置器,这样简化了硬件设计,不过通用化不够;
专利2(一种可实现不带电烧写程序的CPLD/FPGA下载器,201620490610.9,2016)发明了一种可不带电烧写程序的FPGA下载器,实现了下载工具的通用化,但是没有解决大批量烧写的工作量;
专利3(一种高可靠性FPGA远程升级方法,201610975861.0,2016)将FPGA的配置芯片进行分区,分区一带有基础功能,分区二为代码升级区,在更新失败时加载分区一代码,避免了在更新过程中意外中断导致FPGA上电无法正确加载的情况。
实际应用中,通常会遇到FPGA批量烧写的需求,如果用仿真器烧写会带来巨大的工作量,如果板子加入控制器来辅助加载代码,则会增加电路设计和软件设计的复杂度,不符合小型化的需求。
发明内容
本发明的目的在于提供一种FPGA动态批量烧写系统及方法,其利用485总线进行广播需要烧写的代码文件,并利用FPGA内部加载逻辑实现动态烧写和批量更新下载,大大提高了系统调试和软件更新的效率。
为了达到上述目的,本发明通过以下技术方案实现:
一种FPGA动态批量烧写系统,其特征是,包含:
上位机,用于进行指令和烧写数据的广播;
若干烧写模块,分别通过485总线连接上位机;
其中,每个烧写模块分别包含:
485芯片,通过所述的485总线连接上位机;
FPGA,连接所述的485芯片,该FPGA具有内部加载逻辑;
Flash芯片,连接所述的FPGA,该Flash芯片中烧写初始MCS架构;该初始MCS架构包含协议区和代码区,协议区中包含用于决定加载时启用备份区还是更新区的关键字,代码区包含烧写有保留代码的备份区、用于烧写新代码的更新区以及用于烧写新代码的CRC的CRC校验区。
上述的FPGA动态批量烧写系统,其中,所述的协议区中还包含:
数据同步段、更新代码头地址以及加载指令。
上述的FPGA动态批量烧写系统,其中:
所述的FPGA为XILINX6系列或7系列或8系列中的任意一种。
上述的FPGA动态批量烧写系统,其中:
所述关键字默认状态下激活备份区。
一种FPGA动态批量烧写方法,实现若干具有内部加载逻辑的FPGA的批量烧写功能,其特征是,包含:
上位机在线通过485总线及485芯片将新代码广播至各个FPGA;
各个FPGA利用内部加载逻辑将新代码按格式写入相应的Flash芯片中,同时写入新代码的CRC;
各个FPGA分别从Flash芯片中读出新代码并计算CRC,若正确则将关键字指向备份区以启用新代码作为下次配置的代码,若错误则默认关键字不变指向保留代码。
上述的FPGA动态批量烧写方法,其中:
更新开始时,首先擦除关键字,然后再进行新代码的烧写。
本发明与现有技术相比具有以下优点:
1、利用485总线进行广播需要烧写的代码文件,并利用FPGA内部加载逻辑实现动态烧写和批量更新下载,大大提高了系统调试和软件更新的效率;
2、为每一个FPGA都配置一Flash芯片,将Flash芯片分为保留代码区和更新代码区,一方面可通过在线更新代码实现动态切换,一方面在更新代码段末尾加入CRC校验,在更新出现异常的情况下依然可以启用保留区代码,可支持代码再次更新,并保证系统的基本功能不受影响。
附图说明
图1为本发明的系统框图;
图2为本发明的系统中Flash芯片中初始MCS的架构图;
图3为本发明实施例中的动态批量烧写方法流程图。
具体实施方式
以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
如图1所示,本发明提出了一种FPGA动态批量烧写系统,其包含:
上位机1,用于进行指令和烧写数据的广播;
若干烧写模块2,分别通过485总线连接上位机1;
其中,每个烧写模块分别包含:
485芯片3,通过所述的485总线连接上位机;
FPGA4,连接所述的485芯片3,该FPGA4具有内部加载逻辑;
Flash芯片5,大小根据需要选取,连接所述的FPGA4,配置初期,该Flash芯片5中烧写初始MCS架构;如图2所示,该初始MCS架构包含协议区和代码区,协议区中包含用于决定加载时启用备份区还是更新区的关键字,代码区包含烧写有保留代码的备份区、用于烧写新代码的更新区以及用于烧写新代码的CRC的CRC校验区。通常,所述的协议区中还包含:数据同步段、更新代码头地址以及加载指令。备份区需要支持与Flash芯片读写的接口功能,其他功能可根据用户需求。
所述的FPGA为XILINX6系列或7系列或8系列中的任意一种。
本实施例中,所述关键字默认状态下激活备份区。
如图3所示,本发明还公开了一种FPGA动态批量烧写方法,实现若干具有内部加载逻辑的FPGA的批量烧写功能,其包含:
上位机1在线通过485总线及485芯片3将新代码广播至各个FPGA4;
各个FPGA4利用内部加载逻辑将新代码按格式写入相应的Flash芯片5中,同时写入新代码的CRC;
各个FPGA4分别从Flash芯片5中读出新代码并计算CRC,若正确则将关键字指向备份区以启用新代码作为下次配置的代码,若错误则默认关键字不变指向保留代码。当关键字指向更新区时,加载时跳过协议区直接读取备份区代码;当关键字指向更新区时,加载时读取协议信息,找到更新段启示地址,直接跳至更新区代码开始加载。
更新开始时,首先擦除关键字,然后再进行新代码的烧写,当更新代码加载结束,进行CRC校验,若校验成功,则写入关键字使关键字指向更新区;如校验失败则不写入,在下次加载时激活备份区的保留代码。
本实施例中,FPGA4选用A7100t芯片,Flash芯片5选用N25Q128芯片,FPGA共有40个,若采样传统仿真器逐个烧写,总共需要4个小时左右时间,而采用本发明方案,完成一次烧写只需要2分钟,大大提升了效率。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术c人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (6)

1.一种FPGA动态批量烧写系统,其特征在于,包含:
上位机,用于进行指令和烧写数据的广播;
若干烧写模块,分别通过485总线连接上位机;
其中,每个烧写模块分别包含:
485芯片,通过所述的485总线连接上位机;
FPGA,连接所述的485芯片,该FPGA具有内部加载逻辑;
Flash芯片,连接所述的FPGA,该Flash芯片中烧写初始MCS架构;该初始MCS架构包含协议区和代码区,协议区中包含用于决定加载时启用备份区还是更新区的关键字,代码区包含烧写有保留代码的备份区、用于烧写新代码的更新区以及用于烧写新代码的CRC的CRC校验区。
2.如权利要求1所述的FPGA动态批量烧写系统,其特征在于,所述的协议区中还包含:
数据同步段、更新代码头地址以及加载指令。
3.如权利要求1所述的FPGA动态批量烧写系统,其特征在于:
所述的FPGA为XILINX6系列或7系列或8系列中的任意一种。
4.如权利要求1所述的FPGA动态批量烧写系统,其特征在于:
所述关键字默认状态下激活备份区。
5.一种FPGA动态批量烧写方法,实现若干具有内部加载逻辑的FPGA的批量烧写功能,其特征在于,包含:
上位机在线通过485总线及485芯片将新代码广播至各个FPGA;
各个FPGA利用内部加载逻辑将新代码按格式写入相应的Flash芯片中,同时写入新代码的CRC;
各个FPGA分别从Flash芯片中读出新代码并计算CRC,若正确则将关键字指向备份区以启用新代码作为下次配置的代码,若错误则默认关键字不变指向保留代码。
6.如权利要求5所述的FPGA动态批量烧写方法,其特征在于:
更新开始时,首先擦除关键字,然后再进行新代码的烧写。
CN201710712113.8A 2017-08-18 2017-08-18 一种fpga动态批量烧写系统及方法 Pending CN107621943A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710712113.8A CN107621943A (zh) 2017-08-18 2017-08-18 一种fpga动态批量烧写系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710712113.8A CN107621943A (zh) 2017-08-18 2017-08-18 一种fpga动态批量烧写系统及方法

Publications (1)

Publication Number Publication Date
CN107621943A true CN107621943A (zh) 2018-01-23

Family

ID=61088789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710712113.8A Pending CN107621943A (zh) 2017-08-18 2017-08-18 一种fpga动态批量烧写系统及方法

Country Status (1)

Country Link
CN (1) CN107621943A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343888A (zh) * 2018-10-24 2019-02-15 中国兵器装备集团自动化研究所 一种基于dsp的fpga程序远程在线更新系统及方法
CN111983438A (zh) * 2020-08-31 2020-11-24 中国电子科技集团公司第五十八研究所 一种fpga的在线编程测试方法
CN112099832A (zh) * 2020-11-04 2020-12-18 中国人民解放军国防科技大学 星载设备的单粒子翻转恢复方法及系统
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999350A (zh) * 2012-10-24 2013-03-27 绵阳市维博电子有限责任公司 一种数字信号处理平台中fpga程序升级在线下载方法
CN103106163A (zh) * 2013-03-06 2013-05-15 上海维宏电子科技股份有限公司 基于数据帧异步传输协议的fpga芯片在线升级结构及方法
CN104899065A (zh) * 2015-06-11 2015-09-09 武汉虹信通信技术有限责任公司 一种可批量软件在线恢复与软件在线升级的方法和系统
CN105955783A (zh) * 2016-05-09 2016-09-21 浙江大学 一种基于fpga控制的远程fpga逻辑代码的下载方法
CN106502723A (zh) * 2016-09-29 2017-03-15 四川九洲电器集团有限责任公司 用于实现fpga程序动态升级及自加载的装置及方法
CN106598650A (zh) * 2016-11-25 2017-04-26 积成电子股份有限公司 基于光纤通信的fpga程序在线升级的装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999350A (zh) * 2012-10-24 2013-03-27 绵阳市维博电子有限责任公司 一种数字信号处理平台中fpga程序升级在线下载方法
CN103106163A (zh) * 2013-03-06 2013-05-15 上海维宏电子科技股份有限公司 基于数据帧异步传输协议的fpga芯片在线升级结构及方法
CN104899065A (zh) * 2015-06-11 2015-09-09 武汉虹信通信技术有限责任公司 一种可批量软件在线恢复与软件在线升级的方法和系统
CN105955783A (zh) * 2016-05-09 2016-09-21 浙江大学 一种基于fpga控制的远程fpga逻辑代码的下载方法
CN106502723A (zh) * 2016-09-29 2017-03-15 四川九洲电器集团有限责任公司 用于实现fpga程序动态升级及自加载的装置及方法
CN106598650A (zh) * 2016-11-25 2017-04-26 积成电子股份有限公司 基于光纤通信的fpga程序在线升级的装置及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343888A (zh) * 2018-10-24 2019-02-15 中国兵器装备集团自动化研究所 一种基于dsp的fpga程序远程在线更新系统及方法
CN111983438A (zh) * 2020-08-31 2020-11-24 中国电子科技集团公司第五十八研究所 一种fpga的在线编程测试方法
CN112099832A (zh) * 2020-11-04 2020-12-18 中国人民解放军国防科技大学 星载设备的单粒子翻转恢复方法及系统
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Similar Documents

Publication Publication Date Title
CN105354070B (zh) 一种通过i2c升级设备固件的方法
US8386764B2 (en) BIOS architecture
CN107621943A (zh) 一种fpga动态批量烧写系统及方法
CN101329385B (zh) 一种片上系统的调测系统、调测方法以及片上系统
CN103616937B (zh) 一种主板、pcie网卡和服务器系统
CN106909425A (zh) 一种dsp和fpga系统在线升级方法
CN107832078B (zh) 基于dsp的fpga程序在线更新电路
CN104503782A (zh) 一种就地化继电保护装置远程软件升级的方法
CN105446847A (zh) 一种arinc659总线的自动化测试系统及其方法
CN110405759A (zh) 一种芯片控制系统
CN102253844B (zh) 一种启动处理器的方法和设备
CN110187909A (zh) 一种基于安卓系统的单片机固件升级方法
CN113553081A (zh) 一种基于zynq芯片的fpga加载方法
CN109451098A (zh) Fpga加速卡mac地址配置方法、装置及加速卡
CN109582341A (zh) 一种机车信号车载系统设备的主机系统及其程序变更方法
CN101667133B (zh) 固件更新方法和使用该方法更新固件的芯片
CN114138360B (zh) DSP在Flash上的多核烧写启动方法及系统
CN109525276B (zh) 一种具备外部下载功能的多模数据链系统及方法
CN109542481B (zh) 一种多模式多功能测试仪器自动配置装置和方法
CN110096291A (zh) 电源管理芯片升级电路、方法及网络设备
CN116881929B (zh) 安全防护方法、装置、电子设备以及基板控制器芯片
CN106293797A (zh) 一种在线更新单片机程序的方法及系统
CN110262349A (zh) 一种c8051f系列单片机的远程在线编程方法及系统
CN104678292A (zh) 一种复杂可编程逻辑器件cpld测试方法和装置
CN116155350A (zh) 卫星的指令批量生成方法、系统、存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180123

RJ01 Rejection of invention patent application after publication