余永涛,王小强,余俊杰,陈煜海,罗 军
(工业和信息化部电子第五研究所,广州 511300)
微控制器(Microcontroller Unit,MCU)芯片也称单片机,采用超大规模集成电路技术将计算机的处理器、存储器、定时器和多种输入输出I/O接口集成在一片芯片上,形成芯片级的计算机,从而实现控制终端的功能,广泛应用在工业控制、仪器仪表、汽车电子等领域。随着MCU向着高集成度、多功能化、低功耗等技术方向发展,32位MCU逐渐成为主流,同时大都集成了处理器内核、内存、模数转换、锁相环(Phase Locked Loop,PLL)电路、中断系统、特殊功能寄存器以 及 SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit Interface)、GPIOs(General Purpose Inputs/Outputs)通信接口等丰富的用户资源[1-2]。MCU芯片测试是集成电路产品质量保证的关键,对于高集成度、功能日益复杂的MCU芯片,其测试难度越来越大,测试时间和成本不断提升,已成为MCU芯片行业的重要挑战,受到日益增多的关注和研究[3-9]。
MCU测试方式主要有两种:一是面向MCU芯片功能特性的测试,利用上位机通过JTAG(Joint Test Action Group)、SWD(Serial Wire Debug)等数据接口将烧写程序下载到MCU,然后再通过测试设备提供必要的输入使MCU芯片处于最小系统工作状态并且读输出,从而实现MCU的测试[2-3];二是面向MCU芯片结构的测试,利用ATE(Auto Test Equipment)自动化测试系统,通过施加测试向量模拟微处理器的仿真通信接口来控制微处理器工作,并为被测微处理器提供电源和时钟信号,同时检测MCU芯片的模拟和数字输出信号,从而实现MCU的测试[4,8]。常规的烧写测试方法一般需要下载器,并进行多次烧写,使得测试流程复杂且测试成本高。基于ATE的测试方法能够大大减少MCU重复烧写次数,在测试系统上直接测试,成为MCU芯片量产中在线测试的重要技术手段。
面向高集成度、多功能MCU芯片量产过程中的在线测试需求,本文针对一款32位高性能MCU,利用J750Ex-HD型集成电路ATE测试系统,开展了MCU芯片的在线测试工作,在MCU芯片电性能参数测试方法的基础上,重点阐述了MCU芯片内部的上电/掉 电 复 位(POR/PDR)、GPIO、ADC、修 调 测 试(Trimming)、存储器等功能模块的测试验证方法,详细描述了MCU芯片在线测试的实现流程,包括测试系统的评估选用、测试适配器的设计制作、测试程序的开发调试、测试验证及结果分析等,可以为高性能MCU的快速有效在线测试提供技术参考。
Teradyne的J750集成电路自动测试平台是全球装机量最大的自动测试设备,安装基数超过5000个,可以对各种各样的微控制器、FPGA和数字音频/基带芯片进行经济高效的测试。J750Ex-HD是Teradyne新一代的J750系列测试设备,具有丰富的数字通道资源,数字信号速率达到400 MHz/800 Mbps,每个通道的矢量存储深度高达128 M,每个通道配备独立的参数测量单元,配有高压驱动通道,支持多site并测。在软件方面,选用微软公司的通用Windows NT平台及Excel软件和Visual Basic语言,开发成功IG-XL测试软件包,可将单站点测试程序自动转换为多站点,Teradyne J750Ex-HD测试平台可以进行的测试包括扫描测试、AD/DA测试、嵌入式存储器测试、混合信号测试、模拟参数测试和RF测试等[11-12]。
本文测试的MCU是一款高性能、低功耗的32位MCU芯片,采用双核异构SoC架构,包括负责实时系统控制的32 bit RISC处理器和高数学运算处理器,最高时钟频率为48 MHz,同时集成了丰富的外设资源,MCU架构如图1所示。MCU具备运行、睡眠、深度睡眠等多种功耗优化模式,包含一个12位的高速ADC模数转换器,6个全功能增强计数器以及8 MHz和1 kHz的内部时钟,64 kB内嵌Flash存储器和4 kB SRAM存储器,1个模拟电压比较器,提供标准的通信接口(1个SPI、3个I2C、3个UARTs)和GPIO人机交互界面,支持SWD调试。同时,为了降低芯片制造工艺波动对产品良率的影响,提高芯片成品率,该MCU芯片还具备基于内嵌存储单元的Trimming功能。
图1 32位MCU架构
在MCU芯片的量产在线测试中,测试内容可以分为功能测试、电性能测试,其中电性能参数又包括直流和交流电性能参数。功能测试主要是指令集测试、片内存储器测试以及内部功能模块的测试验证[4]。电性能测试是测试MCU产品的参数满足预期功能的程度。直流参数测试包括接触性测试、输入高低电平、输入高低电平漏电流、输出高低电平、输出高阻漏电、内核电压、I/O电压、电源静态电流、I/O端口漏电等[10]。交流参数测试测量器件内部晶体管状态转换时的时序关系,保证芯片在正确的时间内发生状态转换,包括信号上升时间、下降时间、建立保持时间、传输延时时间、高低电平(电阻)转换时间、脉冲宽度、时钟频率等。MCU芯片电性能参数的测试与一般芯片测试类似,本文重点研究MCU内部功能模块的测试方法,功能测试主要进行功能性验证测试,提升MCU芯片的在线测试效率。
为了保障MCU芯片的内部电路电源供电,MCU内部集成了POR/PDR功能模块,主要由参考电压产生电路和电压比较器组成。当芯片电源供电电压发生波动,上升或下降超过POR设定阈值时,POR电路会产生一个电源重启信号,重启芯片内部电路。POR/PDR功能的测试方法是通过ATE测试系统的DPS改变芯片的VCC,使得VCC不大于或不小于阈值,测量芯片VDDCORE的电压,验证POR功能是否触发。
MCU芯片的GPIO测试分为GPI测试和GPO测试。GPI测试芯片GPIO pins用作GPI时,测试上拉使能、关闭等输入检测功能。通过ATE配置DUT进入功能测试模式,SWD配置PINMUX寄存器,使能GPI功能,配合ATE输入特定激励,测试GPI的上拉电阻使能、上拉电阻关闭等不同状态下的输入检测功能。
GPO测试芯片GPIO pins的GPO功能及带载功能。通过ATEs配置DUT进入功能测试模式,通过SWD下载程序到SRAM中并运行,程序将所有GPIO配置为GPO,其中偶数序号的GPO输出高电平,奇数序号的GPO输出低电平。使用ATE的PPMU分别给各偶数序号的GPO pins输入灌电流,各奇数序号的GPO pins输入拉电流,进而测量各偶数序号GPO的电压值VOH和各奇数序号GPO的电压值VOL是否满足预期。然后反过来,使用ATE的PPMU分别给各偶数序号的GPO pins输入拉电流,各奇数序号的GPO pins输入灌电流,测量各偶数序号GPO的电压值VOL和各奇数序号GPO的电压值VOH是否满足预期。
针对MCU芯片的模拟信号处理能力需求,MCU集成了12 bit高精度ADC,使得MCU测试成为数字信号、模拟信号混合在一起的混合信号芯片的测试。为了提升在线测试效率,降低测试成本,本文采用了一种基于数字测试系统的ADC模块功能验证方法。使用J750Ex-HD ATE测试系统的精度较高,电压精度达到1mV,可利用ATE的PPMU提供电压模拟量输入:
thehdw.PPMU.pins("XAIN_0").ForceVoltage(ppmu 50mA)=0.10
共有16个模拟通道(XAIN_0~XAIN_15),按照ADC的输入范围(0~5 V),每个通道分别输入典型电压值:
Vin[16]={0.10,0.42,0.74,1.06,1.38,1.70,2.02,2.34,2.66,2.98,3.30,3.62,3.94,4.26,4.58,4.90}
记录转换输出结果Output_Result,判断是否与预期结果一致,实现ADC功能测试。
Output_Result[16]={82,344,606,868,1131,1393,1655,1917,2179,2441,2703,2966,3228,3490,3752,4014},与ADC预期输出结果一致,ADC转换功能测试结果如图2所示。
图2 ADC转换功能测试结果
MCU芯片内部还包括LDO低压差、VREF基准电压源、振荡器等模拟电路部分。相对而言,模拟电路的性能对芯片制造工艺的波动更为敏感。为了提高芯片成品率,该MCU芯片还具备基于内嵌存储单元的LDO、VREF、Oscillator振荡器的Trimming功能。Trimming测试一般在芯片量产中进行,基于存储器的修调原理如图3所示,通过写入Flash存储器内部的修调代码,相对应的数据控制不同的开关来控制逻辑电路,修调电阻/电容网络,使电路的输出参数接近理想值[13]。
图3 基于存储器的修调原理
以MCU芯片8 MHz内部振荡器为例介绍MCU芯片的Trimming测试。首先利用ATE配置DUT进入振荡器Trimming测试模式,测试内部振荡器的输出频率,若初始测试值和目标值的偏差就在允许范围内,则无需修调,直接进行下一个测试项,否则开始进行修调搜索。所有的修调码值由修调算法得出,由于该MCU芯片对修调次数无限制,采用全搜索的算法,遍历Trimming管脚的输入状态,依次搜索并从中找到最接近目标值的Trimming码值。确定最佳码值后进行烧写码值,烧写完成后再次进行测量确定烧写结果是否正确,MCU内部振荡器Trimming测试结果如图4所示,最佳Trimming码值为[100]。
图4 MCU内部振荡器Trimming测试结果
MCU的存储器功能测试主要是对存储器单元0、1状态变化的读写测试,包括SRAM测试和Flash测试。SRAM存储器功能的测试算法包括全0测试、全1测试、棋盘格法、齐步法和March算法等,本文采取的是国内应用较为广泛的March算法进行MBIST内建自测试,通过ATE配置DUT进入MBIST测试mode,电路会自动启动MBIST测试,测试完成后MBIST_DONE输出高电平,MBIST_FAIL输出则由BIST结果决定,Fail输出高电平,Pass则输出低电平。对于嵌入式Flash,遍历所有数据类型对存储单元进行编程、读写、擦除的功能验证方法效率较低,本文结合实际情况,将Flash按Page(1 kB)进行划分,以4个Page为1组,对应不同的地址位进行相应数据的编程读写等操作,从而实现对Flash的功能验证,内嵌Flash地址划分及对应数据如表1所示。
表1 内嵌Flash地址划分及对应数据
实现MCU芯片在线测试的主要流程包括在线测试系统的评估选用、测试适配器设计制作、测试程序的编程调试、测试验证及结果分析等。
MCU芯片的在线测试需要使用集成电路ATE自动化测试系统,根据被测芯片的功能指标测试对测试资源要求、测试成本等因素选用适合的ATE测试系统。目前国内外代表性的ATE测试机台有Advantest的V93系列测试设备和Teradyne的UltraFLEX、J750等测试设备。本文开展MCU芯片的在线测试,Teradyne的J70Ex-HD即可满足测试需求。另外,根据芯片测试时间等确定是否采用机械手量产测试装置。
MCU芯片的测试适配器是实现被测芯片与测试系统连接的关键装置,包括测试板(Loadboard)和测试座(Socket)。Loadboard不仅实现芯片和ATE测试机台的连接,还需要为芯片测试提供必要的偏置条件、时钟输入、测试通道的切换等。Socket实现测试芯片与测试板的直接连接,保障连接的可靠性。为了提高MCU在线测试的稳定性和耐用性,按照MCU芯片LQFP44的封装要求,本文设计制作pogopin的Socket,由底座和封盖两部分组成,芯片管脚间距为0.5 BCS。pogopin的Socket耐用性好,高温测试和低温测试的一致性较好,适合量产在线测试使用。根据ATE测试系统中测试板卡的位置,设计MCU的ATE测试Loadboard。Loadboard上芯片管脚与ATE数字测试通道相连,采用32.768 kHz和8 MHz晶振作为外部频率输入,采用固态继电器实现测试通道切换,采用电压转换芯片实现不同电平的转换。设计制作的MCU芯片测试Socket和Loadboard如图5所示。
图5 MCU芯片在线测试适配器
芯片测试程序的编程调试是实现MCU在线测试的关键环节,根据被测芯片的功能测试项目编写测试程序。按照J750Ex-HD的编程方法,利用ATE测试系统的IG-XL软件进行芯片的pin脚定义、测试系统通道配置、电源和I/O的配置、电压/电流/时序测试配置、ATE测试向量和测试程序的编写调试等。芯片测试程序开发需要的ATE测试向量由芯片设计厂商提供的EDA仿真向量进行转化得到。
在测试程序开发中,IG-XL提供了一些测试程序模板,适用于接触性测试、电压电流等直流电性能参数测试。由于MCU芯片的功能模块多,测试较为复杂,需要使用J750Ex-HD的VBT编程环境进行测试程序开发[12]。本文基于VBT进行MCU内部功能模块测试程序编程,实现了芯片PLL、ADC、存储器、GPIO、Trimming、Watchdog Timer等内部模块功能及DC电性能、AC电性能的测试验证。PLL(6x)模块功能测试的代码如图6所示,使用ATE给PLL_CKI持续灌入10 MHz 50%Duty方波,并对PLL_CKO_T端的输出频率进行测量,验证PLL(6x)的分频功能。
图6 PLL模块分频测试的VBT代码
芯片测试程序编程及调试完成后,对批量MCU芯片进行在线测试验证,根据测试结果对样品进行分Bin。另外,通过对批量MCU芯片的在线测试的结果分析,可以发现芯片产品质量问题,制定产品量产过程中不同阶段的测试要求,严格控制产品的参数波动范围,剔除离散性差并且偏离正态分布的异常样品,保证产品质量。对1个批次的500只MCU样品的LDO Trimming测试数据进行统计分析,测试结果如图7所示,经过Trimming测试后,以1.50 V为理想值,99.6%的MCU芯片样品LDO的VDDCORE在1.45~1.55 V,并呈现正态分布,而个别样品电压下降到1.40 V以下,与MCU的合格判定下限1.35 V已非常接近,需要进行剔除保证同一批次产品质量。
图7 MCU芯片LDO Trimming测试数据统计
MCU芯片技术的快速发展使得高集成度、复杂功能的MCU芯片不断涌现,也对MCU芯片量产测试提出了更高的要求,需要更加快速有效地开展MCU芯片的在线测试,缩短测试周期,加快芯片面市。本文针对一款32位高性能MCU,在MCU芯片电性能测试方法的基础上,重点阐述了MCU芯片内部的PDR、GPIO、ADC、Trimming、存储器等内部功能模块的测试验证方法和在线测试流程,并且基于Teradyne J750Ex-HD集成电路ATE测试系统,设计制作了MCU芯片测试适配器,开发了基于VBT编程的芯片测试程序,实现了批量MCU芯片的在线测试,可以为高性能MCU的量产在线测试提供技术参考。