JTAG接口.doc

上传人:hw****26 文档编号:3551686 上传时间:2019-06-04 格式:DOC 页数:5 大小:42.50KB
下载 相关 举报
JTAG接口.doc_第1页
第1页 / 共5页
JTAG接口.doc_第2页
第2页 / 共5页
JTAG接口.doc_第3页
第3页 / 共5页
JTAG接口.doc_第4页
第4页 / 共5页
JTAG接口.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、JTAG 接口目录JTAG 接口基本信息JTAG 的一些说明JTAG 接口定义展开JTAG 接口基本信息JTAG 的一些说明JTAG 接口定义展开JTAG 接口1 JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容) ,主要用于芯片内部测试。现在多数的高级器件都支持 JTAG 协议,如DSP、FPGA 器件等。标准的 JTAG 接口是4线:TMS 、 TCK、TDI、TDO ,分别为模式选择、时钟、数据输入和数据输出线。JTAG 最初是用来对芯片进行测试的,JTAG 的基本原理是在器件内部定义一个 TAP(Test A

2、ccess Port;测试访问口)通过专用的 JTAG 测试工具对进行内部节点进行测试。JTAG 测试允许多个器件通过 JTAG 接口串联在一起,形成一个 JTAG 链, 能实现对各个器件分别测试。现在,JTAG 接口还常用于实现 ISP(In-System Programmable?在线编程) ,对 FLASH 等器件进行编程。JTAG 编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用 JTAG 编程,从而大大加快工程进度。JTAG 接口可对 PSD 芯片内部的所有部件进行编程 。具有 JTAG 口的芯片都有如下 JTAG 引

3、脚定义:TCK测试时钟输入;TDI测试数据输入,数据通过 TDI 输入 JTAG 口;TDO 测试数据输出,数据通过 TDO 从 JTAG 口输出;TMS测试模式选择,TMS 用来设置 JTAG 口处于某种特定的测试模式。可选引脚 TRST测试复位,输入引脚,低电平有效。含有 JTAG 口的芯片种类较多,如 CPU、DSP 、CPLD 等。JTAG 内部有一个状态机,称为 TAP 控制器。TAP 控制器的状态机通过 TCK 和 TMS进行状态的改变,实现数据和指令的输入。图1为 TAP 控制器的状态机框图。2 JTAG 芯片的边界扫描寄存器JTAG 标准定义了一个串行的移位寄存器。寄存器的每一

4、个单元分配给 IC 芯片的相应引脚,每一个独立的单元称为 BSC(Boundary-Scan Cell)边界扫描单元。这个串联的BSC 在 IC 内部构成 JTAG 回路,所有的 BSR(Boundary-Scan Register)边界扫描寄存器通过 JTAG 测试激活,平时这些引脚保持正常的 IC 功能。图 2为具有 JTAG 口的 IC 内部 BSR单元与引脚的关系。3 JTAG 在线写 Flash 的硬件电路设计和与 PC 的连接方式以含 JTAG 接口的 StrongARM SA1110为例,Flash 为 Intel 28F128J32 16MB 容量。SA1110的 JTAG 的

5、 TCK、TDI、TMS 、TDO 分别接 PC 并口的 2、3、4、11线上,通过程序将对 JTAG 口的控制指令和目标代码从 PC 的并口写入 JTAG 的 BSR 中。在设计 PCB 时,必须将 SA1110的数据线和地址线及控制线与 Flash 的地线线、数据线和控制线相连。因SA1110的数据线、地址线及控制线的引脚上都有其相应 BSC,只要用 JTAG 指令将数据、地址及控制信号送到其 BSC 中,就可通过 BSC 对应的引脚将信号送给 Flash,实现对Flash 的操作。JTAG 的系统板设计和连线关系如图3所示。4 通过使用 TAP 状态机的指令实行对 Flash 的操作通过

6、 TCK、TMS 的设置,可将 JTAG 设置为接收指令或数据状态。 JTAG 常用指令如下:SAMPLE/PRELOAD用此指令采样 BSC 内容或将数据写入 BSC 单元;EXTEST当执行此指令时,BSC 的内容通过引脚送到其连接的相应芯片的引脚,我们就是通过这种指令实现在线写 Flash 的;BYPASS此指令将一个一位寄存器轩于 BSC 的移位回路中,即仅有一个一位寄存器处于 TDI 和 TDO 之间。在 PCB 电路设计好后,即可用程序先将对 JTAG 的控制指令,通过 TDI 送入 JTAG控制器的指令寄存器中。再通过 TDI 将要写 Flash 的地址、数据及控制线信号入 BS

7、R 中,并将数据锁存到 BSC 中,用 EXTEST 指令通过 BSC 将写入 Flash。5 软件编程在线写 Flash 的程序用 Turbo C 编写。程序使用 PC 的并行口, 将程序通过含有JTAG 的芯片写入 Flash 芯片。程序先对 PC 的并口初始化,对 JTAG 口复位和测试,并读Flash,判断是否加锁。如加锁,必须先解 锁,方可进行操作。写 Flash 之前,必须对其先擦除。将 JTAG 芯片设置在 EXTEST 模式,通过 PC 的并口,将目标文件通过 JTAG 写入Flash, 并在烧写完成后进行校验。程序主流程如图 4所示。通过 JTAG 的读芯片 ID 子程序如下

