[资料分享] JTAG调试测试访问口TAP

fish001   2019-10-13 16:27 楼主

测试访问口TAP

      TAP(TestAccessPort)是一个通用的端口,通过TAP 可以访问芯片提供的所有数据寄存器(DR)指令寄存器(IR)。对整个TAP的控制是通过TAP控制器(TAPController)来完成的。下面先 分别介绍一下TAP的几个接口信号及其作用。其中,前4个信号在IEEE1149.1标准里是强制要求的。

  • TCK:时钟信号,为TAP的操作提供了一个独立的、基本的时钟信号。
  • TMS:模式选择信号,用于控制TAP状态机的转换。
  • TDI:数据输入信号。
  • TDO:数据输出信号。
  • TRST:复位信号,可以用来对TAPController进行复位(初始化)。这个信号接口在IEEE1149.1标准里并不是强制要求的,因为通过TMS也可以对TAPController进行复位。
  • STCK:时钟返回信号,在IEEE1149.1标准里非强制要求。

    简单地说,PC机对目标板的调试就是通过TAP接口完成对相关数据寄存器(DR)指令寄存器(IR)的访问

    系统上电后,TAPController 首先进入 Test-LogicReset 状态,然后依次进入Run-Test/Idle、Selcct-DR- Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR状态,最后回到 Run- Tcst/Idle 状态。在此过程中,状态的转移都是通过TCK信号进行驱动(上升沿),通过TMS信号对TAP的状态进行选择转换的。其中:

  • 在 Capture-IR状态下,一个特定的逻辑序列被加载到指令寄存器中;
  • 在Shift-IR状态下,可以将一条特定的指令送到指令寄存器中;
  • 在 Update—IR状态下,刚才输入到指令寄存器中的指令将用来更新指令寄存器。
  • 最后,系统又回到Run—Test/Idle状态,指令生效,完成对指令寄存器的访问。

当系统又返回到Run—Test/Idle状态后,根据前面指令寄存器的内容选定所需要的数据寄存器,开始执行对数据寄存器的工作。其基本原理与指令寄存器的访问完全相同,依次为seIect—DR—Scan、Capture—DR、Shift—D、Exitl一DR、Update—DR, 最后回到 Run-Tcst/Idle 状态。通过TDl和TDO,就可以将新的数据加载到数据寄存器中。经过一个周期后,就可以捕获数据寄存器中的数据,完 成对与数据寄存器的每个寄存器单元相连的芯片引脚的数据更新,也完成了对数据寄存器的访问。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复