您的位置  > 互联网

EEEBGA器件与底层印制电路板之间连接的最有效方法

如果系统使用仿真工具来调试硬件或软件,则仿真工具也可能通过JTAG端口与微处理器对话。 而且,如果系统中使用球栅阵列(BGA)封装IC,JTAG也是测试BGA器件与底层印刷电路板之间连接的最有效方法。

支持EEE 1149.1边界扫描测试标准的IC和电路板都有支持JTAG测试的4线串行总线(第五条线是可选的复位线)——TDI(测试数据输入)、TDO(测试数据输出)、TMS (测试模式选择)和TCK(测试时钟)。 该总线主要支持焊点、电路板过孔、短路和开路等连接结构测试。 此外,许多CPLD和FPGA制造商还使用JTAG作为其器件在系统编程和配置的标准方法。 除了支持结构(互连)测试之外,JTAG 现在也是系统级配置、编程和混合信号测试的标准方法。

然而,大多数设计团队不愿意在新设计中一次性应用JTAG,而是慢慢转向以更可控的方式充分利用JTAG接口。 一些团队规则 () 广泛使用了 JTAG 接口,而其他团队规则则仅使用了其中非常有限的部分。 但每个规则都会使 JTAG 适应其自身的需求。 在各种规则的共同作用下,开发出了几代不同代的JTAG应用。 每一代JTAG应用都有自己的特点,并有一定的增强功能。

图 1:第二代 JTAG 应用:使用 JTAG 多点复用器简化对多个 JTAG 链的访问。

由于JTAG访问的需求多种多样,开发团队必须采用跨规则的JTAG访问策略,以最大限度地发挥JTAG访问的功能。 该策略对于实现可重复使用并可构建下一代产品的标准方法是必要的。 为了更好地理解这种方法,我们将探讨如何在不同代的系统开发和设计中使用 JTAG,目标是通过利用过去的经验或对 JTAG 访问的投资将设计推向新一代。

JTAG应用的各个阶段

在JTAG应用的第一阶段,仅使用了电路板的某些特性和功能,并且很少做组织和标准化该方法的工作。

这是最简单的方法,几乎​​不需要任何软件工具的投资,通常使用 IC 制造商提供的免费工具。 现阶段的JTAG通常没有或只有非常有限的诊断能力,并且没有可以用来生成用于测试或编程的向量的软件。 此时的 JTAG 访问仅用于配置 CPLD 或在生产过程中对闪存进行编程。 稍微复杂的电路板也可以用它进行测试。

然而,这并不是最便宜的方法。 由于每个规则可能会使用单独的JTAG连接器来满足其自身的需要,因此必须在一块电路板上使用多个JTAG连接器,这增加了成本并占用了电路板空间。 此外,每个规则可以开发自己的“自制”软件工具和硬件来与对其他规则来说是冗余的JTAG功能进行接口。 因此,采用这种方式开发的产品受到定制化开发的影响,难以迁移到新一代产品。 如果在生产中采用这种方法也会增加成本,因为它需要多次插入。

许多开发团队都与这一代 JTAG 应用程序密切相关。 最终,随着系统复杂性不断增加,JTAG 访问策略将是保持产品竞争力所必需的。

第二代JTAG应用

在第二代 JTAG 应用中,不同的开发团队规则控制新板设计中 JTAG 功能的采用。 此阶段的 JTAG 实施需要对 ATPG(自动测试程序生成)软件工具进行一定程度的投资,该软件工具具有强大的诊断功能,用于管理编程和测试向量的开发和交付。 此类 ATPG 工具的供应商提供支持和咨询服务,范围从为每个任务生成简单的矢量到为生产提供全面的多席位软件支持。

向每个电路板添加战略性 IC 器件(JTAG 多路复用器),以便移除电路板上的多个 1149.1 连接器并管理多个 JTAG 通道。 该 JTAG 多路复用器通常比 JTAG 连接器占用更少的电路板空间,但简化了组件隔离和提高访问效率所需的扫描路径的组织。

例如,开发人员可能希望将来自不同供应商的 FPGA 隔离在不同的扫描链中,以简化使用每个供应商提供的工具访问 JTAG 的过程。 此外,我们可能还希望将微处理器放在单独的扫描链中,以便在使用仿真工具调试软件或在闪存中编写程序时最大限度地提高微处理器的速度。 ATPG制造商为这些设备提供了良好的支持,因此软件支持通常很简单,并且提供直接的交钥匙解决方案。

图 2:第三代 J:将 JTAG 总线扩展到整个背板以连接多个板。

