一种嵌入式系统实现的JTAG调试器
JTAG 作为一个通用的标准器件功能测试接口, 具有灵活高效、易于实现等优点, 是微控制器、微处理器、DSP、SoC 等器件的重要外部接口。它不但可以用来测试内部功能模块状态, 而且可以实现在线调试(ICE)功能。ARM系列处理器正是通过JTAG 接口使用内部集成的ICE 功能, 并采用这种方式实现在线调试。此外CPLD、FPGA 等器件大多都可以使用JTAG 接口实现在线编程或下载。因此,JTAG 接口已经成为复杂芯片系统的必备接口, 在芯片测试、调试及实现其他特殊功能方面发挥着重要作用。
基本原理
JTAG 标准即IEEE 1149.1 标准。联合测试行动组JTAG(Joint Test Action Group ) 起草了边界扫描测试BST(Boundary Scan Testing)规范, 该标准为数字集成电路规定了一个测试访问口(TAP) 和边界扫描结构,解决了由于数字电路高度集成化带来的一些测试难题。它还提供了一种访问和控制芯片内部仿真(ICE) 模块的方法, ICE 模块一般包括内部扫描和自测试的功能, 可以很好地支持集成电路的开发。
JTAG 标准工作原理
边界扫描技术的基本思想是在靠近芯片的输入输出管脚增加一个移位寄存器单元。通过这些边界扫描寄存器单元, 可以实现对芯片输入输出信号的观察和控制。另外, 靠近芯片输入输出管脚的边界扫描(移位) 寄存器单元可以相互连接起来, 在芯片的周围形成一个边界扫描链(Boundary- Scan Chain) 。一般的芯片都会提供几条独立的边界扫描链, 用来实现完整的测试功能。
在JTAG标准中, 寄存器被分为两大类: 数据寄存器(DR- Data Register)和指令寄存器(IR- Instruction Register),边界扫描链寄存器即为一种很重要的数据寄存器, 边界扫描链可用来观察和控制芯片的输入输出。指令寄存器用来实现对数据寄存器的控制。TAP 是一个通用的端口, 通过TAP 可以访问芯片提供的所有数据寄存器和指令寄存器, 对整个TAP的控制是通过TAP控制器完成的。TAP包括5个信号接口: (1)TCK(Test Clock), 为TAP操作提供了一个独立的基本的时钟信号。(2)TMS(Test-Mode Selector) , 用来控制TAP状态机的转换。(3)TDI(TestData Input), 是JTAG指令和数据的串行输入端。在TCK的上升沿被采样, 结果送到JTAG寄存器中。(4)TDO(Test Data Output), 是JTAG指令和数据的串行输出端。在TCK的下降沿被输出到TDO。(5)TRST, 是JTAG电路的复位输入信号, 低电平有效。
通过TAP控制器的状态转移即可实现对数据寄存器和指令寄存器的访问, 从而实现对JTAG测试电路的控制。TAP控制器共有16 种状态, 如图1 所示。通过测试模式选择TMS 和时钟TCK可控制状态的转移。
指令寄存器允许特定的指令被装载到指令寄存器当中, 用来选择需要执行的测试, 或者选择需要访问的测试数据寄存器。每个支持JTAG调试的芯片必须包含一个指令寄存器。JTAG标准要求芯片支持的基本指令有:EXTEST、INTEST、SAMPLE/PRELOAD、BYPASS、HIGHZ等。
相关文章
- 2022-09-21基于柔性铰链机构的谐振式微加速度计设计制作
- 2022-09-11硫醇硫自动测定仪的校准方法
- 2021-12-19TM卡信息纽扣在预付费水表中的应用
- 2022-01-14探析电力安全事故案例培训的作用
- 2023-03-30工业铝型材库的开发和在SolidWorks中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。