zoukankan      html  css  js  c++  java
  • FPGA配置方式

     

    首先介绍下AS、PS、JTAG三种模式的区别。

    AS模式: 烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程,该方法适用于不需要经常升级的场合;

    PS模式:EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程。可以采用微控制器(单片机、ARM等)或者CPLD,该模式可以实现对FPGA在线可编程,升级方便;

    JTAG:直接烧到FPGA里面的,由于是SRAM,断电后要重烧,适用于调试;

    .pof文件可以通过AS方式下载;

    .sof文件或者转换的.jic可以通过JTAG方式下载。

    usb blaster下载线支持以上三种模式。(http://baike.baidu.com/link?url=qmMniuXETFfL3zzXWhJYCDzAA4x0nVTKfkMGYMg7laPPhYqiYrY8ydGkibSYgf3PFlS-76m2C-istSaQtw5iCK

         FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。在实用系统中,多数情况下必须由FPGA主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中fpga配置信息是用普通编程器将设计所得的pof格式的文件烧录进去。

    1. JATG模式

         JTAG接口是一个业界标准接口,主要用于芯片测试等功能。altera FPGA基本上都可以支持JTAG命令来配置FPGA的方式,而且JTAG配置方式比其他任何方式优先级都高。JTAG接口有4个必需的信号TDI, TDO, TMS和TCK以及1个可选信号TRST构成,其中:

    . TDI,用于测试数据的输入;

    . TDO,用于测试数据的输出;

    . TMS,模式控制管脚,决定JTAG电路内部的TAP状态机的跳变;

    . TCK,测试时钟,其他信号线都必须与之同步;

    . TRST,可选,如果JTAG电路不用,可以讲其连到GND。

    用户可以使用altera的下载电缆,也可以使用微处理器等智能设备从JTAG接口设置FPGA。nCONFIG、MESL和DCLK信号都是用在其他配置方式下。如果只用JTAG配置,则需要将nCONFIG拉高,将MSEL拉成支持JTAG的任一方式,并将DCLK拉成高或低的固定电平。

    FPGA和10针插座连接图:

     

    2. AS(主动串行)模式

         由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPCS1,EPCS4配置器件专供AS模式,目前只支持 Stratix II 和Cyclone系列。使用Altera串行配置器件来完成。Cyclone器件处于主动地位,配置器件处于从属地位。配置数据通过DATA0引脚送入 FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。

    AS配置器件是一种非易失性、基于flash存储器的存储器,用户可以使用altera的ByteBlaster II加载电缆、altera的“altera programming unit”或者第三方的编程器来对配置芯片进行编程。它与FPGA的接口为以下简单的4个信号线:

    .  串行时钟输入(DCLK):是在配置模式下FPGA内部的振荡器(oscillator)产生的,在配置完成后,该振荡器将被关掉。工作时钟在20MHz左右,而fast AS方式下(stratix II和cyclone II支持该种配置方式),DCLK时钟工作在40MHz左右,在altera的主动串行配置芯片中,只有EPCS16和EPCS64的DCLK可以支持到40MHz,EPCS1和EPCS4只能支持20MHz。

    . AS控制信号输入(ASDI);

    . 片选信号(nCS);

    . 串行数据输出(DATA)。

    FPGA和串口配置芯片连接图:

    image

    FPGA、串口配置芯片和10针插座连接图1:

    FPGA、串口配置芯片和10针插座连接图2:

    3. PS(被动串行)模式

          PS(被动串行)则由外部计算机或控制器控制配置过程,是使用最多的一种配置方式。。所有altera FPGA都支持这种配置模式。通过altera 的下载电缆、加强型配置器件(EPC16,EPC8,EPC4)等配置器件或智能主机(如微处理器和CPLD)来完成,在PS配置期间,配置数据从外部储存部件(这些存储器可以是altera配置器件或单板上的其他flash器件),通过DATA0引脚送入FPGA。配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。

    与FPGA的信号接口:

    . DCLK(配置时钟);

    . DATA0(配置数据);

    . nCONFIG(配置命令);

    . nSTATUS(状态信号);

    . CONF_DONE(配置完成指示)。

         在PS方式下,FPGA处于完全被动的地位。FPGA接收配置时钟、配置命令和配置数据,给出配置的状态信号以及配置完成指示信号等。PS配置可以使用altera的配置器件(EPC1、EPC4等),可以使用系统中的微处理器,也可以使用单板上的CPLD,或者altera的下载电缆,不管配置的数据源从哪里来,只要可以模拟出FPGA需要的配置时序来,将配置数据写入FPGA就可以。

    在上电以后,FPGA会在nCONFIG管脚上检测到一个从低到高的跳变沿,因此可以自动启动配置过程。

    image

    image

    (1)根据模式的不同,MSEL有不同的设置

    (2)配置芯片EPCS16存储大小为16Mbits=2MB.

    (3)实验室的板子的配置方式JAG方式和“AS方式”,但是没有AS配置口,将SOF文件转换我JIC文件,利用JATG将配置文件下载到配置芯片中。所以,可以把这种方式叫做伪AS模式。

           串口配置芯片EPCS16的4个引脚(DATA、DCLK、nCS和ASDI)与FPGA相连即可,JTAG口连接方式按上文所述即可。MSEL只有三位,配置为010(AS模式),这里按照AS模式连        接。

    这种利用JTAG将配置文件下载配置芯片的方式如下所示:

    通过serial flash loader design将JTAG interface和AS interface联系起来。详见C3手册“Programming Serial Configuration Devices In-System Using the JTAG Interface”部分。当然,也可以将AS和JTAG都保留,详见“Combining JTAG and Active Serial Configuration Schemes”部分。

    image

    有以下问题:

    1. JTAG口4脚和6脚的连接不理解。4脚按手册说法如下,那么应该是VCCA(模拟),而不是设计中的VCC(数字)。学习FPGA电源设计!

       而6脚按手册说法如下,那么应该是不连接吧,设计中连了VCC。

    2. 虽然nCONFIG、nSTATUS、CONFIG_DONE与外部ARM连接,但是DATA[0]、DCLK没有和ARM相连,所以项目中PS模式通过ARM配置FPGA不行,不知这样连接是否可以实现AS模式的远程更新??

    答:应该是存在设计问题。

    参考资料:http://bbs.ednchina.com/BLOG_ARTICLE_1796890.HTMhttp://blog.sina.com.cn/s/blog_7d1e2bb101016w1n.html

    ARM动态配置FPGA:http://wenku.baidu.com/link?url=iB6WRAIZ5G32fJERWgiC4VBQt5Wg5fohFy9AWCPMJaUqIqhpPcjWtcgxdM3G580_Xi9lLrtYzWUBcXnOm-jc04NM884mEdO0pAAEdcJGP7C

  • 相关阅读:
    使用tcmalloc编译启动时宕机
    使用tcmalloc编译出现undefined reference to `sem_init'
    使用AddressSanitizer做内存分析(一)——入门篇
    VIM-美化你的标签栏
    Entity Framework Code First (六)存储过程
    Entity Framework Code First (五)Fluent API
    Entity Framework Code First (四)Fluent API
    Entity Framework Code First (三)Data Annotations
    Entity Framework Code First (二)Custom Conventions
    Entity Framework Code First (一)Conventions
  • 原文地址:https://www.cnblogs.com/lsjjob/p/6128552.html
Copyright © 2011-2022 走看看