无论是客户反馈,还是自己亲身经历,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. C# 正则表达式及常用正则表达式

    元字符 描述 .点 匹配任何单个字符.例如正则表达式r.t匹配这些字符串:rat.rut.r t,但是不匹配root. $ 匹配行结束符.例如正则表达式weasel$ 能够匹配字符串"He' ...

  2. 从Git仓库中恢复已删除的分支、文件或丢失的commit

    亲测可用 因为自己 commit 并且 push 后 因为冲突 提交不了,不小心做了 rebase 代码被 覆盖 用以下命令 还原: 查看所有日志 并记下 hash 值 git reflog 然后用: ...

  3. Heavily reliance on forensic tools is risky

    We could take advantage of forensic tools to examine and analyze the evidence, but heavily reliance ...

  4. CTest

    一.初识CTest CTest是CMake集成的一个测试工具,在使用CMakeLists.txt文件编译工程的时候,CTest会自动configure.build.test和展现测试结果 CTest有 ...

  5. 如何在某个按钮上触发 bootstarp Modal 组件

    <?php Modal::begin([ 'id'=>'myModal', 'header' => '<h2>标题</h2>']); echo '内容'; M ...

  6. 小米、MIUI、sqlite3: not found--miui安装sqlite3

    以下为miui安装sqlite3的教程: 1.从AVD中将sqlite3导入到PC的D:\android目录下(AVD的版本需要和手机操作系统的版本相同). #adb pull system/xbin ...

  7. 学习实践:使用模式,原则实现一个C++自动化测试程序

    个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰.但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如 ...

  8. php 安装redis扩展

    大家可以去http://code.google.com/p/redis/downloads/list这个地址找最近的下载wget http://redis.googlecode.com/files/r ...

  9. js给php传值

    //ajax传值 var str= JSON.stringify(arr1);//数组转string //alert(typeof(str)); $.ajax({ url:'test.php' ,ty ...

  10. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...