首页 > 技术 > 内容

FPGA自动加载系统方案设计详解

时间:2025-11-30  作者:Diven  阅读:0

0 引言

FPGA(Field ProgRAMmable Gate Array)即现场可编程门阵列,随着微电子技术的发展,FPGA的性能变的越来越优越,应用空间也变得越来越广。FPGA具有支持重复编程的特点,但是掉电后不能保存配置信息。因此在上电后,都需要用户将设计的FPGA配置文件从外部存储器中下载到FPGA中才能工作。针对这种情况,本文提出了以USB芯片,FLASH芯片和CPLD组成的FPGA自动加载系统。该系统通过USB芯片将PC中的配置文件传送给CPLD,CPLD再将其写入FLASH芯片,FLASH芯片可以长久地存储配置文件。这样FPGA每次上电后CPLD将FLASH中的配置文件读出来配置FPGA。从而使FPGA在每次上电后都可以自动获取配置文件,使其可以作为一个独立“芯片”工作,具有很强的实用性。在PS模式配置方式上也有改进,在传统PS模式下配置多个FPGA时通常使用前一级的FPGA的nCEO连接后一级FPGA的nCE来使能后一级FPGA,这样在第一个FPGA配置好后,nCEO会使能下一级的FPGA开始配置。这样只能先配置第一个FPGA,而且不能自由控制来配置下一级的FPGA。采用CPLD同时连接两个nCE,在前一级FPGA配置好后,获取完成信号来配置第二个FPGA,这样不受FPGA前后级联的顺序影响,可以自由选择配置FPGA。

1 系统框架及芯片简介

系统由CPLD,USB芯片和FLASH芯片组成,外加PC部分配合系统工作。系统框架见图1。系统中USB芯片连接PC与CPLD,PC通过USB向CPLD发送命令来操作FLASH。首先发送擦除FLASH命令,擦除完毕或将配置文件写入FLASH芯片。在FLASH芯片中可以存入多个FPGA的配置文件,在上电后或者需要加载时,CPLD读取FLASH中的配置文件并且对FPGA进行配置。

2 烧写FLASH时序

USB、CPLD和FLASH的连接关系如图2所示。USB将PC的命令和配置文件发送给CPLD,CPLD通过时序逻辑控制FLASH。

系统中所使用的USB芯片是FTDI公司的FT245BL,将USB芯片与PC连接后,USB芯片会自动识别为串口,利用串口调试助手可以向其发送命令或文件。

擦除和烧写FLASH操作如下所述:

FLASH芯片选用恒忆公司的M29EW系列512MNOR型FLASH。采用异步时钟操作,时序图中的fls_byte管脚对应的位宽选择信号,在本系统中将其拉低表示使用8 b位宽fls_adr表示地址,fls_dat表示数据,fls_cen为芯片使能信号,fls_oen为芯片读使能信号,fls_wen为芯片写使能信号。

如图3和图4所示,在执行擦除或写操作时序时,将fls_cen拉低、fls_oen拉高时可以执行写或擦除命令,fls_wen上升沿采样地址,下降沿采样数据。fls_ry_by是芯片的繁忙或空闲信号,是FLASH芯片惟一的输出信号,用于表示正在执行擦除或者写操作。

(1)擦除FLASH

在使用FALSH芯片之前需要对其进行擦除,PC通过USB向CPLD发出擦除命令后如图3所示。写入连续5个对应的地址和数据后,FLASH芯片将整个芯片的数据擦除,如图3所示在执行后,fls_ry_by信号拉低表示进入了擦除状态。

(2)烧写FLASH

如图4所示,在执行写FLASH操作时,首先需要给出写FLASH三次对应的数据和地址作为前置命令,然后给出需要写入FLASH的地址和数据。在接到命令后,CPLD根据图中时序将FPGA的配置文件写入FLASH。

3 PS模式自动加载FPGA

FPGA的配置管脚如图5所示。

在PS模式下配置FPGA的FLASH,CPLD和FPGA的连接关系如图5所示。

