两种不同线序的JTAG仿真器电路

作者:上善若水 发表于 2006-7-23 23:29 ZLG-ARM

以下是我在实践中的一些积累,发现这点是因为我在尝试用对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调试软件仅支持一种线序。
请大家指教,我的这种推测对不对。

你可能感兴趣的:(编程,c,工作,action)