联系我们
Leave Your Message

高速PCB设计指南:改进电路设计流程以提高可测试性方法

2024-06-26

改进电路设计流程以提高可测试性

随着小型化程度的不断提高,元件和布线技术取得了巨大的进步。例如,高度集成的微型化器件(例如,微型化器件)我知道了采用BGA封装的集成电路以及导体间绝缘间距缩小至0.5毫米只是其中的两个例子。电子元件的布线方式对后续生产过程中能否有效进行测试的影响越来越大。以下是一些重要的规则和实用技巧。

通过遵循某些指导原则(例如面向测试性的设计,即DFT),可以显著降低生产测试的准备和实施成本。这些指导原则经过多年的发展演变,当然,随着新的生产和组件技术的应用,它们也必须相应地进行扩展和调整。随着电子产品尺寸的不断缩小,出现了两个特别值得关注的问题:可访问的电路节点数量减少以及诸如在线测试(In-Circuit-Test)等方法的应用局限性。为了解决这些问题,可以在电路布局中采取相应的措施,采用新的测试方法,并利用创新的适配器解决方案。第二个问题的解决方案还涉及测试系统承担的额外任务,这些任务原本是作为独立流程使用的。这些任务包括对存储器组件进行编程或通过测试系统实现内置自测试(BIST)。将这些步骤转移到测试系统可以创造更大的整体附加值。为了成功实施这些措施,必须在产品研发阶段就做出相应的考虑。

