利用LabVIEW开发平台和单片机实现集成芯片测试仪的设计

引言
在高校电子类专业实验教学中,数字集成电路的使用十分频繁。学生每年在实验、课程设计和课外创新等实践活动中,需要使用大量的数字集成芯片,用以完成各种实验和设计任务。每次实验用过的芯片,只要未受损坏,原则上是可以再利用的,可以节省不少的实验成本。为使芯片能够重复使用,需要有效的工具检测芯片的好坏,因为故障芯片会给电路调试造成很大的麻烦,导致时间和精力上毫无意义的浪费。一般来说,芯片故障的测试可以选择以下3种方案,即专用集成电路测试仪,功能较强,但价格较贵,不利于普及;逻辑分析仪,操作复杂,使用不便;自制集成芯片测试仪,可以依据个性化需求定制系统功能,且成本较低,利于推广。通过比较,选择第3种方案,即自制集成芯片测试仪解决实验室芯片的测试问题。
根据多年数字电路教学和实验方面的经验,学生在不熟悉芯片性能,缺乏对芯片逻辑和时序关系的感性认识的前提下,设计和调试时往往会遇到不少困难,容易挫伤学习的信心。因此,在确定集成电路测试仪功能时,要求其不仅能完成常规逻辑和时序验证功能,而且要具有简单的逻辑分析功能,学生可以自由设计激励数据,通过波形图观察相应结果。整个测试与分析过程方便、快捷、直观,学生在测试芯片的同时,可以尝试各种输入观察其逻辑时序关系,验证与自己的预期设想是否一致,加深对芯片功能和数字电路理论的理解。
1、系统结构
系统由上位机和测试控制器两部分组成,结构如图1所示。上位机提供用户界面,用户在其上设置串口,输入芯片型号和封装信息,发送测试命令,查看测试结果。该界面还提供了数据编辑和波形显示功能。测试控制器接收上位机发来的配置信息,读取固化其内部的测试矢量或用户编辑的数据,完成测试任务,将结果返回给上位机。测试控制器与上位机间通过usb总线通信,有效避免了传统rs 232通信方式对上位机接口类型的限制,使系统具有更强的适用性。
2、测试控制器设计
2.1 硬件电路设计
硬件电路由单片机、通信电路和芯片接口电路组成,结构如图2所示。
2.1.1 单片机
单片机的主要任务是通信和测试控制,是测试控制器的核心部分,其性能优劣对整个系统有着至关重要的影响。对于较复杂的逻辑,尤其是时序逻辑,所需的测试矢量较多,测试时间也比较长,因而存储空间和处理速度是制约系统性能的关键因素。综合考虑成本和性能因素,选择stc12c5a60s2单片机作为控制核心。stc12c5a60s2指令代码完全兼容传统的8051,但速度快了8~10倍,内部flash空间达到60 kb,能很好地满足本设计的需求。
2.1.2 芯片接口电路
集成电路测试的主要对象是实验室常用的74系列芯片。该类型芯片封装形式有dip14和dif16两种,需要设计芯片接口电路解决不同封装形式的电源和地管脚上电问题。由于不论是dip14,还是dip16封装,其电源和地引脚相对于芯片的位置都是固定的,因此可将测试插座的第8脚固定为地,对不同封装仅需确定电源管脚的位置。另外,由于故障芯片内部有短路的可能,芯片接口单元还要考虑过流保护问题,以防止短路故障损坏测试仪硬件。
综合上述需求,选择sn754410实现电源引脚的上电控制,其内部逻辑如图3所示。sn754410是ti公司的电机驱动芯片,输出电流可达1a,其4路输出驱动器分成2组,每组由同1路输入逻辑控制。每组输出由1个使能端控制,具有三态输出功能。设计中将第1组驱动器的输出“1y”接至被测芯片插座第14脚,第2组驱动器的输出“3y”接至第16脚。“1y”和“3y”分别由输入“1a”和“3a”控制。系统空闲时,单片机控制2个使能端均为低,将输出置为高阻,断开测试插座与电源的连接。收到上位机发来的封装信息后,如果是dip14封装,则将“1a”置高,置位使能端“1,2en”,“1y”输出为高,给第14脚上电。反之,对dip16封装,将“3a”置高,控制“3y”为第16脚加电。
对故障芯片内部可能存在的短路情况,系统具备双重保护功能,一是与2个电源管脚串接的限流电阻;二是sn754410自身具有热保护功能,当电流过大导致温升超出限度时会自动关断,保护芯片和电源不受损害。
2.1.3 通信电路
单片机系统与上位机传统上采用rs 232总线通信,但目前很多计算机尤其是笔记本电脑已不支持串口。如仍采用rs 232通信方式,则会给测试仪的应用带来极大的不便。为提高测试仪的适用性能,采用ft232设计了rs 232与usb的接口,为测试仪提供了即插即用和热插拔的良好特性。使用ft232与上位机连接前,需要事先安装相应的驱动程序。驱动装好后会在系统中产生一个虚拟串口,上位机软件可通过这个虚拟串口与测试仪建立连接。
测试仪上设计了可供选择的两路电源接口。一路通过外部稳压电源接入,另一路取自usb接口。一般情况下usb接口可以提供500 ma以下的电流,足够测试仪使用,可以免去外接电源。
2.2 测试软件设计
单片机软件采用c语言编写,以便于程序维护和扩展。软件流程图如图4所示。单片机上电后处于空闲等待状态,被测芯片插座与电源断开。当收到上位机发来的测试命令、芯片型号和封装等信息后,首先根据封装类型给对应电源管脚上电,再根据命令类型选择测试矢量来源(即决定使用固化的数据还是用户数据)。测试完毕后,如果先前命令是“功能测试”,仅将判别好坏的结果返回上位机,如果是“逻辑分析”,则需将响应矢量发回上位机,由上位机根据响应矢量数据生成波形图。
2.3 测试矢量与响应矢量设计
测试矢量和响应矢量是测试操作的基本数据结构。测试矢量是欲向芯片管脚施加的激励数据,响应矢量是单片机从芯片管脚读回的数据。两者均为16位,与芯片管脚一一对应。测试矢量的16位数据中对应于芯片输入管脚的那些数据位是激励位,对应于输出管脚的数据位是功能正确时的响应。对于功能测试,测试矢量预先根据真值表生成并存于单片机flash中。如果是逻辑分析,测试矢量由用户提供。响应矢量中仅对应于芯片输出管脚的那些数据位有意义,单片机通过读取芯片管脚状态获得响应矢量。
一个完整的测试过程包含施加测试矢量、读取响应矢量、响应矢量比较3个步骤。为了简化操作,单片机采用端口读写方式,这样一个16位的矢量只需2次8位读或写操作即可完成。需要注意的是,响应矢量与测试矢量的比较仅对其中的芯片输出位有意义,由于程序中采用字节比较方式,应采取措施屏蔽掉输入位对比较结果的影响。针对这个问题,设置了16位的屏蔽矢量,该矢量将对应于芯片输入管脚的数据位置“0”,对应于芯片输出管脚的数据位置“1”。在执行比较操作前,先将测试矢量和响应矢量分别与屏蔽矢量进行位与后再比较,从而消除了输入位对比较结果的影响。屏蔽输入位的流程如图5所示。
3、上位机软件设计
上位机软件提供了一个操作友好的人机界面,使用labview平台开发。labview是图形化编程工具,内置有各种仪器驱动程序和操作面板控件,非常适合测试与控制系统的设计。利用labview开发上位机软件需要重点解决2个问题:一是通信功能的实现;二是测试数据编辑和波形显示的实现。
labview中实现串行通信十分方便,仅需调用串口配置、串口写、串口读等函数,对函数参数简单设置即可,整个过程完全图形化操作,简便快捷。测试数据编辑和波形图显示是本设计的一个特色,利用labview中的数字数据(digital data)和数字波形图(digital wave gragh)控件可以十分容易地实现这2个功能。数字数据控件类似于一张真值表,用户可以任意添加和删除数据。数字波形图将测试响应以图形的方式直观显示出来,横轴代表时间,纵轴代表信号,不同信号配以不同的颜色,便于识别与分析。开发的软件界面如图6所示。软件包括功能测试和逻辑分析2部分。功能测试位于界面左侧,用于快速判别芯片有无故障,用户仅需设置好芯片型号、封装类型、串口号等参数,按下“开始测试”按钮启动测试。如果功能正常,则会显示绿灯表明测试结果正确。反之显示红灯,指示芯片故障。界面右侧是逻辑分析部分,用户预先在数据窗口中编辑好测试向量,按下“发送数据”按钮启动测试,待测试完成后即可看到用波形图显示的响应结果。
4、结语


