边界扫描(Boundary scan )是一项测试技术,是在传统的在线测试不在适应大规模,高集成电路测试的情况下而提出的,就是在IC设计的过程中在IC的内部逻辑和每个器件引脚间放置移位寄存器(shift register).每个移位寄存器叫做一个CELL。这些CELL准许你去控制和观察每个输入/输出引脚的状态。当这些CELL连在一起就形成了一个数据寄存器链(Data Register Chain),我们叫它边界寄存器(Boundary Register)。除了上面的移位寄存器外,在IC上还集成测试访问端口控制器 (TAP controller),指令寄存器(Instruction Register)对边界扫描的指令进行解码以便执行各种测试功能。旁路寄存器(bypass register)提供一个最短的测试通路。另外可能还会有IDCODE register和其它符合标准的用户特殊寄存器。


边界扫描器件典型特征及边界扫描测试信号的构成。
如果一个器件是边界扫描器件它一定有下面5个信号中的前四个:
1.TDI  (测试数据输入)
2.TDO (侧试数据输出)
3.TMS (测试模式选择输入)
4.TCK (测试时钟输入)
5.TRST (测试复位输入,Optional)
TMS,TCK,TRST构成了边界扫描测试端口控制器(TAP controller),它负责测试信号指令的输入,输出,指令解码等,TAP controller是一个16位的状态机,边界扫描测试的每个环节都由它来控制。
在后续的文章中还会向大家介绍边界扫描的其它方面。
边界扫描为开发人员缩短开发周期,并且提供良好的覆盖率和诊断信息。在不了解IC内部逻辑的情况下快速的开发出优秀的测试程序。在未来的测试领域,边界扫描将会得到广泛的应用。


边界扫描测试发展于上个世纪90年代,随着大规模集成电路的出现,印制电路板制造工艺向小,微,薄发展,传统的ICT 测试已经没有办法满足这类产品的测试要求。由于芯片的引脚多,元器件体积小,板的密度特别大,根本没有办法进行下探针测试。一种新的测试技术产生了,联合测试行为组织(Joint Test Action Group)简称JTAG 定义这种新的测试方法即边界扫描测试。

被国际电工委员会收录为IEEE1149.1-1990 边界扫描测试测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描测试所需要的硬件和软件。自从1990 年批准后,IEEE 分别于1993 年和1995 年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993 和IEEE1149.1b-1994。JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。

1990年JTAG正式由IEEE的1149.1-1990号文档标准化,在1994年,加入了补充文档对边界扫描描述语言(BSDL)进行了说明。从那时开始,这个标准被全球的电子企业广泛采用。边界扫描几乎成为了JTAG的同义词。

在设计印刷电路版时, 目前最主要用在测试集成电路的副区块,而且也提供一个在嵌入式系统很有用的除错机制,提供一个在系统中方便的"后门"。当使用一些除错工具像电路内模拟器用JTAG当做讯号传输的机制,使得程式设计师可以经由JTAG去读取整合在CPU上的除错模组。除错模组可以让程式设计师除错嵌入式系统中的软件 。边扫描测试是在20世纪80年代中期做为解决PCB物理访问问题的JTAG接口发展起来的,这样的问题是新的封装技术导致电路板装配日益拥挤所产生的。边界扫描在芯片级层次上嵌入测试电路,以形成全面的电路板级测试协议。利用边界扫描--自1990年以来的行业标准IEEE 1149.1--您甚至能够对最复杂的装配进行测试、调试和在系统设备编程,并且诊断出硬件问题。

通过提供对扫描链的IO的访问,可以消除或极大地减少对电路板上物理测试点的需要,这就会显著节约成本,因为电路板布局更简单、测试夹具更廉价、电路中的测试系统耗时更少、标准接口的使用增加、上市时间更快。除了可以进行电路板测试之外,边界扫描允许在PCB贴片之后,在电路板上对几乎所有类型的CPLD和闪存进行编程,无论尺寸或封装类型如何。在系统编程可通过降低设备处理、简化库存管理和在电路板生产线上集成编程步骤来节约成本并提高产量。

IEEE 1149.1标准规定了一个四线串行接口(第五条线是可选的),该接口称作测试访问端口(TAP),用于访问复杂的集成电路(IC),例如微处理器、DSP、ASIC和CPLD。除了TAP之外,混合IC也包含移位寄存器和状态机,以执行边界扫描功能。在TDI(测试数据输入)引线上输入到芯片中的数据存储在指令寄存器中或一个数据寄存器中。串行数据从TDO(测试数据输出)引线上离开芯片。边界扫描逻辑由TCK(测试时钟)上的信号计时,而且TMS(测试模式选择)信号驱动TAP控制器的状态。TRST(测试重置)是可选项。在PCB上可串行互连多个可兼容扫描功能的IC,形成一个或多个扫描链,每一个链都由其自己的TAP。每一个扫描链提供电气访问,从串行TAP接口到作为链的一部分的每一个IC上的每一个引线。在正常的操作过程中,IC执行其预定功能,就好像边界扫描电路不存在。但是,当为了进行测试或在系统编程而激活设备的扫描逻辑时,数据可以传送到IC中,并且使用串行接口从IC中读取出来。这样数据可以用来激活设备核心,将信号从设备引线发送到PCB上,读出PCB的输入引线并读出设备输出。

