JTAG下载调试电路

JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:

 

TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;

TCK:测试时钟输入;

TDI:测试数据输入,数据通过TDI引脚输入JTAG接口;

TDO:测试数据输出,数据通过TDO引 脚从JTAG接口输出;

 

JTAG协议在定义时,由于当时的计算机(PC机)普遍带有并口,因而在连接计算机端是定义使用的并口。而计算机到了今天,不要说笔记本电脑,现在台式计算机上面有并口的都很少了,取而代之的是越来越多的USB接口。USB接口是一种串口协议,那么能不能让JTAG支持USB协议,用USB接口来调试ARM呢?这就要说到JLINK和ULINK了。

 

J-Link是德国SEGGER公司推出基于JTAG的仿真器。简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。

ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINKPro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)

ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。

 

总结下,不管是JLink,ULINK还是ST-LINK都是基于JTAG协议实现的,也就是把协议烧到了实际硬件里面,后面的ULINK和ST-LINK可能对自己平台做了些优化。

如今 JTAG 接口的连接有三种标准,即 14 针接口和 20 针接口和10针接口,其定义分别如下所示。

14针

1 、 13   VCC 接电源

2 、 4 、 6 、 8 、 10 、 14   GND 接地

3  nTRST  测试系统复位信号

5  TDI   测试数据串行输入

7  TMS  测试模式选择

9  TCK  测试时钟

11 TDO   测试数据串行输出

12 NC   未连接

20针

1 VTref   目标板参考电压,接电源

2 VCC   接电源

3 nTRST   测试系统复位信号

4、6、8、10、12、14、16、18、20  GND 接地

5 TDI   测试数据串行输入

7 TMS   测试模式选择

9 TCK   测试时钟

11 RTCK  测试时钟返回信号

13 TDO   测试数据串行输出

15 nRESET   目标系统复位信号

17 、 19 NC  未连接

10针

仿真器端口 AVR端口 备注

1. TCK TCK

2. NC NC

3. TDO TDO

4. Vtref VCC

5. TMS TMS

6. nSRST RESET

7. NC / Vsupply NC / VCC JTAG ICE仿真器:VCC;JTAG ICE mkII仿真器:NC

8. nTRST NC ATMEL尚且保留该端口,如今暂不使用它,未来可能会使用

9. TDI TDI

10.GND GND

 

 

实际上10针的只需要接4根线,4号是自连回路,不需要接,1,2接的都是1管脚,而8,10接的是GND,也可以不接。

 

值得注意的是有些单片机在内部直接将与JTAG接口地方集成了上下拉电阻,这样就不用外接上拉或者下拉电阻了。上面的是在STM32单片机上手册的说明,很明显,它内部已经集成了上下拉电阻了。

 

 

posted @   idea~  阅读(1462)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示