首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
FPGA的在应用编程技术研究
来源:本站整理  作者:佚名  2009-02-12 09:01:59



引 言
   
在FPG人中实现在应用编程(In Application Pro—gramming,IAP)有两种方法:一种是,在电路板上加外电路。例如用MCU或CPLD来接收配置数据,在被动串行(PS)模式下由外电路编程FPGA或是编程Flash器件(包括EPCS和Flash),然后控制FPGA的配置复位引脚来复位整个FPGA,最后FPGA采用主串方式进行自我配置。另一种是,通过FPGA中的Nios CPU或是专用IP来接收编程数据,并编程Flash芯片,然后通过外部简单电路将FPGA复位启动,以主动串行(AS)模式进行配置。
    为了减小电路板面积,节约成本,提高可靠性,本设计采用第二种方法。本设计的要求是:硬件电路须配置为主动串行模式,即选择MSEL[1:O]为l:O;具备EPCS,或同时具备EPCS和Flash;具有与PC机通信的功能。FPGA接收更新数据,并将其存入Flash器件,然后复位Nios或FPGA对软硬件进行更新。 

1 系统的硬件设计
    系统主要由Cyclone FPGA、EPCS、Flash和串行通信等组成,硬件结构如图1所示。

    EPCS采用Altera公司的EPCS4,容量达到4 Mb,引脚较少,成本低,支持3.3 V低电压操作。Flash芯片采用AMD公司的Am29LV640MH/L,支持3.O V低电压操作,具有低功耗特性,芯片容量为64 Mb,满足大容量数据的存储;并口操作,与Cyclone FPGA完全兼容,而且在SOPC中有与之对应的CFI_FLASH核,便于硬件电路的设计。

2 工作原理
2.1 几个概念

    FPGA配置数据:是sof文件,将sof文件编程到Flash中,上电后FPGA可以从Flash中配置。sof文件是其他配置文件的基础,其他文件均可由sof文件转换得到。
    软件数据:通过NiosII IDE创建elf文件,将用户程序编程到Flash中,允许复位后从F1ash中加载软件程序,从而启动NiosII CPU。
2.2 编程文件
    编程文件为Flash格式的文件,即S—reeorld(简称“SREC”)格式。SREC格式是Motorola公司制定的一种烧写格式标准。SREC格式文件是由一组ASCII码组成,所有的十六进制数据均为大写形式,结构说明如下:
    ①起始代码。以S作为一个数据行的开始。
    ②记录类型。1个十进制数字(O~9),定义数据域的类型。
    ③字节数。1个字节,定义字节数之后除地址字节、校验字节之外其他字节的个数。
    ④地址。由4(或6、8)个字节组成,定义了第一个数据字节存储的位置。
    ⑤数据字节。由n个字节组成,数据字节为实际有效的编程信息。
    ⑥校验字节。1个字节,作校验使用,所有十六进制字节相加后取8位,为0xFF。
2.3 AS配置模式
   
FPGA的配置数据存储在内部SRAM单元中。由于SRAM掉电后数据会丢失,因此每次上电时必须重新将配置数据写入SRAM中。这个过程称为“FPGA的配置”。由此可见,FPGA的配置信息是存储在FPGA内部RAM当中的。可知在主动串行模式下,FPGA将配置数据从EPGS中读取,然后存入内部RAM中。
    AS配置模式支持StratixII和Cyclone系列的FPGA,通过配置MSEL[1:O]为1:0,选择主动配置模式(除JTAG模式不受MSEL控制外,其他配置方式均由MSEL决定)。AS配置模式使用串行配置器件(EPCS1/EPCS4/EPCSl6/EPCS64)。在AS配置过程中,StratixlI和Cy—clone系列的FPGA是主设备,串行配置器件为从设备。如图2所示,在AS配置模式下,FPGA通过DATA0接收配置数据,配置数据和DCLK是同步的。每个时钟周期传输1位配置数据。通过控制nCONFIG、nSTATUS、CONF_DONE来表示配置过程。串行配置芯片在DCLK上升沿时锁存输入信号和控制信号,在下降沿时输出配置数据。Cyclone芯片在DCLK下降沿时输出控制信号,并锁存配置数据。

3 工作流程
3.1 硬件配置的更新

    如图3所示,FPGA的配置过程分为:复位、配置和初始化。

[1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:37,238.28000 毫秒