Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

利用JAVA对STDF文件进行分析 PDF 下载


分享到:
时间:2020-09-06 08:43来源:http://www.java1234.com 作者:小锋  侵权举报
利用JAVA对STDF文件进行分析 PDF 下载
失效链接处理
利用JAVA对STDF文件进行分析 PDF 下载

 
本站整理下载:
 
相关截图:
 
主要内容:

 引言 随着半导体测试工业的发展, 许多供应商提供网络化的系统 以弥补测试系统自身并帮助用户获得更多利润。许多的网络化系 统需要用到一些标准, 比如 Ethernet。但是我们还缺少一种标准, 那 就是测试数据的兼容性。Teradyne 公司已经开发出来一种简单、灵 活的测试数据格式- STDF(Standard Test Data Format) 。我们可以很 容易的把目前现有的测试结果数据文件转化成 STDF 文件。 STDF 文件是一种二进制文件。我们不能直接看到里面的数 据。所以我们首先需要了解 STDF 文件的结构。STDF 文件是由各 种数据记录组成。每一个数据记录含有头信息和数据本身。其中 头信息又包括数据长度( 占 2 个字节) 、数据类型( 占 1 个字节) 和 子类型( 占 1 个字节) 。在头信息中数据类型和子类型是成对的出 现的整数。我们可以根据他们的组合找出这种数据记录的含义。 比如 FAR(文件属性数据)的代码是 0 和 10, MRR(主要结果数据) 的代码是 1 和 20。所有的代码都是十进制的整数。一个文件必须 含有一个 FAR, MIR, PCR, MRR, 其他数据记录都是可选的。某些 数据记录的在文件中的顺序是有定义的。例如: FAR – MIR FAR – ATRs – MIR FAR – MIR – RDR FAR – ATRs – MIR – RDR FAR – MIR – SDRs FAR – ATRs – MIR – SDRs FAR – MIR – RDR – SDRs FAR – ATRs – MIR – RDR – SDRs 在文件中第一个记录必须是 FAR, 然后是一个或多个 ATR ( ATR 是可选的) , MIR 跟在 FAR 后面或 ATR 后面, RDR 在 MIR 后面(RDR 是可选的) , 一个或多个 SDR 跟在 MIR 后面或 RDR 后 面。每一种数据类型所包含的数据信息也是预先定义的, 比如 FAR 的数据由 CPU_TYPE( 一个字节) 和 STDF_VER( 一个字节) 组成。针对 STDF 这种二进制文件结构, 如果我们想获得并分析文 件中的信息, 我们必须通过程序来实现。首先我们可以先定义一 个基类 STDFRecord, 在 STDFRecord 类中定义一些最基本的信 息。 然后再定义各种数据类型的子类, 比如 FARRecord、MR- RRecord。下面是 FARRecord 类的定义: public class FARRecord extends STDFRecord{ public int cpuType ; public int stdfVer ; public FARRecord(ByteBuffer in, int recordLength) { try { if(currentPosition+1>recordLength) { in.position(in.position()+recordLength- currentPosition); return; } cpuType = in.get() & 0xff; currentPosition++; stdfVer = in.get() & 0xff; currentPosition++; } } 在上面 FARRecord 类中, 我们是通过移动文件指针来获得数 据 cpuType 和 stdfVer。各种数据类型都可以参考上面的例子建立 各自的数据类。 最后我们写主程序去处理 STDF 文件。先读取文件: infile=new FileInputStream(stdffile).getChannel(); fileSize=(int) infile.size(); in = infile.map (FileChannel.MapMode.READ_ONLY, 0, file- Size);然后读取数据记录的头信息: STDFRecord record = null; int recordLength = (int) (in.getShort() & 0xffff); int recordType = (int) in.get() & 0xff; int recordSubType = (int) in.get() & 0xff; record = readSTDFRecord(recordLength, recordType, recordSub- Type);最后对数据类型进行判断并调用相应的数据类进行处理 private STDFRecord readSTDFRecord (int recordLength, int recordType, int recordSubType) throws BufferUnderflowException { try { 收稿日期: 2007- 01- 23 作者简介: 郑立钧( 1975- ) , 男, 天津市人, 飞思卡尔半导体( 中国) 有限公司系统分析师, 研究方向: 计算机集成制造。 利用 J AVA 对 STDF 文件进行分析 郑立钧 ( 天津大学, 天津, 300170) 摘要: STDF 文件格式是一种简单并条理分明的标准, 利用它可以在半导体测试工序中分享和交换测试数据。通过对文件标准的基 本结构的了解, 可以使用 JAVA 程序来实现读取文件中的数据。 关键词: 标准测试数据格式; JAVA; 自动测试设备 中图分类号: TP31 文献标识码: A 文章编号: 1009- 3044(2007)04- 11017- 02 STDF file analysis with JAVA ZHENG Li- Jun (Tianjin University, Tianjin 300170,China) Abstract:The Standard Test Data Format is a single, coherent standard also facilitates the sharing and communicating of the data among these various components of the complete ATE system。This pages explain what is the STDF format and give sample JAVA program to show how to extract data from STDF file。 Key words:STDF;JAVA;ATE 1017
开发研究与设计技术 本栏目责任编辑: 谢媛媛 电脑知识与技术 switch(recordType) { case 0: // STDF info records switch(recordSubType) { case 10: FARRecord new_record = new FARRecord(in, recordLength); return (new_record); case 20: return (new ATRRecord(in, recordLength)); }.. .. ..} 通过以上的程序我们只是做到了简单去读取 STDF 文件中的信 息。如果想深入分析其中的内容, 我们还需要更多的程序去实现。 参考文献: [1]Teradyne, Standard Test Data Format(STDF) Specification[S]. [2]Brett Spell.Java 高级编程 (第 2 版)[M]. 清华大学出版社, 2006( 11) . [3]( 美) 阿诺德, ( 美) 高斯林, ( 美) 霍姆斯著.Java 程序设计语 言[M].人民邮电出版社, 2006( 5)

 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