资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
EDA技术与 VHDL课程论文借助 USB完成 FPGA配置的实现方法姓名:学号: 学院:信息科学与工程学院专业:电子信息工程EDA技术与 VHDL课程论文第 1 页借助 USB完成 FPGA配置的实现方法引言由于 FPGA 具有易失性,所以每次 FPGA 上电都必须将其设计代码重新装载,这一任务常常由某种专门针对 FPGA 配置的专用存储器(如 EPC 系列专用存储器)或专用处理器来完成。针对 USB 接口设备上 FPGA 的配置方法问题,本文提出利用 PC 主机,通过 USB 接口在线对USB 设备中 FPGA 芯片进行配置的一种实现方法。具体方法是 FPGA 的配置代码存储于 PC 机中,PC 机通过 USB 将配置文件传送给 USB 设备,USB 设备再借助其内部的微控制器将配置代码装载到 FPGA 芯片,实现 FPGA 的配置过程,从而免去在系统设计中使用一个专用处理器或专用存储器所造成的占用空间和成本的增加。1 FPGA的配置方式及其优缺点FPGA 的配置方式主要分为两大类:主动配置方式和被动配置方式。主动配置方式由 FPGA器件自身控制着外部配置存储器,引导配置操作过程,并进行器件的初始化过程,最后进入用户状态。该方式简单方便,不需要其他的外围控制器,由 FPGA 器件自身引导整个配置过程,但是必须采用专用存储器放置配置数据。而对专用存储器的编程也需要专用的编程硬件,相对来说成本较高。被动配置方式则是由外部计算机或微控制器控制 FPGA 的配置过程。当采用外部微控制器配置 FPGA 时,配置数据可以放在通用存储器中,如 EPROM、EEPROM 或 FLASH中。在 FPGA 上电后,由外部微控制器从通用存储器中读出配置数据并写入 FPGA 器件内,完成 FPGA 的配置过程。该方法的优点是不必采用专用的配置存储器,从而降低设计成本,而且可以在通用存储器中存放多种功能的配置文件,根据系统需要,外部微控制器可以自动选择对芯片配置何种功能,从而完成单系统多方案的配置,缺点是需要添加一个外部微控制器和通用存储器,使得系统设计复杂。当计算机来配置 FPGA 时,可以通过计算机上的 FPGA 开发工具,再借助专用下载电缆,将 FPGA 的配置文件下载至 FPGA 芯片,在线的完成 FPGA 的配置过程。该方法可以很方便的修改系统功能,从而被广泛应用在系统的开发调试阶段。但对于已经设计完的应用系统,该方法显然会带来很多不便。在 FPGA 的应用设计中,最常用的配置方法是:先将 FPGA 的配置方式设置为被动方式,在计算机上涌 FPGA 的开发工具将 FPGA 功能设计文件编译、综合及仿真后,把生成的配置文件借助下载电缆下载到 FPGA 内,进行功能调试。当电路设计成功后,将 FPGA 配置文件固化到一个专用的配置存储器芯片中,并将 FPGA 的配置方式改为主动配置方式,以便系统本身能在上电后自动加载配置数据进行配置,从而省去通过手下由下载电缆对器件进行配置的过程。这种方法使得系统的开发设计简单,但会增加硬件设备的占用空间和成本,另外系统功能的修改很不方便,也不支持多功能 的配置。EDA技术与 VHDL课程论文第 2 页2 应用实施方案2.1 硬件平台该配置方案的硬件平台主要由 PC 机和 USB2.0 接口设备组成。 USB2.0 接口设备上USB2.0 接口控制器 EZUSB FX2 芯片和要配置的木匾芯片 FPGA。整个硬件平台的结构如下图所示。2.2 FPGA的配置方式选择及其电路设计本方案中用到的 FPGA 器件是 Altera 公司的 Cyclone 系列产品,在设计 USB 设备时将FPGA 的配置方式设置为 PS(被动串行)方式,主要配置引脚及功能如表 1 所列在设计中,将 EZ_USB FX2 内嵌的 8051 CPU 核作为 FPGA 配置的外围微控制器,FPGA 的配置过程由 8051 通过其 I/O 端口控制完成,其配置电路设计如图所示。EDA技术与 VHDL课程论文第 3 页PS 方式的配置工作过程如下:当 nCONFIG 产生下降沿脉冲时启动配置过程,在每个DCLK 的上升沿,将 DATA0 上的一位数据移入目标芯片。在配置过程中,系统需要实时监测,一旦出现错误,nSTATUS 将被拉低,系统识别到这个信息后,立即重新启动配置过程。配置数据全部正确的移入目标芯片内部后,CONF_DONE 信号跳变为高。此后,DCLK 必须提供几个周期的时钟(具体周期数与 DCLK 的频率有关),确保目标芯片被正确初始化,最后进入用户工作模式。2.3 配置过程的软件实现该方案中,FPGA 的配置过程完全要靠软件来实现。软件部分包括 PC 机上的控制软件和USB 设备中 8051 执行的固件。下面介绍对 FPGA 进行配置的整个过程。用 PC 机上的控制软件首先获得至 USB 设备驱动程序的句柄,然后打开由 FPGA 开发工具创建的 FPGA 配置文件。这里需要的是.rbf 文件,即二进制文件。然后通过每次调用 USB 传输函数,将取自配置文件中的一包数据(最大 512 字节)传送至 USB 设备的输出端点缓冲中。当 8051 检测到端点缓冲有数据包时,就启动 FPGA的配置固件代码,将这一包数据串行的写入到 FPGA 内。如此循环,知道 PC 机将配置文件全部传送至 USB 设备,且 8051 也将配置数据全部写入到 FPGA 内后,FPGA 的配置过程完成。最后,FPGA 自身经过初始化进入用户工作模式。EDA技术与 VHDL课程论文第 4 页3 结语本文结合资料给出了一种借助于 USB 接口实现主机对 USB 设备中 FPGA 配置的方法。通过该方法改变了以往对 FPGA 器件进行配置的方法,不但实现了用 PC 主机在线的对 FPGA 进行配置,提高了对 FPGA 逻辑功能修改的方便性,而且在没有增加任何元件的情况下,轻松而廉价的实现了 USB 设备中 FPGA 的配置问题。显然,在基于 FPGA 实现复杂逻辑沟通的 USB设备中,借助 USB 接口来实现 FPGA 的配置无疑是一种很好的方法参考文献1. 王玉华,郭书军,葛纫秋 FPGA 器件的在线配置方法 单片机与嵌入式系统应用,2004(3)2. 温淑红,崔慧娟,ALTERA FPGA 在微处理系统中的应用配置 电子技术应用,2005(1)3. 薛王宏,李小波,武波,一种基于单片机的 FPGA 并行配置的实现,今日电子,2005(2)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号