[VIP专享]FPGA不能下载

关于Altera器件不能下载问题总结!请大家补充!(转)
笔者前一段时间在调试电路板时碰到了器件不能正确下载的问题,无奈之中只能上论坛查相关帖子,发现遇到类似问题的人不在少数,此类帖子约有好几十,但笔者感觉对于面临问题的新手来说,相关帖子的参考价值还不够充分:一
是帖子太分散,不易于查;二是帖子提出问题和现象的多,解答的少;三是有些
问题具有相关性,如果放在一起说明可能会更明白一些。因此,笔者觉得有必要
将相关的帖子中的内容简单综合一下,并将我刚刚遇到的问题及解决方法共享出来,以便其他人参考。建议其他以前有过相关经验的同志也不吝将自己的经验和解决方法(这对后来者特别有参考意义)拿出来与大家共享。
mjpg笔者先抛砖引玉了:
器件为cyclone_ep1c20,配置芯片为epcs4,留有AS接口和jatg接口。遇
到的问题为:AS方式下不能下载,但jatg方式下可以正常下载。采用BBII电缆,在QuartusII中报错为"Error:can't recognize silicon ID for
Device1"。经检查电路连接无错误,fpga与epcs4之间的引脚存在波形,
dclk,data,ncs,asdi脚上都有始终输出,由于epcs4是刚买的芯片,没有配置信息,因此上电时FPGA始终尝试从epcs4中读取配置信息,conf_done脚始终为高。接上下载线后下载时,发现nconfig脚不能被拉低。后换了台机器重试,问题依旧,最后重新了条下载线,AS方式下下载成功。经验:一般情况下参考datasheet中的说明和电路图进行连接,应该不会有什么问题;有问题时可以先
查时序,确认无误后可以考虑其他的一些因素:下载线、电脑(有的电脑并口坏掉或可能驱动能力不够),软件******是否完全等。Jatg下载过程中发现偶尔
会下载失败,重新上电后正常。打棉机
以下为我从以前的帖子中整理的一些注意事项:
1、使用下载线之前需要先安装驱动。
2、QT之中先要选择下载线的类型,并选上相应的下载选项。
扁平足鞋垫
3、检查电路连接,注意焊接质量,芯片上的电压有没有和外围的电路上的电压连上。
4、片子损坏(据说有的片子只能下载一次就不能下载了)。
5、电源有问题,输出电压不够,或纹波太大。
6、下载线有问题,可能引起很多错误:不能下载,或者下载之后程序不能运行(假下载?)等等,建议多在下载线上原因。
7、换机器试一试。
8、确认所用的软件版本有无问题,不行试试别的版本。
以前的帖子上还有很多其他的问题和现象,篇幅所限,不一一列举了。个人感觉
关键的是两点:问题的现象和解决的办法,如果能够把大家以前遇到的情况和解决办法都罗列到一起,相信后来者一定能够有的放矢,节省很多精力。所以,强烈呼吁有经验者多加补充啊!
altera下载线ByteBlasterMV和ByteBlaster区别总结
用altera的各位都要用下载线,ByteBlasterMV和ByteBlaster大家再熟悉不过了,对于高手来说,两者的区别自是小菜,可对我们这些刚入门的小弟来说就不是很清楚了,此文总结一下他们的区别,给那些和我一样刚入门的新手!
1.ByteBlasterMV可以支持3.3V和5.0V器件下载和编程,ByteBlaster只支持5.0V器件, ByteBlasterMV可以替代ByteBlaster;
2.支持器件不同
ByteBlasterMV:MAX9000,MAX7000S,MAX7000A,MAX3000A,APEX20K,FLEX10K(包括 FLEX10KA,FLEX10KE),FLEX8000,FLEX6000
ByteBlaster:MAX9000,MAX7000S,MAX7000A,FLEX10K,FLEX8000,FLEX6000
硅凝胶贴膜3.支持电平不同
不锈钢镀钛ByteBlasterMV:支持3.3V和5.0V TTL和CMOS 输出电压
ByteBlaster:支持5.0V TTL输出电压
4.下载线内部结构的区别
1)ByteBlasterMV25针接口中15脚是VCC,而ByteBlaster25针接口中15脚是地;
2)ByteBlasterMV下载线用的芯片是74HC244,ByteBlaster下载线用的芯片是74LS244
调试FPGA时碰到一个奇怪的问题 程序不能下载
最近做的一块板子,昨天还能下载程序,今天用ISE对FPGA进行编程,进程到99%后出现programe failed的问题,显示DONE引脚不能置高的错误.然后用ISE对配置芯片PROM进行编程,大概到40%左右的进程时候2.5V电源出现过流情况,出现2A大的电流,估计片子是烧掉了,但一直没有查出什么原因,有大侠知道指导一下我啊.,ISE能够检测到FPGA和PROM,返回的
ID也是正确的.
电渗析实验装置FPGA的芯片选择错误.看一下板子上FPGA芯片的型号,重新选择一次并重新编译.
我的FPGA为什么不能下载?
芯片:XILINX XC2S150E
PROM:XC18V02
线接的没问题,检查过数边了
但就是无法下载。总说电缆连接有问题
后来把EPROM拿到别人的板子上下载成功,但是在自己的板子却无法写入FPG
急死我了
也不知道该怎么检查了
大侠们指点一下吧!
解决问题了,汇报一下
program上拉电阻的电源没接上,所以不工作
检查发现后跳线处理后就可以加载了
For device VCCIO of 2.5 V, 3.0 V, or 3.3 V, refer to Figure 10–24. All I /O inputs must
maintain a maximum AC voltage of 4.1 V. Because JTAG pins do not h ave the internal
PCI clamping diodes to prevent voltage overshoot when using VCCIO of
2.5 V,
3.0 V, or
3.3 V, you must power up the download cable’s VCC with a 2.5- V sup ply from VCCA.
For device VCCIO of 1.2 V, 1.5 V, or 1.8 V, refer to Figure 10–25. You can power up the
download cable’s VCC with the supply from VCCIO.
  在我们在板子上,VCCIO用的是3.3V,因此VCCA应该用2.5V,再看我们的VCCA,竟然是1.2V,再查了CycloneIII的芯片手册,其中写到:
