无论是客户反馈,还是自己亲身经历,USB-Blaster不能下载配置FPGA的情况时有出现。究其原因,大致有如下几条:

1. FPGA器件上的JTAG相关引脚出现故障;

2. USB-Blaster坏了;

3. 10针JTAG线缆没有压制好。

其中第1条给我们带来的损害最为严重,那么应该怎样规避呢?

内容
 
故障1的现象
 
JTAG接口的TCK、TMS、TDO或TDI,与GND短路。
原因分析
我们经常为了图方便,随意带电插拔JTAG下载口。尽管在多数情况下JTAG相关引脚安然无恙,但是不能避免小概率事件发生:由热插拔而产生的静电和浪涌,将会击穿JTAG相关引脚。有人猜测,由于盗版的USB-Blaster等简化了保护电路,因此才发生此类故障。然而,事实证明,即便是Altera官方的USB-Blaster等也避免不了这种小概率事件。因此我们艾米电子猜测:Altera为了降低成本,裁减了低端FPGA I/O的二极管钳位保护电路。
推荐插拔顺序
 
插线顺序
1. 关闭FPGA开发板的电源;
2. 将JTAG仿真器的JTAG线缆连接至FPGA开发板的JTAG接口;
3. 在仿真器的USB接口上插入USB线缆(假设USB线缆的另一段已经插在电脑上);
4. 打开FPGA开发板的电源。
步骤2和3的最好不要调换,因为虽然FPGA开发板没有供电,但是USB供电的JTAG仿真器也会产生一定的电压,作用于FPGA开发板的VCC和GND上,所以千万要注意此顺序。
拔线顺序
1. 关闭FPGA开发板的电源;
2. 拔下JTAG仿真器的USB接口上的USB线缆;
3. 去除JTAG线缆与FPGA开发板的连接;
步骤2和3的最好不要调换,原因如上。
总结
 
无论是FPGA开发板还是其他,万不可带电插拔线缆,必须先想方设法断去一切相连的电源,再做动作。

42.JTAG接口使用注意的更多相关文章

  1. 硬件相关-JTAG接口

    JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,用于系统仿真.调试及芯片内部测试.它通过访问芯片内部封装好的测试电路TAP(Test Access ...

  2. 图解Stm32使用jlink下载程序时jtag接口(SW和JTAG模式)的简化方法

    转自: http://www.it165.net/embed/html/201308/2332.html 用过stm32的人都知道stm32有两种常用下载程序的方法,用串口和jlink.串口下载方法和 ...

  3. MSP430的JTAG接口和BSW接口

    1.JTAG口,JTAG引脚如下定义:  单片机TCK——测试时钟输入,接仿真器7脚  单片机TDI——测试数据输入,接仿真器2脚  单片机TDO——测试数据输出,接仿真器1脚  单片机TMS——测试 ...

  4. JLINK 10针J和20针JTAG接口连接方法

    我的JLINK终于用上了,哈哈,好开心,终于不用考虑是不是要借用别人的PC机了,昨天到城隍庙电子市场忙活了一下午,终于算是满载而归,呵呵,好了,下面说一下接法,其实根本不需要什么转接板什么的,直接把相 ...

  5. JTAG接口定义

  6. STM32 JTAG接口SWD下载接线图

  7. JLink and JTAG等接口简介

    1.JTAG JTAG用的计算机的并口,JTAG也是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协议,如DSP.FPGA器件等. 标准的J ...

  8. 浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别

    JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协 ...

  9. JTAG各类接口针脚定义及含义

    注:转自 揽月阁 JTAG有10pin的.14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,各个引脚的定义如下. 一.引脚定义 Test Clock Input ...

随机推荐

  1. android Tab =viewpager+fragmnet

    1.定义几个fragment 的subclass 如fragmentone,fragmenttwo; public class fragmentthree extends Fragment { pri ...

  2. ln: creating hard link 问题

    其实很简单: chattr -R -i xxxxx           #xxxxx为你需要修改的文件,这样就可以了... 下面全不是重点,扯淡.... ln: creating hard link ...

  3. myeclipse上SVN代码合并详细步骤图解

    1.  在装有svn插件的myeclipse中,在主干上选择需要合并的文件或文件夹 右击 -> 合并(merge) 2. 选择合并类型--合并两个不同的树 Merge -> Next 3. ...

  4. Android IOS WebRTC 音视频开发总结(二八)-- 多人视频方案介绍

    很多人问视频会议,在线教学,主播怎么弄,所以整理下这方面的开源解决方案, 同时为了方便测试,在自己服务器上搭建了相应的服务端,文章来自博客园RTC.Blacker,转载请说明出处. 简单来说,WEBR ...

  5. 仿AS语法来写HTML5—第1章,显示一张图片

    最近开始学习html5,因为一直都是研究as,所以还是觉得as顺眼一点,但是html5也不能不学,于是就想出了,可以把html5用as的语法来写出来,做游戏应该来的比较顺手一些,下面开始第一篇 第一篇 ...

  6. PHP出错界面详细说明

    在web 上所有常见的错误之一就是无效的链接.一旦从其它站点上出现了无效的链接,你会重新安排你 的站点.人们会将他们喜欢的站点存成书签,如果在三个月后再次访问时,仅仅发现的是'404 Not Foun ...

  7. php中实现17种正则表达式

    php中实现17种正则表达式 该教程来自:php教程网:http://php.662p.com "^\d+[ DISCUZ_CODE_1 ]quot; //非负整数(正整数 + 0) &qu ...

  8. Js/Ajax中发送HttpPost请求调用WebService

    1) WebService中的方法 [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(Confo ...

  9. Silverlight中动画的性能浅析

    Silverlight中提供了StoryBoard实现动画,可是StoryBoard的性能实在不敢恭维,特别是动画很大的时候,计算机的CPU和内存的狂增,如此一来性能实在太差,在默认的动画效果中动画实 ...

  10. pthreads多线程数据采集

    以前使用curl的多线程并不是真正的多线程,只是一种模拟的多线程,现在使用pthreads来实现真正意义上的多线程. 下载: windows下: http://windows.php.net/down ...