0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

边界扫描测试应用与九大指令

倩倩 来源:网络整理 2018-03-03 14:26 次阅读

在现代电子应用系统中 ,印刷电路板越来越复杂多层板的设计越来越普遍,大量使用各种表贴元件和B GA (ball grid array) 封装元件,元器件的管脚数和管脚密度不断提高,使用万用表示波器测试芯片的传统“探针”方法已不能满足要求。在这种背景下,早在 20 世纪 80 年代,联合测试行动组(joint testaction group,简称 J TA G) 起草了边界扫描测试( boundary2scan testing ,简 写 BST) 规 范,后 来 在1990 年被批准为 IEEE 标准 1149. 121990 规定,简称JTAG标准。该标准规定了进行边界扫描测试所需要的硬件和软件。自从1990 年批准后,IEEE 分别于1993 年和1995 年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993 和IEEE1149.1b-1994。JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。

边界扫描测试有两大优点 :一个是方便芯片的故障定位,迅速准确地测试两个芯片管脚的连接是否可靠,提高测试检验效率;另一个是,具有 JTAG接口的芯片,内置一些预先定义好的功能模式,通过边界扫描通道来使芯片处于某个特定的功能模式,以提高系统控制的灵活性和方便系统设计。

现在,所有复杂的 IC 芯片几乎都具有JTAG控制接口,JTAG控制逻辑简单方便,易于实现。

边界扫描测试应用与九大指令

边界扫描技术的应用

对于需要进行IC元件测试的设计人员来说,只要根据TA P控制器的状态机,设计特定的控制逻辑,就可以进行IC元件的边界扫描测试或利用JTA G接口使IC元件处于某个特定的功能模式。

Inter的PC I to PC I桥片21154,BGA封装,共304个管脚,具有符合IEEE 114911标准的JTA G控制引脚。在设计的一个CompactPC I系统中,需要利用JTA G控制使其进入一种高阻模式(H IGHZ模式,这是IEEE 114911推荐的任选模式之一)。在这种模式下。芯片的所有输出管脚都处于无效态即高阻态。要使21154进入H IGHZ,必须将位码00101写入指令寄存器,这时,边界测试数据寄存器选择的是旁通寄存器。

21154 的 JTA G 控制步骤

21154正常工作时,TM S持续为高电平或TRST=0。

控制21154进入JTA G H IGHZ状态需要经过以下6个步骤:

(1)TRST=1。

(2)进入SH IFT IR状态:在连续5个TCK(上升沿),使TM 3=01100,则进入SH IFT_IR状态。

(3)将指令码写入指令寄存器:在SH IFT_IR状态,通过TD I将00101写入指令寄存器,需要5个时钟周期。

(4)进入EX IT l IR状态:在SH IFT_IR状态的第5个TCK的上升沿(最后一个指令码),使TM S=1,则进入EX IT l IR状态。

(5)进入U pdate IR状态:进入EX IT l IR状态后,再使TM S=1,则进入U pdate IR状态。

(6)进入Run TestöIdle状态:进入U pdate IR状态后,再使TM S=0,则进入Run TestöIdle状态,此时,21154进入H IGHZ状态。

21154的JTA G控制V erilog HDL代码

说明:BeginJTA G_1是控制21154进入H IGHZ的触发信号。低电平有效。

A lw ays

@ (BeginJTA G_ 1, Clk)

Begin

T rst 《 = ′0′

Jtag_ stste《 = s0;

Case (Jtag_ stste)

s0:

if (BeginJTA G_ 1= ′0′)

Begin

T rst《 = ′1′;

Tm s《 = ′0′;

Jtag_ stste《 = s1;

end

else begin

Jtag_ stste《 = s0;

end

s1:

Tm s《 = ′0′;

T id《 = ′0′;

Jtag_ stste《 = s2;

s2:

Tm s《 = ′1′;

T id《 = ′0′;

Jtag_ stste《 = s3;

s3:

Tm s《 = ′1′;

T id《 = ′0′;

Jtag_ stste《 = s4;

s4:

Tm s《 = ′0′;

T id《 = ′0′;

Jtag_ stste《 = s5;

s5:

Tm s《 = ′0′;

T id《 = ′0′;

