2.cycloneIII系列FPGA下载模式的配置

时间:2024-04-14 19:40:01

                      2.cycloneIII系列FPGA下载模式的配置

参考链接

FPGA下载电路设置 AS 和JATGhttps://www.cnblogs.com/LJWJL/archive/2013/03/12/2956678.html

FPGA上电加载时序介绍:http://tech.oneyac.com/article/detail/51677.html

Cyclone III原型开发调试https://www.cnblogs.com/crazybingo/archive/2011/04/01/2002785.html

JTAG不能给FPGA下载程序总结:http://blog.sina.com.cn/s/blog_8367f7e30102wiwm.html

FPGA的AS模式下载成功,不能自动配置运行https://www.cnblogs.com/dc_dc/archive/2010/07/20/1781741.html


下载模式的选择 

   对于cyclone III 系列FPGA来说,其配置相对于cycloneII来说,还是有些改变的。首先的改变就是电源的改变,其VCCA引脚的供电变成了2.5V。这就导致了,其下载模式下的供电也有所改变。这里主要是对cyclone III 系列的FPGA作简要的介绍,常用的下载模式主要有两种,即JTAG模式和AS模式。下面对他们进行详细的介绍。

    在对这两种下载模式进行介绍之前,对于cycloneIII系列FPGA中,可以通过MSEL[3:0]这4个引脚对下载模式进行设置。cyclone III系列的handbook中具有如下的图作为介绍。

    2.cycloneIII系列FPGA下载模式的配置

    这里因为只对AS和JTAG模式进行介绍,因此只截取了其中与AS模式相关的前4行作为参考。从图中可以看到,要使用标准AS下载模式可以设置MSEL[3:0]=0010或者是0011,这两种设置方式都可以使得cyclone III系列的FPGA使用AS的下载模式。需要注意的是文档中对于AS模式的几点注意事项。

    (5)cycloneIII系列FPGA使用不同EPSXX系列FLASH芯片作为配置,其允许的最大速率为40MHz,而对于EPS4的FLASH芯片因制造工艺的不同,其支持的最大的速率也是不同的。现有生产的EPCS4批次在0.15μ的工艺几何结构上,支持高达40 MHz的DCLK,并在Cyclone III设备中得到支持。但是,生产的EPCS4在0.18μ的工艺几何结构上,不支持Cyclone III装置中的配置。。

    (7)MSEL的引脚不允许悬空。这些管脚支持生产中使用的非JTAG配置方案。如果只使用JTAG配置,请将MSEL管脚连接到GND。

    (11)对于MSEL引脚供电电压使用2.5V,3.0V还是3.3V,这必须满足特定的要求。具体可以参考 “Configuration and JTAG Pin I/O Requirements”。

    (13)连接MSEL到VCCA还是GND,取决于MSEL的配置。

    2.cycloneIII系列FPGA下载模式的配置

AS模式

    AS模式下有不同的连接方式,这里主要介绍的是单一器件的连接。话不多说,直接上图。这里可以参考下链接 FPGA下载电路设置 AS 和JATGhttps://www.cnblogs.com/LJWJL/archive/2013/03/12/2956678.html

    2.cycloneIII系列FPGA下载模式的配置

    以我的经验来说,主要注意一下几点:
    (1)nCE引脚端的下拉电阻用10k欧姆,不然很容易出问题,这在后面还会进行说明。

    (2)Vccio最好使用3.3V,虽然使用2.5V也是可行的。

    (3)cycloneIII系列FPGA的DATA0,DCLK,FLASH_nCE和DATA1总共4个引脚和EPSXX系列芯片的连接,最好在引脚上加上二极管连接至3.3V,加上10pf下拉至地。虽然不接上相应的电源和地程序也能正常的下载。但是,官方经过验证的电路错误的可能性很小。另外,官方建议二极管使用肖特基二极管,而不是普通的二极管。

    (4) 特别注意的是,nSTATUS,CONFIG_DOWN和nCONFIG引脚需要加上10k欧姆的上拉电阻连接至3.3V。

    这样的话,AS模式下的配置就好了。这种模式是EPSXX系列的FLASH芯片主动将程序从FLASH加载到FPGA的内部RAM中执行。

JTAG模式    

    JTAG模式的配置也是参考官方的handbook进行的,直接上图。

    2.cycloneIII系列FPGA下载模式的配置

    这里也做几点说明:

    (1)Vccio和Vcca都连接到2.5V,虽然连接到3.3V可能程序也能够正常地下载,避免出现问题,还是这么做比较保险。

    (2)nCE需要直接连接到低,只有JTAG这一种下载模式的话。

    (3)在上面也做了说明,如果只使用JTAG模式的话,需要将MSEL[3:0]这4个引脚都连接到GND。这里需要将nSTATUS和CONFIG_DOWN这两个引脚连接到10k欧姆的电阻上拉到3.3V。

这是为了保证配置能够正常地执行。配置完成后,CONFIG_DOWN引脚会被置高,若没有上拉电阻的话,很容易出现问题。

    上图中的配置是将程序直接下载到FPGA的SRAM中,现在的FPGA很多都是采用查找表的方式实现的,这样的话,掉电之后就失去了原有的功能,这种方式一般是在调试的时候使用。

    下面这个配置和上面是有所区别的,主要在于这是通过JTAG下载到EPSXX系列FLASH芯片中。掉电之后,程序bin文件依然保存在FLASH中,FPGA将程序从FLASH加载到SARM中,然后再进行初始化,运行程序。

    2.cycloneIII系列FPGA下载模式的配置

    这里配置主要是在JTAG模式下进行增加,下面作简要的说明。

    (1)nCONFIG引脚通过10k欧姆的上拉电阻连接至2.5V。

    (2)EPSXX系列的FLASH芯片的DATA引脚和Cyclone III 系列的FPGA芯片的DATA0引脚直接添加25欧姆的电阻,主要是减少过冲

JTAG和AS联合模式

    这个就是将JTAG和AS模式都进行了配置,可以使用三种方式进行程序的下载。这部分可以参考链接JTAG不能给FPGA下载程序总结:http://blog.sina.com.cn/s/blog_8367f7e30102wiwm.html

    2.cycloneIII系列FPGA下载模式的配置

    这里就不再多说废话,主要对三种下载方式的格式文件进行简要的说明。

    (1)JTAG模式1:编译成功后,生成sof类型的文件,然后使用JTAG下载sof类型的文件,下载进去后程序直接能够正常执行。。

    (2)JTAG模式2:将sof类型的文件转化为jic类型的文件,依旧通过JTAG下载,发现程序能够正常执行。

    (3)AS模式:将sof类型的文件转化为pof类型的文件,然后AS模式下载程序,程序依旧能够正常地执行。

    这里还将比较正确的配置电路图展示出来,仅供参考。

    2.cycloneIII系列FPGA下载模式的配置

    这里TCK通过1k欧姆的电阻连接到GND,这样电路基本上满足所有的要求,不可能出现问题,这就要求我们要仔细阅读官方文档。



总结与讨论

    本文主要对cyclone III的两种配置方式进行了简单的介绍,可以说没什么水平,就是照抄cyclone III Device Handbook。但在我硬件调试的过程中,我觉着还是收益匪浅。简直一句话,就是多读书,读好书。