如何在不牺牲质量的情况下最大化PCB生产效率
德赛杯落幕 产学研合作助力汽车电子行业腾飞
激光雷达车辆探测仍是挑战,汽车颜色是关键
二极管降压的原理 利用二极管正向压降设计的简单实用电路
苹果红色iPhone7在中国的号召力太惊人,华为荣耀V9确实差远了!
利用LabVIEW开发平台和单片机实现集成芯片测试仪的设计
Soitec携手新傲科技,扩大中国区200mm SOI晶圆产量,保障未来增长
华明FJK-1型漏电断路器原理分析
我国共有18.5万家企业名称或经营范围含“机器人”
AI服务器与传统服务器的区别是什么?
分享|UWB使用频段大幅收窄,新标准对于行业发展是好是坏?
构建机器学习管道和使用Apache Spark时的一些经验
AI全栈全场景,少了华为云不行
2019款MacBook Air测试达到了1.3GB/s的读取速度和1GB/s的写入速度
ESD静电保护:IEC61000-4-2标准介绍
做了智能眼镜的Snap还想做无人机遭吐槽!
外媒AnandTech:A12芯片可能是苹果自研电脑芯片的开始
浅谈接插件/电连接器的选择方法
什么是氢燃料电池_氢燃料电池汽车原理
RFID电子标签智能跟踪帮手