ARM JTAG仿真器电路讨论
时间:06-03 10:37 阅读:2276次
*温馨提示:点击图片可以放大观看高清大图
简介:以下是我在实践中的一些积累,发现这点是因为我在尝试用对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调试软件仅支持一种线序。