Jtag_ stste《 = s6;

s6:

Tm s《 = ′0′;

T id《 = ′0′;

Jtag_ stste《 = s7;

s7:

Tm s《 = ′0′;

T id《 = ′0′;

Jtag_ stste《 = s8;

s8:

Tm s《 = ′0′;

T id《 = ′1′;

Jtag_ stste《 = s9;

s9:

Tm s《 = ′0′;

T id《 = ′0′;

Jtag_ stste《 = s10;

s10:

Tm s《 = ′1′;

T id《 = ′1′;

Jtag_ stste《 = s11;

s11:

Tm s《 = ′0′;

T id《 = ′0′;

Jtag_ stste《 = s12;

s12:

Tm s《 = ′0′;

T id《 = ′0′;

O thers:

end case

End

上述代码,经过编译、仿真,得到图7所示JTA G控制时序波形。在设计的系统中,将上述V erilog HDL代码经过编译后生成目标文件,写入A ltera公司的可编程逻辑芯片EPM 7128SLC84_7(在此芯片内还有其他逻辑),当BeginJTA G_1=0时,实现了控制21154进入JTA G高阻状态。

边界扫描九大指令

边界扫描测试应用与九大指令

Extest指令--强制指令

用于芯片外部测试,如互连测试

测试模式下的输出管脚,由BSC update锁存驱动(BSC注释:寄存器的每一个单元分配给IC芯片的相应引脚,每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元。)

BSC scan锁存捕获的输入数据

移位操作,可以从TDI输入测试激励,并从TDO观察测试响应。

在移位操作后,新的测试激励存储到BSC的update锁存

原先EXTEST指令时强制为全“0”的,在IEEE 1149.1--2001中,这条强制取消了。选择EXTEST指令时,IC工作在边界扫描外部测试模式(external boundary-test mode),也就是说对IC的操作影响芯片的正常工作。选择边界扫描寄存器连通TDI和TDO。在这种指令下,可以通过边界扫描输出单元来驱动测试信号至其他边界扫描芯片,以及通过边界扫描输入单元来从其他边界扫描芯片接收测试信号。EXTEST指令是IEEE 1149.1标准的核心所在,在边界扫描测试中的互连测试(interconnect test)就是基于这个指令的。

(该指令初始化外部电路测试,主要用于板级互连以及片外电路测试。EXTEST指令在Shift-DR状态时将扫描寄存器BSR寄存器连接到TDI与TDO之间。在Capture-DR状态时,EXTEST指令将输入管脚的状态在TCK的上升沿装入BSR中。EXTEST指令从不使用移入BSR中的输入锁存器中的数据,而是直接从管脚上捕获数据。在Update-DR状态时,EXTEST指令将锁存在并行输出寄存器单元中的数据在TCK的下降沿驱动到对应的输出管脚上去。)

边界扫描测试应用与九大指令

Sample/Preload指令--强制指令

在进入测试模式前对BSC进行预装载

输入输出管脚可正常操作

输入管脚数据和内核输出数据装载到BSC的scan锁存中。

移位操作,可以从TDI输入测试激励,并从TDO观察测试响应。

在移位操作后,新的测试激励存储到BSC的update锁存。

原先这两个指令是合在一起的,在IEEE 1149.1--2001中这两个指令分开了,分成一个SAMPLE指令,一个PRELOAD指令。选择SAMPLE/PRELOAD指令时,IC工作在正常工作模式,也就是说对IC的操作不影响IC的正常工作。选择边界扫描寄存器连通TDI和TDO。 SAMPLE指令---通过数据扫描操作(Data Scan)来访问边界扫描寄存器,以及对进入和离开IC的数据进行采样。PRELOAD指令---在进入EXTEST指令之前对边界扫描寄存器进行数据加载。

(在Capture-DR状态下,SAMPLE/PRELOAD指令提供一个从管脚到片上系统逻辑的数据流快照,快照在TCK上升沿提取。在Update-DR状态时,SAMPLE/PRELOAD指令将BSR寄存器单元中的数据锁存到并行输出寄存器单元中,然后由EXTEST指令将锁存在并行输出寄存器单元中的数据在TCK的下降沿驱动到对应的输出管脚上去。)

