DSP

ARM系统设计JTAG接口常见问题

2019-07-13 13:03发布

ARM系统的JTAG接口的设计不当往往使硬件系统无法调试,所以在设计ARM系统前要先熟悉ARM系统的JTAG接口的定义和常见问题。 1.ARM系统的JTAG接口是如何定义的? 每个PIN又是如何连接的? 下图是JTAG接口的信号排列示意: 接口是一个20脚的IDC插座。下表给出了具体的信号说明: 表 1 JTAG引脚说明 序号 信号名 方向 说 明 1 Vref Input 接口电平参考电压,通常可直接接电源 2 Vsupply Input 电源 3 nTRST Output (可选项) JTAG复位。在目标端应加适当的上拉电阻以防止误触发。 4 GND -- 接地 5 TDI Output Test Data In from Dragon-ICE to target. 6 GND -- 接地 7 TMS Output Test Mode Select 8 GND -- 接地 9 TCK Output Test Clock output from Dragon-ICE to the target 10 GND -- 接地 11 RTCK Input (可选项) Return Test Clock。由目标端反馈给Dragon-ICE的时钟信号,用来同步TCK信号的产生。不使用时可以直接接地。 12 GND -- 接地 13 TDO Input Test Data Out from target to Dragon-ICE. 14 GND -- 接地 15 nSRST Input/Output (可选项) System Reset,与目标板上的系统复位信号相连。可以直接对目标系统复位,同时可以检测目标系统的复位情况。为了防止误触发,应在目标端加上适当的上拉电阻。 16 GND -- 接地 17 NC
保留 18 GND -- 接地 19 NC -- 保留 20 GND -- 接地 2.目标系统如何设计?   目标板使用与Dragon-ICE一样的20脚针座,信号排列见表1。RTCK和 nTRST这两个信号根据目标ASIC有否提供对应的引脚来选用。nSRST则根据目标系统的设计考虑来选择使用。下面是一个典型的连接关系图:      复位电路中可以根据不同的需要包含上电复位、手动复位等等功能。如果用户希望系统复位信号nSRST能同时触发JTAG口的复位信号nTRST,则可以使用一些简单的组合逻辑电路来达到要求。后面给出了一种电路方案的效果图。
  
             图 3 一个复位电路结构的例子   在目标系统的PCB设计中,最好把JTAG接口放置得离目标ASIC近一些,如果这两者之间的连线过长,会影响JTAG口的通信速率。
  另外电源的连线也需要加以额外考虑,因为Dragon-ICE要从目标板上吸取超过100mA的大电流。最好能有专门的敷铜层来供电,假如只能使用连线供电的话,最小线宽不应小于10mil (0.254mm)。

3. 14脚JTAG如何与20JTAG连接?   Dragon-ICE使用工业标准的20脚JTAG插头,但是有些老的系统采用一种14脚的插座 。这两类接口的信号排列如下:   这两类接口之间的信号电气特性都是一样的,因此可以把对应的信号直接连起来进 行转接。Dragon-ICE配备这种转接卡,随机配备。