NIOS-II学习日记
2013-04-03
标签:

2006年12月07日:以下是我的NIOS-II调试经历,与大家分享:

在拿到FPGA时,很高兴,可以搞NIOS了(一阵激动,都忘了常规检查流程啦!)。拿到时,朋友说调试过的没有问题。我就拿起电路图(pdf),找到时钟输入脚(125,奇怪为什么这个脚是普通IO脚,没看到全局时钟脚呢, 管它的就按此脚使用吧)。

就搞了个计数器,把时钟50M分频为5Hz从LED输出,点灯成功啦;

现就着手作NIOS功能吧,按例子作最小系统(CPU,片内RAM,1位IO输出)(建立SOPC/编译等等),插上USB-Blaster,下载sof文件。开始调试程序,在IDE环境下,Run->Debug As->NIOS II Hardware,出现下列信息:

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00

Pausing target processor: not responding.

Resetting and trying again: FAILED

Leaving target processor paused

我的居然未连上(咋我没搞对哈???)。

一阵疑惑后,我想是不是输入的时钟需要加锁相环(有点笑人哈,有点瞎整),于是按例子加入锁相环,编译出现下列错误:

Error: Can't place fast PLL "pll1:u_pll|altpll:altpll_component|pll" because I/O pin "ext_clk" (port type INCLK of the PLL) is assigned to a location which is not connected to port type INCLK of any PLL on the device

这时我有点纳闷了,图上接的时钟就是这个IO脚,咋加入个加锁相环,提示加锁相环输入不能是这个脚哈,我也没看到全局时钟。 (这个没仔细看资料)

上FPGA_NIOS技术联盟找网友帮忙,当时有个网友(好像是柳城布衣吧)告诉我pll必须接在全局时钟脚上,其管脚是28,29,152,153 (回去看资料果然是这样的,太不认真啦)。

咋么办呢,原理图上没有画全局时钟脚,就飞线吧 (太自作聪明啦)。把时钟输入接在28脚上 (没有万用表也敢作, 后悔及啦。)

重上电,有试,还是老样子。(气到了,不调啦,改天借个表,再调调)。

第二天,拿会万用表测试,发现时钟与地相通啦 (当时,晕呀, 28脚和旁边的接地脚相连啦)。

把飞线取啦,居然全局时钟脚28和125是相连的 (考,我不白忙作啦)

再上电,还是相同的问题。我快崩溃了,没办法,又上网求助,这次得到网友(自由鸟)的帮助。发现复位部分有问题,板子上有部分电路没有电源电压。这次小心飞线。

再上电,测试时钟电压为1.5v, 下载sof文件,再测试时钟电压,变为0V啦,怪了,咋个回事。找到问题啦:原来综合设置中未处理的脚输出到地(我的时钟接在2个管脚上的)。

再次测试各个关键点(时钟、复位等等),确认无问题拉,再次上电。

嘿嘿,居然进入调试环境啦,按F5,可以单步运行啦,看到LED闪了,心里美滋滋的。

以上是我的调试经历,我作个小结:

  • 拿到板子后先检查是否有损伤;
  • 通电看板子是否异常(是否有冒烟或某些芯片温度过高等)
  • 按图纸检查板子

    a. 注意若不是自己作板子请对原理图和PCB图都检查。

    b. 检查电源电压,复位脚等;

    c. 检查输入时钟(电压为电源电压的1/2,或示波器测试)

    d. 主要模块的电源、地线、互连线是否正常(我的出现部分模块没有电源电压);

  • 对于电路板,不要随意飞线,要飞也得仔细,没有万用表时,最好不要动手。
  • 用IO测试法作简单测试:把某些按键输入脚采样到可测试的管脚,测试其电压是否正常;把时钟输入脚采样到可测试的管脚(电压为IO 的1/2),复位脚也是相同的测试;
  • 对未使用的脚最好作输入三态
  • 调试时,一定要镇定,有问题是好事,可以学习到东西,冷静思考。

在此,感谢帮助我的网友们 (自由鸟、柳城布衣等)。

可能会用到的工具/仪表
相关文章
推荐文章
热门文章
章节目录
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号