单片机与单片机与DSP中的基于单片机的中的基于单片机的FPGA并行配置方法并行配置方法
摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司FLEX10K系列器件为例,
提出了一种利用单片机AT89C52对FPGA进行在线PPA(被动并行异步)配置的实用方法。实践表明,用单片
机对FPGA进行并行配置,具有配置时间短、准确率高、易于实现等优点,该方法可以广泛地应用于不同领域。
关键词:单片机 PPA FPGA 配置在当今变化的市场环境中,产品是否便于现场升级、是否便于灵活使用,已成
为产品能否进入市场的关键因素。在这种背景下,Altera公司的基于SRAM LUT结构的FPGA器件得到了广泛的
应用。这类器件的配置数据存储在SRAM中。由于SRAM的
摘要:摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司FLEX10K系列器件为例,提出了一种利
用单片机AT89C52对FPGA进行在线PPA(被动并行异步)配置的实用方法。实践表明,用单片机对FPGA进行并行配置,具
有配置时间短、准确率高、易于实现等优点,该方法可以广泛地应用于不同领域。
关键词:关键词:单片机 PPA FPGA 配置
在当今变化的市场环境中,产品是否便于现场升级、是否便于灵活使用,已成为产品能否进入市场的关键因素。在这种背
景下,Altera公司的基于SRAM LUT结构的FPGA器件得到了广泛的应用。这类器件的配置数据存储在SRAM中。由于SRAM
的掉电易失性,系统每次上电时,必须重新配置数据,只有在数据配置正确的情况下系统才能正常工作。这种器件的优点是可
在线重新配置ICR(In-Circuit Reconfigurability),在线配置方式一般有两类:一是通过下载电费由计算机直接对其进行配
置;二是通过微处理器对其进行配置。前者调试时非常方便 ,但在应用现场是很不现实的。因此,如果系统重新上电时,系
统本身具有自动加载可编程逻辑器件的编程文件,完成对可编程逻辑器件的配置,就可以省去了通过手工由下载电费对器件进
行配置的过程。这种自动加载配置对FPGA的某些应用来说是必需的,在笔者参与研制的一种干扰系统中,利用单片机
AT89C52对FLEX10K系列FPGA中的EPF10K10进行在线并行配置,取得了良好的效果。
1 FPGA器件的配置方式和配置文件器件的配置方式和配置文件
1.1 FPGA器件的配置方式
ALTERA公司生产的具有ICR功能的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列。它们的配置方式可分为
PS(被动串行)、PPS(被动并行同步)、PPA(被动并行异步)、PSA(被动串行异步)和JTAG(Joint Test Action
Group)等五种方式。这五种方式都适用于单片机配置。PS方式因电路简单,对配置时钟的要求相对较低而被广泛应用。相
比而方,采用PPA配置的方案却很少见到。但由于PPA配置模式为并行配置,其配置速度快,且配置时钟由FPGA内部产生
(而PS等配置模式需要外加配置时钟),故其更有利于在线实现。本文的配置方案便是采用PPA配置方式实现的。
图图1
1.2 FPGA器件的配置文件
ALTERA的MAX+PLUS II开发工具可以生成多种配置或编译文件,用于不同配置方法的配置系统。对于不同的目标器件,
配置数据的大小不同,配置文件的大小一般由.tbf文件(即二进制文件)决定。本实例中,EPF10K10的配置文件.rbf的大小为
15k。该文件包括所有的配置数据,一个字节的.rbf文件有8位配置数据。由于Altera提供的软件工具不自动生成.rbf文件,故文
件需按照下面的步骤生成:①在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两个片选信号只需用一个。因
此,如果采用其中一个作为片选信号,另一个必须直接置为有效位;如果选用CS作为片选信号控制配置,nCS必须接地;如
果选用nCS作为片选信号控制配置,CS必须接高电平。本实例中采用后者。NRS为读选通输入信号,它为低输入
时,FLEX10K将RDYnBSY信号置于DATA7引脚。当nRS不用时,必须将其置为高。nCE为FLEX10K器件的使能输入,nCE
为低时使能配置过程。当器件是单片配置时,nCE必须始终为低。由于本实例为单片配置,故将nCE直接接地。然后将
EPF10K10的nCONFIG、CONF_DONE、nSTATUS、RDYnBSY分别接到AT89C52的P17、P14、P13引脚上。DATA[7..0]
接到AT89C52的P07~P00。NWs为写选通输入,由低到高跳变时锁存DATA[7..0]引脚上的字节数据。要注意的
是,nSTATUS引脚和CONF_DONE引脚是双向漏极开路输出,在作输出使用时,应用经过1.0kΩ的电阻上拉到Vcc。
图图2
3 软件设计软件设计
3.1 配置原理
PPA配置方式的下载时序如图2所示。由图可以看出PPA模式的工作过程如下:
(1)启动配置
在nCONFIG引脚上产生一个低脉冲,等待nSTATUS回应一个低脉冲以及CONF_DONE变低。在nCONFIG跳高后4μs,