ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:36.50KB ,
资源ID:8857320      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8857320.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的FPGA并行配置方法.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于单片机的FPGA并行配置方法.doc

1、基于单片机的FPGA并行配置方法 摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司FLEX10K系列器件为例,提出了一种利用单片机AT89C52对FPGA进行在线PPA(被动并行异步)配置的实用方法。实践表明,用单片机对FPGA进行并行配置,具有配置时间短、准确率高、易于实现等优点,该方法可以广泛地应用于不同领域。 关键词:单片机 PPA FPGA 配置在当今变化的市场环境中,产品是否便于现场升级、是否便于灵活使用,已成为产品能否进入市场的关键因素。在这种背景下,Altera公司的基于SRAM LUT结构的FPGA器件得到了广泛的应用。这类器件的配置数据存储

2、在SRAM中。由于SRAM的掉电易失性,系统每次上电时,必须重新配置数据,只有在数据配置正确的情况下系统才能正常工作。这种器件的优点是可在线重新配置ICR(In-Circuit Reconfigurability),在线配置方式一般有两类:一是通过下载电费由计算机直接对其进行配置;二是通过微处理器对其进行配置。前者调试时非常方便 ,但在应用现场是很不现实的。因此,如果系统重新上电时,系统本身具有自动加载可编程逻辑器件的编程文件,完成对可编程逻辑器件的配置,就可以省去了通过手工由下载电费对器件进行配置的过程。这种自动加载配置对FPGA的某些应用来说是必需的,在笔者参与研制的一种干扰系统中,利用单

3、片机AT89C52对FLEX10K系列FPGA中的EPF10K10进行在线并行配置,取得了良好的效果。1 FPGA器件的配置方式和配置文件11 FPGA器件的配置方式ALTERA公司生产的具有ICR功能的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列。它们的配置方式可分为PS(被动串行)、PPS(被动并行同步)、PPA(被动并行异步)、PSA(被动串行异步)和JTAG(Joint Test Action Group)等五种方式。这五种方式都适用于单片机配置。PS方式因电路简单,对配置时钟的要求相对较低而被广泛应用。相比而方,采用PPA配置的方案却很少见到。但由于PPA

4、配置模式为并行配置,其配置速度快,且配置时钟由FPGA内部产生(而PS等配置模式需要外加配置时钟),故其更有利于在线实现。本文的配置方案便是采用PPA配置方式实现的。图1 12 FPGA器件的配置文件ALTERA的MAX+PLUS II开发工具可以生成多种配置或编译文件,用于不同配置方法的配置系统。对于不同的目标器件,配置数据的大小不同,配置文件的大小一般由.tbf文件(即二进制文件)决定。本实例中,EPF10K10的配置文件.rbf的大小为15k。该文件包括所有的配置数据,一个字节的.rbf文件有8位配置数据。由于Altera提供的软件工具不自动生成.rbf文件,故文件需按照下面的步骤生成:

5、在MAX+PLUS II编译状态下,选择文件菜单中的变换SRAM目标文件命令;在变换SRAM目标文件对话框,指定要转换的文件并且选择输出文件格式为.rbf(Sequential),之后予以确定。2 硬件电路设计AT89C52对EPF10K10并行配置的硬件电路示意图如图1所示。经MAX+PLUS II编译生成配置文件(.sof),通过格式转换成为(.rbf)文件并存储在图中所示的存储器中。当使用PPA配置方式时,需要将MSEL1和MSEL0置为高电平。为了不使DCLK出现不确定信号,必须将其经过1k电阻上拉到Vcc。在采用PPA配置方式时,nCS和CS两个片选信号只需用一个。因此,如果采用其中

6、一个作为片选信号,另一个必须直接置为有效位;如果选用CS作为片选信号控制配置,nCS必须接地;如果选用nCS作为片选信号控制配置,CS必须接高电平。本实例中采用后者。NRS为读选通输入信号,它为低输入时,FLEX10K将RDYnBSY信号置于DATA7引脚。当nRS不用时,必须将其置为高。nCE为FLEX10K器件的使能输入,nCE为低时使能配置过程。当器件是单片配置时,nCE必须始终为低。由于本实例为单片配置,故将nCE直接接地。然后将EPF10K10的nCONFIG、CONF_DONE、nSTATUS、RDYnBSY分别接到AT89C52的P17、P14、P13引脚上。DATA7.0接到A

