微处理器和JTAG总线桥接接口
发布时间:2008/8/16 0:00:00 访问次数:667
数字逻辑设计人员在实现设计目标时有不少工具可用。为适应所需的大量逻辑数和数据率,设计人员可选用fpga。fpga在相对小的空间内,以多引脚数封装提供巨大数量的数字逻辑门。
在印刷电路板(pcb)放置多个多引脚fpga和其他器件,确保所有互连的完整无损是比较困难的。在制造中用x射线技术可以检验大概的互连问题, 而需要更精确的方法来检测制造、调试和复杂pcb更换的互连问题。
一种方法是jtag(ieee1149.1)技术。jtag(联合测试行动组)功能包括基本的输入/输出边界扫描控制(由1149.1规范确定)以及内部资源的重新编程性和控制。数字设计中所用的很多元件都具有jtag性能。微处理器可用jtag提供调试接入。fpga和cpld可用jtag编程。这些jtag性能为制造、设计和服务人员提供一个强有力的生产高质量板的工具。
在系统中实现jtag控制逻辑时,考虑dft(design-for-test),而这与一般的fpga设计技术是矛盾的。
dft设计考虑包括:
·主要的测试/调试能力必须与系统开发每个阶段的fpga功能无关。
·fpga需要在现场更新测试控制逻辑,并且在重新编程期间应变得不起作用。假若希望系统是“5个9”(99.999%)可用的,则需要另一种fpga结构。
·fpga通常是jtag扫描链的部分,而且感兴趣的是fpga互连的检验。ftag控制逻辑不能置fpga进入测试模式,并同时工作在非测试模式。
一个小的定制非易失性的即时接通可编程逻辑(pld)能很好的适合系统dft考虑。这样的一种器件可提供足够的逻辑和足够的i/o组,使其容易调试和接口到jtag,以便提供测试性、重新可编程性的控制功能性。这使得小的pld成为板测试无故障的理想元件。
典型的pcb测试结构
jtag的主要用途集成在制造测试。它对开发环境有损害,它主要是处理任务而不是制造级连接性测试。图1示出典型的pcb测试结构。
jtag接头和与它较连的所有器件是单串行链路。所有边界扫描和系统中的测试逻辑都是做为单结构连接的。构成测试系统进入逻辑子单元,其灵活性是有限的。jtag链路的长度受tck(测试时钟)扇出和tms(测试模式选择)限制。
微处理器具有一些调试控制形式,而这种控而这种控制部分或全部由jtag管理。某些调试工具与jtag链路中的其他器件不能很好的共存,这就是为什么图1中的微处理器与jtag链路中的其他器件是独立的。
有一些方法(如tck和tms线上的附加分立缓冲器)可以解决这些问题。用多个jtag接头也可以做成几个jtag链路。此方案为了能测试整个系统,应具备驱动多个jtat接头的测试设备。
在这种实现方案中,到测试和编程接口的接入需要有链路配置的详细知识,即采用各种硬件接头和硬件配置的知识。只有厂家或检修人员可以接入可测试性接口和更新任何可编程器件。
端口连接
改善系统灵活性的一种方法是增加多个接头到板上。具有同时连接几个jtag接头的jtag测试器能够接入每个分立的jtag扫描链路。
jtag扫描链路可以构建进逻辑单元,而单个jteg端口链路器(port linker)示于图2,它可以大大地简化硬件接口,并可增加多链路进入逻辑单元的灵活性。
端口链路器是使单个物理jtag连接器能接入几个独立jtag链路之一链路的器件。端口链路器呈现在具有jtag测试接入端口和1组控制寄存器的物理接头中,控制寄存器允许独立jtag端口的任意互连。在物理jtaga接头中可见的链路长度,将随链路port#1~#4的使能或断开而增加或减少。
端口链路器改善了系统的jtag能力,因为现在jtag链路可以分成功能模块。端口链路器也可提供每个jtag链路自身的tck和tms线,这降低了缓冲器驱动和扇出的限制。如果需要,可编程器件也可以单独接入另外的逻辑器件。
板设计人员为了最大功效可以选择如何组织测试、编程和调试链路。
注意,在这种方案中,微处理器保持在分立链路,仍然对于jtag任何逻辑都没有接入。当设计变成产品最终到达消费者手中或处在服务中时,系统的微处理器提供重要的能力。微处理器通常与某些通信通道形式接口。这可以是ethernet,wifi或bluetooth,或一些其他共同标准。假若微处理器具有到jtag逻辑的接入,则可以利用微处理器的通信通道来执行诊断或pld更新。
到jtag的并行接口
微处理接入到jtag链路的一种方法是采用并行总线到jtag串行总线接口器件。这种器件提供一组寄存器,这些寄存器与微处理之间以并存方式传输数据。逻辑变换并行接入为串行jtag协议。现在微处理器具有一种与板上jtag逻辑相互连系的手段。
此方案也必须具有断开jtag输出的能力。若输出不断开(即处于三态),则用外接测试设备是不可能的。
此方案用一个外部变换替代控制器的端口i/o能力。设计人员必须权衡用固件控制
数字逻辑设计人员在实现设计目标时有不少工具可用。为适应所需的大量逻辑数和数据率,设计人员可选用fpga。fpga在相对小的空间内,以多引脚数封装提供巨大数量的数字逻辑门。
在印刷电路板(pcb)放置多个多引脚fpga和其他器件,确保所有互连的完整无损是比较困难的。在制造中用x射线技术可以检验大概的互连问题, 而需要更精确的方法来检测制造、调试和复杂pcb更换的互连问题。
一种方法是jtag(ieee1149.1)技术。jtag(联合测试行动组)功能包括基本的输入/输出边界扫描控制(由1149.1规范确定)以及内部资源的重新编程性和控制。数字设计中所用的很多元件都具有jtag性能。微处理器可用jtag提供调试接入。fpga和cpld可用jtag编程。这些jtag性能为制造、设计和服务人员提供一个强有力的生产高质量板的工具。
在系统中实现jtag控制逻辑时,考虑dft(design-for-test),而这与一般的fpga设计技术是矛盾的。
dft设计考虑包括:
·主要的测试/调试能力必须与系统开发每个阶段的fpga功能无关。
·fpga需要在现场更新测试控制逻辑,并且在重新编程期间应变得不起作用。假若希望系统是“5个9”(99.999%)可用的,则需要另一种fpga结构。
·fpga通常是jtag扫描链的部分,而且感兴趣的是fpga互连的检验。ftag控制逻辑不能置fpga进入测试模式,并同时工作在非测试模式。
一个小的定制非易失性的即时接通可编程逻辑(pld)能很好的适合系统dft考虑。这样的一种器件可提供足够的逻辑和足够的i/o组,使其容易调试和接口到jtag,以便提供测试性、重新可编程性的控制功能性。这使得小的pld成为板测试无故障的理想元件。
典型的pcb测试结构
jtag的主要用途集成在制造测试。它对开发环境有损害,它主要是处理任务而不是制造级连接性测试。图1示出典型的pcb测试结构。
jtag接头和与它较连的所有器件是单串行链路。所有边界扫描和系统中的测试逻辑都是做为单结构连接的。构成测试系统进入逻辑子单元,其灵活性是有限的。jtag链路的长度受tck(测试时钟)扇出和tms(测试模式选择)限制。
微处理器具有一些调试控制形式,而这种控而这种控制部分或全部由jtag管理。某些调试工具与jtag链路中的其他器件不能很好的共存,这就是为什么图1中的微处理器与jtag链路中的其他器件是独立的。
有一些方法(如tck和tms线上的附加分立缓冲器)可以解决这些问题。用多个jtag接头也可以做成几个jtag链路。此方案为了能测试整个系统,应具备驱动多个jtat接头的测试设备。
在这种实现方案中,到测试和编程接口的接入需要有链路配置的详细知识,即采用各种硬件接头和硬件配置的知识。只有厂家或检修人员可以接入可测试性接口和更新任何可编程器件。
端口连接
改善系统灵活性的一种方法是增加多个接头到板上。具有同时连接几个jtag接头的jtag测试器能够接入每个分立的jtag扫描链路。
jtag扫描链路可以构建进逻辑单元,而单个jteg端口链路器(port linker)示于图2,它可以大大地简化硬件接口,并可增加多链路进入逻辑单元的灵活性。
端口链路器是使单个物理jtag连接器能接入几个独立jtag链路之一链路的器件。端口链路器呈现在具有jtag测试接入端口和1组控制寄存器的物理接头中,控制寄存器允许独立jtag端口的任意互连。在物理jtaga接头中可见的链路长度,将随链路port#1~#4的使能或断开而增加或减少。
端口链路器改善了系统的jtag能力,因为现在jtag链路可以分成功能模块。端口链路器也可提供每个jtag链路自身的tck和tms线,这降低了缓冲器驱动和扇出的限制。如果需要,可编程器件也可以单独接入另外的逻辑器件。
板设计人员为了最大功效可以选择如何组织测试、编程和调试链路。
注意,在这种方案中,微处理器保持在分立链路,仍然对于jtag任何逻辑都没有接入。当设计变成产品最终到达消费者手中或处在服务中时,系统的微处理器提供重要的能力。微处理器通常与某些通信通道形式接口。这可以是ethernet,wifi或bluetooth,或一些其他共同标准。假若微处理器具有到jtag逻辑的接入,则可以利用微处理器的通信通道来执行诊断或pld更新。
到jtag的并行接口
微处理接入到jtag链路的一种方法是采用并行总线到jtag串行总线接口器件。这种器件提供一组寄存器,这些寄存器与微处理之间以并存方式传输数据。逻辑变换并行接入为串行jtag协议。现在微处理器具有一种与板上jtag逻辑相互连系的手段。
此方案也必须具有断开jtag输出的能力。若输出不断开(即处于三态),则用外接测试设备是不可能的。
此方案用一个外部变换替代控制器的端口i/o能力。设计人员必须权衡用固件控制