边界扫描测试技术

边界扫描测试技术 不属于 coresight架构,
边界扫描测试技术 被 coresight 架构中的 Debug部分 使用.
综述
	联合测试行动组(Joint Test Action Group,简称 JTAG)提出了边界扫描技术,后来在 1990 年被批准为 IEEE 1149.1 标准,这个标准一般也称为JTAG调试标准
	Boundary Scan(边界扫描)一般和JTAG可以混称。但实际上JTAG又比Boundary Scan多一些内容。除了边界扫描,JTAG还可以实现对芯片内部某些信号的控制

Boundary Scan 技术
	1.在每个PAD(管脚)的附近加入Boundary-Scan cell,每个boundary scan cell 中都包含一个shift register
		在IC设计的过程中在IC的内部逻辑和每个器件引脚间放置移位寄存器(shift register).每个移位寄存器叫做一个CELL。
	2.这个触发器(寄存器是由触发器组成的)可以加载或捕获数据,从而使得每个PAD都可以被controlled和observed。
		这些CELL准许你去控制和观察每个输入/输出引脚的状态。
		当这些CELL连在一起就形成了一个数据寄存器链(data register chain),我门叫它边界寄存器(boundaryregister)3.其他寄存器
		在IC上还集成测试访问端口控制器 (TAP controller)
		指令寄存器(Instruction register)对边界扫描的指令进行解码以便执行各种测试功能。
		旁路寄存器(bypass register)提供一个最短的测试通路。
		可能还会有IDCODE register
		可能会有其它符合标准的用户特殊寄存器。

外部信号及组成

	包含 边界扫描技术 的 器件叫做 边界扫描器件 

	一个边界扫描器件 给外部的 信号 是 
		1.TDI  (测试数据输入)
		2.TDO (侧试数据输出)
		3.TMS (测试模式选择输入)
		4.TCK (测试时钟输入)
		5.TRST (测试复位输入,这个信号是可选的)

	TMS,TCK,TRST构成了边界扫描测试端口控制器(TAP controller)


TAP controller
	它负责测试信号指令的输入,输出,指令解码等
	它是一个16位的状态机,边界扫描测试的每个环节都由它来控制

	TA P控制器是边界扫描测试的核心控制器。
	在TCK和TM S的控制下,可以选择使用指令寄存器扫描或数据寄存器扫描,以及控制边界扫描测试的各个状态。
	TA P控制器的状态机如图2所示。右边是指令寄存器分支,左边是数据寄存器分支。


	其中,TA P控制器的状态机只有6个稳定状态:测试逻辑复位(Test Logical Reset)、测试运行ö等待(RunTestöIdle)、数据寄存器移位(Shift DR)、数据寄存器移位暂停(Pause DR)、指令寄存器移位(Shift IR)、指令寄存器暂停(Pause IR):其他状态都不是稳态,而只是暂态。

	在上电或IC正常运行时,必须使TM S最少持续5个TCK保持为高电平,则TA P进入测试逻辑复位态。这时,TA P发出复位信号使所有的测试逻辑不影响元件的正常运行。若需要进行边界扫描测试。可以在TM S与TCK的配合控制下,退出复位,进入边界扫描测试需要的各个状态。需要测试时,在TM S和TCK的控制下,TA P控制器跳出TLR状态,从选择数据寄存器扫描(Shift DRScan)或选择指令寄存器扫描(Shift IR Scan)进入图2所示的各个状态。Shift DR Scan和Shift IR Scan两个模块的功能类似。

	进入每个模块的第一步是捕捉数据(Cap ture),对于数据寄存器,在Cap ture DR状态把数据并行加载到相应的串行数据通道中,对于指令寄存器,则是在Cap ture IR状态把指令信息捕捉到指令寄存器中。TA P控制器从捕捉状态进入移位(Shift)或跳出1(Exit1)状态。通常,Shift状态紧跟Cap ture状态,数据在寄存器中移位。在Shift状态之后,TA P控制器通过Exit1状态进入更新(U pdate)状态或者暂停(Pause)状态。在Pause状态,数据移位暂时终止,可以对数据寄存器或指令寄存器重新加载测试向量。从Pause状态出来通过跳出2(Exit2)状态可以再次进入Shift状态或者经过U pdate状态回到Run TestöIdle状态。在U pdate状态,移入扫描通道的数据被输出。


	TAP控制器是一个16状态的有限状态机,为JTAG提供控制逻辑,控制进入到JTAG结构中各种寄存器内数据通信的扫描与操作。 
	通过TAP接口,对数据寄存器(DR)进行访问的一般的过程是:
		1.通过指令寄存器(IR),选定一个需要访问的数据寄存器;
		2.把选定的数据寄存器连接到TDI 和TDO 之间;
		3.由TCK驱动
			3.1通过TDI,把需要的数据输入到选定的数据寄存器当中去
			3.2同时把选定的数据寄存器中的数据通过TDO 读出来。
		//TMS和TDI信号在器件TCK的上升沿被采样. TDO信号在TCK的下降沿被采样.

