几种电路设计重要规则及实用提示
跟着微型化程度不断进步,组件和布线技术也取得巨大发展,例如 BGA 外壳封装的高集成度的微型 IC ,以及导体之间的绝缘间距缩小到 0.5mm ,这些仅是其中的两个例子。电子组件的布线设计方式,对以后制作流程中的测试能否很好进行,影响越来越大。下面先容几种重要规则及实用提示。
通过遵守一定的规程( DFT-Design for Testability ,可测试的设计),可以大大减少出产测试的预备和实施用度。这些规程已经由多年发展,当然,若采用新的出产技术和组件技术,它们也要相应的扩展和适应。跟着电子产品结构尺寸越来越小,目前泛起了两个特别惹人注目的题目︰一是可接触的电路节点越来越少;二是像在线测试( In-Circuit-Test )这些方法的应用受到限制。为了解决这些题目,可以在电路布局上采取相应的措施,采用新的测试方法和采用立异性适配器解决方案。第二个题目的解决还涉及到使原来作为独立工序使用的测试系统承担附加任务。这些任务包括通过测试系统对存储器组件进行编程或者实行集成化的元器件自测试( Built-in Self Test , BIST ,内建的自测试)。将这些步骤转移到测试系统中去,总起来看,仍是创造了更多的附加价值。为了顺利地实施这些措施,在产品科研开发阶段,就必需有相应的考虑。
1 、什么是可测试性
可测试性的意义可理解为︰测试工程师可以用尽可能简朴的方法来检测某种组件的特性,看它能否知足预期的功能。简朴地讲就是︰
l 检测产品是否符合技术规范的方法简朴化到什幺程度?
编制测试程序能快到什幺程度?
发现产品故障全面化到什幺程度?
接入测试点的方法简朴化到什幺程度?
为了达到良好的可测试必需考虑机械方面和电气方面的设计规程。当然,要达到最佳的可测试性,需要付出一定代价,但对整个工艺流程来说,它具有一系列的好处,因此是产品能否成功出产的重要条件。
2 、为什么要发展测试友好技术
过去,若某一产品在上一测试点不能测试,那幺这个题目就被简朴地推移到直一个测试点上去。假如产品缺陷在出产测试中不能发现,则此缺陷的识别与诊断也会简朴地被推移到功能和系统测试中去。
相反地,今天人们试图尽可能提前发现缺陷,它的好处不仅仅是本钱低,更重要的是今天的产品非常复杂,某些制造缺陷在功能测试中可能根本检查不出来。例如某些要预先装软件或编程的组件,就存在这样的题目。(如快闪存储器或 ISPs ︰ In-System Programmable Devices 系统内可编程器件)。这些组件的编程必需在研制开发阶段就计划好,而测试系统也必需把握这种编程。
测试友好的电路设计要费一些钱,然而,测试难题的电路设计费的钱会更多。测试本身是有本钱的,测试本钱跟着测试级数的增加而加大;从在线测试到功能测试以及系统测试,测试用度越来越大。假如跳过其中一项测试,所耗用度甚至会更大。一般的规则是每增加一级测试用度的增加系数是 10 倍。通过测试友好的电路设计,可以及早发现故障,从而使测试友好的电路设计所费的钱迅速地得到补偿。
3 、文件资料怎样影响可测试性
只有充分利用组件开发中完整的数据资料,才有可能编制出能全面发现故障的测试程序。在很多情况下,开发部分和测试部分之间的紧密亲密合作是必要的。文件资料对测试工程师了解组件功能,制定测试战略,有无可争议的影响。
为了绕开缺乏文件和不甚了解组件功能所产生的题目,测试系统制造商可以依赖软件工具,这些工具按照随机原则自动产生测试模式,或者依赖非矢量比拟,非矢量方法只能算作一种权宜的解决办法。
测试前的完整的文件资料包括零件表,电路设计图数据(主要是 CAD 数据)以及有关务组件功能的具体资料(如数据表)。只有把握了所有信息,才可能编制测试矢量,定义组件失效样式或进行一定的预调整。
某些机械方面的数据也是重要的,例如那些为了检查组件的焊接是否良好及定位是否所需要的数据。最后,对于可编程的组件,如快闪存储器, PLD 、 FPGA 等,假如不是在最后安装时才编程,是在测试系统上就应编好程序的话,也必需知道各自的编程数据。快闪组件的编程数据应完整无缺。如快闪芯片含 16Mbit 的数据,就应该可以用到 16Mbit ,这样可以防止曲解和避免地址冲突。例如,假如用一个 4Mbit 存储器向一个组件仅仅提供 300Kbit 数据,就可能泛起这种情况。当然数据应预备成流行的尺度格局,如 Intel 公司的 Hex 或 Motorola 公司的 S 记实结构等。大多数测试系统,只要能够对快闪或 ISP 组件进行编程,是可以解读这些格局的。前面所提到的很多信息,其中很多也是组件制造所必需的。当然,在可制造性和可测试性之间应明确区别,由于这是完全不同的概念,从而构成不同的条件。
4 、良好的可测试性的机械接触前提
假如不考虑机械方面的基本规则,即使在电气方面具有非常良好的可测试性的电路,也可能难以测试。很多因素会限制电气的可测试性。假如测试点不够或太小,探针床适配器就难以接触到电路的每个节点。假如测试点位置误差和尺寸误差太大,就会产生测试重复性不好的题目。在使用探针床配器时,应注意一系列有关套牢孔与测试点的大小和定位的建议。
5 、最佳可测试性的电气条件前提
电气条件前提对良好的可测试性,和机械接触前提一样重要,两者缺一不可。一个门电路不能进行测试,原因可能是无法通过测试点接触到激活输入端,也可能是激活输入端处在封装壳内,外部无法接触,在原则上这两情况同样都是不好的,都使测试无法进行。在设计电路时应该留意,凡是要用在线测试法检测的组件,都应该具备某种机理,使各个组件能够在电气上绝缘起来。这种机理可以借助于禁止输入端来实现,它可以将组件的输出端控制在静态的高欧姆状态。
固然几乎所有的测试系统都能够逆驱动( Backdriving )方式将某一节点的状态带到任意状态,但是所涉及的节点最好仍是要备有禁止输入端,首先将此节点带到高欧姆状态,然后再“平缓地”加上相应的电平。
同样,节拍发生器老是通过激活引线,门电路或插接电桥从振荡器后面直接断开。激活输入端决不可直接与电路相连,而是通过 100 欧姆的电阻与电路连接。每个组件应有自己的激活,复位或控制引线脚。必需避免很多组件的激活输入端共享一个电阻与电路相连。这条规则对于 ASIC 组件也合用,这些组件也应有一个引线脚,通过它,可将输出端带到高欧姆状态。假如组件在接通工作电压时可实行复位,这对于由测试器来引发复位也长短常有匡助的。在这种情况下,组件在测试前就可以简朴地置于划定的状态。
不用的组件引线脚同样也应该是可接触的,由于在这些地方未发现的短路也可能造成组件故障。此外,不用的门电路往往在以后会被利用于设计改进,它们可能会改接到电路中来。所以同样重要的是,它们从一开始就应经由测试,以保证其工件可靠。
6 、改进可测试性
使用探针床适配器时,改进可测试性的建议
套牢孔 呈对角线配置
定位精度为± 0.05mm (± 2mil )
直径精度为± 0.076/-0mm ( +3/-0mil )
相对于测试点的定位精度为± 0.05mm (± 2mil )
离开组件边沿间隔至少为 3mm
不可穿通接触
测试点
尽可能为正方形
测试点直径至少为 0.88mm ( 35mil )
测试点大小精度为± 0.076mm (± 3mil )
测试点之间距离精度为± 0.076mm (± 3mil )
测试点距离尽可能为 2.5mm
镀锡,端面可直接焊接
间隔组件边沿至少为 3mm
所有测试点应可能处于插件板的背面
测试点应平均布在插件板上
每个节点至少有一个测试点( 100 %信道)
备用或不用的门电路都有测试点
供电电源的多外测试点分布在不同位置
组件标志
标志文字统一方向
型号、版本、系列号及条形码明确标识
组件名称要清楚可见,且尽可能直接标在组件近旁
7 、关于快闪存储器和其它可编程组件
快闪存储器的编程时间有时会很长(对于大的存储器或存储器组可达 1 分钟)。因此,此时不容许有其它组件的逆驱动,否则快闪存储器可能会受到损害。为了避免这种情况,必需将所有与地址总线的控制线相连的组件置于高欧姆状态。同样,数据总线也必需能够被置于隔绝状态,以确保快闪存储器为空载,并可进行下步编程。
系统内可编程组件( ISP )有一些要求,如 Altera , XilinX 和 Lattuce 等公司的产品,还有其它一些特殊要求。除了可测试性的机械和电气条件前提应得到保证外,还要保证具有编程和确证数据的可能性。对于 Altera 和 Xilinx 组件,使用了连串矢量格局( Serial Vector Format SVF ),这种格局近期几乎已发展成为产业尺度。很多测试系统可以对这类组件编程,并将连串矢量格局( SVF )内的输入数据用于测试信号发生器。通过边界扫描键( Boundary-Scan-Kette JTAG )对这些组件编程,也将连串数据格局编程。在汇集编程数据时,重要的是应考虑到电路中全部的组件链,不应将数据仅仅还原给要编程的组件。
编程时,自动测试信号发生器考虑到整个的组件链,并将其它组件接入旁路模型中。相反, Lattice 公司要求用 JEDEC 格局的数据,并通过通常的输入端和输出端并行编程。编程后,数据还要用于检查组件功能。开发部分提供的数据应尽可能地便于测试系统直接应用,或者通过简朴转换便可应用。
8 、对于边界扫描( JTAG )应留意什么
由基于复杂组件组成精细网格的组件,给测试工程师只提供很少的可接触的测试点。此时也仍旧可能进步可测试性。对此可使用边界扫描和集成自测试技术来缩短测试完成时间和进步测试效果。
对于开发工程师和测试工程师来说,建立在边界扫描和集成自测试技术基础上的测试战略肯定会增加用度。开发工程师必定要在电路中使用的边界扫描组件( IEEE-1149.1- 尺度),并且要想法使相应的详细的测试引线脚可以接触(如测试数据输入 -TDI ,测试数据输出 -TDO ,测试钟频 -TCK 和测试模式选择 -TMS 以及 ggf. 测试复位)。测试工程师给组件制定一个边界扫描模型( BSDL- 边界扫描描述语言)。此时他必需知道,有关组件支持何种边界扫描功能和指令。边界扫描测试可以诊断直至引线级的短路和断路。除此之外,假如开发工程师已作划定,可以通过边界扫描指令“ RunBIST ”来触发组件的自动测试。尤其是当电路中有很多 ASICs 和其它复杂组件时,对于这些组件并不存在惯常的测试模型,通过边界扫描组件,可以大大减少制定测试模型的用度。
时间和本钱降低的程度对于每个组件都是不同的。对于一个有 IC 的电路,假如需要 100 %发现,大约需要 40 万个测试矢量,通过使用边界扫描,在同样的故障发现率下,测试矢量的数量可以减少到数百个。因此,在没有测试模型,或接触电路的节点受到限制的前提下,边界扫描方法具有特别的优胜性。是否要采用边界扫描,是取决于开发利用和制造过程中增加的本钱用度。衽边界扫描必需和要求发现故障的时间,测试时间,进入市场的时间,适配器本钱进行权衡,并尽可能节约。在很多情况下,将传统的在线测试方法和边界扫描方法混合盐业的方案是最佳的解决方式。