边界扫描测试应用与九大指令

Bypass指令--强制指令

提供穿透芯片的最短通路。

输入输出管脚可正常操作

选择一位的旁路(Bypass)寄存器

强制全为1和未定义的指令为Bypass指令 BYPASS指令为全“1”。选择BYPASS指令时,IC工作在正常工作模式,选择一位的BYPASS寄存器连通TDI和TDO,数据的通过不影响IC的正常工作。

(BYPASS指令通过在TDI和TDO之间放置一个1位的旁通寄存器,这样移位操作时只经过1位的旁通寄存器而不是很多位(与管脚数量相当)的边界扫描寄存器BSR,从而使得对连接在同一JTAG链上主CPU之外的其他芯片进行测试时提高效率。)

边界扫描测试应用与九大指令

INTEST指令 ---可选指令

选择INTEST指令时,IC工作在边界扫描内部测试模式(internal boundary-test mode),选择边界扫描寄存器连通TDI和TDO。在这种指令下,可以通过边界扫描输出单元来驱动测试信号至其内部逻辑,以及通过边界扫描输入单元来从 其内部逻辑接受测试信号。

边界扫描测试应用与九大指令

RUNBIST指令 ---可选指令

选择RUNBIST指令时,IC工作在自测试模式(self-test mode),对IC的内部逻辑进行全面的自测试,通过选择用户自定义的数据寄存器连通TDI和TDO。在这种指令下,边界扫描单元的输出被内部逻辑控制了,所以外部信号不能干扰其相邻IC。

IDCODE指令 ---可选指令

选择IDCODE指令时,IC工作在正常工作模式,选择数据识别寄存器(data identification register)连通TDI和TDO。数据识别寄存器是一个32位的寄存器,内容包括IC的生产厂商,芯片类型,版本等。访问数据识别寄存器不会影响 IC的正常工作。由于IDCODE指令是可选的,不是每个芯片都有的,所以当对一个边界扫描链(scan chain)执行IDCODE指令来输出所有IDCODE时,有IDCODE指令的芯片就选择IDCODE寄存器,输出输出IDCODE,没有 IDCODE指令的芯片会自动选择BYPASS寄存器,输出一个“0”。

(读取CPU ID号指令。在设计中存在device identification register时,TAP强制定义。该指令将处理器的ID号寄存器连接到TDI和TDO之间。)

USERCODE指令 ---可选指令

选择USERCODE指令时,IC工作在正常工作模式,选择用户自定义数据寄存器(user defined test data register)连通TDI和TDO。USERCODE指令一般是在进行芯片内部测试时用的。

CLAMP指令 ---可选指令

CLAMP指令使IC的输出置于由边界扫描寄存器的当前内容决定的逻辑电平上,选择BYPASS寄存器连通 TDI和TDO。在加载这个指令之前,边界扫描寄存器的内容可以由SAMPLE/PRELOAD指令来预置。在CLAMP指令下,数据通过BYPASS寄 存器从TDI传递至TDO,不会影响此IC的输出。

HIGHZ指令 ---可选指令

HIGHZ指令使IC的所有输出置于高阻状态,选择BYPASS寄存器连通TDI和TDO。在HIGHZ指令下,数据通过BYPASS寄存器从TDI传递至TDO,不会影响此IC的输出。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 边界扫描
    +关注

    关注

    1

    文章

    32

    浏览量

    15016
