JTAG接口定义与其他简介
JTAG(Joint Test Action Group)是一个接口,为了这个接口成立了一个小组叫JTAG小组,它成立于1985年,比推丸菌的年龄还大。在1990年IEEE觉得一切妥当,于是发布了 IEEE Standard 1149.1-1990,并命名为 Standard Test Access Port and Boundary-Scan Architecture,这就是大名鼎鼎的JTAG了。
JTAG的三大功能你知道吗,响当当的:
1.下载器,即下载软件到FLASH里。
2. DEBUG,跟医生的听诊器似的,可探听芯片内部小心思。
3. 边界扫描,可以访问芯片内部的信号逻辑状态,还有芯片引脚的状态等等。
JTAG根本没有标准的接口定义,甚至每家公司定义都不一样,推丸菌罗列了4种接口定义,有ARM公司的定义,有ST公司的定义等等,仅供大家参考。可能有眼尖的工程师,对的,我这个跟Intel的文档是一样的[请参考jtag-101-ieee-1149x-paper.pdf]。推丸菌建议硬件攻城狮不要纠结于引脚定义,而要专心设计电路,深入理解TMS/TCK/TDO/TDI等信号。
在JTAG接口中,最常用的信号有四个,分别是TCK/TMS/TDO/TDI。JTAG接口可以一对一的使用,也可以组成菊花链的一对多拓扑结构,两种拓扑结构如下图所示。多核的芯片,其芯片内部已经接成了菊花链的形式。
JTAG中虽然常用4个引脚,对于攻城狮来说,一定要掌握这4个信号,但对其他信号也要充分了解,这样在使用的时候,就可以做到随心所欲。下表介绍了JTAG和SWD信号接口,表中所有信号流向,是相对芯片而言的。