JTAG基本原理及仿真器性能比较

上传人:m**** 文档编号:197190897 上传时间:2023-04-03 格式:DOCX 页数:3 大小:53.24KB
返回 下载 相关 举报
JTAG基本原理及仿真器性能比较_第1页
第1页 / 共3页
JTAG基本原理及仿真器性能比较_第2页
第2页 / 共3页
JTAG基本原理及仿真器性能比较_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
JTAG基本原理及仿真器性能比较arm 2009-04-09 09:26 阅读 365 评论 0字号:大中小JTAG(Joint Tes t Act ion Group,联合测试行动组)是一种国际标准测试协议(IEEE 1149.1兼容)。标准的JTAG 接口是4线TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG的主要功能有两大类:一类用于测试芯片的电气特性,检测芯片是否有问题;另一类用于Debug,对各类芯 片以及其外围设备进行调试。一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的 内部寄存器、挂在CPU总线上的设备以及内置模块的寄存器。本文主要介绍的是Debug功能。1 JTAG原理分析简单地说,JTAG的工作原理可以归结为:在器件内部定义一个TAP(Test Access Port),通过专用的JTAG测试 工具对内部节点进行测试和调试。首先介绍一下边界扫描和TAP的基本概念和内容。1.1边界扫描边界扫描(Boundary-Scan)技术的基本思想是在靠近芯片的输入/输出引脚上增加一个移位寄存器单元,也就是 边界扫描寄存器(Boundary-Scan Regis ter)。当芯片处于调试状态时,边界扫描寄存器可以将芯片和外围的输入/输出隔离开来。通过边界扫描寄存器单元,可以实现对芯片输入/输出信号的观察和控制。对于芯片的输入引脚,可以通过与之相连的边界扫描寄存器单元把信号(数据)加载到该引脚中去;对于芯片的输出引脚,也可以通过与之相连的边界扫描寄存器“捕获”该引脚上的输出信号。在正常的运行状态下,边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一种便捷的方式用于观测和控制所需调试的芯片。另外,芯片输入/输出引脚上的边界扫描(移位)寄存器单元可以相互连接起来,任芯片的周围形成一个边界扫描链(Boundary-Scan Chain)。边界扫描链可以串行地输入和输出,通过相应的时钟信号和控制信号,就可以方便地观察和控制处在调试状态下的芯片。1.2测试访问口 TAPTAP(Test Access Port)是一个通用的端口,通过TAP可以访问芯片提供的所有数据寄存器(DR)和指令寄存器(IR)。 对整个TAP的控制是通过TAP控制器(TAP Controller)来完成的。下面先分别介绍一下TAP的几个接口信号及其作用。其中,前4个信号在IEEE1149.1标准里是强制要求的。 TCK:时钟信号,为TAP的操作提供了一个独立的、基本的时钟信号。 TMS:模式选择信号,用于控制TAP状态机的转换。 TDI:数据输入信号。 TDO:数据输出信号。 TRST:复位信号,可以用来对TAP Controller进行复位(初始化)。这个信号接口在IEEE 1149.1标准里并不是强制要求的,因为通过TMS也可以对TAP Controller进行复位。 STCK:时钟返回信号,在IEEE 1149.1标准里非强制要求。 DBGRQ:目标板上工作状态的控制信号。在IEEE 1149.1标准里没有要求,只是在个别目标板(例如STR710)中会有。简单地说,PC机对目标板的调试就是通过TAP接口完成对相关数据寄存器(DR)和指令寄存器(IR)的访问。系统上电后,TAP Controller 首先进入 Test-LogicReset 状态,然后依次进入 Run-Test / Idle、Select-DR- Sc an、Select-IR-Scan、Capture-IR、ShiftTR、Exitl-IR、Update-IR 状态,最后回到 Run-Test / Idle 状态。在此过程 中,状态的转移都是通过TCK信号进行驱动(上升沿),通过TMS信号对TAP的状态进行选择转换的。其中,在Capture -IR状态下,一个特定的逻辑序列被加载到指令寄存器中;在Shift-IR状态下,可以将一条特定的指令送到指令寄存器 中;在Update-IR状态下,刚才输入到指令寄存器中的指令将用来更新指令寄存器。最后,系统又回到Run-Test / Idl e状态,指令生效,完成对指令寄存器的访问。当系统又返回到Run-Test / Idle状态后,根据前面指令寄存器的内容选 定所需要的数据寄存器,开始执行对数据寄存器的工作。其基本原理与指令其存器的访问完全相同,依次为Selec t-DR -Scan、Capture-DR、Shift-D、Exit1-DR、Update-DR,最后回到 Run-Test / Idle 状态。通过 TDI 和 TDO,就可以将新 的数据加载到数据寄存器中。经过一个周期后,就可以捕获数据寄存器中的数据,完成对与数据寄存器的每个寄存器单 元相连的芯片引脚的数据更新,也完成了对数据寄存器的访问。目前,市场上的JTAG接口有14引脚和20引脚两种。其中,以20引脚为主流标准,但也有少数的目标板采用1 4引脚。经过简单的信号转换后,可以将它们通用。2仿真器与简易JTAG的性能对比虽然所用的仿真器有很大的差别,但是,实际上忽略一些上下拉电阻以及保护电容(这些电阻、电容对于电路功 能没有意义),它们的基本原理图是十分相似的,唯一的差别就在于对RTCK信号(用于测试时钟返回)和DBGRQ信号(用 于设置目标板工作状态)的处理。实际上,在IEEE 1149.1标准中这两个信号都不是强制要求的。因此,在分析仿真器(JTAG)的工作原理时完全可以忽略这两个信号的情况,而仅对IEEE 1149.1标准中强制要求的4个信号进行分析。既然所有JTAG的基奉原理都是一样的,为什么这两种仿真器的速度会存在如此大的差异,而且并不是所有的仿真器都是通用的呢?首先介绍一下ARM7扫描链架构,如图5所示。1-闊5ARW7担描推架构J 挣驗山卫TAPE附闆I 丘TAPICLChsiri-htl与简易JTAG比较,在扫描过程中,STR710的仿真器为ARM7TDMI添加了一个专门的指针通道以及相应的存储 空间store-multiple(STM)。因此在调试状态下,仿真器不再利用系统除了边界扫描寄存器外的任何其他资源,而是通过JTAG-style接口直接获取系统的状态信息,对系统状态进行观测以及调试,进而大大提高调试速度。在STR710目标板中,ARM7TDMI可以通过外部信号和内部电路模块(ICE)进入调试状态。当目标板一旦进入调 试状态后,内核就将其与存储器分离开来,这样内核就可以保证在不影响系统正常运作的状态下对系统的状况进行监测 和调试。同时,ARM7TDMI内部状态的检测是通过JTAG-style接口进行的,这个接口允许指令不通过数据线直接进入 到内核的扫描通道。这样在调试状态下,STM就可以直接嵌入到指令通道并存储ARM7TDMI寄存器的内容,在不影响 系统工作的情况下将这些内容移位出来,使仿真器获得目标板的状态信息。与仿真器比较,简易JTAG完成的工作就要少得多。它只是完成了对主机信号的电平转换,也就是相当于一个驱 动器。上面提到的所有工作都要交给CPU去做,因此在使用简易JTAG下载文件时目标板自然会相应地降低速度。尤其 是当程序相对较大时,其速度就会大大降低,对于一些开发人员来讲,这是相当致命的缺点。关于仿真器与日标板的兼 容问题,现在市场上的部分仿真器出现不同程度的不兼容问题,其产生的主要原因是对RTCK信号(DBGRQ信号极不常见, 这里不作介绍)的处理情况存在一些差异(不包括周立功系列的实验开发板,它们的仿真器使用的是单片机,与大多数的 仿真器都不能兼容)。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!