图6所示为PS模式加载FPGA的流程图。在加载过程中,将ps_nce拉低并且将ps_nconfig拉低至少40μs后再拉高,正常情况下这个操作会使ps_nstatus产生一个由低到高的一个脉冲信号并且使ps_conf_done由高变低。在ps_nstatus产生上升沿的瞬间立即给出ps_dclk和ps_data0来配置FPGA,其中ps_data0信号是通过读取FLASH芯片中的数据实现的。FPGA在接收配置文件的过程会自动识别文件的结尾,在配置结束后ps_ conf_done信号会拉高以表明配置结束,配置过程中init_done会由高变低,在经过至少18μs后init_done信号拉高表明完成初始化,随后进入用户模式。常规的方式采用nCONFIG,nSTATUTS,CONF_DONE复用,并且前一级FPGA的nCE连接后一级的FPGA的nCEO,这样加载顺序就被固定,而且每次加载只能先加载第一个FPGA,待加载完毕后才能加载第二个FPGA。与常规的配置方式不同之处在于通过使能nCE来选择需要配置的FPGA,给出相应的配置文件与信号ps_conf_done的时序来判断是否配置完成,这样就可以自由选择配置FPGA。

如图7所示为FPGA自动加载的平台,通过CPLD的逻辑控制和USB芯片的总线可以将PC端配置文件写入FLASH芯片中。在需要使用自动加载功能时,在上电后CPLD会立即读出存取在FLAHS中的FPGA配置文件,以PS模式配置相应的FPGA。

4

经测试系统可以在上电后对FPGA进行自动加载。本文提供了系统的结构框架和实施方案整体流程以及时序要求,具有很强的应用和参考价值。

猜您喜欢


电荷泵是一种利用开关电容网络,通过控制开关状态来实现电压转换的电路技术。作为一种被采用的电源管理解决方案,电荷泵在众多电子设备中是关键配件,下面我们将详细介绍电...
2024-03-15 00:00:00
盘根是用于密封的材料,应用于机械设备中,以防止液体或气体泄漏。在选择合适的盘根时,有几个关键参数需要考虑。首先是密度,密度直接影响盘根的密封性能和耐磨性。其次是...
2016-08-09 00:00:00
现代科技迅速发展的背景下,各类配件的需求也日益增加。尤其是一些特定尺寸和功能的配件,能够大幅提升产品的使用价值和用户体验。本文将重点介绍“Accessories...
2025-03-07 00:10:56
硬盘连接器是现代计算机中不可少的组件,主要包括SAS、SATA和M.2三种类型。作用各有不同,但都是为了实现数据的高速传输和存储。SAS(串行附加SCSI)连接...
2009-09-20 00:00:00
图像传感器在现代摄影和摄像中是非常重要的配件,但不同类型的传感器在性能和应用上存在显著差异。CCD(电荷耦合器件)传感器优异的图像质量和低噪声特性,常用于高端相...
2023-02-11 00:00:00
排阻作为重要的被动元件,应用于电路设计和制造中。风华高科(FH)作为中国领先的电子元器件制造商,其生产的排阻因质量稳定、性能优良而受到市场认可。本文将详细介绍F...
2015-08-01 22:09:48
贴片电阻,因其体积小巧,在电子电路中应用广泛。快速识别其阻值和型号对于电路设计和维修至关重要。一般来说,我们可以通过观察电阻表面的标识来判断。对于三位数的标识,...
2024-11-26 11:29:23
内径千分表是精密测量工具,应用于机械加工和质量控制领域。根据不同的设计和功能,内径千分表主要有以下几种区别。量程不同。市场上的内径千分表量程从几毫米到几十毫米不...
2009-02-16 00:00:00
流量计是工业自动化中不可少的设备,应用于液体和气体的流量测量。根据工作原理和应用领域,流量计可以分为多种类型。按工作原理分类,流量计主要有机械式流量计和电子式流...
2025-04-16 15:11:29