JTAG Bypass命令案例解析

Bypass命令是个什么鬼

曾经有朵黑色的云彩在我的大脑中翻江倒海,当N个设备组成一个菊花链的时候(跟花没关系,当然你也不用紧张),如何准确地访问其中的某个设备呢?不知道,不知道,不知道,真的不知道,只是传说中有个叫Bypass的家伙据说可以解决这个问题。好了,既然知道了Bypass传说中的超能力,我们一起去采访一下这位大侠。

大侠的住处

相传《IEEE 1149.1 JTAG Boundary Scan Standard》峡谷中住着关于JTAG相关的所有名流侠士,但是鉴于个人水平有限,只能带着万般崇敬的心情到其他俗家弟子NXP家里寻求一些见闻,根据NXP施主提供的《DSP56300 JTAG Examples》的秘籍,我们了解到了一些Bypass大侠的**。

根据秘籍中第6页提供的表1,我们知道部分指令指向的是Bypass寄存器,但是似乎有许多指令都指向了Bypass寄存器,但是最后一条指令是Bypass,欧耶,终于找到Bypass大侠,但是跟Bypass大侠同住一窝的那些大侠是干什么的呢?带着这些问题,我们继续往下面看。
JTAG Bypass命令案例解析

大侠传闻

在秘籍第7页有关于大侠传闻的一些简述,从发黄的羊皮纸上,我们知道Bypass寄存器是一个在TDI和TDO之间的单比特扫描路径。Bypass寄存器主要的作用是在JTAG拓扑中存在多个设备时,提高测试效率。如果当前指令选定了Bypass寄存器,那么在Capture-DR状态时,在TCK的上升沿移位寄存器被设置为0.因此,在移位寄存器被选中后,移出的第一个比特总是0.

大侠圈中传闻

相传大侠是《IEEE Standard 1149.1》明确要求的一位举足轻重的人物。大侠允许JTAG环路中各个设备处于功能模式,将TDI通过Bypass寄存器连接到TDO。这使得串行数据从设备的TDI流入,从TDO流出,但是却并不妨碍设备的操作。

大侠的事迹

本部分通过举例来阐述大侠的事迹。在JTAG TAP的Select-IR阶段,在设备TDI发送"1111"(Bypass命令)选定Bypass寄存器。接下来,在数据传输环节,该设备处于Bypass状态,数据从TDI流入,从TDO流出。