到JTAG的并行接口
微处理接入到JTAG链路的一种方法是采用并行总线到JTAG串行总线接口器件。这种器件提供一组寄存器,这些寄存器与微处理之间以并存方式传输数据。逻辑变换并行接入为串行JTAG协议。现在微处理器具有一种与板上JTAG逻辑相互连系的手段。
图3示出可以连接到基本JTAG链路的并行到JTAG的变换。此方案也必须具有断开JTAG输出的能力。若输出不断开(即处于三态),则用外接测试设备是不可能的。

此方案用一个外部变换替代控制器的端口I/O能力。设计人员必须权衡用固件控制执行,此功能比直接寻址外部变换逻辑所需的总线开销要少。
桥接在一起
测试系统可分为两部分:端口链路器和并行到JTAG变换器。假定用分立可编程逻辑器件实现这两部分逻辑,则必须解决如何编程这些器件的问题。这些器件的每个部分都需要另外的专门JTAG接头或复杂开关系统的某种形式来控制TMS或TCK线。
替代这些功能于两个较小PLD器件的方法是把此逻辑置到一个较大的PLD器件中。图4示出如何把整个设计在单个PLD中。
Lattice Semiconductor公司的Machxo PLD设计把上面所描述的元件和另外的一些性能组合在一起:
- 模块A是并行到JTAG变换模块。
- 模块B是端口链接器。
- 模块C是Machxo PLD专门的JTAG端口。
- 模块D是微处理器/微控制器JTAG端口。
此设计有几个关键点。第一是用单个JTAG接头编程PLD和连接外部制造/诊断设备。第二点是用1×3接头控制TMS引脚的目的地到模块C。在PCB开始装配时,PLD是空白的,而且必须编程,在1~2引脚之间短路连接允许JTAG和编程接头驱动PLD的TMS线。可以编程PLD板组装之后才能进行短路。在所有其他情况下,引脚2~3之间放置跳接线。
被编程的PLD已准备好执行制造、测试、调试和维修等任务。
制造测试
制造是PLD设计的第一受益者,制造感兴趣的是确认线迹没有短路和没有开路。用JTAG测试设备和一组可靠的JTAG链路是能够确认连接是否正确。
用端口连接器把JTAG链路隔离为更小的子单元,可把目标定在PCB上未端的逻辑单元。测试可以执行得更快,因为可以控制边界扫描链长度。也可以更快地进行初始化可编程器件。
JTAG执行测试的主要接口是JTAG和编程接头。假若测试人员在执行测试前不需要改变板上的任何跳接线或其他设备,这就更好。JTAG和编程接头上的备用引脚可做为使能/断开和多路转换器选择。此选择/使能引脚自动处理端口链路器模块的3态port# 4并开关内部多路转换器。多路转换器选择JTAG和编程接头或并行到JTAG变换逻辑。这允许制造和测试的连接JTAG测试设备,而不需要调节PCB上的任何短接。
工程开发
用PLD控制测试过程能为工程开发提供良好的互连测试。然而,FPGA/PLD和固件设计人员现在可以开始做硬件工作。
PCB开发是一个反复的过程,工程师经常改变可编程器件的内容。工程师一般也用微处理器和调试工具。
在开发和调试过程中的早期,固件和微处理器控制可能不是完整的工作。在此期间,由于JTAG和可编程接头接口可初始化可编程逻辑器件。
板开发早期要做的另一事情是开发微处理器控制码。固件会有错误需要调试。完成调试的方法是用JTAG基调试工具。采用JTAG基调试工具引起的一个问题是这种工具要求微处理器只能有一个器件连接到微处理器的JTAG I/O。这样要求与制造组的需要是矛盾的。然而,图4所建议的方案早已解决了此问题。
固件工程师能够接入调试端口,而不会干扰JTAG链路的逻辑。在微处理器码调试期间获得微处理器JTAG端口的全部控制,而能够用JTAG调试工具。假如没有测试工具连接到JTAG和编程接头,则固件工程师除希望有到微处理器的链路外,也有在所有JTAG链路的接入。现在,固件工程师能够增加板的测试能力。现在,固件工程师能够增加板的测试能力。微处理器控制的测试程序经常是固有的或是动态下载,这取决于系统资源。测试程序可返回到制造组,允许更彻底地测试板的装配板。
在现场JTAG所提供的全面制造和调试测试,对现场PCB提高质量和可靠性是很有价值的。
如前所述,PCB板上可有一个微处理器来执行通过/不通过测试。很多带微处理器的系统也具有通信通道的某种形式。假若通信通道是无线或有线Internet连接,则现场工程师可以远程初始化诊断测试。远程初始化诊断测试与制造测试工程师所做的应具有相同的能力。甚至板不具备远程接入,但维修人员仍从可用的编程和JTAG接头中受益。
不管测试性能是如何接入,没有必要为维修而接入这些性能发的系统,或需要高度可重配置分散触发的系统。