欢迎来到天天文库
浏览记录
ID:14234191
大小:39.78 KB
页数:5页
时间:2018-07-27
《借助usb完成fpga配置的实现方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、EDA技术与VHDL课程论文借助USB完成FPGA配置的实现方法姓名:学号:学院:信息科学与工程学院专业:电子信息工程第4页EDA技术与VHDL课程论文借助USB完成FPGA配置的实现方法引言由于FPGA具有易失性,所以每次FPGA上电都必须将其设计代码重新装载,这一任务常常由某种专门针对FPGA配置的专用存储器(如EPC系列专用存储器)或专用处理器来完成。针对USB接口设备上FPGA的配置方法问题,本文提出利用PC主机,通过USB接口在线对USB设备中FPGA芯片进行配置的一种实现方法。具体方法是FPGA的配置代码存储于PC机中
2、,PC机通过USB将配置文件传送给USB设备,USB设备再借助其内部的微控制器将配置代码装载到FPGA芯片,实现FPGA的配置过程,从而免去在系统设计中使用一个专用处理器或专用存储器所造成的占用空间和成本的增加。1FPGA的配置方式及其优缺点FPGA的配置方式主要分为两大类:主动配置方式和被动配置方式。主动配置方式由FPGA器件自身控制着外部配置存储器,引导配置操作过程,并进行器件的初始化过程,最后进入用户状态。该方式简单方便,不需要其他的外围控制器,由FPGA器件自身引导整个配置过程,但是必须采用专用存储器放置配置数据。而对专用
3、存储器的编程也需要专用的编程硬件,相对来说成本较高。被动配置方式则是由外部计算机或微控制器控制FPGA的配置过程。当采用外部微控制器配置FPGA时,配置数据可以放在通用存储器中,如EPROM、EEPROM或FLASH中。在FPGA上电后,由外部微控制器从通用存储器中读出配置数据并写入FPGA器件内,完成FPGA的配置过程。该方法的优点是不必采用专用的配置存储器,从而降低设计成本,而且可以在通用存储器中存放多种功能的配置文件,根据系统需要,外部微控制器可以自动选择对芯片配置何种功能,从而完成单系统多方案的配置,缺点是需要添加一个外部
4、微控制器和通用存储器,使得系统设计复杂。当计算机来配置FPGA时,可以通过计算机上的FPGA开发工具,再借助专用下载电缆,将FPGA的配置文件下载至FPGA芯片,在线的完成FPGA的配置过程。该方法可以很方便的修改系统功能,从而被广泛应用在系统的开发调试阶段。但对于已经设计完的应用系统,该方法显然会带来很多不便。在FPGA的应用设计中,最常用的配置方法是:先将FPGA的配置方式设置为被动方式,在计算机上涌FPGA的开发工具将FPGA功能设计文件编译、综合及仿真后,把生成的配置文件借助下载电缆下载到FPGA内,进行功能调试。当电路设
5、计成功后,将FPGA配置文件固化到一个专用的配置存储器芯片中,并将FPGA的配置方式改为主动配置方式,以便系统本身能在上电后自动加载配置数据进行配置,从而省去通过手下由下载电缆对器件进行配置的过程。这种方法使得系统的开发设计简单,但会增加硬件设备的占用空间和成本,另外系统功能的修改很不方便,也不支持多功能的配置。第4页EDA技术与VHDL课程论文1应用实施方案1.1硬件平台该配置方案的硬件平台主要由PC机和USB2.0接口设备组成。USB2.0接口设备上USB2.0接口控制器EZUSBFX2芯片和要配置的木匾芯片FPGA。整个硬件
6、平台的结构如下图所示。1.2FPGA的配置方式选择及其电路设计本方案中用到的FPGA器件是Altera公司的Cyclone系列产品,在设计USB设备时将FPGA的配置方式设置为PS(被动串行)方式,主要配置引脚及功能如表1所列在设计中,将EZ_USBFX2内嵌的8051CPU核作为FPGA配置的外围微控制器,FPGA的配置过程由8051通过其I/O端口控制完成,其配置电路设计如图所示。第4页EDA技术与VHDL课程论文PS方式的配置工作过程如下:当nCONFIG产生下降沿脉冲时启动配置过程,在每个DCLK的上升沿,将DATA0上的
7、一位数据移入目标芯片。在配置过程中,系统需要实时监测,一旦出现错误,nSTATUS将被拉低,系统识别到这个信息后,立即重新启动配置过程。配置数据全部正确的移入目标芯片内部后,CONF_DONE信号跳变为高。此后,DCLK必须提供几个周期的时钟(具体周期数与DCLK的频率有关),确保目标芯片被正确初始化,最后进入用户工作模式。1.1配置过程的软件实现该方案中,FPGA的配置过程完全要靠软件来实现。软件部分包括PC机上的控制软件和USB设备中8051执行的固件。下面介绍对FPGA进行配置的整个过程。用PC机上的控制软件首先获得至USB
8、设备驱动程序的句柄,然后打开由FPGA开发工具创建的FPGA配置文件。这里需要的是.rbf文件,即二进制文件。然后通过每次调用USB传输函数,将取自配置文件中的一包数据(最大512字节)传送至USB设备的输出端点缓冲中。当8051检测到端点缓冲有数
此文档下载收益归作者所有