Each Cyclone III PLL uses separate VCC and ground pin pairs for their analog
circuitry. The analog circuit power and ground pin for each PLL is called VCCA<PLL
number> and GNDA. Connect the VCCA power pin to a 2.5-V power su pply even if you
do not use the PLL.
  就是说VCCA是2.5V,看来我们是连错了,VCCA和VCCD分别是锁相环的数字电源和模拟电源,在画原理图的时候不小心画错了。这也是CycloneII I和CycloneII的区别,在CycloneII中,VCCA和VCCD_PLL都接1.2V,而在CycloneIII中,VCCA接2.5V,VCCD_PLL接1.2V。
  发现这个错误后,我们只能小心翼翼地飞线了,经过一翻折腾后,终于飞好了,上电,下载,成功!
  后面我们就要测SDRAM了,因为我们要用SOPC系统,程序要在SDRA M里跑。但是无论我们的程序怎么调,在nios里下载程序时,控制台总是显示verify failed between address 0x1000000 and 0x1000020,其中这个地址范围在SDRAM的地址空间中。出现这个问题是因为与SDRAM通信出现了问题,而且大部分是因为SDRAM的时钟与SDRAM CONTROLLER的时钟之间的相移设置得不正确。但是我设置得相移是根据quartus handbook中关于相移地介绍算出来的,应该不会有问题。话虽这么说,但是是不是算错了我也不敢确定,所以只能修改此相移(error and try),因为一般此相移都设为-72度,所以把相移修改为-72度,但是问题依旧。既然是error and try,于是我又试了一些其它的值,但是依然没有效果。此时我们认为问题出在电路板上的可能性会比较大,于是围绕着SDRAM检
