3070测试程式开发流程SOP讲解.docx
- 文档编号:3285632
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:26
- 大小:1.31MB
3070测试程式开发流程SOP讲解.docx
《3070测试程式开发流程SOP讲解.docx》由会员分享,可在线阅读,更多相关《3070测试程式开发流程SOP讲解.docx(26页珍藏版)》请在冰豆网上搜索。
3070测试程式开发流程SOP讲解
3070测试程式开发流程(SOP)
一、准备
收集资料,进行易测性,可行性分析,制定測試策略
Step1:
收集資料
做程式前,我们需要收集的资料有:
1.CAD文件
2.BOM
3.PowerSupplySpec
4.ICDatasheets
5.3070可用的Library測試文件(系統自帶的或前人編寫的
6.3070機台配置文件Config
7.PCB電路圖
8.1pcs光板
9.5~10pcs好的板子
[相关名词解释]
1.CAD文件:
PCB板電路設計的一種數據文件,由CADTools生成
2.BOM:
BillofMaterials,料單文件,詳細描述了裝在板子上的元件的種類,數量,規格,根據BOM我們可以知道元件有沒有裝.
3.PowerSupplySpec:
提供機種上電時的電壓,電流和順序等信息
4.ICDatasheets:
詳細描述各種元件的數據表文件
Step2:
定義測試需求和策略
[目的]:
測試的目標是提高FaultCoverage,然而又受到客戶的要求,測試成本和時間的制約,為此,我們需要制定最佳的測試策略
[策略制定]:
1、對元器件合理歸類,選擇適合的測試方法,合理分配測試資源
在”board”文件里有元件测试分类标签,我们应该根据元件和板子的特性选择合适的测试分类,如图1-1
一般原则:
(1)pinnum>3的元件要放在pinlibrary里测,要写library文件
(2)resistor阻值<6ohm的作为jumperclosed测,阻值>10M的作为jumperopen测
(3)inductance一般可作为jumperclosed测
(4)电路图里有而Bom里没有的resistor或capacitor可作jumperopen测,预留资源;IC要做library测,时间紧的话写个setup即可,以后可以完善vector测试部分
图1-1分类标签
2、其他特殊的功能測試,比如FlashProgramming,etc,一般用不到
3、義fixture的類型和選項,比如fixturesize的选择:
Fullorbank2,根据测点
数选择,可以在”board”文件里全局设置里定义,如图
1-2.
图1-2“board”全局设置
4、義其它測試流程需要,比如連接到MES(SFCS系統
可以在testplan里添加上抛系统并定义上抛路径,如图1-3
图1-3SFCS系统连接路径设置
二、开发
1、轉換CAD
文件,得到“board”和“board_xy”
图2-1CAMCAD
Step1:
打开CAMCAD,如图2-1,导入原始设计档,弹出如图
1-4
图2-2导入文件选择
选择”FABMASTERFATFRead”,导入原始档FAT文件。
Step2:
DFT分析
1.TestAtrributeAssignment
2.DFTOutlineGeneration
3.AccessAnalysis
Step3:
导入用BOMEXPLORER整理好的BOM表,转出得到board和board_xy文件。
2、完成對board文件信息的描述
用BoardConsultant描述
Step1:
在BT-Basic窗口中输入”boardcons”,打开BoardConsultant,如图2-3:
图2-3BoardConsultant
Step2:
选择View/EditTestSystemData,如图2-4:
图2-4View/EditTestSystemData
Step3:
对系统参数进行设置
1.FixtureOption的設置,一般默认,如图2-5
主要是对Fixture的类型,尺寸,绕线,探针的属性进行设置,一般FixtureType设置为Express,即使用短绕线算法;size设置为Bank2,即用到Module2andModule3,其他默认设置即可
图2-5FixtureOption设置
2、IPGGlobalOption的设置,如图2-6
主要是对IPG程序智能算法的设置,有:
ToleranceMultiplier:
测量算法的精度,一般选3或5,数字越大,精度越低
测Diode,Zener的安全电流设置
RemoteSensing:
是否使用a,b,lBus辅助测量,提高精度
CapacitorCompensation:
小电容是否需要补偿(on/off
UpstreamDisable:
是否使用Disable,保护上流IC
PreconditionLevel:
Safeguard级数的设置
各类测量bus的固有电阻,电感大小的设置
Agilent测量技术的启用和设置:
BoundScanTest、DriveThruTest、MagicTest、etc
图2-6IPGGlobalOption设置
3、familyoption的设置,如图2-7
对电路图中用到的电平逻辑进行定义,规定drivehigh、drivelow、receivehigh、
receivelow、slewrate,
负载电阻类型,默认逻辑。
图2-7familyoption的设置
4、GPRelay的设置,如图2-8ControlCard中有8对GPRelay资源,用来引导驱动来控制IC
动作
图2-8GPRelayoption的设置
5、FixedNodeOptions的设置,如图2-9电路中有些点的电平是固定的,我们要定义它们为FixedNode
图2-9FixedNodeOptions的设置
6、powernodeoption的设置,如图2-10
在powertest时,我们需要给板子上电,所以要定义powernode,一般可以定义几组,以得到较大的驱动电流。
我们用的3070系统提供4组电源,所以在定义时需说明用了第几组,在PS#里定义,这里我用了第3组
图2-10Powernodeoption的设置
7、LibraryOption的设置,如图2-11设置library文件的路径,一般定义custom_lib
为用户自定义库文件目录
图2-11LibraryOption的设置
8、boardLeveldisable的设置,如图2-12
在上电测试中,可能需要使一些IC停止工作,我们就可以在这设置disable条
件,使它们输出高阻抗,停止工作
图2-12boardLeveldisable的设置
Step4:
合理归类元件,编写pinlibrary和digitalsetuptest
1.
2.在BT-basic中输入partforms,打开PartDescriptionEditor,如图2-13:
PDE是用来对电阻、电容、电感、二极管、三级管、场效应管、跳线、开关、熔丝等测试进行描述的工具,定义时应该参照电路图,准确无误的描述各pin脚的连接,尤其是极性元器件的描述(Diode、Zener、FET、Transistor、etc
3.在BT-basic中输入setuptesteditor,将打开SetupEditor,如图2-14:
SetupEditor是用来为数字器件测试建立setuptest,描述引脚连接,类型,disable信息等等,目的是为测试预留资源.Vector测试部分可以有时间补上去.要注意的是类型定义不能有误.
对模拟器件和数字器件的描述,保存为library文件于Custom_lib中.
结合BOM文件,按照测试策略的分类一般原则,对”board”文件中的元件合理分类,选择测试方法,比如用library测还是用Testjet测,还是both,等等
图2-13PartDescriptionEditor的设置
图2-14SetupEditor
Step5:
BoardOutline(如图2-15和BoardKeepOut(如图2-16的定义
BoardOutline定义板子的边线,outline包含的区域里的资源我们是无法使用的。
BoardKeepOut定义Testjet预留区域的大小,可以自动捕获,也可以手动定义。
图2-15BoardOutline
图2-16BoardKeepOut
Step6:
编译board和board_xy文件,检查错误
1.在BT-basic窗口里输入checkboard“board”和checkboardxy“board_xy”,没
有错误,可以进行下一步
2.在BT-basic窗口里输入com“config”,com“board”;list和com“board_xy”;list,
编译,确保没有错误.
如果有问题,根据buglist查找error,并解决问题
如果没有问题,则board文件描述结束,可以进入下一步
3、BoardPlacement&ProbeSelection
Step1:
在BT-Basic里输入fixcons,打开fixtureconsultant如图
2-17:
图2-17fixconsultantStep2:
选择Tasks|PlaceBoard,如图
2-18:
:
图2-18PlaceBoard
Step3:
在弹出的BoardPlacementForm里输入放板位置坐标和旋转角度,选择ShowPlacementonMainForm,完成放板。
如图2-19:
图2-19BoardPlacement
我们也可以用鼠标拖动MainForm里的板子,放到适合的位置。
Step4:
选择EstimateBlockedPins,察看有哪些pins资源被挡到了,如果问题比较多,可以重做Step3,然后再做Step4,直到满意为止。
如图2-20:
图2-20Blockedpins
Step5:
Update后,选择Tasks|RunProbeSelection,执行ProbeSelection,如图
2-21:
图2-21Update&RunProbeSelectionStep6:
确认ConfirationDialog后,程序将执行ProbeSelection,如图2-22:
图2-22Confirmation&ProbeSelectiondone
4、跑IPGTestConsultant,生成測試文件和治具文件
Step1:
在BT-basic窗口下按F6,打开IPGTestConsultant,如图
2-23:
图2-23IPGConsultant
Step2:
选择Actions|DevelopBoardTest,然后是Actions|BeginInteractiveDevelopment,进行人机交互式开发,StepbyStep,如图
2-24:
图2-24ActionsSelectionStep3:
按照TestDevelopmentSteps流程,StepbyStep执行:
如图2-25:
图2-25StepbyStep
Step4:
IPGConsultantMessages窗口会显示当前步骤的执行结果,如果遇到错误,程序会挂起,我们需要根据错误提示,寻找问题,解决错误,然后重新执行这一步,直到所有Steps顺利完成。
如图
2-26:
图2-26Execution
5、送Fixture文件到治具厂做治具
将生成的fixture文件打包发给治具厂商制作治具
6、修改Testplan
1.添加Smartest參數
2.添加sfcs參數
3.修改電源上電順序
4.添加gprelay开关命令,控制上電和disable動作
7、補充完成SetupTest文件,使其完整
对照电路图和ICSpec,用VCL或PCF语言编写数字测试的Vector测试部分,使其具有测试功能.如图2-27:
图2-27VCLLanugage
三、Debug和优化程式,生成测试覆盖率报告
1.FixtureCheck
治具做好后,我们要对其进行检查,确保没有错误
Step1:
在BT-Basic窗口中输入loadboard|debboard,打开PushbuttonDebug窗口,如图3-1
Step2:
将铜板放入治具,选择Macros|TestplanMacros|pins,结果为shortOK;如果有Open,应该检查Probe、治具绕线是否有open或P-pin和M-pin是否接触不良,可以重复运行fixlock|fixunlock,使治具与机台contact无误。
Step3:
将光板放入治具,选择Macros|TestplanMacros|shorts,结果为OpenOK,如果有short,应该檢查fixturewiring是否有Short。
Step4:
放入一块好板,在BT-basic窗口中输入faon|verifyallmuxcards,如果没有问题,OK,否则,要检查MuxCard
Step5:
放一块好板,在PushbuttonDebug里选择Debug|DebugTest…,弹出的对话框中输入Testjet,然后选择AutoDebug|AutoDebugTest,让VTEP自动学值,如果出现0或负值,请检查VTEP的放大器和极性
Step6:
視檢,檢查治具的Probe是否OK、彈簧是否沾牢固、Tooling孔径是否适合,治具边框、密封垫圈和油压杆是否OK,等等。
图3-1PushbuttonDebug
2、Debug并优化程式
在确保治具没有问题的前提下,我们用好的板子进行程式的Debug和优化。
Step1:
DebugShortstest
1、放入好板,在Debug窗口中选择Macros|TestplanMacros|shorts,遇到PhantomShorts,应该在short文件里调整相应的测试顺序和delaytime,直到没有PhantomShorts出现.
2、调完shorts后,应该comment掉reportphantoms
Step2:
上電確保powerwiring是正確的
在确保没有short的情况下,选择Macros|TestplanMacros|PowerSupplies,检查powerwiring是否正确,保證連到ARSU卡上的powerwiring是OK的,可以在Testplan里用rps命令报告供电电压和电流是否到位。
Step3:
DebugAnalogIncircuitTest
1、DebugResistors
2、DebugCapacitors
3、DebugInductors
调Analog时应该结合电路图和Bom,适当的加Guarding和参数选项,比如wait,ed,en等等,合理调整上下限和frequence,一个原则是:
测试稳定。
Step4:
DebugtestjetTest
用AutoDebug学习好板子的值,然后用其他好板子验证,重复直到TestjetPass
Step5:
DebugDigitalIncircuittests
用gpconnect命令控制CPU或BUS动作,为一些数字测试提供测试条件用gpconnect命令控制Clock动作,为一些数字测试提供测试条件DebugDigtalIC
Step6:
DebugAnalogfunctionaltests
1.Debug晶振元件測試程序
2.Debug電源轉換IC的電壓測量程序
适当的用gpconnect命令控制这些IC动作,调用编写的power_check程序,检查转换的电压是否OK.如果Fail,仔细分析PowerSequenceSpec,了解上电顺序,然后用gpconnect命令重新驱动PowerIC工作,debugpower_check程序,直到OK.3.Debug運算放大器件測試程序Step7:
如果调试过程中,调不稳的测试,我们可以在Testplan里K掉
3、質量檢查
Step1:
打开PushbuttonDebug,运行Macros|TestplanGraderMacros|CreateGradingConfig,生成Config.bdg,分级质量检查的配置文件,如图
3-2:
图3-2Config.bdg
我们可以根据需要,设定QualityCheck的标准,比如运行次数、CPK值、阈值偏离中心的百分比,等等。
Step2:
运行Macros|TestplanGraderMacros|CreateGradingTestplan,生成
Testplan.bdg,如图
3-3:
图3-3Testplan.bdg
Step3:
运行Testplan.bdg,程序将自动检查各项测试,并生成测试报告。
我们将从报告中得知测试是否稳定可靠,哪些测试需要改进,从而提高程序质量。
4、生成測試覆蓋率報告
1、为了让自己清楚了解程式的测试覆盖率,我们可以选择PushbuttonDebug里的Macros|TestplanGraderMacros|GenerateTestCoverageReport宏命令,系统将自动生成覆盖率报告:
報告NOTTESTED零件、報告PARALLELTESTED零件、報告ICPin腳覆蓋率的百分比,etc.
2、有时候客户需要指定格式的覆盖率报告,我们需要根据testplan和testorder里的測試信息手动生成,如图3-4:
图3-4TestCoverageReport四、PASSYield的优化用做好的程式跑100pcs好板子,让程序学习各板子间的差异,适当修改程式,提高PASSYield,减少误判。
新程式做好后,需要一段学习和磨合的过程,来适应现场的复杂性和不确定性,ATE工程师需要配合着维护程式,逐步使其运行稳定。
ME3200ATEGumtreeSui1/21/200626
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3070 测试 程式 开发 流程 SOP 讲解