XJTAG边界扫描
文章目录
前言
自集成电路诞生的那一天起,它的集成度就一直走着一条越来越高。从1971年inter发布的仅包含2000多个晶体管到现在12代的10nm芯片有1.008亿个晶体管。对应的集成电路封装类型,从早期的DIP(直插式芯片)到现在BGA封装,封装尺寸越来越小,同时BGA封装的引脚都是集成在电路板的底部,导致传统的测试技术很难进行测试,所以需要寻找新的一种测试方案去测试电路板。
一、常见的测试技术
1.针床测试 / 自动在线测试 (ICT)
ICT测试是能够对在线元器件的电性能及电气连接进行测试来检查生产制造缺陷及元器件不良的一种标准测试设备。能够检测短路,开路,电阻的值超标等等。
优点:
- 操作简单,测试速度快,故障定位准确
- 能模拟器件功能测试
缺点:
- 无法测试BGA封装
- 不能测试小口距的芯片
- 不同的电路板需要专用的针床
- 测试结果只有间的的pass / fail
2.飞针测试(FPT)
飞针测试机可检查短路、开路和元件值。在飞针测试上也使用了一个相机来帮助查找丢失元件。用相机来检查方向明确的元件形状,如极性电容。随着探针定位精度和可重复性达到5-15微米的范围,飞针测试机可精密地探测UUT。
优点:
- 快速测试开发
- 较低成本测试方法
- 快速转换的灵活性
缺点:
- 无法测试BGA封装
- 不能测试小口距的芯片
- 测试时间长。
- 测试结果只有间的的pass / fail
百度百科:https://baike.baidu.com/item/%E9%A3%9E%E9%92%88%E6%B5%8B%E8%AF%95/2367025?fr=aladdin
二、XJTAG边界扫描
1.什么是JTAG?
JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。
2.边界扫描的原理
下图是启动JTAG设备的示意图
1,边界扫描的核心是边界扫描单元,附加在芯片核心逻辑和芯片引脚之间,来进行对引脚状态的读取和设定,通过各个边界扫描单元,在芯片内部形成一条串行链,测试数据和测试指令都通过边界扫描链进行输入输出,完成整个边界扫描测试的过程。用边界扫描单元来替代访问,可以极大减少对板卡的物理访问。
2,边界扫描有两种模式
正常模式:当系统在正常工作时期,数据的输入输出是完全不受边界扫描单元影响的,可以把其当作透明。
测试模式:当系统在测试模式下,边界扫描单元就置于芯片与引脚间,用于对引脚状态的读取和设定。
3.边界扫描的物理基础
(1) 接口信息
标准的JTAG接口一般是4/5pin
TDI:数据输入总线
TDO:数据输出总线
TCK:时钟选择线
TMS:模式选择线
nTRST(可选项):可以重置TAP控制器状态机
(2) 寄存器
一个JTAG设备是有一个指令寄存器和两个以上的数据寄存器。
指令寄存器:存有当前的工作指令。寄存器的内容是由TAP控制器来决定如何利用当前的数据。
数据寄存器:有三个主要的数据寄存器,边界扫描寄存器(BSR),旁路寄存器和识别码寄存器。
- BSR:这是主要测试的数据寄存器。用于把数据从引脚处移出和移入。
- BYPASS:这是一个把信息从TDI传到TDO的单位寄存器。
- IDCODES:含有器件的识别码和版本序号。
TAP控制器作为一个被TMS信号控制转换的状态机,控制着JTAG系统的行为,总共有16个状态。
当一个板子有多个JTAG设备时,可以根据下图的方式串成JTAG链。
三、使用边界扫描的步骤
1.准备测试板卡的边界扫描结构信息。
BSDL(Boundary Scan Description Language):用于描述JTAG设备的文件,包含对应的引脚关系,寄存器信息等等。
网表:电路板的网络文件,包含网络节点对应的元件和引脚编号,名称,数值等等。
原理图:用于测试的故障诊断。
2.测试的执行
将待测的板卡通过JTAG接口与具有边界扫描的工具进行连接,然后在软件上进行测试。上位机可能是window,labveiw。
3.测试结果的分析以及故障诊断
有详细的结果分析,测试覆盖率,检测到错误会表明故障的类型,比如开路/短路,粘连等等,数据如何出错。
故障诊断:对系统电路的故障进行定位,引脚级别。故障可以分为元器件功能测试诊断,连接性测试诊断,扫描链完整性诊断等等。
总结
因为JTAG边界扫描是最近几年才开始被使用的,所以相对于传统的测试方法还是使用率不太高。一般都是使用JTAG测试与ICT测试结合使用,一方面能减少ICT对板卡的物理访问,也能提供测试覆盖率,剔除重复测试的模块,减少测试时间等等。