根据ieee1149.1的标准(关于JTAG协议),JTAG主要起作用的只有五个信号:
TestClock Input(TCK)、Test Mode SelectionInput(TMS)、Test Data Input(TDI)、Test Data Output(TDO)、Test ResetInput(TRST)(可选,因为可以通过TMS复位);
但是各个芯片都有自己的JTAG调试接口,而且各有些不同,我一直认为JTAG是通用的,没怎么太理解,本身自己有一个FPGA开发板,用的是USBBlaster调试,发现它是十针的接口,我很纳闷同是JTAG调试接口,怎么还不统一一下标准,还整的有10针,14针,20针的,而且好多其他的针脚也没什么实际用处。我怀疑是不是商家为了挣钱故意这样整的,这样你就得开发不同的板子用不同的调试接口还得买它的仿真器,现在的手机都是智能机了,好多都喜欢刷系统,如果一旦刷坏了,就得找人修,好像就是JTAG接口,但我现在还没搞懂它那个JTAG和这些用的有什么区别,淘宝搜到一个JTAG主机竟然要到900元,这么高的价格让我怀疑它内部可能有非常不一般的构造,我手中恰好就有一台坏掉的安卓智能机,很想通过JTAG接口把它修好,但想到这主机就让人望而却步了。还是慢慢补习自己的知识吧。相信总有一天会闹懂得。下面把一般的JTAG接口展示如下:
上述中,20针和14针好像是ARM中调试用的一般接口,我认为只要把主要的那五个信号接上他们是可以通用的,但这我也没有试验过,希望看到的人如果做过这类实验能和我联系一下(QQ:2587664231)大家一起学习交流,最后的那个10针的是altera公司为调试他们公司的FPGA芯片方便而开发的,价格几十元,目前我想用它来解决我的刷坏了的手机的问题,但不知可不可以,因为我不知道响应的内部的软件是如何工作的,虽然硬件连————接起来了,但软件可能不适用,例如出现无法找到设备的问题等。
关于各管脚的意思基本上都能明白,就是说一下20pin的十一脚为测试时钟返回,一般通过一个4.7k电阻接地。另外关于USBblaster接口有几种下载模式:as(主动配置),ps(被动配置)和JTAG,接口是一样的,不过个管脚的功能不同如下:
另外还找到了一个串口转JTAG的电路图,比较简单,但是关于驱动的部分不知怎么设计,想这要涉及的知识就多了,于是就放弃了,等知识丰富了再来了解,当然如果这篇博客有幸被那位高人看到,欢迎指导(QQ:2587664231)深感荣幸。