BST寄存器单元(Boundary Scan Test)
	边界扫描数据寄存器至少应该包括3种:
		边界扫描寄存器
		器件标识寄存器
		旁路寄存器
	JTAG 标准中有两类的寄存器:数据寄存器(DR)和指令寄存器(IR),他们都是移位寄存器。
	数据寄存器和边界扫描链相连控制数据的输入和输出。
	指令寄存器用于输入指令,控制数据寄存器的操作。
	Bypass寄存器也是一个一位寄存器,链接于TDI和TDO 之间,为一些操作提供更加便捷的方式。

	对这些寄存器的访问都是通过TAP(Test Access Port)实现的。

边界扫描技术的应用
	边界扫描技术是一种应用于数字集成电路器件的测试性结构设计方法。所谓“边界”是指测试电路被设置在集成电路器件功能逻辑电路的四周,位于靠近器件输入、输出引脚的边界处。
	所谓“扫描”是指连接器件各输入、输出引脚的测试电路实际上是一个串行移位寄存器,这种串行移位寄存器被叫做“扫描路径”,沿着这条路径可输入由“1”和“0”组成的各种编码,对电路进行“扫描”式检测,从输出结果判断其是否正确。
	
	边界扫描测试方式

		利用边界扫描技术,可以对集成电路芯片的内部故障、电路板的互连以及相互间影响有比较全面的了解,并通过加载相应指令到指令寄存器来选择工作方式。不同的测试在不同的工作方式下进行。

		外测试(EXTEST)
			外测试测试IC与电路板上其他器件的连接关系。此时边界扫描寄存器把IC的内部逻辑与被测板上其他元件隔离开来。在EXTEST指令下,给每个IöO端赋一个已知的值用于测试电路板上各集成电路芯片间连线以及板级互连的故障,包括断路故障和短路故障。图6中的3块芯片受相同的TCK和TM S总线控制,各芯片TDO的输出端连接到下一器件TD I的输入端,构成了一条移位寄存器链。测试向量从IC1的TD I输入,通过边界扫描路径加到每个芯片的输出引脚寄存器,而输入引脚寄存器则接收响应向量。图中IC2的B脚接收IC1的A脚寄存器的信号,正常情况下,B脚的值应该为1。但如果AB和CD线间出现了短路,则B脚寄存器接收到的值变成了0。IC3的F引脚寄存器接收IC1的E脚寄存器信号,正常情况下,F脚的值应该为1,但如果引线EF间出现了断路,则从F脚得到的值不是1,而是0。

			在电路板的测试中出现最频繁的是断路和短路故障,传统的逐点检查的方法既麻烦又费时,而通过边界扫描技术的外部测试方式,把从TDO端输出的边界扫描寄存器的串行信号与正确的信号相比较,就可以方便有效地诊断出电路板引线及芯片引脚间的断路和短路故障。这是边界扫描技术一个非常显著的优点。

		内测试 ( IN TEST )
			内测试测试IC本身的逻辑功能,即测试电路板上集成电路芯片的内部故障。测试向量通过TD I输入,并通过边界扫描通道将测试向量加到每个芯片的输入引脚寄存器中,从输出端TDO可以串行读出存于输出引脚寄存器中各芯片的响应结果。根据输入向量和输出响应,就可以对电路板上各芯片的内部工作状态做出测试分析。

	采样测试方式 (SAM PL EöPRELOAD )
		采样测试方式常用于对一个正在运行的系统进行实时监控。取样ö预置(SAM PL EöPRELOAD),在捕捉阶段从输入端取样,在更新阶段预置BSC,为外测试做准备;移出器件标识(ID Code):选择旁路寄存器,使数据在A SIC间快速移位。此外还有多种测试指令,他们的存在和不断扩充,使边界扫描技术的应用得以拓展和延伸,进行更有效的集成电路测试。


边界扫描技术和JTAG与coresight

	边界扫描技术是 JTAG 组织提出的,一开始也被称为 JTAG调试标准。
		里面介绍了边界扫描链,并采用JTAG接口作为外部接口.

	后来 ARM 在 Cortex-M3 内核(coresight中)去除了 JTAG扫描链
		cortex-m3 的调试系统是基于ARM最新的CoreSight架构。
		
		DAP接口
			不同于以往的ARM处理器,内核本身不再含有JTAG扫描链.取而代之的,是CPU提供的DAP总线接口。
			通过这个总线接口,可以访问芯片的寄存器,也可以访问系统存储器,甚至是在内核运行的时候访问。
			对此总线接口的使用,是由一个调试端口(DP)设备完成的。
		
		DPs
			DPs不属于CM3内核,但它们是在芯片的内部实现的。
			目前可用的DPs包括
				SWJ-DP(既支持传统的JTAG调试,也支持新的串行线(SW)调试协议),
				另一个SW-DP则去掉了对JTAG的支持。
				另外,也可以使用ARM CoreSight家族JTAG-DP模块。
			
		DP 和 AP 的结合
			DP接口模块首先将外部信号转换为32位通用调试总线(DAP),总线高8位用于选择要访问的设备,从理论上说DAP总线上的设备最多支持256个,同一芯片上的上百个处理器可以共用一个DP。
			DAP通过高级高性能总线访问端口(AHB-AP或APB-AP)连接上CM3内部的总线网络,这样就可以访问CM3上包括NVIC在内的存储器映射

你可能感兴趣的:(coresight)