全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

基于边界扫描技术的数字系统测试研究

[复制链接]
1105 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
介绍了支持JTAG标准的IC芯片结构、边界扫描测试原理以及利用边界扫描技术控制IC芯片处于特定功能模式的方法。
          针对IC芯片某种特定的功能模式给出了设计思路和方法,并用两块xc9572 pc84芯片互连的PCB板为例进行设计分析和实验实现。通过实验实现,体现了边界扫描技术易于电路系统调试和方便系统设计的特点,且设计的系统控制逻辑简单方便,易于实现。
  
  当今,微电子技术已经进入超大规模集成电路(VLSI)时代。随着芯片电路的小型化及表面封装技术(SMT)和电路板组装技术的发展,使得传统测试技术面临着巨大的挑战。在这种情况下,为了提高电路和系统的可测试性,联合测试行动小组(JTAG)于1987年提出了一种新的电路板测试方法——边界扫描测试,并于1990年被IEEE接纳,形成了IEEE1149.1标准,也称为JTAG标准[1]。这种技术以全新的“虚拟探针”代替传统的“物理探针”来提高电路和系统的可测性。由于 JTAG标准的通用性很好, 现在许多IC公司都提供了支持边界扫描机制的IC芯片,甚至部分FPGACPLD芯片也采用了这一技术。
  
          本文介绍支持JTAG标准的IC芯片结构,并以Xilinx公司的两块xc9572_ pc84芯片为例,探讨并利用边界扫描技术控制IC芯片处于某种特定功能模式的方法,并且针对IC芯片某种特定的功能模式设计该芯片的JTAG控制器。

          1 支持JTAG标准的IC芯片结构
  
          边界扫描技术的核心就是在IC芯片的输入输出引脚与内核电路之间设置边界扫描结构。JTAG 标准定义了一个4-wire串行总线[2],通过这四条测试线访问边界扫描单元,可以达到测试芯片内核与外围电路的目的。图1示出了支持JTAG标准的IC芯片结构。图中,扫描结构由测试存取通道(TAP)、边界扫描寄存器(BSR)、TAP控制器、指令寄存器(IR)和辅助寄存器等组成。

          1.1 TAP
  
          TAP是由4-wire串行测试线组成的测试存取通道,JTAG标准定义的所有操作都由这四条测试线来控制。这四条测试线分别是:测试时钟输入线(TCK),测试方式选择输入线(TMS),测试数据输入线(TDI),测试数据输出线(TDO)。
   080417174537070201106081929509951.gif
  
        1.2 TAP控制器
  
          TAP控制器是边界扫描测试的核心控制器,具有一个16状态的有限状态机。它与TCK信号同步工作,并响应TMS信号。在TCK信号和TMS信号的控制下, TAP控制器可以选择使用指令寄存器扫描还是数据寄存器扫描,以及选择用于控制边界扫描测试的各个状态。图2描述了TAP控制器的状态转换全过程[3]。
  
          无论当前状态如何, 只要TMS保持5个TCK 时钟为高电平, TAP控制器都会回到Test_Logic_Reset状态, 使测试电路不影响IC芯片本身的正常逻辑。需要测试时,TAP控制器跳出该状态, 选择数据寄存器扫描(Select_DR_Scan)或选择指令寄存器扫描(Select_IR_Scan)进入图2的各个状态。一个标准的测试过程如下:TAP控制器在Capture_IR状态捕获指令信息, 经过Shift_IR状态移入新指令,新指令经过Update_IR状态成为当前指令;紧接着,当前指令在Select_DR_Scan状态选择相应的测试数据寄存器, 在Capture_DR状态捕获前一测试向量的响应向量,在Shift_DR状态移出该响应向量,同时移入下一测试向量,在Update_DR状态将新的测试量并行加载到相应的串行数据通道,直到移入最后一个测试向量为止。其中,Pause_DR状态和Pause_IR状态暂停数据移位状态;而四个Exit状态是不稳定状态,它们为状态转换提供灵活性。
  
   
  
       1.3 BSR
  
        BSR是边界扫描技术的核心,它构成边界扫描链,其中的每一个边界扫描单元(BSC)都是由触发器Q、多路选择开关mux组成。图3示出了JTAP标准中BC_ 1 类型的BSC的结构[3]。
  
         在图3中,SI为BSC的串行输入端,连接上一个器件(BSC)的串行输出端SO,依次相连便构成边界扫描链。该扫描链的首端接TDI引脚,末端接TDO引脚。当MODE为0时,芯片工作在正常模式下。当芯片工作在测试模式时,测试数据在移位信号(SHIFT=1)的控制下,通过SI 端进入到多路选择器1(MUX1)中,通过SO端进入下一个BSC的SI端;当芯片工作在捕获方式时(SHIFT=0),触发器Q1将捕获BSR并行输入端(DI)的数据,送入SO端,在扫描链中传递捕获的数据,并在TDO回收数据,以此来检测故障的存在并且定位故障所在的位置。当MODE为1时,芯片工作在更新方式下,Q1中的数据在更新信号(UPDATE)的作用下,进入到多路选择器2(MUX2)中,通过BSR的并行输出端(DO)进入芯片的内核中。

        1.4 IR
  
          IR是向各个数据寄存器发出各种操作码并确定其工作方式的指令寄存器,图4示出了一种IR单元的结构[4]。由图4可以看出,IR单元是由一个触发器Q1和一个锁存器Q2构成的。CAPTURE DATE信号控制IR装载指令,SHIRFT IR信号控制指令在IR中的移位;CLK IR信号是从TCK获得的时钟信号,用于为BSR的捕获操作、移位操作提供时钟信号。UPDATE IR信号用于将当前指令装入锁存器Q2,以决定将要执行的操作模式和将要用到的测试数据寄存器的类别。
  
  
        1.5 辅助寄存器
  
          辅助寄存器包括器件标志寄存器和旁路寄存器,器件标志寄存器用于存储器件制造商、器件序列号和器件版本号等信息,借助它可以辨别板上器件的制造商, 还可以通过它检测是否已将正确的器件安装在电路板的正确位置上。旁路寄存器用于将边界扫描单元直接旁路,把扫描数据直接传递给下一个扫描器件。

         2 基于边界扫描技术的数字系统测试
  
          基于边界扫描技术的数字系统测试包括两个方面,一是对IC芯片电路功能测试及系统互连测试;二是利用边界扫描技术控制IC芯片处于某种特定的功能模式,以方便电路系统的设计和调试。本文主要论述后者。

         2.1 测试系统组成
  
         测试系统由主机(PC机)、测试仪和PCB实验板组成,测试仪通过标准口(RS232)与PC机连接,通过串行标准信号电缆与PCB板上的测试存取通道相连,如图5所示。
  
         PCB板由Xilinx公司的两块xc9572 pc84芯片互连组成,芯片符合IEEE1149.1的JTAG接口标准,具有84个外部引脚、4个JTAG引脚、5个VCC引脚、6个VSS引脚、69个双向数据输入/输出引脚,xc9572系列芯片未实现异步复位信号引脚TRST,电缆不需要提供这一信号线。该器件的边界扫描寄存器由216个边界扫描单元组成,其中9个单元是内部属性的单元,其余207个单元组成69组边界扫描单元组[5]。
  
          2.2 设计分析与实现

         2.2.1 设计内容与分析
  
          在图5所示的测试系统中,要求两片IC芯片分别实现不同功能的数据处理。为了对存储器实现分时访问,可以设定其中的一片xc9572_ pc84芯片(IC2)受到另一片xc9572_ pc84芯片(IC1)的控制,使IC2进入高阻模式(高阻模式是JTAG标准中推荐的任选模式之一),用以对存储器的访问屏蔽一段时间,此时受控芯片IC2的所有输出管脚都将处于浮空状态即高阻态。
  
         从图2描述的TAP控制器的状态机可知,通过改变IC芯片自身的输入输出状态,就可以进行边界扫描测试或利用JTAG接口使IC芯片处于某个特定的功能模式。
  支持JTAG标准的芯片都附有特定的BSDL(Boundary Scan Description Language)描述文件[3]。BSDL语言是硬件描述语言(VHDL)的一个子集。它对该芯片的边界扫描特性进行描述,用来沟通厂商、用户与测试工具之间的联系,为自动测试图形生成工具、检测特定的电路板提供相关的信息;在BSDL文件的支持下可生成由JTAG标准定义的测试逻辑。BSDL文件可与软件工具结合起来,用于测试生成、结果分析和故障诊断。
  
         通过对xc9572 pc84芯片的BSDL部分文件[6]的分析可知:
  ……
  attribute INSTRUCTION_CAPTURE of xc9572_pc84:
  entity is '000XXX01'&
  attribute INSTRUCTION_DISABLE of xc9572_pc84 : entity is 'HIGHZ'&
  attribute INSTRUCTION_OPCODE of xc9572_pc84:entity is
  'BYPASS (11111111),' &
  'EXTEST (00000000),' &
  
  'IDCODE (11111110),' &
  'INTEST (00000010),' &
  'SAMPLE (00000001),' &
   'USERCODE (11111101)' ;
  ……
  
         通过该部分代码可得出,控制该芯片进入高阻模式需要写入指令寄存器的控制码为11111100。此时应选择旁路寄存器将边界扫描寄存单元旁路,以使扫描数据直接传递给下一个扫描器件。

        2.2.2 设计实现
  
          根据上面的分析可以得出,要使芯片从正常工作模式下受控进入 JTAG 高阻状态需要经过以下五个步骤:
  ①复位。由于Xilinx 9572_ pc84芯片不具备 TRST 管脚,而且芯片正常工作时TMS持续为高电平,所以控制器进入复位状态需要使TMS端接收低电平信号,控制TAP控制器完成复位操作。
  ②进入Shift_IR状态。由TAP控制器状态机可以看出,当持续5个TCK上升沿使TMS端接收到01100时,则进入Shift_IR状态。
  ③ 将指令码写入指令寄存器。在Shift_IR状态,通过TDI将高阻状态指令码11111100写入指令寄存器,需要5个TCK周期,此时TMS需保持4个周期低电平。
  ④进入 Exit1_IR 状态。在Shift_IR状态的第5个TCK的上升沿,使TMS=1,进入 Exit1_IR状态。
  ⑤进入Update_IR状态。在进入Exit1_IR状态后,使TMS=1,进入Update_IR状态。此时芯片进入高阻状态。
  
         按照上述步骤,采用数字系统中状态机的设计思想[5],用VHDL语言编写出相应的功能块,控制xc9572_ pc84芯片(IC2)进入JTAG高阻状态(限于篇幅,VHDL源程序未列出),就可以进行边界扫描测试了。将VHDL源程序经过编译、仿真后可得到如图6所示的JTAG控制时序波形图。
  
  
  JTAG测试技术是一种新的测试技术,这种技术是建立在具有JTAG标准接口的芯片之上的。由于这种芯片内置一些预先定义好的功能模式,所以可以通过边界扫描通道使芯片处于某个特定的功能模式,以提高系统控制的灵活性并便于系统设计。本文通过设计实例,详细介绍了利用边界扫描技术控制IC芯片处于高阻模式的思路和方法,并且通过实验实现,达到了预期目标。基于边界扫描技术的测试机制在产品全寿命周期的不同阶段都可以共享,因此利用边界扫描技术可以方便地对电路系统进行调试、测试,显着地降低了产品的开发周期和费用。

         参考文献

        1 IEEE std 1149.1-2001:IEEE Standard Test Access Port and Boundary Scan Architecture[S]. New York, USA,2001
      2 Lee Nayes, Larry Lauenger. Addin Boundary Scan Test Cability to an Existing Multi- strategy Tester[J]. Autotestcon, 1993
      3 陈光禹,潘中良.可测试性设计技术[M].北京:电子工业出版社,1997
      4 杨廷善.边界扫描技术及其应用[M].测控技术,2000;(199):5~8
      5 姜立东.VHDL语言程序设计及应用[M]. 北京: 北京邮电大学出版社,2001
      6 专用集成电路和集成系统自动化设计方法[M].北京:国防工业出版社,1997
      7 高 平,成 立. 数字VLSI电路测试技术—BIST方案[J].半导体技术2003;28(9):29~32

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表