7、T89C52的P07P00。NWs为写选通输入,由低到高跳变时锁存DATA7.0引脚上的字节数据。要注意的是,nSTATUS引脚和CONF_DONE引脚是双向漏极开路输出,在作输出使用时,应用经过1.0k的电阻上拉到Vcc。图23 软件设计31 配置原理PPA配置方式的下载时序如图2所示。由图可以看出PPA模式的工作过程如下:(1)启动配置在nCONFIG引脚上产生一个低脉冲,等待nSTATUS回应一个低脉冲以及CONF_DONE变低。在nCONFIG跳高后4s,内nSTATUS也跳高,表示FPGA可以配置了。(2)配置过程在对FPGA进行配置时,单片机将8位的配置数据放在FPGA器件的数据端

8、,并且给nWS一个负脉冲,在nWS的上升沿,FPGA器件将该字节配置数据锁存;然后FPGA器件驱动RDYnBSY为低,表示它正在处理该字节信息,配置过程可以通过nCS和CS引脚暂停。当RDYnBSY为低电平时,FLEX10K器件利用其内部振荡器(其频率一般为10MHz)在其内部将每一个字节的配置数据串行化。当FLEX10K器件准备接收下一个配置数据时,就使RDnBSY变高。单片机检测该高电平信号后,送出下一个字节的数据。这一过程一直持续到全部数据配置完成。在配置过程中,系统需要进行实时监测,一旦出现错误,nSATUS将被拉低,系统必须能识别出这个信号,并重新启动配置过程。图3 (3)结束配置配

9、置数据全部正确写入芯片内部后,器件释放CONF_DONE,由外部将其拉高。如果单片机检测到这个信号,则表明配置成功;否则,要对其重新配置。32 配置软设计单片机实现配置过程的控制程序流程图如图3所示。汇编程程序设计如下:nCONFIG EQU P1.7nSTATUS EQU P1.5RDYnBSY EQU P1.3CONF_DONE EQU P1.4ORG 0000HLJMP MAINORG 0030H;对数据长度相关进行初始化,其中所要配置的数据长度放在地址为0000H和0001H中;0000H放数据长度的低位,0001H放数据长度的高位;从0002开始放置的是所要配置的数据MAIN:MOV

10、 DPTR,#0000HMOVX A,DPTRMOV R3,A; R3放配置数据个数的低位MOV DPTR,#0001HMOVX A,DPTRMOV R4,A; R4放配置数据个数的高位MOV R5,#00H ;放配置数据个数的低位MOV R6,#00H ;放配置数据个数的高位;以下是将数据进行配置的子程序COFIG:MOV DPTR,#0002HCLR P1.7ACALL DELAY4 ;延时约为15sJB nSTATUS,COFIG ;检测FPGA是否响应置低位SETB nCONFIG ;FPGA响应置低位后,将nCONFIG置高位STA_JUDGE:JB nSTATUS,COFIG_BE

11、G;等待FPGA是否响应置高位,然后准备进行配置LJMP STA_JUDGECOFIG_BEG:ACALL DELAY2LJMP SEND_DATAREADY_DATA1:JNB nSTATUS,COFIGSEND_DATA:MOVX A,DPTR ;读取数据PUSH DPHPUSH DPLMOV DPTR,#7000H ;读入FPGA地址JNB P1.3,$ ;判断RDYnBSY的状态MOVX DPTR,A ;配置数据POP DPLPOP DPHINC DPTR;以下实现配置个的判断CLR C;MOV A,#01HADD A,R5MOV R5,AMOV A,#00HADDC A,R6MOV

12、R6,AMOV A,R5CJNE A,03H,RESESH_COFIGMOV A,R6CJNE A,04H,RESESH_COFIGCON_REFRESH:ACALL DELAY2 ;延时5s,JB P1.4,END1 ;判断CONF_DONE的状态,看是否配置成功LJMP COFIGPESESH_COFIG:LJMPREADY_DATA1;延时子程序,延时约为5sDELAY2:NOPNOPNOPNOPNOPRET;延时子程序,延时约为15sDELAY4:MOV R1,#08HDJNZ R1,$RETEND1:END本文讨论的基于单片机的FPGA并行配置方法具有线路结构简单、开发容易、成本低的特点。与常用的串行配置方法相比,该配置方法更具有配置时间短、准确率高、易于实现等优点。虽然该配置控制电路是为配置ALTERA公司FLEX10k系列的FPGA器件而设计的,但稍加修改也适用于其它系列的FPGA器件,故其有一定的通用性。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2