在印刷电路板(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能力。设计人员必须权衡用固件控制执行,此功能比直接寻址外部变换逻辑所需的总线开销要少。
桥接在一起
测试系统可分为两部分:端口链路器和并行到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接头中受益。
不管测试性能是如何接入,没有必要为维修而接入这些性能发的系统,或需要高度可重配置分散触发的系统。
对每个LXIA级设备,两个触发总线连接器是并联接线的,以方便菊链分段的实现,在此场合,硬件触发总线在每段的端点处需一个端接器,每段总线最多可连接16个LXI设备。
每条触发总线有1个驱动器和几个接收器,具体配置由触发总线模式决定。A级支持两种触发配置:
·驱动模式:此配置将触发事件传输至连接在同一条总线上的一个或多个接收器。
·线或模式:此配置支持多点至多点触发传输模式。在此模式,可让多个触发源启动触发,多个接收器接收生成的触发事件。当配置成线或模式时,与LXI触发接收器相关联的一个触发器配置成基本触发源,每个触发源使用并联的驱动器来驱动。
LXI触发总线的附加功能要求有:
·8条触发器全部路由至模块内设置的每个触发功能,当为每个特定功能分配触发线时,可达到最大的灵活性。
·在每条触发器线上同时驱动/检测。
·为每条触发线设置边沿检测或电平检测。
A级设备为用户和仪器供应商提供了用硬件触发连接创建仪器分系统的能力,其典型应用是合成仪器系统,这类系统是由几个源/测量构件组成的,由LXI触发线提供模块内固有的时钟和触发。此外,在几个远地放置的分系统间通信,可用消息通信方式实现。A级设备允许使用硬件或LAN触发来启动测量事件,为分布式测量或数据采集系统提供了更高的灵活性。
结语
定义3种不同的LXI产品等级为生产和部署产品提供更多的灵活性,既能满足特定的要求而又不增加系统的复杂性和成本。同时,无IEEE1588PTP功能的LAN基产品有助于加速标准的推广,促进LXI产品的研发。一旦条件成熟,不仅能迅速地将现有Ethernet基仪器更新为C级设备,还能创建更多功能齐备的A级或B级设备。
上一篇:基于FPGA的1553B总线接口板设计
下一篇:单片机与MMC卡的接口
推荐阅读最新更新时间:2024-05-02 21:50