1.什么是可测试性?
可测试性的含义可以理解为:测试工程师利用测试手段检测组件特性的能力。 SIM尽可能采用多种方法来确定它是否满足预期的功能需求。简而言之:

  • 检测产品是否符合技术规范的方法有多简单?
  • 测试程序的开发速度能有多快?
  • 产品缺陷检测的全面性如何?
  • 访问测试点的方法有多简化?
    为了实现良好的可测试性,必须同时考虑机械和电气设计准则。当然,实现最佳可测试性需要付出一定的成本,但它能为整个生产过程带来一系列益处,也是产品成功生产的重要前提。
  1. 为什么要开发便于测试的技术
    过去,如果产品在之前的测试点未能通过测试,问题就会被简单地推迟到下一个测试点。如果在生产测试期间无法检测出产品缺陷,缺陷的识别和诊断也会被简单地推迟到功能测试和系统测试阶段。
    相比之下,如今人们力求尽早发现缺陷,这不仅是因为成本更低,还因为如今的产品极其复杂,某些制造缺陷可能无法在功能测试中被检测到。例如,闪存或系统内可编程设备 (ISP) 等需要预装软件或编程的组件就属于这种情况。这些组件的编程必须在研发阶段就进行规划,测试系统也必须能够处理这种编程。
    虽然设计易于测试的电路需要一定的投入,但设计难以测试的电路成本可能更高。测试本身就需要成本,而且随着测试层级的增加而增加,从电路内测试到功能测试再到系统测试,成本都会上升。跳过任何一项测试都可能导致更大的成本。通常情况下,每增加一级测试的成本就会增加十倍。通过设计易于测试的电路,可以更早地检测到故障,从而迅速抵消设计易于测试的电路所带来的成本。

  2. 文档如何影响可测试性
    只有在组件开发过程中充分利用所有数据,才能制定出能够全面检测故障的测试程序。在许多情况下,开发部门和测试部门之间的密切合作至关重要。文档对于测试工程师理解组件功能和制定测试策略有着不可否认的影响。
    为了绕过因缺乏文档和对组件功能了解有限而造成的问题,测试系统制造商可以依靠基于随机原理自动生成测试模式的软件工具,或者依靠非矢量方法,但这只能被视为权宜之计。
    测试前的完整文档包括零件清单、电路设计图数据(主要为CAD格式)以及元件功能的详细信息(例如数据手册)。只有掌握所有信息,才能准备测试方案、定义元件故障模式或进行测试。射频或进行某些预先调整。
    某些机械数据也至关重要,例如用于检查焊接质量和元件定位所需的数据。此外,对于闪存、PLD、FPGA 等可编程元件,如果最终安装时未进行编程,则应在测试系统上进行编程。相应的编程数据也必须已知。闪存元件的编程数据应完整无误。例如,如果闪存芯片包含 16Mbit 的数据,则应能够使用 16Mbit 的数据,这样可以避免误解和地址冲突。例如,如果使用 4Mbit 的存储器仅向元件提供 300Kbit 的数据,则可能会出现这种情况。当然,数据应采用常用的标准格式,例如 Intel 的 Hex 或 Motorola 的 S 记录结构。大多数测试系统只要能够对闪存或 ISP 元件进行编程,就能解析这些格式。前面提到的许多信息对于元件制造也必不可少。当然,制造性和可测试性之间应该有明确的区分,因为这是完全不同的概念,因此构成了不同的前提。

  3. 机械接触条件的良好可测试性
    如果不考虑机械学的基本原理,即使是电气性能优异的电路,在实际测试中也可能遇到困难。许多因素都会限制电路的电气可测试性。如果测试点数量不足或尺寸过小,探针台适配器可能难以触及电路的每个节点。如果测试点的位置误差和尺寸误差过大,则可能导致测试重复性差。使用探针台适配器时,务必注意一系列关于锁扣孔和测试点尺寸及位置的建议。

  4. 实现最佳可测试性的电气前提条件
    对于良好的可测试性而言,电气前提条件与机械接触条件同等重要,两者都不可或缺。例如,如果门电路无法通过测试点访问起始输入端,或者起始输入端位于封装内部且无法从外部访问,则可能无法进行测试。原则上,这两种情况同样糟糕,都会阻碍测试的进行。在设计电路时,应注意任何需要在线测试的元件都应具备某种电气隔离机制。这种机制可以通过将可能控制元件输出端的输入端置于静态高阻态来实现。
    虽然几乎所有测试系统都可以通过反向驱动将节点的状态调整到任何状态,但最好先将节点置于高阻抗状态,然后再“轻轻地”添加相应的电平。
    同样,节拍发生器始终通过启动引线、门电路或插入式桥接器与振荡器直接断开。启动输入端绝不能直接连接到电路,而必须通过一个 100 欧姆的电阻连接到电路。每个元件都应该有自己的启动、复位或控制引脚。务必避免多个元件的启动输入端共用一个电阻连接到电路。这条规则同样适用于 ASIC 元件,ASIC 元件也应该有一个引脚,可以通过该引脚将输出拉高到高阻状态。如果元件在连接到工作电压时可以复位,这对于测试人员进行复位也非常有帮助。在这种情况下,只需在测试前将元件置于指定状态即可。
    未使用的元件引脚也应易于检修,因为这些区域未被发现的短路也可能导致元件损坏。此外,未使用的门电路通常用于未来的设计改进,并且可能会重新连接到电路中。因此,从一开始就对其进行测试以确保其可靠性也至关重要。

  1. 提高可测试性
    使用探针台适配器时提高可测试性的建议
    固定好孔
  • 对角线配置

  • 定位精度为±0.05mm±2mil

  • 直径精度为±0.076/-0mm +3/-0mil

  • 相对于测试点的定位精度为±0.05mm±2mil。

  • 距元件边缘的距离应至少为 3 毫米

  • 无直接联系

测试点

  • 尽可能方正
  • 测试点的直径应至少为 0.88 毫米(35 密耳)。
  • 测试点的尺寸精度为±0.076mm±3mil。
  • 测试点间距的精度为±0.076mm±3mil。
  • 测试点之间的间隔应尽可能接近2.5毫米。
  • 镀锡后,端面可直接焊接。
  • 距元件边缘的距离应至少为 3 毫米
  • 插件板背面应该可以进行所有测试。
  • 测试点应均匀分布在插件板上。
  • 每个节点至少有一个测试点具有 100% 的信道容量。
  • 测试点可用于备用或未使用的门电路。
  • 电源的多个外部测试点分布在不同位置。

