JTAG指令
JTAG控制器执行IEEE 1149.1-2001标准定义的指令,下图是指令列表。
IDCODE 指令
IDCODE指令在TDI和TDO之间选择32位的设备识别寄存器作为移动路径,这条指令允许MCU的询问,以决定版本号和其他部分的识别数据,当JTAG控制器复位时,IDCODE指令被装载放置到指令寄存器。
SAMPLE/PRELOAD 指令
从名字看顾名思义有另个功能
这条指令的SAMPLE部分得到在边界扫描寄存器单元格出现在输出引脚之前得到系统数据和出现在MCU输入引脚上的控制信号的采样。当指令激活,且在Capture-DR状态时,在TCK的上升沿采样,在shift-DR状态下,采样数据通过边界扫描寄存器移位到TDO输出观测。
PRELAOD部分在EXTEST或者CLAMP指令执行边界扫描测试之前,初始化边界扫描寄存器单元格。在Update-DR状态下,在TCK的上升沿,初始化数据传送给并行输出的边界扫描寄存器单元格,
EXTEST指令
EXTEST选择边界扫描寄存器作为在TDI和TDO之间的移动路径,通过驱动边界扫描寄存器中的预装载数据可以允许支持及测试片外电路和板级连接的测试。通常在选择EXTEST之前,使用SAMPLE/PRELOAD指令将预装载数据装载到边界扫描寄存器。
HIGHZ指令
HIGHZ选择旁路寄存器作为在TDI和TDO之间的移动路径,当HIGHZ指令激活时,所有的输出驱动都处在非活跃状态。
CLAMP指令
当旁路寄存器被选择作为TDI和TDO之间的路径时候,CLAMP指令允许MCU管脚信号的状态由边界扫描寄存器决定。当经过边界扫描寄存器执行EXTEST指令时,CLAMP通过减少整体移位到旁路寄存器,增强提高了测试效率。
BYPASS 指令
BYPASS指令选择旁路寄存器在TDI和TDO之间创造一个单个位的移位寄存器路径。当MCU没有测试操作请求时,BYPASS指令通过减少整体的移位路径提高了测试效率。
更多详细的指令操作以及测试访问接口的状态机部分请详细参考IEEE标准,这里不在赘述。更多官方详解可以访问www.jtag.com网站
嵌入式
程序猿
嵌入式程序猿致力于打造程序猿工程师交流分享的精品移动平台,欢迎各位猿友加入和分享。微信搜索嵌入式程序猿添加关注,或者长按下方二维码,选择识别图中二维码添加关注。