JTAG 是什么意思啊?哪位仁兄帮忙解答下!!!
的有关信息介绍如下:问题补充说明:fpga实验板的一个接口!!具体是什么意思啊?请高手指点,谢谢!!
JTAG
JTAG是英文“Joi来自ntTestActionGroup(联合测试行为组织)”的词头字母的简写,该组织成立于1985金种让著优缺陈例配许答年,是由几家主要的电子制造商发起制订的PCB和IC测试标准。JTAG建议于1990年被IEEE批准为IEEE11360问答49.1-1990测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描所需要的硬件和软件。自从1990年批准后,IEEE分别于1993年和1995年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993和IEEE1149.1b-1994。JTAG主要应用于:电路的边界内过探李波执表志统千扫描测试和可编程芯片的在系统编程。
JTAG也是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持J耐火TAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模减判们果式选择、时钟、数据输入和数据输出线。相关JTAG引脚的定义为:TCK为测试级住积继仍贵时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。GND
TI还定义了一种叫SBW-JTAG的接口,用来在引脚较少的芯片上通过最少的利用引脚实现JTAG接口,它只硫张职训令英列吗输三表有两条线,SBWTCK,SBWTDIO。实际使用时一般通过四条线连接,VCC,SBW医算载让连印油念TCK,SBTDIO,GND,这样就可以很方酒便的实现连接,又不会占用大量引脚。
JTAG掉协圆送职最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Tes功侵少tAccessPort测试访问口)通过专用的J者么木到价TAG测试工具对进行内罗技部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-SystemProgrammable;在线编程),对FL陆社护妒加素护干牛ASH等器件进行编程。
JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用J层鲜四零叫组石TAG编程,从而大大加快工程述毫把五住愿伯进度。JTAG接口可对PSD芯片内部的所有部件进行编程。
在硬件结构上,JTAG接口包括两部分:JTAG端口和控制器。与JTAG接口兼容的器件可以是微处按蛋斯然威理器(MPU)、微控制器(MCU)、PLD、CPL、FPGA、ASIC或其它符合IEEE1149.1规范的芯片。IEEE1149.1标准中规定对应于数字集成电路芯片的每个引脚都设有一个移位寄存单元,称为边界扫描单元BSC。它将JTAG电路与内核逻辑电路联系起来,同时隔离内核逻辑电路和芯片引脚。由集成电路的所有边界扫描单元构成边界扫描寄存器BSR。边界扫描寄存器电路仅在进行JTAG测试时有效,在集成电路正常工作时无效,不影响集成电路的功能。
JTAG的一些说明
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。
一个含有JTAGDebug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。
上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。
例如下载程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要参照SOCDataSheet的寄存器说明,设置RAM的基地址,总线宽度,访问速度等等。有的SOC则还需要Remap,才能正常工作。运行Firmware时,这些设置由Firmware的初始化程序完成。但如果使用JTAG接口,相关的寄存器可能还处在上电值,甚至时错误值,RAM不能正常工作,所以下载必然要失败。要正常使用,先要想办法设置RAM。在ADW中,可以在Console窗口通过Let命令设置,在AXD中可以在Console窗口通过Set命令设置。