当今的第二代设计都具有单个 JTAG 访问点。 在这一基本配置中,整个板的所有模拟、配置和 1149.1 测试都可以在一个测试站(测试)上一次插入完成,并使用基于 PC 的系统实现。

在此阶段出现了一种新的 JTAG 总线应用 - 一种可以在整个产品生命周期中利用 JTAG 访问功能的应用。 例如,可以存档整个板级矢量图像,以便在需要现场服务时可以对板进行重新编程或调试。 相同的访问功能还可用于现场 FPGA 固件升级,或诊断 FRU(现场可更换单元)中的问题。 返回制造商进行故障分析的设备也可以利用同一组矢量图(以及制造商或开发测试站)来隔离问题。

如果说这一代 JTAG 应用程序有一个缺点,那就是开发团队通常具有单板思维。 人们普遍认为设计团队的责任仅限于其设计的电路板及其接口。 但是,如果第三代JTAG不能开发出来,那么这个JTAG应用就会出现瓶颈,限制使用JTAG实现多板的能力。

第三代JTAG应用

当 JTAG 功能可以在系统级用于背板上的多个板时,就实现了下一代 JTAG 访问。 在这种环境下,单板级JTAG功能仍然可以独立实现,也可以利用板间功能。 这一代的JTAG应用不仅促进了单板上不同规则的设计团队之间的合作,而且还促进了整个系统中不同板设计团队之间的合作。 如果在上一代 JTAG 应用中使用 JTAG 多路复用器,则该多路复用器支持多点访问。 使用寻址方案,串行 JTAG 总线可用于多点配置,为多个板提供支持。 一旦JTAG可以访问背板上的多个板卡,就可以实现系统级配置或编程(例如,JTAG可以并行访问多个板卡)。

如果驱动器/接收器对允许 JTAG 可访问的全速 BIST(内置自测试),也可以测试板之间的背板互连,或者可以验证板之间的高速 LVDS 串行链路,那么您可以测试板之间背板互连的完整性,或验证板之间的高速 LVDS 串行连接。 或者,如果这些高速互连是电容耦合的并且驱动器/接收器支持它,则可以执行 IEEE 1149.6 测试。

所有这些 JTAG 功能都可以使用与第二代相同的设备(基于 PC 的 JTAG 站)来实现。 这个基于 PC 的 JTAG 站充当 JTAG 主设备,并通过一组单独的电线连接到背板上的 JTAG 连接器。 该主控器件负责驱动测试向量并管理整个背板上的器件对JTAG功能的访问。

第三代JTAG应用中添加的最有趣的新功能之一是,在系统运行时可以通过此边带()JTAG通道访问整个系统。 拥有此功能可以实现许多系统级功能,例如在线“健康”监控、故障预测、故障检测、故障插入(用于故障转移测试或冗余测试)和诊断。

第四代JTAG应用

当测试向量的传输和管理发生在系统内部时,JTAG的应用达到了最高水平,即第四代。 第四代 JTAG 应用使用板载 JTAG 主控制器来驱动背板 JTAG 总线。 同时,板载存储器还用于存储测试向量,并使用微处理器来驱动JTAG主控制器。 多板系统级主控制器可以位于单独的板上,也可以在每块板上设置一个主控制器以增强控制性能。

到了第四代,前几代JTAG应用的所有功能都可以远程实现,包括编程、配置、互连测试和诊断,从而大大降低了现场服务和支持的成本。 当现场系统的固件需要升级时,新的配置文件直接下载到JTAG主控制器,然后JTAG主控制器通过背板JTAG总线发送到目标设备。 当然,只要在生产过程中禁用主控制器,仍然可以使用基于PC的JTAG访问站,这进一步增强了灵活性,并在各个集成级别提供了最多的访问选项。

JTAG 访问可以从外部或内部启动,也可以通过某些系统事件(例如系统上电或电源复位)启动。

本文摘要

迄今为止,JTAG采用和集成的最大障碍是认识到基于多种开发规则的策略的必要性以及管理人员相信这种策略可以带来经济效益。 一旦采取了这一步骤,并且采用了 ATPG 支持和 JTAG 复用器件,就可以更轻松地逐步、逐代地评估或实现新的 JTAG 功能。 此外,如果开发团队能够借鉴之前应用JTAG的经验,就可以更好地利用JTAG总线。

增加JTAG结​​构的复杂性并不一定会成为系统的负担。 相反,它可以充分利用JTAG作为现代复杂电子系统广泛支持的系统级测试、编程、配置和健康监测。 行业标准方法的全部价值。