8、:void id_command(void)putp(1,0,IP); /Run-Test/Idle;使 JTAG 复位putp(1,0,IP); /Run-Test/Idleputp(1,0,IP); /Run-Test/Idleputp(1,0,IP); /Run-Test/Idleputp(1,1,IP);putp(1,1,IP); /选择指令寄存器putp(1,0,IP); /捕获指令寄存器putp(1,0,IP); /移位指令寄存器putp(0,0,IP); /SA1110JTAG 口指令长度5位,IDCODE 为01100putp(1,0,IP);putp(1,0,IP);putp

9、(0,0,IP);putp(0,0,IP);putp(0,1,IP); /退出指令寄存器putp(1,1,IP); /更新指令寄存器,执行指令寄存器中的指令putp(1,0,IP); /Run-Test/Idleputp(1,0,IP); /Run-Test/Idleputp(1,0,IP); /Run-Test/Idleputp(1,1,IP);putp(1,0,IP);if(check_id(SA1110ID)error_out(“failed to read device ID for the SA-1110“);putp(1,1,IP); /退出数据寄存器putp(1,1,IP); /

10、更新数据寄存器putp(1,0,IP); /Run-Test/Idle,使 JTAG 复位putp(1,0,IP); /Run-Test/Idleputp(1,0,IP); /Run-Test/Idle6 电路设计和编程中的注意事项 Flash 芯片的 WE、CE、OE 等控制线必须与 SA1110的 BSR 相连。只有这样,才能通过 BSR 控制 Flash 的相应引脚。 JTAG 口与 PC 并口的连接线要尽量短,原则上不大于15cm。 Flash 在擦写和编程时所需的工作电流较大,在选用系统的供电芯片时,必须加以考虑。 为提高对 Flash 的编程速度,尽量使 TCK 不低于6MHz,可

11、编写烧写 Flash 程序时实现。基本信息JTAG(Joint Test Action Group)联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容) ,主要用于芯片内部测试。现在多数的高级器件都支持 JTAG 协议,如DSP、FPGA 器件等。标准的 JTAG 接口是4线:TMS 、 TCK、TDI、TDO ,分别为模式选择、时钟、数据输入和数据输出线。JTAG 最初是用来对芯片进行测试的,基本原理是在器件内部定义一个 TAP(Test Access Port?测试访问口)通过专用的 JTAG 测试工具对进行内部节点进行测试。JTAG 测试允许多个器件通过 JTAG 接口

12、串联在一起,形成一个 JTAG 链, 能实现对各个器件分别测试。现在,JTAG 接口还常用于实现 ISP(In-System Programmable?在线编程) ,对FLASH 等器件进行编程。JTAG 编程方式是在线编程,传统生产流程中先对芯片进行预编程实现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用 JTAG 编程,从而大大加快工程进度。JTAG 接口可对 PSD 芯片内部的所有部件进行编程JTAG 的一些说明通常所说的 JTAG 大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于 Debug;一般支持 JTAG 的 CPU 内都包含了这两个模块。一个含

13、有 JTAG Debug 接口模块的 CPU,只要时钟正常,就可以通过 JTAG 接口访问CPU 的内部 寄存器 和挂在 CPU 总线上的设备,如 FLASH,RAM,SOC (比如4510B,44Box,AT91M 系列)内置模块的寄存器,象 UART,Timers,GPIO 等等的寄存器。上面说的只是 JTAG 接口所具备的能力,要使用这些功能,还需要 软件的配合,具体实现的功能则由具体的软件决定。例如下载程序到 RAM 功能。了解 SOC 的都知道,要使用外接的 RAM,需要参照SOC DataSheet 的寄存器说明,设置 RAM 的基地址,总线宽度,访问速度等等。有的 SOC则还需要

14、 Remap,才能正常工作。运行 Firmware 时, 这些设置由 Firmware 的初始化程序完成。但如果使用 JTAG 接口,相关的寄存器可能还处在上电值,甚至是 错误值,RAM 不能正常工作,所以下载必然要失败。要正常使用,先要想办法设置 RAM。在 ADW 中,可以在 Console 窗口通过 Let 命令设置,在 AXD 中可以在 Console 窗口通过 Set 命令设置。JTAG 接口定义JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试, JTAG 技术是一种嵌入式调试技术,它

15、在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口) ,通过专用的 JTAG 测试工具对内部节点进行测试。目前大多数比较复杂的器件都支持 JTAG 协议,如 ARM 、 DSP 、 FPGA 器件等。标准的 JTAG 接口是 4 线: TMS 、 TCK 、 TDI 、 TDO ,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。 目前 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口,其定义分别如下所示。14针 JTAG 接口定义引脚名称描述1 、 13 VCC 接电源2 、 4 、 6 、 8 、 10 、 14 GND 接地

16、3 nTRST 测试系统复位信号5 TDI 测试数据串行输入7 TMS 测试模式选择9 TCK 测试时钟11 TDO 测试数据串行输出12 NC 未连接20针 JTAG 接口定义引脚名称描述1 VTref 目标板参考电压,接电源2 VCC 接电源3 nTRST 测试系统复位信号4、6、8、10、12、14、16、18、20 GND 接地5 TDI 测试数据串行输入7 TMS 测试模式选择9 TCK 测试时钟11 RTCK 测试时钟返回信号13 TDO 测试数据串行输出15 nRESET 目标系统复位信号17 、 19 NC 未连接10针 JTAG 接口定义引脚名称描述仿真器端口 AVR 端口 备注1. TCK TCK2. NC NC3. TDO TDO4. Vtref VCC5. TMS TMS6. nSRST RESET7. NC / Vsupply NC / VCC JTAG ICE 仿真器:VCC;JTAG ICE mkII 仿真器:NC8. nTRST NC ATMEL 善保留该端口,目前暂不使用它,未来可能会使用9. TDI TDI10.GND GND

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。