完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文介绍支持JTAG标准的IC芯片结构,并以Xilinx公司的两块xc9572_ pc84芯片为例,探讨并利用边界扫描技术控制IC芯片处于某种特定功能模式的方法,并且针对IC芯片某种特定的功能模式设计该芯片的JTAG控制器。
|
|
相关推荐
1个回答
|
|
介绍了支持JTAG标准的IC芯片结构、边界扫描测试原理以及利用边界扫描技术控制IC芯片处于特定功能模式的方法。针对IC芯片某种特定的功能模式给出了设计思路和方法,并用两块xc9572 pc84芯片互连的PCB板为例进行设计分析和实验实现。通过实验实现,体现了边界扫描技术易于电路系统调试和方便系统设计的特点,且设计的系统控制逻辑简单方便,易于实现。
当今,微电子技术已经进入超大规模集成电路(VLSI)时代。随着芯片电路的小型化及表面封装技术(SMT)和电路板组装技术的发展,使得传统测试技术面临着巨大的挑战。在这种情况下,为了提高电路和系统的可测试性,联合测试行动小组(JTAG)于1987年提出了一种新的电路板测试方法——边界扫描测试,并于1990年被IEEE接纳,形成了IEEE1149.1标准,也称为JTAG标准。这种技术以全新的“虚拟探针”代替传统的“物理探针”来提高电路和系统的可测性。由于 JTAG标准的通用性很好, 现在许多IC公司都提供了支持边界扫描机制的IC芯片,甚至部分FPGA和CPLD芯片也采用了这一技术。 本文介绍支持JTAG标准的IC芯片结构,并以Xilinx公司的两块xc9572_ pc84芯片为例,探讨并利用边界扫描技术控制IC芯片处于某种特定功能模式的方法,并且针对IC芯片某种特定的功能模式设计该芯片的JTAG控制器。 1 支持JTAG标准的IC芯片结构 边界扫描技术的核心就是在IC芯片的输入输出引脚与内核电路之间设置边界扫描结构。JTAG 标准定义了一个4-wire串行总线,通过这四条测试线访问边界扫描单元,可以达到测试芯片内核与外围电路的目的。图1示出了支持JTAG标准的IC芯片结构。图中,扫描结构由测试存取通道(TAP)、边界扫描寄存器(BSR)、TAP控制器、指令寄存器(IR)和辅助寄存器等组成。 1.1 TAP TAP是由4-wire串行测试线组成的测试存取通道,JTAG标准定义的所有操作都由这四条测试线来控制。这四条测试线分别是:测试时钟输入线(TCK),测试方式选择输入线(TMS),测试数据输入线(TDI),测试数据输出线(TDO)。 1.2 TAP控制器 TAP控制器是边界扫描测试的核心控制器,具有一个16状态的有限状态机。它与TCK信号同步工作,并响应TMS信号。在TCK信号和TMS信号的控制下, TAP控制器可以选择使用指令寄存器扫描还是数据寄存器扫描,以及选择用于控制边界扫描测试的各个状态。图2描述了TAP控制器的状态转换全过程。 无论当前状态如何, 只要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中,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可以看出,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组边界扫描单元组。 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)描述文件。BSDL语言是硬件描述语言(VHDL)的一个子集。它对该芯片的边界扫描特性进行描述,用来沟通厂商、用户与测试工具之间的联系,为自动测试图形生成工具、检测特定的电路板提供相关的信息;在BSDL文件的支持下可生成由JTAG标准定义的测试逻辑。BSDL文件可与软件工具结合起来,用于测试生成、结果分析和故障诊断。 通过对xc9572 pc84芯片的BSDL部分文件的分析可知: …… 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状态。此时芯片进入高阻状态。 按照上述步骤,采用数字系统中状态机的设计思想,用VHDL语言编写出相应的功能块,控制xc9572_ pc84芯片(IC2)进入JTAG高阻状态(限于篇幅,VHDL源程序未列出),就可以进行边界扫描测试了。将VHDL源程序经过编译、仿真后可得到如图6所示的JTAG控制时序波形图。 JTAG测试技术是一种新的测试技术,这种技术是建立在具有JTAG标准接口的芯片之上的。由于这种芯片内置一些预先定义好的功能模式,所以可以通过边界扫描通道使芯片处于某个特定的功能模式,以提高系统控制的灵活性并便于系统设计。本文通过设计实例,详细介绍了利用边界扫描技术控制IC芯片处于高阻模式的思路和方法,并且通过实验实现,达到了预期目标。基于边界扫描技术的测试机制在产品全寿命周期的不同阶段都可以共享,因此利用边界扫描技术可以方便地对电路系统进行调试、测试,显著地降低了产品的开发周期和费用。 |
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1071浏览 3评论
194浏览 2评论
456浏览 2评论
369浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
454浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:49 , Processed in 1.139622 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号