版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JTAG基本原理及仿真器性能比较JTAG(JointTestActionGroup,联合测试行动组)是一种国际标准测试协议(IEEE1149.1兼容)。标准的JTAG接口是4线——TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG的主要功能有两种,或者说JTAG主要有两大类:一类用于测试芯片的电气特性,检测芯片是否有问题;另一类用于Debug,对各类芯片以及其外围设备进行调试。一个含有JTAGDebug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器、挂在CPU总线上的设备以及内置模块的寄存器。本文主要介绍的是Debug功能。1JTAG原理分析简单地说,JTAG的工作原理可以归结为:在器件内部定义一个TAP(TestAccessPort,测试访问口),通过专用的JTAG测试工具对内部节点进行测试和调试。首先介绍一下边界扫描和TAP的基本概念和内容。1边界扫描边界扫描(Boundary-Scan)技术的基本思想是在靠近芯片的输入/输出引脚上增加一个移位寄存器单元,也就是边界扫描寄存器(Boundary-ScanRegister)。当芯片处于调试状态时,边界扫描寄存器可以将芯片和外围的输入/输出隔离开来。通过边界扫描寄存器单元,可以实现对芯片输入/输出信号的观察和控制。对于芯片的输入引脚,可以通过与之相连的边界扫描寄存器单元把信号(数据)加载到该引脚中去;对于芯片的输出引脚,也可以通过与之相连的边界扫描寄存器“捕获”该引脚上的输出信号。在正常的运行状态下,边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一种便捷的方式用于观测和控制所需调试的芯片。另外,芯片输入/输出引脚上的边界扫描(移位)寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-ScanChain)。边界扫描链可以串行地输入和输出,通过相应的时钟信号和控制信号,就可以方便地观察和控制处在调试状态下的芯片。2测试访问口TAPTAP(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标准里非强制要求。DBGRQ:目标板卜工作状态的控制信号。在IEEE1149.1标准里没有要求,只是在个别目标板(例如STR710)中会有。简单地说,PC机对目标板的调试就是通过TAP接口完成对相关数据寄存器(DR)和指令寄存器(IR)的访问。系统上电后,TAPController首先进入Test-LogicReset状态,然后依次进入Run-Test/Idle、Selcct-DR-Scan、Select-IR-Scan、CaptureTR、Shift-IR、ExitlTR、UpdateTR状态,最后回到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,就可以将新的数据加载到数据寄存器中。经过一个周期后,就可以捕获数据寄存器中的数据,完成对与数据寄存器的每个寄存器单元相连的芯片引脚的数据更新,也完成了对数据寄存器的访问。目前,市场上的JTAG接口有14引脚和20引脚两种。其中,以20引脚为主流标准,但也有少数的目标板采用14引脚。经过简单的信号转换后,可以将它们通用。下面通过对JD44BOX实验开发板的简易JTAG的基本原理进行分析,以及对JD44BOX和STR710试验开发板主板的JTAG原理进行对比,进一步阐述JTAG的工作原理。JD44BOX实验开发板的简易JTAG的原理图如图1所示。
1OOL2X3点击看原图1Lloknxs1A11Y11A21Y21OOL2X3点击看原图1Lloknxs1A11Y11A21Y2IA31Y31A41Y42Y12Y22Y32Y41G2GBUSYNOPAPERSELECTED2143I658710912111413161518172019图1中,74LS244为三态输出的8组缓冲器和总线驱动器,其功能如表l所列。表174LS244的功能表输人GAYLLLLHHH'XZ由表1可知,在JD4480X实验板的调试过程中,这款简易JTAG的主要作用就是将PC机发出的电信号与实验板的电信号进行匹配,以实现驱动目标板的功能。STR710和JD44B0X主板的JTAG原理图如图2和图3所示。STR710主板JTAG原理图470QVCC?2468024680il-I-i1^11Aoi330CJD44B0X主板JTAG原理通过图2和图3的对比可以发现,虽然所用的仿真器有很大的差别,但是,实际上忽略一些上下拉电阻以及保护电容(这些电阻、电容对于电路功能没有意义),它们的基本原理图是十分相似的,唯一的差别就在于对RTCK信号(用于测试时钟返回)和DBGRQ信号(用于设置目标板工作状态)的处理。实际上,在IEEE1149.1标准中这两个信号都不是强制要求的。因此,在分析仿真器(JTAG)的工作原理时完全可以忽略这两个信号的情况,而仅对IFEE1149.1标准中强制要求的4个信号进行分析。2仿真器与简易JTAG的性能对比1仿真器硬件连接PC机配置:1.66GHz,256MB内存。调试软件:ADS1.2。目标板:JD44B0X。•完成任务:文件的下载。硬件连接如图4所示。通过主机的并口与仿真器相连接,再将仿真器与目标板的JTAG调试接口连接。主机仿真器主机仿真器图4硬件连接图2性能对比如表2所列,虽然通过不同的调试代理所需的下载时间有所不同,但是两种仿真器所存在的性能差异仍然很明显。在选用简易JTAG下载文件的过程中,效率最高的调试代理所需的时间仍将近是仿真器的6倍,这就是仿真器的优势所在。性能的提高必然要付出更多的代价,对开发者来说这个代价就是成本。经过市场的考察,仿真器的价格一般在千兀左右,而简易JTAG的价格一般在百元左右,也就是存在将近10倍的差别。另外,还需要考虑的就是
其兼容性。兼容性包括与H标板的兼容和与调试代理的兼容。在与目标板的兼容方面,后面的内容中会有详细说明;在与调试代理的兼容方面也有所反映。简易JTAG能够与多个调试代理兼容,而仿真器只能使用其自带的调试代理,具有一定的局限性。表2性能对比義下載时阎简易JTAG仿血誥文件、、川大小/KE、、、H-」丁AGbanyan-TRTDaemonDebugFinalARM-KEServer703;4631.0133.6767r195.KS356,728017.3633、603.^136.652.302M0f4.37—2.3原因分析既然所有JTAG的基本原理都是一样的,为什么这两种仿真器的速度会存在如此大的差异,而且并不是所有的仿真器都是通用的呢?首先介绍一下ARM7扫描链架构,如图5所示。扫描链1止0DBGRQICEARMCPU|L扫描链klQScanChainId:1内核首先介绍一下ARM7扫描链架构,如图5所示。扫描链1止0DBGRQICEARMCPU|L扫描链klQScanChainId:1内核JTDOTAP控制器TAPSM[3:0]IR[3msslfHOJJ^SCANSELRSR设备图5ARM7扫描链架构点击看原图与简易JTAG比较,在扫描过程中,STR710的仿真器为ARM7TDMI添加了一个专门的指针通道以及相应的存储空间store-multiple(STM)。因此在调试状态下,仿真器不再利用系统除了边界扣描寄存器外的任何其他资源,而是通过JTAG-style接口直接获取系统的状态信息,对系统状态进行观测以及调试,进而大大提高调试速度。在STR71O目标板中,ARM7TDMI可以通过外部信号和内部电路模块(ICE)进入调试状态。当目标板一旦进入调试状态后,内核就将其与存储器分离开来,这样内核就可以保证在不影响系统正常运作的状态下对系统的状况进行监测和调试。同时,ARM7TDMI内部状态的检测是通过JTAG-style接口进行的,这个接口允许指令不通过数据线直接进入到内核的扫描通道。这样在调试状态下,STM就可以直接嵌入到指令通道并存储ARM7TDMI寄存器的内容,在不影响系统工作的情况下将这些内容移位出来,使仿真器获得目标板的状态信息。与仿真器比较,简易JTAG完成的工作就要少得多。它只是完成了对主机信号的电平转换,也就是相当于一个驱动器。上面提到的所有工作都要交给CPU去做,因此在使用简易JTAG下载文件时目标板自然会相应地降低速度。尤其是当程序相对较大时,其速度就会大大降低,对于一些开发人员来讲,这是相当致命的缺点。关于仿真器与目标板的兼容问题,现在市场上的部分仿真器出现不同程度的不兼容问题,其产生的主要原因是对RTC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川内江市隆昌市普润镇人民政府招聘1人备考题库带答案详解(完整版)
- 2026甘肃阿阳农商开发有限公司招聘备考题库及答案详解一套
- 2026广东深圳理工附中教师招聘9人备考题库附参考答案详解ab卷
- 【高中语文】《石钟山记》导学案统编版高二语文选择性必修下册
- 网站建设服务合同
- 2026江西抚州高新区招聘社区工作者(专职网格员)50人备考题库及参考答案详解(夺分金卷)
- 2026贵州黔南州贵定县面向社会招聘国有企业工作人员11人备考题库及答案详解【夺冠系列】
- 2026甘肃金昌永昌县红山窑镇卫生院招聘1人备考题库及参考答案详解(典型题)
- 2026云南省机关事务管理局抗战胜利纪念堂管理处招聘编外人员3人备考题库附答案详解(培优)
- 2026兴业银行长春分行招聘备考题库完整答案详解
- 2026江苏苏州市健康养老产业发展集团有限公司下属子公司招聘44人(第一批)笔试历年典型考点题库附带答案详解
- 2026年临沂市工业学校公开招聘教师(32名)笔试参考题库及答案解析
- 水产动物育种学智慧树知到期末考试答案章节答案2024年上海海洋大学
- 中考古诗词复习专题之苏轼词专题课件
- 基因工程制药-课件
- 承揽合同(合同范本)
- 八年级数学下册导学案全册
- 初中化学教学及复习策略-(夯实基础-合作探究-共同提高)课件
- 登高车安全技术交底
- 年处理20万吨铝灰渣资源再利用项目可行性研究报告完整立项报告
- 政务服务一件事建设方案
评论
0/150
提交评论