摘 要:设计了一款数字芯片故障检测仪,该检测仪能够方便、快捷地分析芯片的故障,并准确定位芯片的故障引脚。所设计的检测仪利用芯片内部各引脚的静电泄放保护机制,配合霍尔电流线圈检测芯片的短路和开路故障。同时根据芯片的功能定义,由MCU产生相应的激励信号,通过芯片的输出响应是否正确判断其有无逻辑故障,并且通过电脑端和液晶屏实时显示检测结果。测试结果表明,该检测仪的准确率高达99.6%,待机功耗只有0.36 W,具有小型化便携式特点。
关键词:数字逻辑芯片;静电放电保护;故障字典;检测故障
0 引 言
为了顺利开展数字电子技术实验课程[1],各开设此课程的高校每年都会大量采购数字逻辑芯片。由于学生各种不符合规范的操作,实验室内不完备的实验设施,维护人员不合理的存储方式,都会导致数字逻辑芯片出现故障。同时数字逻辑芯片故障检测设备又缺乏,导致数字逻辑芯片的重复使用率很低。学生在实验过程中出现的问题,很大一部分原因是因为使用了功能损坏的芯片[2]。本文设计的新型数字芯片故障检测仪能够方便、快捷地验证芯片的好坏,并准确定位芯片的故障引脚。该检测仪利用芯片内部各引脚的ESD保护机制,配合霍尔电流线圈检测芯片的短路和开路故障。同时根据芯片的功能定义,由MCU提供相应的激励信号,然后通过芯片的输出响应是否正确判断其有无逻辑故障,并且能实时将检测结果显示在与其连接的LCD液晶屏或电脑端系统上,直观地呈现给用户[3]。
1 工作原理设计
1.1 故障类型及原理分析
本文数字芯片故障检测仪主要检测数字芯片两类故障:①芯片各引脚与VDD和VSS之间存在短路和断路故障;②芯片内部逻辑功能发生错误。主要利用芯片内部ESD泄放二极管工作原理及故障字典法进行检测。
1.2 ESD保护原理
ESD(Electro-Static Discharge)即是静电释放现象,处在不同电位的两物体之间,因为近距离接触或相互接近而导致的电荷转移,此静电场内电子设备会因此产生故障或进行误动作[4]。
本文主要利用ESD泄放二极管工作原理,即在芯片内部每一个引脚上都串接两个特别设计的二极管。在芯片引脚上的信号电压幅值介于VDD和GND之间时,这两个二极管是截止状态,不影响芯片的正常运行;当ESD现象发生时,芯片引脚上的信号会通过这两个二极管的导通来把过高或者过低的脉冲电压泄放到VDD或者GND上,从而保护芯片内部的电路。当高脉冲电压消失,泄放二极管恢复截止状态,芯片恢复正常工作[5-6]。数电实验教学活动中日常使用的芯片以14/16引脚居多,根据上述原理,芯片内部的ESD保护二极管电路可简化如图1所示。
图1 ESD保护电路简化图
根据芯片内部各引脚的ESD泄放原理,可以判断芯片的引脚是否与芯片的VDD引脚、VSS引脚之间存在短路或者开路故障。将芯片的被测引脚与输出低电平的端口相连,VDD引脚与输出高电平的端口相连。芯片正常工作时,被测引脚与VDD脚间的二极管D1反接,二极管D1截止,此时流经被测引脚的电流微乎其微。当被测引脚存在大电流时,说明被测引脚与VDD端之间发生短路故障。判断芯片的各引脚与VDD端是否发生开路故障,是将被测引脚与输出高电平的端口相连,VDD引脚与输出低电平的端口相连。由于此时D1是正向导通的,被测引脚上存在较大电流。当被测引脚上没有电流经过时,即说明被测引脚与VDD端之间发生开路故障[7]。基于同样方法,可以判断被测引脚与VSS引脚之间是否存在短路或开路故障。
流过待测引脚上的电流值需要使用霍尔传感器来采集。该传感器基于霍尔效应,内部产生的电势差与通过霍尔闭环线圈的电流大小成正比。
1.3 故障字典法
故障字典法是指在同等测试条件下,对比电路发生故障和正常运行时的情况,得到电路发生故障时的特征,即故障特征集。因此,应先分别提取芯片引脚发生短路、断路及芯片内部逻辑错误这3种故障的故障特征集[8]。短路、断路特征集的生成流程如图2所示。取同一型号的具有短路故障、断路故障的数字芯片和正常工作的数字芯片若干枚,根据上文中判断是否发生短路或者断路的方案,比对分析由霍尔闭环线圈产生的输出电动势,选取合适的阈值,作为故障特征集[9]。
图2 提取短路、断路故障字典流程图
芯片内部逻辑错误故障特征集的生成流程如图3所示。取同一型号的发生内部逻辑错误的数字逻辑芯片和正常工作的数字逻辑芯片若干枚,根据芯片的功能定义及芯片数据手册推得芯片的输入激励,也称为测试集。将测试集分别输入到故障芯片和正常芯片中分别生成故障响应和结果集[10]。对比两者,即可提取芯片发生内部逻辑错误时的故障特征集。
图3 提取内部逻辑错误故障字典流程图
2 数字芯片故障检测仪硬件部分
根据上述原理和测试方法可知,需要将被测引脚和VDD引脚(或VSS引脚)分别与输出测试电平的端口连接,此时其他的无关引脚应该处于悬空的状态,防止引脚之间相互干扰。为了达到此目的,即需要待测芯片所有引脚都能够在高电平、低电平和悬空3种状态之间切换。本设计选用的STM32F103系列MCU芯片,具有64个I/O口,完全满足设计需求。此外该芯片功耗低、性价比高、应用广泛,运行速度快,其时钟频率最高可达到72 MHz,还集成了许多常用外围设备及接口电路[11]。根据上述原理要求芯片各引脚切换的3种状态都可以通过程序控制I/O口的各种输入输出模式来实现。
如图4所示,本文设计的数字芯片故障检测仪包含以下模块:以STM32F103系列MCU作为主控部分的微处理器模块;通过锂电池供电、升压芯片、降压芯片等实现供电及转换电压功能的电源模块;由继电器、多通道开关选择、霍尔电流传感器组成的故障检测模块以及包含电脑端上位机和下位机的人机交互模块。
图4 硬件部分组成
2.1 电源模块
出于该仪器的便携性考虑,将锂电池作为供电电源。由于本检测仪目标检测的数字芯片主要是74系列和CD系列,芯片内部工作电压在2~6 V之间不等,统一使用5 V作为芯片检测时的测试电压,目的是减少设计成本,使用ME2188A50芯片使得电源电压稳定输出5 V。另外该检测仪的STM32F103系列主控芯片工作电压是3.3 V,需要使用AMS1117线性稳压芯片将5 V转换为3.3 V。
2.2 故障检测模块
2.2.1 继电器部分设计
数字芯片的两个特殊引脚为VDD引脚和VSS引脚,不仅需要能够由程序控制在高电平、低电平和悬空3种模式状态之间进行切换,同时还需要检测这两个引脚上的电流大小,寻常芯片引脚承受大电流的能力有限,因此使用继电器来通过较大的电流。
继电器选用高性价比的HK4100F型号。1个继电器类似于2选1控制模块,分别使用2组继电器作用于芯片的VDD脚和VSS脚,通过程序控制继电器的吸合和未吸合状态来实现3种状态的切换[12-13]。
根据STM32F103芯片手册,芯片单个I/O口的驱动输出电流最大不超过8 mA,无法直接驱动继电器正常工作,因此本设计选用最大驱动电流达500 mA的复合晶体管芯片ULN2003来保证继电器正常工作。
2.2.2 多通道选择部分设计
以16个引脚的数字芯片为例,除去VDD脚和VSS脚,还有14个引脚需要检测,采用上文设计方法,仍需28个继电器才能实现,这会使得设计成本过高,检测仪的电路板过于臃肿降低了便捷性。因此本设计使用74HC595芯片、三极管及排阻组合成多通道选择电路模块。
当测试数字芯片的某个引脚时,选用74HC595的两个输出引脚分别连到一个PNP型三极管和一个NPN型三极管的基极上,并且将两个三极管串接在一起,它们的集电极和数字芯片的引脚相连。利用三极管的通断,数字芯片的引脚可实现3种状态的切换。如果数字芯片的全部引脚都由STM32的I/O口控制,则需要28个I/O管脚,这会增加MCU的资源消耗。使用具有8位并行输出的74HC595芯片可以解决此问题。具体方法是将4片74HC595芯片的SDI端和SCLK端各自相连,分别由MCU的两个I/O去控制,通过控制LOAD端的电平变化来实现数字芯片引脚状态的切换[14-15]。此设计方案只需要6个MCU的I/O引脚就能够控制数字芯片所有引脚的状态,极大的提高了检测仪中各芯片的利用率,节约了设计成本。
2.2.3 不同引脚数目的数字芯片选择切换设计
由于该检测仪主要针对14脚和16脚的数字逻辑芯片,查阅实验室常用芯片资料可知,两类芯片的VDD端都是右上方第一个引脚,但是14脚芯片VSS端在7脚,16脚芯片VSS端在8脚。按照上对齐原则放置芯片时,使得两类芯片的VDD脚对齐,但VSS脚无法在同一位置。为节约设计成本,提高电路板资源利用率,本设计中采用的是16引脚的IC底座,选用SGM3157单路模拟开关芯片来实现数字芯片的7引脚和8引脚连接GND的切换。
2.2.4 霍尔传感器部分设计
完成芯片选择及引脚选择部分的设计后,需要使用霍尔电流传感器负责确定流过待测引脚的电流值。本设计的采用霍尔电流传感器产品型号为HBCLSP6A。查阅该型号传感器资料可知,该传感器产生的输出电动势Uout与通过闭环线圈中心通孔的电流值之间的计算公式如下[16]:
式中:Ip是霍尔传感器的最大测量电流;电流I为流经传感器中心通孔的电流值,其电流方向决定正负。
2.3 人机交互模块
本设计的人机交互模块由一块128×64分辨率的点阵LCD屏、轻触式开关按键、主控芯片的UART串口通信部分及电脑端显示软件构成。
2.4 硬件设计实物图
本文开发设计的数字芯片故障检测仪的实物图如图5所示。
图5 数字芯片故障检测仪实物图
3 数字芯片故障检测仪软件部分
3.1 软件设计思路
数字芯片故障检测仪的内部系统软件部分由电脑端模块和下位机模块构成。软件程序主要由3部分组成:数字芯片各个引脚电压数据采集程序、数字芯片故障判断程序以及人机交互程序。利用STM32F103系列MCU内置的12位ADC进行数字芯片的各个引脚电压数据采集。数字芯片故障判断程序分为短路检测、开路检测和逻辑功能检测。
完成短路检测所需流程:首先利用故障字典法生成短路故障特征集,根据图2的步骤,分别取正常芯片和有短路故障的芯片各50枚,然后读取霍尔闭环线圈输出的电动势。对全部正常芯片进行测试,读取电动势输出范围在2.49~2.51 V之间;测试与VDD脚存在短路故障的芯片,得到电动势输出范围在2.71~2.96 V之间。按照同样方法操作,配合霍尔模块可知与VSS脚发生短路故障的芯片被采集到的输出电动势范围在2.17~2.32 V之间,分析数据发现芯片由霍尔闭环线圈采集到的输出电动势以2.5 V为标准,电动势波动范围在0~0.01 V间;与VDD脚/VSS脚发生短路故障的芯片电动势波动范围在0.18~0.46 V间。芯片检测短路故障时,当由霍尔模块采集到的输出电动势波动范围在0.1 V以内,判断芯片正常,不在此范围时,判断芯片发生短路故障[7]。
基于相同原理检测正常芯片和存在引脚与VDD端、GND端之间发生开路的芯片,分析数据提取芯片的开路故障特征集,通过与开路故障特征集比较,判断芯片是否发生开路故障。
完成逻辑功能检测所需步骤:根据图3步骤,利用故障字典法生成芯片发生内部逻辑错误时的故障特征集。根据芯片的功能定义及芯片数据手册推得芯片的输入激励,由MCU提供相应的输入激励信号给数字芯片,比对数字芯片的输出响应与芯片内部逻辑错误故障特征集,判断芯片是否发生逻辑功能错误。
完整的芯片故障检测流程图6所示。
图6 芯片故障检测流程
电脑端模块负责发送、接收数据以及显示芯片检测结果。本文基于Qt Creator开发环境设计了一个电脑端系统,其中包含多级菜单和窗口,使得用户能直接进行芯片型号的选择。数字逻辑芯片检测电脑端界面如图7所示。
图7 电脑端主界面
3.2 软件运行流程
仪器上电运行后,首先进行系统的初始化,随后对芯片进行自动识别或手动选择芯片,之后等待按键响应,进行芯片的故障检测。芯片被检测完成之后,系统输出检测结果并进入低功耗状态。STM32单片机具有超低功耗的特点,当仪器没有收到检测命令时,始终以低功耗模式运行,大幅降低仪器功耗。流程图如图8所示。
图8 软件运行流程图
4 芯片故障检测仪测试结果和分析
4.1 功能测试
功能测试部分依次测试芯片类型的选择与自动识别、芯片正常工作时检测结果显示、芯片发生短路或断路及逻辑功能故障时。
(1)芯片类型的选择和识别。用户使用该仪器不仅可通过上下按键选择74LS00和CD系列的芯片类型,使用确认按键进入下一级菜单,还可以选择自动识别模式,让系统对芯片类型进行自主识别。设计的二级菜单如图9所示。
图9 芯片型号选择
选用正常的74LS00芯片在该检测仪上进行检测,选择图9菜单中的自动识别模式,LCD液晶屏上显示检测结果如图10所示。
图10 LCD屏显示芯片正常工作
若在程序中将74LS00的检测序列改为空,复位仪器,对芯片重新进行检测,在LCD显示屏和电脑端的显示结果都为“芯片未识别”。
(2)芯片故障检测功能测试。为了测试该检测仪的功能,将74LS00芯片的3引脚折断,随后用该芯片进行测试,检测结果在LCD液晶屏和电脑端上显示图分别如图11所示。
图11 LCD屏显示芯片发生断路及故障引脚
经过测试,芯片发生短路故障和内部逻辑故障时,同样能被该检测仪及时检测出来,检测显示结果如图11所示。
4.2 仪器功耗测试
由于在数字电子技术实验中对各类仪器有3个基本要求,即低功耗运行、便携式操作、长时间待机。使用直流电源给检测仪供电,直流电源输出电压设置为4 V,记录其功耗。在待机状态下工作电流为0.09 A,待机功耗0.36 W;在工作状态下最大电流为0.16 A,最高功耗0.64 W。数据表明,该仪器的运行功耗和待机功耗都很低,完全满足数字电子技术实验教学课程中的要求。
4.3 综合测试和误差分析
取100枚正常芯片和50枚故障芯片,使用本检测仪分别进行测试,以此来验证检测仪的正确率。测试结果如表1所示。
表1 数字芯片故障检测仪准确率测试
从表1多次测量的结果可以看出,本检测仪可在短时间内完成对待测芯片的检测,在3 s内即可判断该芯片是否发生故障。该检测仪在检测正常芯片时出现了极少数的判断错误,除此之外检测准确率高达99.6%。结合测试结果分析出错原因是:在检测过程中,霍尔模块产生的输出电动势刚好在确定的阈值临界处,导致检测仪无法正常判断。这种情况很可能是由于芯片使用时间过长,使用次数过多。如果进行故障特征字典提取时能使用更多的故障芯片标本,检测仪的正确率会更高。
5 结 语
针对各个高校数字电子技术实验课程开展过程中出现的数字芯片损坏率高,重复使用率低等问题,本文设计出一种数字芯片故障检测仪。该检测仪的具体功能为通过自动识别功能来检测未知型号的芯片或自主选择74LS00系列和CD系列的芯片,可检测被仪器自主识别或被人工选中的14/16引脚的数字逻辑芯片的短路、断路和逻辑功能故障,并且定位芯片的故障引脚。该检测仪利用芯片内部各引脚的ESD保护二极管机制,配合霍尔传感器来判断芯片是否存在短路和开路故障;同时根据芯片的功能定义,由MCU产生相应的激励信号,然后通过芯片的输出响应是否正确来判断其有无逻辑故障,并且能实时将故障类型和故障位置显示在与其连接的LCD液晶屏或电脑端系统上,直观的呈现给用户。该检测仪具有人机交互界面友好、体积小巧便于携带、成本低廉、运行功耗低、准确率高、检测速度快等优点。该检测仪在高校数字电路实验室的日常管理和维护方面具有很高的应用价值,实验室维护人员能够利用此仪器及时的排查出故障芯片,对故障芯片和正常芯片进行区分、维修,减少误用率。在高校采购数字芯片过程中,可当作芯片选择和质量检测的便捷工具。在数字电子技术实验教学过程中,该检测仪能够确保学生进行实验期间不会使用到功能损坏的数字逻辑芯片,避免学生在不知情的情况下使用已损坏芯片,提高实验的成功率,也大幅提高了教师在数电实验教学中的教学效率,提升了教学效果,值得在各个开设电子信息专业的高校中推广使用。