您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

FPGA器件在嵌入式体系中的配置方法的探究

发布日期:2011-04-19

       小序

       在当今贸易竞争日益加强的环境中,产品是否便于现场升级和是否便于机动运用,成为商家敏捷霸占市场的关键因素。在这种背景下,Alter公司开辟的基于SRAM LUT布局的FPGA器件得到了遍及应用。

       现场可编程门阵列FPGA(Field Programmable Gate Array)是一种高密度可编程逻辑器件,其逻辑成果是通过把计划天生的数据文件配置进芯片内部的静态配置数据存储器(SRAM)来实现的,具有可重复编程性,可以机动实现种种逻辑成果。由于SRAM的易失性,每次体系上电时必须重新配置数据,即ICR(In-Circuit Reconfigurability)。只有在数据配置精确的环境下,体系才华正常事变。因此必要外接ROM生存其配置数据。FPGA的配置是偶然序请求的,要是FPGA本身不克不及控制配置时序,就必要外部配置器件来举行时序控制。以Altera公司的FPGA为例,因其本身不克不及控制时序,就有专用的EPC系列配置器件供其利用。在嵌入式体系中,由于含有微处理惩罚器,可以利用微处理惩罚器孕育产生配置时序,将生存在体系ROM中的配置数据存储到FPGA中。以是没有须要利用专用的EPC系列配置器件来配置FPGA。如许不但节省了本钱,另有效地缩小了体系体积。本文重点讨论在嵌入式体系中FPGA的配置方案。

       2. FPGA器件的配置方法

       Altera公司生产的具有ICR成果的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列,它们可以用以下方法举行配置:

1. 利用专用EPC配置器件,如EPC16、EPC8、EPC2、EPC1;

2. 被动串行方法(PS),利用微处理惩罚器的串行接口;

3. 被动并行同步方法(PPS),利用微处理惩罚器的并行同步接口;

4. 被动并行异步方法(PPA),利用微处理惩罚器的并行异步接口;

5. 边界扫描方法(JTAG),利用JTAG下载电缆。

       下面细致阐发上述五种配置方法。

       利用EPC配置器件时,起首将配置文件从谋略机下载到EPC配置器件中去,然后由EPC配置器件控制配置时序对FPGA举行配置。EPC配置器件有一次可编程和可擦写编程型两种:一次可编程型芯片只能写入一次,不适于开辟阶段重复调试、修改及产品的方便升级;可擦除编程型代价昂贵,且容量有限,对付容量较大的可编程逻辑器件,必要多片配置芯片构成菊花链举行配置,增长了体系计划的难度。

       利用PS、PPS、PPA方法配置时,配置文件事先因此二进制情势生存在体系ROM中,然后通过微处理惩罚器将配置数据送进FPGA中。PS是通过串行方法送到FPGA中,PPS因此并行方法送给FPGAFPGA在其内部将并行数据转换成串行数据,该数据转换时必要外部配置时钟的驱动。比较PS和PPS,所用的配置时间险些雷同,而PS的接口方法比较大略,以是嵌入式体系中通常选择PS方法配置FPGA。利用PPA方法配置数据时,微处理惩罚器将配置数据以并行方法送给FPAG,然后在FPGA内部举行数据串行化处理惩罚。与PPS不一样的地方是串行化处理惩罚时不必要配置外部时钟的驱动,但接口更巨大,工程中很少利用。

       边界扫描方法必要连接谋略机,无法在现场利用,嵌入式体系中很少采取这种方法。

       通过上述的阐发,在嵌入式体系中要利用FPGA时,可以采取专用EPC配置器件、PS、PPS、PPA,但是PS、PPS、PPA比专用EPC配置更具本钱和体积上风。在PS、PPS、PPA中,PS又是最优的通讯方法。以是在嵌入式体系中,通常选择PS被动串行方法来配置FPGA

       3. 嵌入式体系中FPGA的配置电路计划

       3.1. PS方法配置时序   

       在嵌入式体系中,微处理惩罚器可以孕育产生配置时序,可以或许和FPGA直接通讯,将ROM中的配置文件传输到FPGA的SRAM中去。通常利用PS被动串行方法举行配置FPGA,下面就通讯中利用到的五根信号线的配置时序举行阐明。

       五根信号线分别为nCONFIG、nSTATUS、CONF_DONE、DCLK、DATA,连接微处理惩罚器的五个I/O口和映射的FPGA的引脚。                  