收藏 人收藏

    评论

    相关推荐

    什么是边界扫描?JTAG边界扫描测试方案介绍

    提到边界扫描,就不得不提JTAG,因为边界扫描是JTAG接口的功能之一。
    发表于 09-22 14:12 4102次阅读
    什么是<b class='flag-5'>边界</b><b class='flag-5'>扫描</b>?JTAG<b class='flag-5'>边界</b><b class='flag-5'>扫描</b><b class='flag-5'>测试</b>方案介绍

    边界扫描测试

    请教:我在使用c6678开发板,想使用边界扫描测试的功能,不知道除了开发板硬件之外,是不是还需要其他硬件和软件的配合?
    发表于 06-19 07:36

    基于边界扫描的电路板快速测试系统设计

    ,按时钟产生边界扫描控制时序及测试向量。芯片内部 按功能分应包含通信接口、指令寄存器、数据寄存器、TAP 控制器、信号采集模块、信号发 生模块和分频模块。结构框图如图2 所示。  从计
    发表于 09-10 16:28

    一种新的PCB测试技术:边界扫描测试技术

    。现在一种新的测试技术——边界扫描测试技术已逐步得到发展,大多数的ASIC电路和许多中等规模的设备已开始利用边界
    发表于 09-10 16:50

    边界扫描测试技术介绍

    边界扫描测试技术 不属于 coresight架构,边界扫描测试技术 被 coresight 架构
    发表于 02-17 07:33

    边界扫描测试技术在硬件实验中的应用

    本文提出将广泛用于测试领域的边界扫描技术应用在基于FPGA的计算机硬件实验课程中,利用边界扫描技术解决FPGA的配置和
    发表于 08-18 10:10 17次下载

    基于广义特征分析与边界扫描技术的混合信号测试系统

    分析了用于模数混合电路的边界扫描测试技术的工作机制对测试主控系统的功能需求,提出了一种基于微机的符合IEEE1149.4标准的混合信号边界
    发表于 11-19 15:04 21次下载

    边界扫描与电路板测试技术

    摘 要: 本文论述了边界扫描技术的基本原理和边界扫描在电路板测试及在FPGA、DSP器件中的应用。介绍了为提高电路板的可
    发表于 03-11 13:45 1751次阅读
    <b class='flag-5'>边界</b><b class='flag-5'>扫描</b>与电路板<b class='flag-5'>测试</b>技术

    基于USB总线的边界扫描测试系统

    分析了 边界扫描 测试技术的工作机制对测试主控系统的功能需求, 提出了一种基于 USB总线 的低成本边界
    发表于 07-04 15:18 25次下载
    基于USB总线的<b class='flag-5'>边界</b><b class='flag-5'>扫描</b><b class='flag-5'>测试</b>系统

    基于边界扫描技术的板级测试分析

    随着支持IEEE1149.1标准的边界扫描芯片的广泛应用,传统的电路板测试方法如使用万用表、示波器探针,已不能满足板级测试的需求,相反一种基于板级
    发表于 05-30 15:06 45次下载
    基于<b class='flag-5'>边界</b><b class='flag-5'>扫描</b>技术的板级<b class='flag-5'>测试</b>分析

    边界扫描测试的原理及应用设计

    边界扫描测试的原理及应用设计,有需要的下来看看。
    发表于 02-16 18:25 25次下载

    简述BSDL边界扫描语言,BSDL边界扫描语言的应用

    BSDL边界扫描语言的边界扫描是一个完善的测试技术。 边界
    发表于 04-19 14:49 8662次阅读
    简述BSDL<b class='flag-5'>边界</b><b class='flag-5'>扫描</b>语言,BSDL<b class='flag-5'>边界</b><b class='flag-5'>扫描</b>语言的应用

    边界扫描测试的基本原理及其测试系统的设计

    随着超大规模集成电路(VLSI)、表面安装器件(SMD)、多层印制电路板(MPCB)等技术的发展,电路板的常规测试方式面临挑战。介绍了边界扫描技术及边界
    发表于 12-01 10:50 19次下载
    <b class='flag-5'>边界</b><b class='flag-5'>扫描</b><b class='flag-5'>测试</b>的基本原理及其<b class='flag-5'>测试</b>系统的设计

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

    边界扫描测试技术 不属于 coresight架构,边界扫描测试技术 被 coresight 架构
    发表于 12-20 19:47 20次下载
    JTAG(四) <b class='flag-5'>边界</b><b class='flag-5'>扫描</b><b class='flag-5'>测试</b>技术

    边界扫描测试软件XJTAG和TopJTAG介绍

    前面两篇文章介绍了边界扫描的基本原理和BSDL文件,本文文章介绍边界扫描测试实际使用的两款软件工具,在后面的实战应用部分,会演示基于STM3
    的头像 发表于 09-11 14:34 2877次阅读
    <b class='flag-5'>边界</b><b class='flag-5'>扫描</b><b class='flag-5'>测试</b>软件XJTAG和TopJTAG介绍