基于STM32的芯片自动测试平台研究

2020-12-11 09:15朱信伟刘晓露何贤赚侯岳良
今日自动化 2020年5期

朱信伟 刘晓露 何贤赚 侯岳良

[摘    要]为了实现对不同型号、不同封装、不同功能的芯片进行快速的测试开发,设计一款通用型的测试平台就显得十分必要。本文即介绍了一款基于STM32设计的通用型的芯片自动测试平台,该平台采用分层结构和模块化思想,实现高效率的测试开发。

[关键词]芯片测试;自动测试平台;STM32

[中图分类号]TN407 [文献标志码]A [文章编号]2095–6487(2020)05–00–03

Chip Automatic Test Platform Based on STM32

Zhu Xin-wei, Liu Xiao-lu, He Xian-zhuan, Hou Yue-liang

[Abstract]In order to achieve rapid test development for chips of different types, different packages, and different functions, it is very necessary to design a universal test platform.This article introduces a general-purpose chip automatic test platform based on STM32 design.The platform adopts hierarchical structure and modular ideas to achieve high-efficiency test development.

[Keywords]chip test; automatic test platform;STM32

作为一家芯片设计公司,会设计出各种型号、各种功能的芯片,最终产品会有各种不同的功能以及封装,而作为芯片出厂前的最后一道测试FT测试尤其重要。针对每一款不同的芯片,都需要有一套专门的测试流程和测试工具,但是如果要为每一款芯片都单独设计一套测试工具,就会浪费很多资源,所以设计出一款可以通用的能够测试多种功能及封装的测试平台,实现高效的测试开发就十分有必要。

1  测试平台设计理念介绍

为了适配各种不同功能芯片的测试,设计一款可通用的测试平台,需要将所有测试用到的资源都实现在测试平台中。而为了适配各种不同封装或不同管脚排布的芯片,实现测试平台的通用性,就需要在测试平台上引出一套统一的接口,再由接口接出一块可适配不同封装的转接板即可,也就是说,每当有一颗不同类型的芯片需要测试时,只需要基于测试平台设计出一块转接板,将芯片的各个管脚引到对应的接口上,再加上一些必要的外围电路,就可以实现硬件上的互通。

测试平台在实现所有功能后,将所有需要与芯片连接的功能引出一组统一的接口,用于与转接板连接。

在所有硬件功能都实现以后,首先将各硬件模块的底层驱动实现,完成各模块最基础功能的配置。然后再将各模块可实现的各种测试封装为测试应用接口,在测试方案开发时,当完成芯片的相应配置后,只需要调用对应的测试接口,即可实现对应功能的测试。

2  测试平台各层次模块功能

2.1  硬件层

硬件层主要包含主控板、测试底板、Loadboard转接板、液晶等。

主控板可以通过串口连接到PC机,配合上位机完成测试数据的上传,测试底板通过handler接口连接到测试机台,实现芯片的自动化测试。测试底板上可连接一个液晶12864,用于显示测试过程中的一些测试信息,测试底板通过3组3*32针的接口连接到转接板,转接板通过socket或者金手指连接待测芯片。如图1所示。

2.1.1  主控板

主控板作為测试平台的大脑,控制着整个测试平台的运行,为了使测试平台具有更好的通用性,并兼顾经济性,主控板选择STM32F429作为核心控制芯片,可外扩flash和SRAM芯片,为测试平台可提供更强大的程序存储和数据处理空间,可接入一个TF卡,用于存储大量的测试数据。

2.1.2  测试底板

测试底板是为了实现对待测芯片的功能测试而开发出的可实现各种功能的模块组合,并通过主控板的流程控制,实现对待测芯片的有序测试。

测试底板上有各种转接口,用以实现与主控板、LoadBoard转接板、液晶、测试机台等的连接。

针对不同的芯片,如MCU芯片,SOC芯片,计量芯片等,综合得到它们所有的需要在FT阶段进行测试的功能。如:通信测试,功耗测试,LDO测试,ADC测试,GPIO测试,时钟频率测试,计量功能测试等等,而这些测试所需要用到的资源就需要在测试平台上全部实现。

通信测试,需要测试平台提供UART功能,SPI功能,IIC功能等;

功耗测试,需要测试平台提供稳定的、供电电压可调的电源,可以测量电流的电路,根据不同的测试要求,还需要测试平台能够实现mA级、μA级的电流测试功能。

LDO测试,需要测试平台提供mV级别的电压测试功能。

ADC测试,需要测试平台提供各种高精度的可调电压。

GPIO测试,需要测试平台提供多pin脚的高低电平测试功能。