测硬件,SDRAM的连接非常简单,只需要把数据线、地址线和一些控制线直接连到FPGA的引脚上即可,所以在连接上不会有太大的问题。后来突然想到我们之前把PLL的电源接错了,没准当时已经把PLL烧坏了,而我们的SDRAM的相移是通过PLL来实现的。于是我们写了一个测试程序,看PLL的输出是否正确。结果果然不出我们所料,PLL 的输出根本不是我们想要的方波(当然用示波器测应该是输出正弦波,因为方波的频率是50M,根据信号与系统的理论,此方波是由50M和及高次谐波组成的,而示波器的带宽也就60M,所以只能显示50M的正弦波),而是一些杂
波,这说明我们这片FPGA的PLL已经被我们搞坏了,查看其芯片手册,VC CD_PLL最多只能接1.8V,之前我们用2.5V来虐待它,而且时间还不短,它不坏就不正常了。
  现在我们只能换FPGA芯片了,经我们小心翼翼地再次飞线,最终将芯片焊好后,一步一步地测,电源正常、硬件下载正常、PLL输出正常、nios下载正常。至此我们的工作算是暂告一段落。
  在以上调试过程中,还遇到了一些其它的问题。
  在nios里下载软件程序时,会出现
assertion "m_state == STATE_DEBUG" failed: file "nios2oci.cpp", line 157 Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: D:\altera\81\nios2eds\bin\nios2-download: line 594:
6300 Hangup                  nios2-gdb-server --instance 0 --tcpport none --wri te-pid ./Debug/nios2-download.pid ./Debug/GigaCard.elf.srec
  这个问题在我调试的过程中偶尔会出现,而且是没有规律的,也正是这个问题,总是阻碍着我们前进的脚步,后来我们发现一个程序本来是可以下到on chip-memory中的,后来同样的程序无论如何都下不进去了,于是我们基本可以确定问题出在了硬件。对于有控制器的系统,晶振肯定是非常重要的,于是我们测晶振的输出是不是正常的,结果是有时正常有时不正常,这说明晶振虚焊了,经过我们小宝同学精心补焊,上面那个问题就再也没有出现过了。
  在nios里下载软件程序时,出现
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused
  这个错误在可编程部分的原因大多是引脚分配错误。网上有人说要在quart us将没有用到的FPGA的引脚设为“input tri-state”,但是我并没有发现这是必须的,可能只是一些特定地器件需要这样设置。
  经过这次调试,感觉自己增长了不少调试经验,虽然之前调试过51板子,但是画那块板子时,参考电路有很多,所以调试起来比较顺利,没出太多问题。这次就不同了,问题出了一大堆,真有点不知所措。总结一下调试有主控芯片的电路,首先要保证电源没有问题,不仅是电源模块地输出没有问题,还有芯片地电源不能接错,因为电源一错,所以一切都要玩儿完,就像我们这次就因为电源的问题烧了几百块钱的芯片。在电源没有问题的情况下,就要看看主控芯片的晶振有没有问题,很多问题都是晶振引起的,我之前调试51板子的时候也是因为用了一个已经坏掉的晶振导致不能下载程序。遇到硬件方面的问题时需要一点一点地排查,在确定前面的模块是正确的情况下再进行后面的部分。
  关于FPGA的调试,我想要分为以下几步,首先要保证FPGA芯片的几个电源是正确的,然后先用一个最简单地用硬件描述语言写的小程序测试FPGA 芯片是否能够正常下载并工作正常。然后用nios建立软件工程并把程序放在o nchip-memory上下载。接下来再继续调试外围的电路。

本文发布于:2024-09-21 20:53:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/278035.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:问题   下载   芯片
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议