原创 为何PLD器件的JTAG线缆不可热插拔(整理)

2010-9-19 20:12 3988 8 9 分类: FPGA/CPLD

 


几年前和Lattice的技术支持交流时他们给出的原理说明,有做广告之嫌,不过道理是说得很清楚的。现在的工程师调试FPGA很多人不注意这一点,须不知,目前主流厂商的线缆均不支持热插拔,高达几十V的浪涌很可能让你的FPGA或者线缆挂掉。下面是原文:


 


问题是:能否允许加电情况下插拔Jtag电缆接口,对单板编程?


 


回复如下:


 


任何一家PLD器件,包括Lattice和其对手器件,甚至包括其它使用Jtag加载的器件(如CPU等),都不支持加电情况下热插拔Jtag编程电缆,这样做很容易对器件造成损坏,原因如下:


1. 在插拔Jtag电缆接口时,不论单排或双排电缆接口,一般都没有特殊的保护装置可以保证每次插上电缆的时候是GND先接入,拔出时是VCC先离开。因此,经常由于操纵者的手法的随机性,造成插入时VCC先接到JTAG插座,容易造成较强的过冲,这种过冲往往超出CMOS电路的抗过冲能力。Lattice的CPLD是基于CMOS工艺的,其数据手册声明,过冲不能超过6V或不能超过20ns,否则容易造成电路功能不正常,过强的过冲也能造成电路损坏。


 


2. 目前Huawei使用的Jtag电缆,不论那家PLD器件,都不是最复杂结构的原厂原装电缆,该原装电缆成本很高,要100USD左右,不能满足Huawei免费提供电缆的需求。目前的电缆一般没有很复杂的保护电路,而PC机提供的电源是5V的,免费JTAG电缆内部通过分压网络分压到3.3V,因此如果PC机的地和单板的地一致性不强,则很容易在插拔时造成电位不平衡,产生过冲。


 


因此,必须要避免的问题是一下三种:


 


1. 带电插拔Jtag电缆。


2. 编程计算机不接地。


3. 最恶劣的情况,也是客户最容易出现的情况是,在局方或现场使用笔记本电缆,热插拔,更新程序。由于笔记本电脑不用插电源,因此做不到和设备的GND共地,加上热插拔JTAG电缆,很容易造成非常高电压的过冲。我曾经在上述情况下测量过高达12~20V的过冲电压。


 


 


至于为什么多次热插拔Jtag电缆,但是没有损坏芯片的现象原因如下,


 


Lattice CPLD具有较强的热插拔特性,普通I/O支持热插拔。而带电插拔Jtag电缆造成的过冲与电脑的接地情况,插拔的手法,持续时间等有关,造成的过冲的强度和时间也不一致,所以很多情况下并没有将芯片的JTAG口烧毁,但是这不能说明CPLD支持热插拔Jtag端口,请务必避免前面列举的3种情况。正确的做法是,计算机与单板共地(起码计算机的串口接地),然后关电情况下插拔Jtag电缆。

文章评论1条评论)

登录后参与讨论

ash_riple_768180695 2010-3-9 08:47

说得太好了,尤其是笔记本接地那一块。我还遇到过,反接的JTAG电缆使FPGA的JTAG电路永久失效的问题。许多操作规则,都是实际应用中总结来的,不遵守不行!
相关推荐阅读
songmin2_301502101 2012-06-30 22:30
Altera和Xilinx FPGA的从串配置模式比较
【摘要】本文对两大主流FPGA厂商的从串配置模式(Altera:Passive Serial Mode;Xilinx:Slave Serial Mode)进行了描述,并指出了主要的不同之处。...
songmin2_301502101 2012-06-30 21:16
一种简单快速验证FIR滤波器功能的方法
【摘要】用FPGA实现FIR滤波器时,一般都会在仿真阶段验证其功能是否与算法仿真一致。本文介绍了一种仿真时简单快速验证FIR功能的方法。...
songmin2_301502101 2011-08-08 09:33
PCB checklist补充
封装:1. 带散热焊盘的封装,散热焊盘是否连接到了正确的网络(一般是接地,也有接电源或NC的情况)...
songmin2_301502101 2011-07-14 17:49
ModelSim中自动创建TestBench的方法
1. 创建工程,将需要仿真的模块加入工程,编译 2. File -> Open,使用ModelSim自带的文本编辑器打开被仿真模块 3. Source -> Show Language T...
songmin2_301502101 2011-02-01 17:15
Specify tsu path to be reported by QuartusII
Q: I want to observe one tsu path, with specifed clock, input pin and destination register, but ther...
songmin2_301502101 2011-02-01 17:09
Verify fast I/O register assignments in QuartusII
Q:How to check if my fast I/O register assignments valid or not with QuartusII? As we know, If a reg...
我要评论
1
8
关闭 站长推荐上一条 /2 下一条