目前,配置FPGA数据的三种常用方法包括使用JTAG仿真器、专用芯片和微处理器。JTAG仿真器在调试时非常方便,可以随时修改配置,但需要与电脑主机连接,缺乏灵活性。专用芯片则预先存储配置数据,便于大规模升级,但成本较高且需要特定存储介质,增加了系统成本。相对而言,利用嵌入式系统中普遍存在的微处理器进行配置,不仅可以自行选择存储介质,还能有效利用现有资源。
以下,我们将详细介绍一种利用微处理器配置FPGA的系统方案。
系统的工作原理基于Philips公司生产的ARM7处理器LPC2468和Xilinx公司的Virtex SX95T FPGA。配置数据的存储介质选择成本适中且广泛应用的SD卡。系统启动时,微控制器LPC2468从SD卡中读取FPGA的配置文件,然后通过通用IO管脚模拟FPGA的配置模式时序,将配置数据写入FPGA的配置RAM中。
Virtex系列FPGA支持多种配置模式,每种模式所需的管脚和信号时序各不相同。在本方案中,考虑到微处理器作为主控制器的特点,我们选择了Slave SeLECtMAP模式。这种模式下,数据通过8个管脚并行传输,与Slave Serial模式相比,数据传输速度更快。
在Slave SelectMap模式下,FPGA的管脚信号功能、配置流程和数据都有其独特之处。设计电路板和编写程序时,需要注意以下几个方面:
1. 管脚信号:SelectMap模式下,FPGA使用的管脚包括配置数据管脚、时钟管脚、控制管脚等。这些管脚与微控制器的通用IO管脚相连,构成配置电路。
2. 配置流程:配置流程包括初始化、加载配置数据、校验和启动FPGA等步骤。每个步骤都需要严格遵守时序要求,确保数据正确无误地写入。
3. 配置数据:配置数据存储在SD卡中,包括FPGA的配置文件和启动程序。配置文件通常为二进制格式,包含FPGA的逻辑和功能配置信息。
通过以上步骤,我们成功实现了利用微处理器配置FPGA的系统。这种方案不仅节约了成本,还提高了系统的灵活性和可扩展性。随着技术的不断进步,我们有理由相信,FPGA在未来的嵌入式系统中将发挥更大的作用。
1.引言
由于 FPGA 良好的可编程性和优越的性能表现,当前采用FPGA 芯片的嵌入式系统数 量呈现迅速增加的趋势,特别是在需要进行大规模运算的通信领域。目前FPGA 配置数据一 般使用基于SRAM 的存储方式,掉电后数据消失,每次上电后都要重新写入。配置数据的 写入方式有3 种,即使用JTAG 仿真器、使用专用芯片以及使用微处理器。JTAG 仿真器的 方式在调试的时候使用较多,能随时修改,但缺点是FPGA 芯片必须与电脑主机连接,失去 了灵活性。使用专用芯片的方式可以将配置数据事先存储在非易失性存储介质中,为大规模 升级提供了方便,但不利之处在于专用芯片往往价格较高,并且也必须采用特定的存储介质, 提升了系统成本,而且没有利用到板上的现有资源,需要为配置芯片设置出专用的空间,占 用了电路板上的空间资源。而第三种方式可以利用当前嵌入式系统中一般都存在的微处理 器,同时也可以自行选择合适的存储介质。下面就这种配置方案进行说明。
2. 系统介绍
2.1 系统工作原理
本配置方案中使用的微控制器是Philips 公司生产的ARM7 处理器LPC2468。FPGA 则 是Xilinx 公司的Virtex SX95T。存储配置数据的介质是成本较低而且使用广泛的SD 卡。
系统的工作原理是上电时微控制器LPC2468 从SD 卡中读取FPGA 的配置文件,然后 通过其通用IO 管脚模拟FPGA 的某种配置模式的时序,将配置文件写入到FPGA 的配置 RAM 中。Virtex 系列FPGA 有几种不同的配置模式,每种配置模式使用到的管脚以及配置 信号的时序都是不同的, 因此对配置模式需要作出合适的选择。
2.2 Viretex 系列FPGA 的配置模式
Viretex 系列FPGA 的配置模式是由上电时其专用配置管脚的状态决定的,对应的关系 如下表所示:

因在系统中使用微处理器作为主控制器,因此FPGA 的模式需选择Slave 方式,所以有 2 种模式可以选择,即Slave SelectMap 和Slave Serial。这2 种模式的区别在与数据管脚的数 目不同,Slave Serial 模式只有1 个管脚用于数据传输,属于串行传输,而Slave SelectMap 模式有8 个管脚用于数据传输,属于并行传输。这2 种模式可以任意选择,本文选择的是 Slave SelectMap 模式。
2.3 Slave SelectMap 配置模式
Slave SelectMap 配置模式在管脚信号功能、配置流程、配置数据等方面有自己的特点, 在进行电路板设计以及程序编写时需要注意。下面对其主要特点进行说明。
2.3.1 Slave SelectMap 模式使用的管脚信号:
SelectMap 模式下使用的FPGA 管脚为:

根据上表,可以将微控制器的通用IO 管脚与上述FPGA 管脚连接起来,连接电路图如图1 所示:
