(转载)cyclone iii使用小结

http://bbs.ednchina.com/BLOG_ARTICLE_2038034.HTM

通过前段时间对EP3C系列FPGA的使用,现在把遇到的问题总结一下。
1、JTAG/AS接口问题(JTAG检测不到芯片)
使用JTAG模式时发生的错误:
Error: JTAG Server can't access selected programming hardware
Error: Operation failed
或者是:Error: Can't access JTAG chain.
                Error: Operation failed.
用Auto Detect时,出现:Unable to scan device chain.Hardware is not connected.
使用AS模式下载时发生的错误:
Error: Unexpected error in JTAG server -- error code 33
Error: Operation failed
静下来分析了一下,大概原因有:
(1)USB Blaster故障
(2)PCB的连续是否有问题
(3)JTAG接口的焊接是否可靠
(4)10 Pin的Jtag排线未压紧(排线问题)
(5)芯片的JTAG接口损坏(要换芯片,比较麻烦)
(6)原理图设计有问题
对上述原因逐一排除,后来定位到很可能是自己的原理图设计有问题。
然后查阅芯片手册发现,VCCA is the analog power to the phase-locked loop(PLL).即VCCA是给FPGA的PLL和模拟电路供电的。在之前的EP2C系列FPGA中,这个引脚是直接接1.2V(和Vpll、Vccint一样),但是在EP3C系列中,这样就不行了,必须接2.5V的电压,于是对原先的原理图更改设计:
(1)芯片的所有VCCA由原先的1.2V改接到2.5V
(2)JTAG接口的供电电压由原先的3.3V改接为2.5V(按照芯片的Handbook要求,防止JTAG接口过压损坏),以及TDI、TMS的上拉电压都修改为2.5V
完成修改后,重新制版、焊接,再次测试,OK!问题解决!
总结这个问题,发现充分阅读芯片Handbook的重要性,不能想当然的照搬。
再次提醒一定要注意EP3C系列FPGA的VCCA和JTAG接口电压问题!
2、EPCS_Controller核的问题
对于EP3C系列FPGA,在SOPC Builder中,当添加EPCS_Controller核后,编译生成nios_cpu后会出现与EPCS_Controller相关的4根信号线(DCLK,nCSO,ASDO,EPCS_DATA0),这在之前的EP2C等早期版本的芯片中是不会出现的,因为系统已经默认帮你完成了它们的引脚分配,而EP3C系列的就必须我们自己来进行引脚的分配。
在对这4根信号线的引脚分配的时候,可能会出现这样的错误:
比如:Can't place multiple pins assigned to pin location PIN_H2
            .......
即系统不让你分配引脚到PIN_H2管脚,原因是系统默认对这些配置相关的引脚作了约束,要解决这个问题,打开Device选项,在Dual-Purpose Pins一栏中对这几个双功能引脚都改为Use as regular I/O,完成之后就可以人为给这4根信号线分配引脚了。

 

b9322978-8b89-4ffc-8f31-ebb4ec749f3b.jpg

 

然后编译,下载,OK!

 

最近由于被飓风二代管脚供电分配影响,给VCCA供了1.2v电,导致板子不工作,很痛心,这里给大家看看我翻译的资料笔记。

  VCCINT   内部逻辑阵列供电_____连接1.2v
  VCCIO[1..8]   8个iobank的供电,也给所有的JTAG等配置管脚供电_____Connect these pin to 1.2 V, 1.5 V, 1.8 V, 2.5 V, 3.0 V, or 3.3 V supplies即可,如果需要,可以进行去耦。
   VREFB[1..8]N[0..2] Note 2  给每个iobank的输入参考电压,可以配置为普通io_____如果VREF pins未被使用 , the designer 应该将他们连接到对应的VCCIO
或者GND,不过此16个管脚做io的时候,由于其电容大,所以频率小。
  VCCA[1..4] Note 3   给pll的模拟电源_____ 连接到2.5v。
  VCCD_PLL[1..4] Note 3 给pll的数字电源_____ 连接1.2v,可以去耦下

 

 

RUP[1..4]  _____If the RUP pin is not used, this pin can function as a regular I/O pin.When the device as an I/O,O, it is recommended that the pin be connected to VCCIO or GND.
  RDN[1..4]_____When the device does not use this dedicated input for the external precision resistor or as an I/O, it is recommended that the pin be connected to GND.
  NC_____不能做任何连接。

以下是JTAG的连接推荐:
  DCLK  专用时钟配置引脚_____DCLK should not be left floating。
  DATA0  串行配置的数据输入_____如果处在AS模式, 你应该连接25Ω电阻在距离配置端口最远的位置。
  MSEL[0..3]   配置方式选择_____不用的时候接地,他们连接到VCCA or GND(看来得接2.5v了。。。。),另外,If only JTAG  configuration is used, then connect these pins to GND.(JTAG时全接地吗?好奇怪)。
  nCE_____当它为低得时候设备才会工作。In single device configuration, nCE is tied directly to GND.If you are combining JTAG and AS configuration schemes, then the nCE should be tied to GND through a 10-K Ω resistor.
  nCONFIG 配置控制口 _____使用 PS configuration的时候,connect this pin through a 10-KΩ resistor to VCCA(也就是2.5v咯)。
  CONF_DONE配置状态pin _____CONF_DONE should be pulled high by an external 10-KΩ pull-up resistor.
   nSTATUS配置状态pin _____nSTATUS should be pulled high by an external 10-KΩ pull-up resistor.
  TCK专用JTAG输入pin _____Connect this pin to a 1-KΩ resistor to GND.
  TMS专用JTAG输入pin _____配置电压是2.5或者3.3v时,通过10-KΩ 电阻连接到2.5v上去。
  TDI专用JTAG输入pin _____配置电压是2.5或者3.3v时,通过10-KΩ 电阻连接到2.5v上去。
  TDOJTAG输出pin _____不用的时候,可以悬空。

 

以下是时钟配置:
  CLK[0,2,4,6,9,11,13,15], DIFFCLK_[0..7]p 全局时钟_____还能用在正极输入,不用的记得接地哟。
  CLK[1,3,5,7,8,10,12,14], DIFFCLK_[0..7]n全局时钟_____还能用在负极输入。
  PLL[1..4]_CLKOUTp Note 3 _____ Optional positive terminal for external clock outputs from PLL [1..4]. Thesepins can be assigned to single-ended or differential I/O standards if it is being fed by a PLL output.
  PLL[1..4]_CLKOUTn Note 3_____ Optional negative terminal for external clock outputs from PLL[1..4]. These  pins can be assigned to single-ended or differential I/O standards if it is being  fed by a PLL output.

 

两用配置脚:
  nCEO_____this pin通过10-KΩ连接到vccio。
  FLASH_nCE, nCSO _____此管脚为FLASH_nCE 当在AP模式下, AS模式下得时候为nCSO。 
  DATA1, ASDO_____ 在as模式下得时候functions as  ASDO   
CRC_ERROR_____如果不用再循环纠错中,可用作io啊。
DEV_OE_____看你用不用
INIT_DONE __通过10k电阻连接到对应的VCCIO上面。我的IO有2.5v的,有3.3v的,对应是3.3v的。

 

在Quartus II 10. 0中,选择Assignments>Device>Device and Pin Options>Dual Purpose Pins,可以将一些双功能引脚设置为Use as regular I/O。但是DATA[1]/ASDOFLASH_nCE/nCSO却无法设置,这是Quartus II 10.0的GUI程序的BUG。那么我们怎么办呢?

 

 

 

很好办,因为GUI的配置,最终都是映射到配置文件中。而双功能引脚的设置在工程名.qsf中,使用Notepad++(或其他文本编辑器)打开,找到类似以下语句,手动修改保存即可。

 

from 小时不识月。
1
2
3
4
5
6
7
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_DATA7_THROUGH_DATA2_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_OTHER_AP_PINS_AFTER_CONFIGURATION "USE AS REGULAR IO"

 

 
 
 
 
 
 
 

 

posted @ 2013-05-29 18:12  努力的人会幸运  阅读(2535)  评论(0)    收藏  举报