JTAG:我如何知道指令寄存器的宽度?
JTAG: How do I know the width of the Instruction Register?
假设我有一个 JTAG 链,其中包含来自不同制造商的多个设备:
我的软件应与该链中的特定系统通信,如何知道链中所有其他设备的 IR 长度?我必须知道他们才能向我的设备发送特定指令,对吗?
可以检测 JTAG 菊花链中所有 IR 寄存器的总长度。还可以检测链中设备(或 TAP)的数量。但是您无法检测到单个 TAP 的单个 IR 长度。
你能做什么:你可以读出所有TAP的JTAG ID代码寄存器。 ID 代码寄存器(在 DR 路径中)始终为 32 位,并由测试逻辑重置选择。
使用 ID 代码,您可以识别现有的 TAP 并在数据表中查找各个 IR 寄存器的长度。
是的:一般来说,您必须知道链中所有 TAP 的各自 IR 长度才能与其中之一进行通信。
在这里尝试:http://www.fpga4fun.com/JTAG3.html
当 IR = '1...1' 时,BYPASS 被 selected。
这个想法是发送很多“1”,因此无论 IR 长度如何,所有设备都将 select BYPASS。
假设我有一个 JTAG 链,其中包含来自不同制造商的多个设备: 我的软件应与该链中的特定系统通信,如何知道链中所有其他设备的 IR 长度?我必须知道他们才能向我的设备发送特定指令,对吗?
可以检测 JTAG 菊花链中所有 IR 寄存器的总长度。还可以检测链中设备(或 TAP)的数量。但是您无法检测到单个 TAP 的单个 IR 长度。
你能做什么:你可以读出所有TAP的JTAG ID代码寄存器。 ID 代码寄存器(在 DR 路径中)始终为 32 位,并由测试逻辑重置选择。
使用 ID 代码,您可以识别现有的 TAP 并在数据表中查找各个 IR 寄存器的长度。
是的:一般来说,您必须知道链中所有 TAP 的各自 IR 长度才能与其中之一进行通信。
在这里尝试:http://www.fpga4fun.com/JTAG3.html 当 IR = '1...1' 时,BYPASS 被 selected。 这个想法是发送很多“1”,因此无论 IR 长度如何,所有设备都将 select BYPASS。