IC内置熔丝熔断方法
扫描二维码
随时随地手机看文章
1 引言
某些计量电路|0">电路为了防止工艺上电阻温度-阶温度因子的偏差,采用了熔丝结构以得到更精确的基准。在圆片测试时,可以根据电路实际基准点在一定范围内进行调整,使出厂电路的基准更加精确,一致性更好。可配置性也是半导体发展的一个方向。对于可编程电路,可根据市场的需求烧熔丝编程,使电路具有更强的适应性,而且熔丝是一次性编程,具有更强的安全性。一个优秀的测试程序应当有明显的模块化,简明有效、逻辑性强。这样的程序便于他人阅读理解和相互交流,也有利于调试过程中的修改调整。
2 熔丝熔断的硬件设计
2.1 硬件设计原理
熔丝是集成电路生产中所使用的一项重要技术。熔丝的结构如图1。
为了能提供足够大的瞬问电流,又保护PE卡不受损,我们设计的硬件方案使熔丝引线不接入测试仪的通道,而通过电容放电来提供熔断熔丝所需的瞬间大电流。电容的充电、放电由继电器来控制,而继电器的开启、闭合由测试仪通道(所选择通道由用户根据需要任意定义)提供电压来控制。原理图如图2。
在通常情况下,CH33和CH34默认值为0.0V。继电器RELAY1和RELAY2不工作。此时电容C1、C2接在VCC上进行充电。当将CH33设定为5.0V时,继电器RELAY1工作,电容C1与VCC脱开,转而跨接在熔丝FUSE1两端,电容C1放电,熔断熔丝FUSE1。而C2仍在充电。同样,如果将CH34设定为5.0V时,将熔断熔丝FUSE2。
2.2 硬件设计的优点
可以看出该设计具有如下优点:
(1)熔断熔丝时的大电流由电容产生,直接施加至熔丝两端。由于避丌了测试仪,所以电流不受测试仪额定电流的限制,不会对测试仪造成不良伤害。
(2)在特定时刻对特定电路进行测试时,该电路只可能是某一状态,也就是说只是执行众多熔丝方案中特定的一种。所以在特定时刻,各根熔丝只是选择熔断或保持两者之一,即相对应的电容最多只进行一次放电。由于在默认状态或者在执行其他参数测试或功能测试时,所有熔丝所对应的电容都处于充电状态,所以各个电容有足够的电量产生所需的大电流。同时硬件设计中采用一根熔丝对应一个继电器、一个电容,既可准确操作,相互之间又不会有任何影响。
(3)硬件设计中用继电器来选择电容是接在电源上充电或是跨接在熔丝两端放电。继电器的选通由相应的测试通道来控制。由于测试通道的状态可以在主程序中设定,又可以在测试矢量中进行驱动。所以该设计可以实现与参数测试或功能测试的相互兼容并友好交换。
3 熔丝调整基准
3.1 熔丝方案简介
表1所示是某电路的熔丝调节方案。其中Tosc表示所测振荡方波周期。“0”表示Oa-Ob间的熔丝不熔断,“1”表示Oa-Ob间的熔丝熔断。Tosc超出表1第一列所示范围则判为无效。调节精度为0.44μs/(一个最小调节单位)。
3.2 传统方法
在对芯片进行测试时,根据实际测得的频率值选择相应的熔丝方案,烧断所对应的熔丝,将所测试电路的基准进行一定量的调整,使基准趋于理想的范围。传统方法是机械地用if...else语句来编程,程序如下:
3.3 传统方法的弊端
就结果而言,该测试程序是正确的,完全可以达到技术要求。但我们可以发现程序如此编写的明显弊端:
(1)程序的编写相当繁琐,容易出错。就该产品而言,调整熔丝的可能方案共有32种。所以程序将会非常累赘。况且如此多的if...else语句通常足拷贝后对语句体进行相应的修改,而每种方案中会有0~5根不同组合的熔丝需要熔断,所以在编程过程中很有可能出现失误且不容易发觉。如此很有可能烧错熔丝,而熔丝是不可恢复的。这样的损失是无法弥补的。
(2)程序缺乏模块性,可读性差,不便于他人阅读理解和相互交流;在新品调试分析过程中修改、调整不便,操作灵活性差。
3.4 改进方法
对于复杂问题我们应当进行分析,设法找出其中的规律,针对规律没计出合理有效的方法。针对表1进行适当的调整,可以得表2。
由表2可以看出,如果将[O5-O6]、[O4-O5]、[O3-O4]、[O2-O3]、[O1-O2]五个元素组成的数组看作一个二进制数的值,则该值与COUNT整数部分的值是完全吻合的,而且是顺序递增的。所以可以考虑设一个变量OSC=(25.21-Tosc)/0.44,对OSC取整(COUNT=floor(OSC)),再将COUNT转化成二进制(ultoa(COUNT,V,2)),再对二进制变量进行扫描分析,对于为1的位进行熔丝烧断操作,对于为0的位不操作。这样就将对32种方案的分析转变成对5根熔丝的分析。具体程序如下:
3.5 结论
对比可以看出,传统方法虽然结果正确,但是仅适用于熔丝较少的情况。随着熔丝数目的增加,假设由5根增加为6根,那么熔丝方案就会由32种增加到64种,程序的长度就会呈指数倍数增加,不仅增加了编程的工作量,而且编程中出错的几率也会相应增加。而改进方法显然程序简洁,便于阅读、调试和分析;而且模块化、条理清晰,不易出错;熔丝数目的增加并不会使程序的篇幅明显增加。因而改进方法具有强大的适应能力,可以适用于大多数熔丝类产品。目前公司熔丝类产品基本都采用该方法,具有极大的实用价值。
4 熔丝编程
4.1 熔丝编程简介
可编程遥控编码电路,可应用于夜盗报警系统、汽车防盗系统、车库门控制系统、家庭/办公安全系统及个人报警系统。编码信号输入时序如图3所示。
4.2 熔丝编程方案难点
由于电路应用于安全系统,所以对各个电路的编码要求具有唯一性,也就意味着在测试时对各个电路要输入不同的测试码。而测试系统所调用的测试码在测试过程中是不能更改的,即便能找出方法对不同的电路调用不同的测试码,也不具可操作性。因为就拿本电路来说,它具有22根熔丝,即可支持多达222种地址码,不可能编写222个测试码来对222个电路分别编程。
4.3 熔丝编程解决方案
对此,可以先将测试码进行分割,测试码由22段组成,第1段烧第1根熔丝,第2段烧第2根熔丝,……,第22段烧第22根熔丝。再将22根熔丝看作是一个22位的数组。要烧制的代码取决于变量COUNT,测试时将COUNT转换成二进制变量,再对二进制变量进行扫描分析,对于为1的位调用相应段的测试码,烧断相应的熔丝,对于为0的位不操作。具体程序如下:
4.4 结论
该方案巧妙地解决了由于受测试系统的限制原本不便解决的问题。同时,由于变量COUNT的值存储于测试仪硬盘上的记录文件rec.txt,在每个电路测试开始时由程序oprec将COUNT的值读入机器内存中,在每个电路测试结束后将变量COUNT加一后再由程序clrec存入记录文什rec.txt。这样既可保证每个电路编码的唯一性,又可保护数据不会因突发事件而丢失,具有极强的安全性。
5 结束语
总而言之,写一个测试程序并不难。但IC市场是一个日新月异、竞争相当激烈的市场。所以作为一个优秀的测试软件工程师,应当能从测试仪硬件配置的实际情况出发,充分合理利用测试仪的有效资源,使测试程序模块化、同时具有很强的逻辑性和易读性,如此才能编写出能适应大规模生产的快捷有效的测试程序,充分满足市场的批量需求和客户的质量要求,提高公司的竞争力,缩减产品的生产成本,提高公司的利润值,为公司发展提供必要的保证。