zoukankan      html  css  js  c++  java
  • JTAG

    JTAG是JOINT TEST ACTION GROUP的简称,JTAG的两个标准IEEE 1149.1(2001)和IEEE 1149.7(2009)。

    JTAG中主要包含两部分内容:TAP(TEST ACCESS PORT)和BOUNDARY-SCAN ARCHITECTURE。

    边界扫描的基本思想是:在靠近芯片输入输出引脚处,增加一个移位寄存器单元,称为边界扫描寄存器(Boundary-Scan Register cell)

    在芯片处在debug模式下时,这些边界扫描寄存器可以将芯片和外围的input/output隔离开来,

    对于input,可以通过边界扫描寄存器将信号或数据加载到该管脚中;

    对于output,可以通过边界扫描寄存器得到该管脚上的输出信号;

    在normal模式下,这些边界扫描寄存器对芯片是透明的。

    管脚上的边界扫描寄存器可以相互连接起来,在芯片周围形成一个边界扫描链(Boundary-Scan Chain);

    一般芯片会有很多条独立的boundary-scan chain来灵活控制整个chip所有的input/output

    TAP主要作用是来管理这些Boundary-Scan Chain,主要通过TAP Controller中的状态机FSM来作用。

    TAP可以访问到芯片提供的所有的数据寄存器(DR)和指令寄存器(IR),Boundary-Scan Chain属于DR中很重要的一种。

    TAP总共包含5个信号:

    1)Test CLock Input(TCK),TAP操作的独立,基本时钟;

    2)Test Mode Selection Input(TMS),控制TAP FSM中state的转变;

    3)Test Data Input(TDI),

    4)Test Data Output(TDO),

    5)Test Reset Input(TRST),对TAP Controller进行复位;不是强制要求的,也可以通过5个高脉冲的TMS产生;

    通过Boundary-Scan Chain来control/observe 芯片的输入和输出的过程:

    1)observe output,将管脚上的输出装载到Boundary-Scan Chain的寄存器中(Capture),然后通过TDO输出(Shift);

    2)control input,将TDI中的信号移位到相应Boundary-Scan Chain的寄存器中(Shift),然后将寄存器中的值加载到管脚上(Capture);

    DR表示数据寄存器,IR表示指令寄存器,

    状态机主要分为DR和IR两条路,每条路都是先进行capture----shift----update,分别对应output的observe-----register shift------update pad

    通过TAP接口访问数据寄存器(DR)的一般过程:

    1)通过指令寄存器(IR),选择一个需要访问的数据寄存器(DR)包括Boundary-Scan Chain;

    2)将选定的数据寄存器连接到TDI和TDO之间;

    3)由TCK驱动,FSM控制,pad

    在标准IEEE 1149.1中,还规定了一些指令寄存器,公共指令,和相关的一些数据寄存器

    芯片厂商一般还会在这个基础上扩建自己的寄存器,来方便debug

    1)BYPASS指令和Bypass 寄存器,一位的寄存器,通过BYPASS指令,将bypass寄存器连接到TDI和TDO之间。提供通路测试;

    2)IDCODE指令和Device Identification寄存器,Device Identification寄存器中包含生产厂商和部件号码的信息,使用IDCODE指令,

                        就可以通过TAP来访问这些信息;

    3)INTEST指令和Boundary-Scan寄存器,Boundary-Scan寄存器就是Boundary-Scan Chain寄存器,是debug中最常用的DR,

                        INTEST命令是使用最频繁的一条指令;

    ARM7的debug框图(新的cortex架构的core都采用trace的非侵入方式来debug,不再提供jtag接口)

    ARM CPU Main Processor Logic:core的logic包括对debug的支持;

    Embedded ICE-RT Logic:包含一组寄存器和比较器,产生debug exception, breakpoint,observe point

    TAP Controller:控制jtag scan chain

    Boundary Scan的结构:

    Boundary Scan Cell的结构:

    Out接外部pad,Scan in接Scan out部分。

  • 相关阅读:
    学习Python用来爬虫
    C# 校验帮助类-正则表达式
    关于网站使用异步请求以后浏览器源码查看不到数据导致百度抓取不到的问题解决方案
    Linq学习教程
    【jQuery】选择器
    【jQuery】初始化的三种方法
    【ueditor】api方法
    同步(Synchronous)和异步(Asynchronous)
    【postman】postman
    【mysql函数】FIND_IN_SET函数用法
  • 原文地址:https://www.cnblogs.com/-9-8/p/5859481.html
Copyright © 2011-2022 走看看