时钟测试,需要测试平台提供Hz~MHz级别的频率测试功能。

计量功能测试,需要测试平台提供可调的直流信号、交流信号。

另外,测试平台还需要实现计时功能,ID号可连续累加存储功能,测试数据保存功能,测温功能,自动识别芯片型号等等。

2.1.3  转接板(Loadboard)

转接板主要功能是作为芯片和测试平台之间连通的载板,使得芯片能够被测试平台识别并测试芯片的各种功能。

根据不同的芯片型号,分别给转接板设置一个固定的编号,用于测试平台识别待测芯片型号。基于测试平台引出的接口上的所有资源,根据不同芯片的需要,连接到相应的芯片管脚或电路,以便于测试平台实现芯片的各种功能测试。

硬件上来说,更换转接板是每次测试新型号芯片的主要工作。

2.2  软件层

软件层主要包含各硬件模块的驱动,各个测试功能的实现接口,测试方案和测试流程控制。如图2所示。

2.2.1  硬件驱动

硬件驱动这一部分包含测试底板所有硬件模块的底层驱动代码,可实现所有硬件层的初始化,提供各种基本配置,实现测试所需的基础功能,如模拟开关的通道选择、继电器的通断,通信命令的下发等等。

2.2.2  测试功能实现

测试功能实现是将完整的一项功能测试分解为若干个部分,每一部分实现特定的功能,如测量电压时可分为测试通道选择和获取电压值两个部分,测量频率时可分为分频通道选择、捕获功能初始化、获取频率值三个部分等。

2.2.3  测试模块接口

测试模块接口就是将同一类功能的完整测试代码封装为统一的一个接口,以供测试方案开发时调用。这一部分包含对相关的单一测试功能模块的调用,从测试方案角度出发,对各种所需资源进行调配,实现对某功能的完整测试接口,提升测试方案开发时的效率。

2.2.4  测试方案开发

测试方案开发需要根据具体的芯片型号、具体的测试项来完成。

首先要根据芯片型号合理分配好测试项、所需资源、以及确定需要存储的测试数据和数据类型,以完成对测试平台的初始化和资源分配工作。然后根据具体的测试项,通过对各模块接口的调用来实现对具体功能的测试,最后综合芯片的各种测试项,合理分配好各种功能的测试流程,实现最优测试。

测试方案开发也是每次开发新型号芯片测试的主要工作。

2.2.5  测试流程控制

测试平台有一个统一的流程控制,首先做一些通用资源的初始化,然后根据测试方案开发的资源分配做一些专用资源的初始化,再根据测试方案开发的芯片测试流程实现对芯片的完整测试,最后记录下所有需要的测试数据,保存至TF卡或上传至PC端。如图3所示。

3  结语

经由以上对芯片自动测试平台设计的陈述,证明它可以实现对不同功能、不同封装的芯片进行自动化测试的目的。

本文提出一套芯片自动测试平台,介绍了具体的架构和实现方法,在设计上摆脱了每款芯片都要单独设计测试电路的限制,提高了芯片测试开发的效率。

参考文献

[1] 浮明军,刘昊昱,董磊超,等.智能变电站继电保护装置自动测试系统研究和应用[J].电力系统保护与控制,2015,43(1):40-44.

[2] 张晓莉,刘慧海,李俊庆,等.智能变电站继电保护自动测试平台[J].电力系统自动化,2015,39(18):120-125.

[3] 胡再超,姚亮,张尧,等.智能继电保护装置的自动测试方法[J].江苏电机工程,2013,32(1):53-55.

[4] 谌争鸣,陈辉,陈卫,等.全数字化继电保护测试系统设计[J].电力自动化设备,2009,29(5):109-112.

[5] 赖擎,华建卫,吕云,等.通用继电保护自动测试系统软件的研究[J].电力系统保护与控制,2010,38(3):90-94.

[6] 方学南.基于FPGA的芯片自动测试平台的研究与实现[D].广州:华南理工大学.

[7] 崔海龙,田爱国,马艳杰,等.射频芯片自动测试平台设计[J].数字技术与应用,2018,36(2):179-180.

[8] 蒋师.基于LabVIEW的芯片自动测试系统设计[D].武漢:湖北大学,2013.

[9] 王任重,金湘亮.专用数字芯片测试平台SOPC系统的设计[J].信息系统工程,2018(2):122-124,127.

[10] 李建伟,李英丹,张培艳,等.基于虚拟仪器的UWB超宽带射频芯片自动测试系统的研究[J].现代科学仪器,2010(6):37-39.