图1 PS方法配置信号时序图

       微处理惩罚器上的五个I/O端口连接上述五个信号线。此中连接nCONFIG、DCLK、DATA端口设置成输出态,nSTATUS、CONF_DONE端口设置成输入态。当微处理惩罚器开始与FPGA通讯时,微处理惩罚器起首在nCONFIG上送出一个大于8μm的负脉冲,并且检测nSTATUS上的信号。当FPGA吸取到nCONFIG上的降落沿时,敏捷将nSTATUS和CONF_DONE拉低,并且保持低电平信号不停到nCONFIG举高电平。当nCONFIG上举高电平后过1μm,nSTATUS也将电平举高,微处理惩罚器检测到nSTATUS上的变革后以为FPGA已经做好了吸取数据的准备。下一步微处理惩罚器将孕育产生配置时钟脉冲,配置时钟的第一个上升沿至少要比nSTATUS上升沿晚1μm。又由于配置数据和配置时钟上升沿同步,以是在配置时钟上升沿产生之前,数据线必须已经有了配置数据信号。配置数据是根据低位在前高位在后的次序把数据奉上数据线。当全部数据都传输完毕后,CONF_DONE线上电平被举高以示配置完毕。要是传输中出现了非常,FPGA迫使nSTATUS拉低电平,微处理惩罚器一旦检测到了这种征象将重新开始配置。由于配置文件中已经包括了FPGA初始化的一些代码,以是传输完配置文件后,FPGA就可以正常事变了。

       3.2 配置电路计划

       嵌入式体系中FPGA的PS方法配置方法电路计划如图2所示。左侧的微处理惩罚器和FLASH、SDRAM构成了一个最根本的嵌入式体系。FLASH作为步伐的存储器,此中存储着体系的整个应用步伐、配置步伐和配置文件。SDRAM作为体系步伐运行空间,可以有效地办理微处理惩罚器自身SRAM容量小的题目。

       4. 体系软件计划FLASH   

       中存储的步伐包括体系步伐、配置步伐、配置文件。体系加电后,微处理惩罚器从FLASH的0地点的引导步伐开始运行,完成体系初始化后,微处理惩罚器将FLASH中的应用步伐移至到SDRAM中运行。由于如今嵌入式体系大多采取及时多任务操纵体系,以是计划时应将配置步伐安排在第一个运行的任务中,包管开机后就开始运行。

       软件计划时根据微处理惩罚器与FPGA通讯信号线上的时序请求来计划。起首初始化微处理惩罚器的端口,在P0引脚上孕育产生一个20μm的负脉冲,读取P4引脚上的信号,要是是高电平就开始数据准备,将数据读出,通过位移操纵以串行比特流把低位的数据奉上P1引脚,通过P2孕育产生一个时钟上升沿。由于时钟上升沿与数据发送是同步的,如许P1引脚上的信号就发送到了FPGA。再将读出的数据右移位,将低位奉上P1引脚,在P2上再孕育产生一个时钟上升沿。云云循环下去,等读出的一个字节发送完毕时再读取下一个字节,按同样的方法发送出去。数据发送的同时检测P4(nSTATUS)是否为低,如

果发送进程中遇到错误,P4将为低,如许体系必要重新配置。比及把数据发送完毕后检测P3引脚的状态,要是是高电平阐明配置告成,要是是低电平则阐明配置失败,体系必要重新配置。

       软件计划语言可以选择C,也可用汇编。开辟进程中根据芯片的硬件本身特点,细致各方面的优化。由于嵌入式体系中从SDRAM中读取数据的速率很快,以是软件计划时无须思量从SDRAM到微处理惩罚器的传输速率题目。向FPGA器件写数据时,最低有效位居先。微处理惩罚器孕育产生的配置时序可以通过给时序引脚发送曲折电平来实现。

       5. 结论

       当今嵌入式体系已应用到各个范畴中,因此无论本钱还是体积上的优化,都是很有须要的。用嵌入式体系本身的资源上风来完成别的部件的专用成果,可以或许很有效地到达最优化集成、低落本钱的作用。本文讨论的通用方案实用于差别的微处理惩罚器和Altera公司全部干系系列的FPGA产品。由于FPGA具有可重复配置的成果,以是在嵌入式体系中可预先包括多个差别成果的配置文件,根据现场的必要举行相应的配置。这充分表现出FPGA现场升级、机动运用的计划理念。

       参考文献

[1] 刘常澍,赵雅兴 《数字电路与FPGA》  北京:人民邮电出版社,2004_8

[2] 任晓东、文博 《CPLD与FPGA高级应用开辟指南》 北京:电子产业出版社 ,2003_6

[3] Jonathan W.Valvano 《嵌入衰落谋略机体系及时接口技能》 北京:机器产业出版社,2003_5