组件识别

  • 标志上的文字方向一致
  • 清晰识别型号、版本、序列号和条形码
  • 组件名称应清晰可见,并尽可能直接标记在组件附近。
  1. 关于闪存和其他可编程组件
    闪存的编程时间有时可能非常长,对于大容量存储器或存储体,甚至可能长达 1 分钟。因此,此时不允许对其他组件进行反向驱动,否则可能会损坏闪存。为避免这种情况,所有连接到地址总线控制线的组件都必须置于高阻态。同样,数据总线也必须能够置于隔离状态,以确保闪存为空,并准备好进行下一步编程。
    对于系统内可编程组件 (ISP),例如 Altera、XilinX 和 Lattuce 等公司的产品,以及其他一些特殊要求,有一些要求需要满足。除了确保机械和电气方面的测试前提条件外,还必须确保能够对数据进行编程和验证。对于 Altera 和 Xilinx 组件,通常使用串行矢量格式 (SVF),该格式最近已成为行业标准。许多测试系统可以对这类组件进行编程,并使用 SVF 格式的输入数据来测试信号发生器。通过边界扫描 Kette JTAG 接口对这些组件进行编程,同样可以实现 SVF 格式的编程。在采集编程数据时,必须考虑电路中的整个组件链,而不仅仅是将数据恢复到待编程的组件。
    在编程过程中,自动测试信号发生器会考虑整个组件链,并将其他组件连接到旁路模型中。相反,Lattice 要求数据采用 JEDEC 格式,并通过常规的输入输出端口进行并行编程。编程完成后,数据还用于检查组件功能。开发部门提供的数据应尽可能便于测试系统直接应用,或者可以通过简单的转换来实现。
  2. 边界扫描 JTAG 时应注意哪些事项
    由复杂组件构成的精细网格元件,其可供测试工程师使用的测试点数量有限。尽管如此,目前仍有提升可测试性的空间。为此,可采用边界扫描和集成自测试技术来缩短测试完成时间并提高测试效率。
    对于开发工程师和测试工程师而言,基于边界扫描和集成自测试技术的测试策略无疑会增加成本。开发工程师必须在电路中使用符合 IEEE-1149.1 标准的边界扫描组件,并尽量使相应的特定测试引脚可访问,包括测试数据输入 (TDI)、测试数据输出 (TDO)、测试时钟频率 (TCK)、测试模式选择 (TMS) 以及 ggf 测试复位。测试工程师则需要为组件开发边界扫描模型(BSDL,即边界扫描描述语言)。此时,他们必须了解组件支持的边界扫描功能和指令。边界扫描测试能够诊断引脚级别的短路和开路故障。此外,如果开发工程师已做好准备,则可以通过边界扫描指令“RunBIST”触发组件的自动测试。尤其当电路中包含大量 ASIC 和其他复杂组件时,通常没有针对这些组件的通用测试模型。通过使用边界扫描组件,可以大幅降低开发测试模型的成本。
    对于每个组件而言,时间和成本的降低程度各不相同。对于包含集成电路的电路,如果需要100%的故障发现率,则大约需要40万个测试向量。通过使用边界扫描,在相同的故障发现率下,测试向量的数量可以减少到数百个。因此,在没有测试模型或电路节点访问受限的情况下,边界扫描方法具有独特的优势。是否采用边界扫描取决于开发、应用和制造过程中成本的增加。必须权衡边界扫描与故障发现所需时间、测试时间、上市时间和适配器成本之间的关系,并尽可能节省这些成本。在许多情况下,传统在线测试方法和边界扫描方法的混合解决方案是最佳选择。