CN101604244B - 一种实现fpga上电即用和远程升级的装置及方法 - Google Patents

一种实现fpga上电即用和远程升级的装置及方法 Download PDF

Info

Publication number
CN101604244B
CN101604244B CN2008100677882A CN200810067788A CN101604244B CN 101604244 B CN101604244 B CN 101604244B CN 2008100677882 A CN2008100677882 A CN 2008100677882A CN 200810067788 A CN200810067788 A CN 200810067788A CN 101604244 B CN101604244 B CN 101604244B
Authority
CN
China
Prior art keywords
fpga
remote upgrade
logical file
fpga chip
loading
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.)
Expired - Fee Related
Application number
CN2008100677882A
Other languages
English (en)
Other versions
CN101604244A (zh
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN2008100677882A priority Critical patent/CN101604244B/zh
Publication of CN101604244A publication Critical patent/CN101604244A/zh
Application granted granted Critical
Publication of CN101604244B publication Critical patent/CN101604244B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种实现FPGA上电即用和远程升级的装置,该装置包括FPGA芯片,还包括一个与CPU及FPGA芯片相连的缓冲电路,用于保证与该电路相连的FPGA芯片的引脚的电平在上电后一直为高,所述FPGA芯片内嵌有闪存;本发明还提供一种实现FPGA上电即用和远程升级的方法,该方法在逻辑文件远程下载到系统的闪存后,做如下操作:FPGA的加载模块读取闪存中的逻辑文件数据流,加载FPGA;检测加载中是否出现CRC校验错误,若是,则重新加载;否则,检测逻辑文件是否加载成功,若是,则升级完毕;否则,继续加载。本发明不仅可以使FPGA在上电后就能正常工作,而且也能实现其远程升级。

Description

一种实现FPGA上电即用和远程升级的装置及方法
技术领域
本发明涉及一种FPGA(Field Programmable Gate Array,现场可编程门阵列),尤其涉及一种实现FPGA上电即用和远程升级的装置及方法。
背景技术
在现代的嵌入式系统中,越来越多的采用了FPGA芯片来完成大规模的逻辑功能。有些系统除了需要具有FPGA的远程升级功能外,还需要在上电后很短时间内就用到FPGA的功能。一般FPGA的加载方法有以下几种:
1、使用CPU加载,方法是将FPGA的逻辑文件与软件程序一起存放在设备的FLASH存储器(闪存)里,系统启动后,CPU执行带有加载功能的应用程序,将逻辑文件加载到FPGA中。这种加载方式虽然方便于远程升级FPGA,但要在应用程序加载完逻辑后才能使用FPGA。
2、增加一片专用的配置PROM(可编程只读存储器),将FPGA逻辑文件先烧到PROM中,单板启动时采用FPGA的主串或主并模式,由FPGA主动发起,将逻辑文件从PROM中加载到FPGA中。这种方式下,逻辑文件烧入PROM后就固定了,无法实现FPGA的升级。
3、有的系统采用CPLD(Complex Programmable Logic Device,复杂的可编程逻辑器件)加上闪存的方法。闪存里存放FPGA的逻辑文件,通过CPLD将逻辑文件加载到FPGA中,CPLD可以与CPU通讯来升级闪存上的逻辑文件。这种方案虽然可以实现FPGA的上电即用和远程升级,但比较复杂,成本较高。
发明内容
本发明所要解决的技术问题是,提供一种实现FPGA上电即用和远程升级的装置,并且提供一种实现FPGA上电即用和远程升级的方法,本发明能够使FPGA在上电后就能正常工作并能实现远程升级。
一种实现FPGA上电即用和远程升级的装置,包括FPGA芯片,还包括一个与CPU及FPGA芯片相连的缓冲电路,用于保证与该电路相连的FPGA芯片的引脚的电平在上电后一直为高,所述FPGA芯片内嵌有闪存。
若系统中的CUP I/O引脚匮乏,则所述FPGA芯片通过锁存器与CPU连接。
若系统中的CUP I/O引脚匮乏,则所述FPGA芯片通过复杂的可编程逻辑器件CPLD的寄存器与CPU连接。
一种实现FPGA上电即用和远程升级的方法,逻辑文件远程下载到系统的闪存后,执行以下步骤:
步骤一:FPGA的加载模块读取闪存中的逻辑文件数据流,加载FPGA;
步骤二:检测加载中是否出现CRC校验错误,若是,则重新加载;否则,执行下一步;
步骤三:检测逻辑文件是否加载成功,若是,则升级完毕;否则,执行步骤一。
所述步骤一之前还包括:初始化FPGA芯片的加载时序。
所述步骤二与步骤三之间还包括:检测逻辑文件数据流是否加载完毕,若是,则执行步骤三;否则,执行步骤一。
所述步骤四进一步包括:检测加载次数是否小于等于事先设定的值,若是,则执行步骤一;否则结束流程。
本发明采用了一种内嵌闪存的FPGA器件,这种FPGA器件除了具有普通FPGA器件的配置模式外,还有一种SDM(Self Download Mode,自下载模式),一般情况下,此种FPGA器件只能实现上电即用和远程升级中的一种功能,但本发明不仅可以使FPGA在上电后就能正常工作,而且也能实现远程升级。
附图说明
图1是本发明中FPGA的从串加载实施例一电路示意图;
图2是本发明中FPGA的从串加载实施例二电路示意图;
图3是本发明中所述方法优选实施例流程图。
具体实施方式
下面结合附图的实施例对本发明进行详细描述:
本发明的装置可采用从串或者从并的加载方式,从并方式有8条数据线,而从串方式只需1条数据线,实施例采用了从串的加载方式。
图1是FPGA的从串加载实施例一电路示意图,图中包括CPU、缓冲电路、FPGA芯片,FPGA芯片采用Lattice的LFXP系列器件,缓冲电路的作用是保证信号CFG和PROGRAMN的电平在上电后一直为高,因为有些CPU的I/O脚在上电复位时电平状态不稳定,会影响到FPGA的SDM功能,所述FPGA芯片的INITN和DONE信号必须接上拉电阻。
FPGA芯片引脚功能说明:
DIN:     数据输入
CCLK:    同步时钟,由CPU提供
PROGRAMN:初始化配置时序
INITN:   指示是否出现CRC校验错误
DONE:    指示加载是否完成
CFG:     设置配置模式(值为1:SDM模式;值为0:从串模式)
该实施例中,CPU的I/O1、I/O2引脚通过缓冲电路与FPGA的CFG和PROGRAMN相连,I/O3、I/O4、I/O5、I/O6引脚分别与FPGA的INITN、DONE、CCLK、DIN引脚相连。
图2是本发明中FPGA的从串加载实施例二电路示意图。图中包括CPU、锁存器或者CPLD、FPGA芯片,FPGA芯片同样采用Lattice的LFXP系列器件,当CPU的通用I/O资源匮乏,没有足够的引脚分配给FPGA的加载端口时,可以采用这种电路。原理是采用锁存器或者小型CPLD里的寄存器,通过本地总线的读写操作来模拟和驱动加载信号。
基于以上两个实施例,在系统的单板上,CPU通过I/O口,或者经过锁存器、CPLD的接口转换,与FPGA的配置加载端口连接。单板第一次使用时,先在PC上用下载电缆通过JTAG(Joint Test Action Group,联合测试行动小组)接口将一份逻辑文件烧录进FPGA的闪存里面;当系统上电时,FPGA采用SDM模式,在有效上电后的微秒级时间内,逻辑文件数据流从内嵌闪存中自动加载到SRAM(Static RAM)中,当单板的应用软件启动时,如果需要升级FPGA逻辑文件,则CPU通过FPGA的配置加载端口使用从串(被动串行)模式或者从并(被动并行)模式来加载逻辑文件,实现FPGA的远程升级。
图3是本发明中所述方法优选实施例流程图。当进行FPGA的远程升级时,新的逻辑文件通过以太网或者HDLC(High level Data Link Control,高级数据链路控制)通道传送到FPGA,并写进FPGA的闪存里后,执行如下步骤:
步骤301:系统上电期间和之后,CFG和PROGRAMN信号一直为高,FPGA完成自下载(将逻辑数据流从内嵌闪存中自动加载到SRAM中),开始正常工作;
步骤302:若FPGA的闪存中的逻辑文件版本比FPGA的SRAM里的高,则执行加载逻辑文件的任务,主要步骤如下:
(1)将CFG信号置为低电平,采用从串配置模式;
(2)在PROGRAMN上送出一个低电平脉冲,初始化加载时序。然后检测INITN信号,如果此信号为高,说明初始化成功,延时一段时间后就可以加载数据;
(3)从闪存中读出逻辑文件数据流,在CCLK和DIN端口分别送出时钟及数据信号,加载FPGA;
(4)在加载过程中,检测INITN信号,若INITN=0,即为低,则说明加载过程出现了CRC校验错误,需要重新开始加载逻辑文件,执行(6);若INITN=1,即为高,则说明加载过程没有CRC校验错误,则加载一个字节后执行(5);
(5)检测数据是否加载完毕,若是,则检测DONE信号,若DONE=0,则说明加载失败,执行(6),DONE=1则加载成功,执行(7);否则执行(4);
(6)检测加载次数是否小于等于事先设定的值,若是,则执行(2);否则,结束流程;
(7)送出120个时钟,流程结束。
通过上面的方法就可以实现FPGA的上电即用和远程升级,使嵌入式系统的设计具有更大的灵活性。

Claims (3)

1.一种实现FPGA上电即用和远程升级的装置,包括FPGA芯片,其特征在于,还包括一个与CPU及FPGA芯片相连的缓冲电路,用于保证与该电路相连的FPGA芯片的引脚的电平在上电后一直为高,所述FPGA芯片内嵌有闪存;
当所述FPGA芯片采用Lattice的LFXP系列器件时,所述FPGA芯片的CFG和PROGRAMN引脚的电平在上电后一直为高。
2.如权利要求1所述的实现FPGA上电即用和远程升级的装置,其特征在于,若系统中的CPU I/O引脚匮乏,则所述FPGA芯片通过锁存器与CPU连接。
3.如权利要求1或2所述的实现FPGA上电即用和远程升级的装置,其特征在于,若系统中的CPU I/O引脚匮乏,则所述FPGA芯片通过复杂的可编程逻辑器件CPLD的寄存器与CPU连接。 
CN2008100677882A 2008-06-13 2008-06-13 一种实现fpga上电即用和远程升级的装置及方法 Expired - Fee Related CN101604244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100677882A CN101604244B (zh) 2008-06-13 2008-06-13 一种实现fpga上电即用和远程升级的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100677882A CN101604244B (zh) 2008-06-13 2008-06-13 一种实现fpga上电即用和远程升级的装置及方法

Publications (2)

Publication Number Publication Date
CN101604244A CN101604244A (zh) 2009-12-16
CN101604244B true CN101604244B (zh) 2012-11-28

Family

ID=41469986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100677882A Expired - Fee Related CN101604244B (zh) 2008-06-13 2008-06-13 一种实现fpga上电即用和远程升级的装置及方法

Country Status (1)

Country Link
CN (1) CN101604244B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298959B (zh) * 2010-06-24 2015-10-21 中兴通讯股份有限公司 可编程逻辑器件及其访问方法
CN102043747B (zh) * 2010-12-17 2012-07-18 浙江大学 Jtag下载方式下fpga逻辑代码的下载方法
CN102567054B (zh) * 2011-12-22 2015-05-20 深圳市大富科技股份有限公司 双塔放大器的控制方法及相应的装置
CN103617056B (zh) * 2013-11-25 2017-02-01 广东威创视讯科技股份有限公司 Fpga逻辑代码的在线升级方法和装置
CN104881286B (zh) * 2015-05-28 2018-03-20 烽火通信科技股份有限公司 可编程器件配置系统及方法
CN104965743B (zh) * 2015-07-10 2018-12-07 许继电气股份有限公司 一种mmc子模块软件程序在线升级方法、系统及mmc子模块
CN107766065A (zh) * 2016-08-19 2018-03-06 西安中车永电捷通电气有限公司 Fpga芯片的软件升级方法及系统
CN107766251B (zh) * 2017-11-08 2021-02-02 苏州浪潮智能科技有限公司 加载image的检测方法、系统、设备及可读存储介质
CN107819883A (zh) * 2017-12-13 2018-03-20 天津光电通信技术有限公司 一种多信号处理设备及其对fpga程序的远程升级方法
CN110069366B (zh) * 2018-01-24 2023-09-26 阿里巴巴集团控股有限公司 一种重加载方法、装置及服务器
CN110618827A (zh) * 2019-08-26 2019-12-27 国网河南省电力公司洛阳供电公司 一种内置flash的fpga远程升级方法
CN112702065B (zh) * 2020-12-18 2021-10-08 广东高云半导体科技股份有限公司 Fpga码流数据校验方法及装置
CN112698887B (zh) * 2021-01-14 2023-02-28 成都壹石新科信息技术有限公司 具有隔离功能的fpga在线配置装置及方法
CN114706604A (zh) * 2022-06-07 2022-07-05 杭州加速科技有限公司 一种fpga救援方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1883369A (zh) * 2005-06-21 2006-12-27 奥林巴斯医疗株式会社 电子内窥镜装置
CN1983180A (zh) * 2005-04-29 2007-06-20 美国凹凸微系有限公司 一种用于现场可编程门阵列位文件升级的系统及方法
CN1987835A (zh) * 2005-12-22 2007-06-27 上海贝尔阿尔卡特股份有限公司 实现多个fpga映像文件串行下载的系统及其相关计算机
CN101000550A (zh) * 2006-12-13 2007-07-18 青岛大学 一种嵌入式系统远程在线再配置方法
CN101165652A (zh) * 2006-10-18 2008-04-23 中兴通讯股份有限公司 一种用cpu同时加载多片fpga的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983180A (zh) * 2005-04-29 2007-06-20 美国凹凸微系有限公司 一种用于现场可编程门阵列位文件升级的系统及方法
CN1883369A (zh) * 2005-06-21 2006-12-27 奥林巴斯医疗株式会社 电子内窥镜装置
CN1987835A (zh) * 2005-12-22 2007-06-27 上海贝尔阿尔卡特股份有限公司 实现多个fpga映像文件串行下载的系统及其相关计算机
CN101165652A (zh) * 2006-10-18 2008-04-23 中兴通讯股份有限公司 一种用cpu同时加载多片fpga的方法
CN101000550A (zh) * 2006-12-13 2007-07-18 青岛大学 一种嵌入式系统远程在线再配置方法

Also Published As

Publication number Publication date
CN101604244A (zh) 2009-12-16

Similar Documents

Publication Publication Date Title
CN101604244B (zh) 一种实现fpga上电即用和远程升级的装置及方法
CN101621293B (zh) Jtag设备及隔离电路实现jtag数据下载的方法
CN102999350B (zh) 一种数字信号处理平台中fpga程序升级在线下载方法
CN108319526B (zh) 基于片上嵌入式微系统及其内部fpga资源内建自测试方法
US10184983B2 (en) Interface independent test boot method and apparatus using automatic test equipment
CN100498801C (zh) 一种组合式现场可编程门阵列验证装置
KR20110124617A (ko) 시스템-온-칩 및 그것의 디버깅 방법
CN106201590B (zh) 一种fpga配置文件加载方法和系统
CN100440805C (zh) 一种atca中jtag器件远程维护的方法及系统
CN112463243B (zh) 基于边界扫描的在线级联加载固件系统及其方法
CN102736938A (zh) Fpga配置程序的烧写方法
CN102214132A (zh) 一种调试龙芯cpu和南北桥芯片的方法和装置
CN112214345B (zh) 一种基于多重加载的多fpga软件烧写故障恢复方法
CN108664264A (zh) 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN103376340A (zh) 一种转接板、多平台串行测试系统及方法
CN103927279A (zh) Fpga配置方法及系统、处理器
CN109992555A (zh) 一种供多路服务器共用的管理板卡
US20140215123A1 (en) Controller-Opaque Communication with Non-Volatile Memory Devices
CN101788646B (zh) Fpga配置器件的ate测试方法
US7830172B1 (en) Accessing user registers in an integrated circuit
EP3380854A1 (en) Scan logic for circuit designs with latches and flip-flops
CN109753394B (zh) 一种实时调试固件配置信息的电路及方法
CN109684152A (zh) 一种risc-v处理器指令下载方法及其装置
CN107506206A (zh) 一种抗辐照反熔丝prom对sram型fpga的加载电路
CN100543681C (zh) 一种可编程器件升级的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121128

Termination date: 20170613