转载于:https://www.cnblogs.com/YINBin/p/10763138.html

边界扫描(boundary scan)相关推荐

  1. SOC——Boundary scan 模块(一)

    SOC--Boundary scan 模块(一) 去年写的私密博客,今天愚人节,来一波公开!!! 一.相关概念 DFT 介绍本文之前先介绍几个概念: SOC(片上系统): 一般采用ASIC来做SOC, ...

  2. JTAG and Boundary Scan(zz)

    [转] IEEE Standard 1149.1--Test Access Port and Boundary-Scan Architecture zz: http://blog.sina.com.c ...

  3. ict测试软件介绍,什么是ICT测试技术

    什么是ICT测试技术 电气测试使用的最基本仪器是在线测试仪(ICT),传统的在线测试仪测量时使用专门的针床与已焊接好的线路板上的元器件接触,并用数百毫伏电压和10毫安以内电流进行分立隔离测试,从而精确 ...

  4. JTAG(四) 边界扫描测试技术

    边界扫描测试技术 不属于 coresight架构, 边界扫描测试技术 被 coresight 架构中的 Debug部分 使用. 综述联合测试行动组(Joint Test Action Group,简称 ...

  5. 边界扫描和JTAG端口

    边界扫描:通过在ASIC的I/O引脚插入边界扫描单元(Boundary Scan cells),并在芯片周围将他们连接成移位寄存器,从而将扫描链路加入网表中. 两个多路选择器控制了单元的数据通路: 正 ...

  6. 边界扫描的测试原理及九大指令

    图一 图1 中"TAP Controller"其实质上是一个状态机,它根据不同的操作指令能产生16 个不同的状态,具体状态逻辑参考图2.从一个状态切换成另一个状态总是发生在TCK ...

  7. 边界扫描的测试原理及九大指令(zz)

    [转]边界扫描的测试原理及九大指令 zz: http://blog.sina.com.cn/s/blog_609c0f3e0101dk3t.html 标签: jtag 1149.1 分类: JTAG ...

  8. 边界扫描器件BSDL描述在测试中的应用

    1 引言 "边界扫描"是一种可测性设计技术,即在电子系统的设计阶段就考虑其测试问题[1]. BSDL(boundary scan des cription language) 语言 ...

  9. 全过程实现一个最简单的FPGA项目之PWM蜂鸣器控制

    目录 简单介绍: 设计思路 Verilog HDL硬件语言描述: 语言检测 引脚分配 综合 实现 器件配置 时间不饶人,我快速记录一下这个过程吧. 简单介绍: 蜂鸣器是一种最简单的发声元器件,它的应用 ...

最新文章

  1. 大厂首发!java代码对齐快捷键
  2. Linux下tmpfs介绍及使用
  3. 服务器虚拟主机划分,服务器划分虚拟主机教程
  4. Python 和 C/C++ 拓展程序的性能优化
  5. KPI tile在launchpad里正常显示number,但是进不了detail view
  6. Qt与FFmpeg联合开发指南(二)——解码(2):封装和界面设计
  7. 【抽象代数】因子分解与域的扩展
  8. IBM参与马鞍山模式创新 为中国医疗信息化立新示范
  9. GEE学习总结(2)——点矢量绘制与坐标系问题
  10. 巧用CSS居中未知高度的块元素
  11. 如何生成一个QRCode(二维码)
  12. 二元函数连续性知识点总结
  13. springboot 集成 log4j,log4j配置不同包不同日志输出级别(按包输出不同级别日志)
  14. 3dmax:3dmax中的快捷键集合大全(分门别类,建议收藏)
  15. SIP协议之代理服务器
  16. 云计算的定义和特点是什么?
  17. linux下载tkinter模块,Linux升级Python提示Tkinter模块找不到解决
  18. linux shell 操作二进制文件(xxd、dd)
  19. JavaScript 实现表格隔行变色
  20. ubuntu关机、重启、注销命令行指令

热门文章

  1. if语句的三种形式及嵌套
  2. Source Insight 4.0的 序列号 license文件
  3. Nacos - 配置管理中心(阿里开源)
  4. 帆软 - ²平方号,€欧元符号 显示乱码
  5. 7-19 支票面额 (15分) C++
  6. 强势动词弱势动词_为弱势人群设计的五个规则
  7. 你需要知道这些关于技术美术的知识构成
  8. 安卓10自带录屏_谷歌终于在Android 11版里原生支持屏幕录像功能(即录屏)和长截图功能...
  9. stm32——“通用定时器基本原理”
  10. 麒麟子Javascript游戏编程零基础教程五:Javascript中的变量