DSP

JTAG电路的原理与设计

2019-07-13 15:46发布

JTAG电路的工作原理 1. JTAG电路简介 JTAG的全称是Joint Test Action Group,即联合测试行动小组。目前,JTAG已成为一种国际标准测试协议,主要用于各类芯片的内部测试。现在大多数高级器件(包括FPGA、MCU、DSP以及CPU等)都支持JTAG协议,如FPGA、DSP器件等。标准的JTAG接口是4线接口:TMS、TCK、TDI以及TDO,分别为模式选择、时钟、数据输入和数据输出信号线。JTAG电路的功能模块如图5-4所示。  


图5-4 JTAG电路的内部结构示意图
JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port,测试访问口)端口,通过专用的JTAG测试工具对进行内部节点进行测试。此外,JTAG协议允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。此外,JTAG接口还常用于实现ISP(In-System Programmable,在线编程),对FLASH等器件进行编程。JTAG在线编程的特征也改变了传统生产流程,将以前先对芯片进行预编程再装到板上的工艺简化为:先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。 2.JTAG边界扫描电路 边界扫描测试(BST:BOUNDARY SEAN TEST)一般采用4线接口(在5线接口中,有一条为主复位信号)。也可以通过PC机的RS-232接口就能模拟BST的功能。BST标准接口是用来对电路板进行测试的,可在器件正常工作时捕获功能数据。器件的边界扫描单元能够迫使逻辑追踪引脚信号,或从器件核心逻辑信号中捕获数据,再强行加入的测试数据串行第移入边界扫描单元,捕获的数据串行移出并在器件外不同预期的结果进行比较,根据比较结果给出扫描状态,以提示用户电路设计是否正确。典型边界扫描测试电路的结构如图5-5所示。  


图5-5 JTAG链扫描结构示意图 边界扫描测试提供了一个串行扫描路径,遵守IEEE规范的器件之间的引脚连接情况。IEEE1149.1标准所规定的BST结构为:当器件工作在JTAG BST模式时,使用4个专用的I/O引脚和一个可选引脚TRST作为JTAG引脚。这4个专用I/O引脚为:TDI 、TDO、 TMS 和TCK。所有JTAG引脚的核心功能如表5-2所列。 表5-2 JTAG管脚说明   3.JTAG电路时序

JTAG电路的时序如图5-6所示,所有基于JTAG的操作都必须同步于JTAG时钟信号TCK。在TCK的上升沿读取或输出有效数据,有严格的建立、保持时间要求,因此一般情况下JTAG的时钟不会太高。
 

图5-6JTAG电路的时序关系示意图 4.FPGA芯片中JTAG扫描电路的工作流程

JTAG边界扫描测试由测试访问端口的控制器管理,只要FPGA上电后电压正确,且JTAG链路完整,则JTAG电路可立即正常工作,清空JTAG配置寄存器等待外界响应,整体流程如图5-7所示。
 

图5-7 JTAG边界扫描流程示意图 TMS、TRST 和TCK引脚管理TAP控制器的操作,TDI和TDO为数据寄存器提供串行通道。TDI也为指令寄存器提供数据,然后为数据寄存器产生控制逻辑。对于选择寄存器、装载数据、检测和将结果移出的控制信号,由测试时钟(TCK)和测试模式(TMS)选择两个控制信号决定。在四线接口标准中,利用TDI,TDO,TCK,TMS四个信号,它们合成为TAP测试处理端口(Test Access Port),测试复位信号(TRST,一般以低电平有效)一般作为可选的第五个端口信号。

5.2.2 Xilinx JTAG下载线

下载线一端以JTAG的方式和FPGA/PROM芯片相连,另一端则通过USB/并口和计算机相连,为设计人员提供了由PC机配置FPGA/PROM芯片数据链路。本节介绍目前常用的Xilin下载线,以及简易下载线的制作坊法。

1.Xilinx下载线介绍

根据下载线和PC机连接方式的不同,可以将其分为USB下载线和并口下载线两大类。USB下载线速度快,稳定度高,当然价格也比较昂贵,目前Xilinx公司提供的USB下载线的价格为149美元。 并口下载线根据下载速度的不同,可分为Parallel Cable IV(简称为PC4)和Parallel Cable III两类(简称为PC3):其中PC4可适于Xilinx公司所有芯片,速度比PC3快8倍,价格大约为USB下载线的1/3;PC3采用简单的EPP模式,透过式实现,成本低廉,但下载速度缓慢,且不具备配置电压自适应的功能,已经不能用于Xilinx公司新型FPGA的开发,存在一定的应用局限性。

无论那种下载线,在FPGA端都具有标准的4根JTAG接口、电源管脚以及地(VCC、GND、TCK、TMS、TDI以及TDO),共6个信号端口,也被称为JTAG连接器。也有一种常见的10脚JTAG连接器,其中多了1个GND信号以及3根悬空信号(NC)。
在实际工程中,有一条性能稳定的下载线,不仅能避免配置错误(如利用PC3并口下载线配置Spartan-3E等最新系列芯片时会经常出现错误),还能提高配置的成功率和时间(在实际中,完整正确的配置电路也不能保证每次配置都成功)。下面对Xilinx各种下载线的特点和性能进行简要总结,如表5-3所列,供读者参考。
表5-3 Xilinx下载线性能的简要总结     2. PC3并行下载的电路原理图 首先对PC的打印机口进行简单介绍。PC机上的打印接口共有25根连线(一般也成为DB25),如图M所示。其中18-25都是地线,因此实际共有17根线,分成三类:8根数据线,可进行数据输出;5根状态线,输入;4根控制线,输出。这三组线分别由打印口的三个寄存控制器控制,即数据口,状态口,控制口,只要对这三个寄存器度或写,就可以输入或输出数据。并口下载线主要完成PC并口和FPGA芯片JTAG接口之间的数据适配。Xilinx公司PC3并口下载电缆的原理图是公开的,结构简单,成本简单,不超过10元,完全可以自己动手制作,在电子市场上则一般需要数十元。

下载电缆的接口电路比较简单,如图5-11所示,制作时间非常短,半天时间即可。接口电路只完成了电平转换,不涉及信号时序的改变。
 

图5-11 Xilinx下载线接口电路图 其中74HC125为Philips公司生产的4输入3态驱动器,用来增强信号强度;LED用来给出下载信息指示。详细的元件清单如表5-12所列。 表5-12 并口下载线的元件清单     下载线的供电由电路板供电,即由JTAG连接器的VCC提供,因此和电路板的距离不能太长,一般为20厘米左右;和并口连接端可以适当延长,但也不应当超过1米,一般选择50厘米左右,否则容易发生下载错误。此外,肖特基二极管应选取低压降的管子,以保证下载线正常工作。