ARM7的Jtag线延长的方法

[复制链接]
 楼主| bethel 发表于 2007-11-7 10:51 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp;TMS470系列ARM7芯片需要远程Jtag调试,Jtag仿真器采用合众达的XDSPP,Jtag到目标板的线需要延长至3米。采用DS34LV86T和DS34LV87T把TDI、TDO、TMS、TCLK、TCLK_RET五根线差分与反差分解决Jtag线延长的问题,结果调试了近一个月而未能实现远程下载。<br /><br /><br /><br /><br />已经调试成功!一些经验和大家分享:<br /><br />&nbsp;&nbsp;&nbsp;这应该是Jtag线延长的一种通用方法,可以应用到需要延长ARM或者其他的Jtag线的一般场合。<br />&nbsp;&nbsp;&nbsp;我总结一下自己的经验:<br />&nbsp;&nbsp;&nbsp;&nbsp;1.PCB需要进行阻抗控制<br />&nbsp;&nbsp;&nbsp;&nbsp;2.采用CAT3以上的电缆线,电缆线与connector也需要进行阻抗控制<br />&nbsp;&nbsp;&nbsp;&nbsp;3.采用延时短的芯片<br />&nbsp;&nbsp;&nbsp;&nbsp;4.采用LVDS驱动和接收芯片<br />&nbsp;<br />具体实现方法:<br /><br />&nbsp; &nbsp;采用美国国家半导体的DS90LV047A作为差分传输驱动芯片,采用DS90LV048A作为差分传输接收芯片即可。<br />&nbsp;&nbsp;&nbsp;&nbsp;TDI、TMS、TCLK信号分别从仿真器出来后经DS90LV047芯片差分为TDI+、TDI-、TMS+、TMS-、&nbsp;TCLK+、TCLK-后,经过3米长电缆线,再由DS90LV048A分别反差为TDI'、TMS'、TCLK'后进入MCU;<br />&nbsp;&nbsp;&nbsp;&nbsp;TCLK'信号经过DS90LV047芯片差分为TCLK'+、TCLK'-后,经过3米长电缆线,再由DS90LV048A反差为TCLK_RET后进入仿真器;<br />&nbsp;&nbsp;&nbsp;&nbsp;TDO信号从MCU出来,经过DS90LV047芯片差分为TDO+、TDO-后,经过3米长电缆线,再由DS90LV048A反差为TDO'后进入仿真器。<br />下面为电路示意图:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;JTAG====&gtTDI-------&gtTDI+&nbsp;&nbsp;-------&gtTDI'======&gtMCU<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-------&gtTDI-&nbsp;&nbsp;-------&gt<br /><br />&nbsp;&nbsp;JTAG====&gtTMS-------&gtTMS+&nbsp;&nbsp;-------&gtTMS'======&gtMCU<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-------&gtTMS-&nbsp;&nbsp;-------&gt<br /><br />&nbsp;&nbsp;JTAG====&gtTCLK-------&gtTCLK+&nbsp;&nbsp;-------&gtTCLK'======&gtMCU<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-------&gtTCLK-&nbsp;&nbsp;-------&gt<br /><br />&nbsp;&nbsp;JTAG&lt====TCLK_RET&lt------TCLK'+&nbsp;&nbsp;&lt-------TCLK'&lt=====MCU<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt------TCLK'-&nbsp;&nbsp;&lt-------<br /><br />&nbsp;&nbsp;JTAG&lt====TDO&nbsp;&lt------TDO+&nbsp;&nbsp;&lt-------TDO&lt=====MCU<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt------TDO-&nbsp;&nbsp;&lt-------<br /><br /><br />&nbsp;&nbsp;由于今天上网的电脑上不能画电路图,今后有机会把电路发出来。&nbsp;&nbsp;<br />&nbsp;<br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/200711/2007117105131121.pdf'>https://bbs.21ic.com/upfiles/img/200711/2007117105131121.pdf</a>
xwj 发表于 2007-11-7 10:54 | 显示全部楼层

太长了,难

只能降低JTAG的速率看看
 楼主| bethel 发表于 2007-11-7 10:57 | 显示全部楼层

拜托

&nbsp;&nbsp;&nbsp;如果需要相关资料,请邮件联系,电话联系,或者回复,谢谢!<br />&nbsp;&nbsp;&nbsp;这个问题已经困绕一个月了,特别着急。拜托有Jtag线延长经验的人士与各位仁人智士帮忙解决!
 楼主| bethel 发表于 2007-11-7 11:05 | 显示全部楼层

连接图

<br />C:\Jtag连接图.bmp
 楼主| bethel 发表于 2007-11-7 11:08 | 显示全部楼层

连接图

连接图,图中buffer采用了DS34LV87T和DS34LV86T两芯片差分与反差分处理
zjf0000 发表于 2007-11-9 16:34 | 显示全部楼层

不懂

&ltcolor=red&gt不懂&lt/color&gt
 楼主| bethel 发表于 2007-11-9 18:08 | 显示全部楼层

是线的阻抗匹配原因吗?

