JTAG信号完整性测试,JTAG电源完整性测试,JTAG时钟测试
嵌入式开发中,大家免不了需要仿真调试代码,尤其是当应用工程功能逻辑复杂到一定程度时,免不了在写代码时会引入一些逻辑 bug,仅靠代码审查有时候并不一定能排除所有 bug,所以在线调试便成为排除 bug 有效直接的方式,今天我们要聊的是调试里基础的东西,即接口标准。ARM 内核原生支持 2 种业界通用的接口标准,分别是 JTAG 和 SWD。本节课痞子衡先给大家详细讲讲 JTAG 接口。
一、JTAG 接口标准
JTAG 全称“Joint Test Action Group”,既是个标准也是个组织,这是个由几家主要的电子制造商(IBM、AT&T、TI、Philips 等)成立于 1985 年的组织,这个组织成立的目的是发起制订一种 PCB和芯片测试标准。
JTAG 标准于 1990 年被 IEEE 批准为 IEEE1149.1 测试访问端口和边界扫描结构标准。JTAG 标准规定了进行边界扫描所需要的硬件和软件,主要应用于电路的边界扫描测试和可编程芯片的在线系统编程。
1.1 IEEE 1149.1 标准
IEEE 1149.1 工作组 http://grouper.ieee.org/groups/1149/1/
初版手册 1149.1-1990 http://standards.ieee.org/findstds/standard/1149.1-1990.html
版手册 1149.1-2013 http://standards.ieee.org/findstds/standard/1149.1-2013.html
1.2 JTAG 接口信号
JTAG 接口,总称测试访问接口 TAP(Test Access Port),使用如下信号来实现边界扫描操作:
TCK(测试时钟):同步内部状态机操作的时钟信号。
TMS(测试模式选择):控制内部状态机转换的模式信号(TCK 上升沿采样)。
TDI(测试数据输入):移入器件测试或编程逻辑的数据(TCK 上升沿采样)。
TDO(测试数据输出):移出器件测试或编程逻辑的数据(TCK 下降沿采样)。
除了以上信号线外,还有 1 个可选的信号:
TRST(测试重置):重置 TAP 控制器的状态机的复位信号。
1.3 JTAG 系统内部构造
JTAG 系统内部基本的单元是边界扫描单元(其扫描获取的值存在边界扫描寄存器 BSR(Boundary Scan Register)中),每个边界扫描单元都位于目标器件的边界上,所以很多时候 JTAG 测试也被称为边界扫描。
所有目标器件核心逻辑与针脚之间的信号都会被串联的边界扫描单元所拦截。正常运行时,这些边界扫描单元是不可见的。但是,在测试模式下这些单元可以被用来设置 / 读取目标器件针脚或核心逻辑的值。