以文本方式查看主题

-  曙海教育集团论坛  (http://sun4.cn/bbs/index.asp)
--  ARM技术讨论专区  (http://sun4.cn/bbs/list.asp?boardid=14)
----  ARM JTAG (Joint Test Action Group)仿真器电路讨论  (http://sun4.cn/bbs/dispbbs.asp?boardid=14&id=1440)

--  作者:wangxinxin
--  发布时间:2010-11-18 8:55:07
--  ARM JTAG (Joint Test Action Group)仿真器电路讨论

以下是我在实践中的一些积累,发现这点是因为我在尝试用对SAMSUNG S3C44B0 JTAG适用的编程板电路给SAMSUNG的另一款ARM9内核MPU S3C2440 JTAG编程时出现问题,查阅了一些资料后最终解决。希望这些对那些在自制ARM JTAG编程器上遇到困难的朋友一点帮助。

  一. JTAG仿真器的实质
      
   JTAG (Joint Test Action Group) 编程调试实质上是利用了MCU/MPU片上自带的跟踪调试功能(需MCU/MPU硬件支持)。JTAG编程板一端与PC的并口相连,另一端连接至目标板,由于通常的MCU/MPU的工作电压在1.8V-3.6V之间,而PC机并口输出的电平逻辑为5V,因此需做电平转换,通常使用一枚缓冲/驱动器(如: 74××244/74××541)作隔离,并通过电阻分压,限制进入目标板的电平。因PC并口没有电压输出,所以编程板上的IC要由目标板供电,即: JTAG接口中的VCC脚是必须恰当连接的。
  二. JTAG接口的管脚定义


   主流的JTAG接口有14针和20针两种,管脚分配如图一
  14针的JTAG接口为老式接口。
  JTAG中的非地管脚定义如下图二。
 

   三. 第一种线序的JTAG编程板电路

   实测我所使用的SAMSUNG ARM7 S3C44B0开发套件中的JTAG编程板电路如图
 

    但将该编程板与S3C2440相连后却无法正确载入程序。
   依据244的输入输出关系,可整理PC并口与JTAG接口管脚的对应关系如下:
   PC并口引脚 
   2  3  8  4
   JTAG引脚 
   TCK  TMS  TDI  nSRST
   四. 第二种线序的JTAG编程板电路

   经查阅S3C2440的官方JTAG编程板SJF2440的USER’S GUIDE中的编程板电路,整理PC并口与JTAG接口管脚的对应关系如下:
   PC并口引脚 
   2  3  4  11
   JTAG引脚 
   TCK  TDI  TMS  TDO
 

    据此推测,使用S3C44B0 JTAG编程板对S3C2440的JTAG调试失败是因PC并口控制管脚的分配有区别。即,S3C2440的JTAG调试代理模拟JTAG时序所用到的并口管脚与S3C44B0的调试代理所用到的不同。

   据此,在S3C44B0 JTAG编程板上灵活飞线,再次使用该编程板对S3C2440调试成功。
   五. 一点推测
 

    在JTAG相关搜索里,发现网友李杰给出的一个JTAG编程板电路,如图五。

   该电路中的JTAG管脚与PC并口管脚的对应关系与S3C2440 JTAG编程板中的此对应关系相同,而作者称,该电路适用于所有的ARM芯片。据此推测:大多公司开发的ARM调试软件支持两种不同线序的并口模拟 JTAG调试,并且在调试开始时能自动侦测出编程板硬件连接并实施控制。官方给出的S3C2440 JTAG调试软件仅支持一种线序。
 

 


说明:本信息
  以下是我在实践中的一些积累,发现这点是因为我在尝试用对SAMSUNG S3C44B0 JTAG适用的编程板电路给SAMSUNG的另一款ARM9内核MPU S3C2440 JTAG编程时出现问题,查阅了一些资料后最终解决。希望这些对那些在自制ARM JTAG编程器上遇到困难的朋友一点帮助。

  一. JTAG仿真器的实质
      
   JTAG (Joint Test Action Group) 编程调试实质上是利用了MCU/MPU片上自带的跟踪调试功能(需MCU/MPU硬件支持)。JTAG编程板一端与PC的并口相连,另一端连接至目标板,由于通常的MCU/MPU的工作电压在1.8V-3.6V之间,而PC机并口输出的电平逻辑为5V,因此需做电平转换,通常使用一枚缓冲/驱动器(如: 74××244/74××541)作隔离,并通过电阻分压,限制进入目标板的电平。因PC并口没有电压输出,所以编程板上的IC要由目标板供电,即: JTAG接口中的VCC脚是必须恰当连接的。
  二. JTAG接口的管脚定义


   主流的JTAG接口有14针和20针两种,管脚分配如图一
  14针的JTAG接口为老式接口。
  JTAG中的非地管脚定义如下图二。
 

   三. 第一种线序的JTAG编程板电路

   实测我所使用的SAMSUNG ARM7 S3C44B0开发套件中的JTAG编程板电路如图
 

    但将该编程板与S3C2440相连后却无法正确载入程序。
   依据244的输入输出关系,可整理PC并口与JTAG接口管脚的对应关系如下:
   PC并口引脚 
   2  3  8  4
   JTAG引脚 
   TCK  TMS  TDI  nSRST
   四. 第二种线序的JTAG编程板电路

   经查阅S3C2440的官方JTAG编程板SJF2440的USER’S GUIDE中的编程板电路,整理PC并口与JTAG接口管脚的对应关系如下:
   PC并口引脚 
   2  3  4  11
   JTAG引脚 
   TCK  TDI  TMS  TDO
 

    据此推测,使用S3C44B0 JTAG编程板对S3C2440的JTAG调试失败是因PC并口控制管脚的分配有区别。即,S3C2440的JTAG调试代理模拟JTAG时序所用到的并口管脚与S3C44B0的调试代理所用到的不同。

   据此,在S3C44B0 JTAG编程板上灵活飞线,再次使用该编程板对S3C2440调试成功。
   五. 一点推测
 

    在JTAG相关搜索里,发现网友李杰给出的一个JTAG编程板电路,如图五。

   该电路中的JTAG管脚与PC并口管脚的对应关系与S3C2440 JTAG编程板中的此对应关系相同,而作者称,该电路适用于所有的ARM芯片。据此推测:大多公司开发的ARM调试软件支持两种不同线序的并口模拟 JTAG调试,并且在调试开始时能自动侦测出编程板硬件连接并实施控制。官方给出的S3C2440 JTAG调试软件仅支持一种线序。
        本信息来源:CAD教育网 www.cadedu.com