昨天,我采用了一种双绞线使得传输距离可以延长至70厘米,但是今天采用网线中的双绞线来做实验就根本无法下载了,请问是什么原因,应该怎么去做?<br />&nbsp;&nbsp;&nbsp;&nbsp;难道是网线的阻抗与昨天的用的双绞线不一样的原因吗?<br />  应该选择什么样的电缆啊?<br />
 楼主| bethel 发表于 2007-11-10 09:22 | 显示全部楼层

最近的进展

TMS470的远程JTAG一直调试不顺利,传输距离长短受到限制。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;既然用DS34LV86T和DS34LV87T在距离比较短的时候可以下载,我觉得电路连接应该是对的。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有可能是以下几个原因导致无法传输:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.电路板、导线、终端电阻阻抗不匹配,对于这一点,我从前没有接触过,可能要用到《传输线理论》的一些知识才能解决。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.传输线没有加屏蔽。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.传输线产生的延时,1米的电缆,对于电信号产生的延时可能达到:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1m/(0.7*3*10^8m/s)=4.8ns<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.还有我前天实验发现,所有线经过差分后:TCK和TCK_RET线的长短,无论是3米还是1米,对于能否调试成功没有太大的影响,关键是TMS和TDI、TDO的长短对于能否调试成功具有决定性的影响,我分别做了实验,TMS、TDI、TDO分别加长几公分都会导致无法下载。我认为TMS、TDI、TDO比周期性的TCK和TCK_RET更容易被外界干扰和损耗。<br />&nbsp;&nbsp;&nbsp;&nbsp;不知道怎么下一步怎么改进?<br />
 楼主| bethel 发表于 2007-11-10 09:32 | 显示全部楼层

相关的电路示意图

TCK和TCK_RET的电路连接示意图。附件为protel99se格式的&nbsp;
 楼主| bethel 发表于 2007-11-10 09:43 | 显示全部楼层

TDI和TDO与TMS的连接图

&nbsp;&nbsp;&nbsp;TDI、TDO、TMS的差分线与EMU0、EMU1和/TRST的连接都按照JTAG说明书进行。可以参考附件,附件中的TCK与TCK_RET按照9楼的连接。<br />&nbsp;&nbsp;&nbsp;两TDI、两TDO、两TMS间的buffer采用DS34LV87T与DS34LV86T进行差分和反差分。
stycx 发表于 2007-11-10 17:26 | 显示全部楼层

尝试延长并口线吧

  
 楼主| bethel 发表于 2007-11-12 08:28 | 显示全部楼层

最新进展

延长的难度在于TDO无法延长,只要长度稍微多几厘米就无法调试与下载了,稍微短几厘米就可以下载与调试。<br />&nbsp;&nbsp;&nbsp;这些所有信号中只有TDO是从MCU发往仿真器的,其余的TDI,TMS,TCK都是从仿真器发往MCU的,难道是TDO的电流驱动不够大吗?是不是要再加上驱动芯片啊?<br />&nbsp;&nbsp;&nbsp;&nbsp;到底是因为驱动不够,还是时序不对呢?其余的线可是可以随意延长与缩短啊,惟有TDO不行。<br />&nbsp;&nbsp;&nbsp;
computer00 发表于 2007-11-12 09:36 | 显示全部楼层

有可能是驱动不足,在线缆之前加个缓冲试试.

  
whereis 发表于 2007-11-12 20:23 | 显示全部楼层

.

转之。<br />
xieqin 发表于 2007-11-12 21:46 | 显示全部楼层

PC的并口延长线至2米以上,JTAG口线搞成1米以下.

<br />加起来的距离差不多就是3米.&nbsp;<br /><br />如果用ulink,把USB线搞长点,JTAG线搞短点.这样也行.<br /><br />2条并口延长线串在一起,我是用过的,并且超过2米.
 楼主| bethel 发表于 2007-11-14 20:25 | 显示全部楼层

关键信号TDO的波形

远程不可下载时的TDO波形<br />与近程可下载程序时的TDO波形如图。<br />时序并没有什么区别,TDO是最后的关键信号了。
 楼主| bethel 发表于 2007-11-14 20:27 | 显示全部楼层

波形(续16楼)

波形(续16楼)
 楼主| bethel 发表于 2007-11-14 20:30 | 显示全部楼层

波形(续17楼)

波形(续17楼)&nbsp;<br /><br /><br />&nbsp;<br />&nbsp;<br />
老狼 发表于 2007-11-14 20:42 | 显示全部楼层

你的JTAG带外接电源吗?

如果用窃电的方式,估计没戏!建议你买一个&nbsp;仿真器,技创的挺好,我用过。我一般都是将两条并口线串联使用。<br /><br />JTAG外接线延长,通常效果不好。<br /><br />其实还有其他的方法:例如在一个地址段&nbsp;烧写一段程序,这段程序通过串口通讯实现与PC的程序下载,并将程序烧写到另外一个地址段,然后用跳线的方式,将程序的起始地址改变,就可以了。这种方法只能实现程序的烧写,当然也可以用于调试,不过实现起来比较烦索。你也可以用&nbsp;angle的源代码改写。<br /><br />
老狼 发表于 2007-11-14 20:47 | 显示全部楼层

看两个波形 TDO

好像是那个不行的,低电平不为零。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

49

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部