公开/公告号CN107390109A
专利类型发明专利
公开/公告日2017-11-24
原文格式PDF
申请/专利权人 苏州迅芯微电子有限公司;
申请/专利号CN201710433927.8
发明设计人 王潜;
申请日2017-06-09
分类号G01R31/28(20060101);
代理机构61200 西安通大专利代理有限责任公司;
代理人徐文权
地址 215028 江苏省苏州市苏州工业园区星湖街218号A—110C单元
入库时间 2023-06-19 03:49:55
法律状态公告日
法律状态信息
法律状态
2019-12-24
授权
授权
2017-12-19
实质审查的生效 IPC(主分类):G01R31/28 申请日:20170609
实质审查的生效
2017-11-24
公开
公开
技术领域
本发明属于集成电路芯片的测试技术领域,尤其涉及应用于高速模数转换器芯片的自动测试平台及其软件结构设计方法。
背景技术
高速ADC芯片(模数转换器)被广泛应用在雷达﹑光通讯、软件无线电和移动通信等领域。随着ADC芯片的转换速率和采样精度的不断提高,产品量产后大量芯片的测试任务繁重并且非常重要,也对现有的测试系统提出更高的要求;测试任务包括测试ADC芯片的各种特性参数:静态特性、动态特性、数据时钟输出端特性及电源功耗特性等。
现在芯片制造领域的芯片量产测试是采用以测试机台为主的测试方案,如ATE设备(Automatic Test Equipment)。测试机台根据测试要求和参考设定方案,采用现有的硬件和软件开发平台,利用标准测试和链路连接等技术实现自动化测试。它可以实现一定程度的芯片大量快速和自动化测试,但基于该设备的测试方案有诸多限制,尤其对于高速ADC芯片兼顾精度和高速率的测试需求在自动化快速测试中很难得到满足,如为了保证被测芯片的静态特性和动态特性参数的测试精度,需要提供可调频率幅值或高精度模拟输入信号;对于被测高速ADC芯片数据输出接口的数据,处理核心需要根据接收数据速率提供可调节延时的延时IO模块,并针对高速ADC提供可校准同步的算法驱动;需要高速运算核心保证参数处理算法的快速运行;并需要相应的上位机控制模块控制流程或测试设备并显示和存储结果;完成上述功能的同时,还要保证整个测试流程耗时短、全自动。
综上,高速ADC测试领域对更有效的测试方法有迫切的要求。
发明内容
本发明的目的在于提供一种高速ADC芯片的自动测试平台及其软件架构设计方法,能够快速测试高速ADC各项性能参数,可实现对被测ADC芯片参数的“一键获取”。
为实现上述目的,本发明提供如下技术方案:
高速ADC芯片的自动测试平台,包括ADC子板、测试母板、FPGA核心板、上位机和测试设备;
ADC子板包含放置被测ADC芯片的装置、连接ADC芯片的装置的ADC芯片基本工作电路和引出的芯片接口;基本工作电路保证被测ADC芯片正常工作;引出的芯片接口将被测ADC芯片需要测量的接口引出来和测试母板通过高速接口相连;
测试母板连接ADC子板和FPGA核心板;
FPGA核心板连接上位机,用于完成程序控制和数据处理的任务;
上位机与FPGA核心板通信,用于控制测试流程;
测试设备包括信号源和电源,提供整个自动测试平台所需要的信号和供电;
测试母板上的测试电路分为输入电路和输出电路;输入电路:用于输入两种激励信号,一种是频率幅值可调的稳定正弦波,一种是高精度稳定电平的输入直流;输出电路:用于测量被测ADC芯片输出端口的静态电平特性和时序特征精度;
测试母板输入电路包括外部输入信号电路、DAC电路和射频开关;测试母板的输出电路包括ADC电路、开关阵列和FMC接口模块;射频开关和开关阵列构成继电器阵列;
外部输入信号电路接收外部信号源仪器设备输入的单端信号,转成差分信号;外部输入信号电路输出的信号和DAC芯片输出的信号,通过二选一射频开关切换作为被测ADC芯片的信号输入;
连接上位机的外部信号源设备通过高频SMA接口连接射频开关;
FMC接口模块连接DAC芯片、射频开关、ADC电路和开关阵列;
DAC芯片输出覆盖被测ADC芯片满量程的高精度稳定电平,外部信号源设备输出的信号和DAC芯片输出信号通过二选一射频开关切换作为被测ADC芯片的信号输入;
FPGA核心板的程序控制为:一是接收上位机命令,完成整个测试流程,二是控制测试母板上电路芯片完成相应功能;数据处理:FPGA核心板接收被测ADC芯片数据和测试母板电路芯片数据,运算算法对采集数据处理后将数据发给上位机。
进一步的,ADC子板和测试母板为分体结构,并通过高速接口连接;或者ADC子板与测试母板为整体结构,设置于同一电路板上。
进一步的,FPGA核心板与FMC接口模块连接;通过FMC模块,FPGA采用SPI通讯方式分别控制ADC电路、DAC电路和被测ADC芯片,通过使能信号组控制射频开关和开关阵列,通过串口通讯方式和上位机通信;通过FMC接口模块,FPGA核心板获取上述ADC电路和被测ADC芯片的采集数据,应用相应算法,得出所测相应参数,保证被测芯片端口的静态电平特性和时序特征精度。
进一步的,上位机通过控制FPGA核心板、控制信号源和电源设备从而控制整个参数获取流程;具体的,上位机发送预定协议指令和接收FPGA核心板回令来控制FPGA核心板;上位机接收FPGA核心板发送的所有预定参数数据,分析并显示测试结果。
进一步的,DAC电路选取高精度DAC芯片,根据芯片测试要求确定输出范围和输出精度;ADC电路选取高精度多通道ADC芯片,根据芯片测试要求确定输入量程和采样精度。
高速ADC芯片的自动测试平台的软件架构设计方法,包括:
步骤1、FPGA底层逻辑驱动设计;
步骤2、测试参数获取;
步骤3、上位机程序设计。
进一步的,步骤1具体包括:
FPGA底层逻辑部分,完成硬件基础的搭建,包括实现硬件模块的底层逻辑控制、基础计算和软核硬件配置;主要设计包括被测高速ADC的同步驱动算法设计、校准算法设计、板载高精度ADC/DAC和寄存器阵列的硬件驱动设计、硬件FFT运算;
1)同步驱动算法
被测ADC芯片,内部两路交织,共有34bits LVDS接口的数字信号输出,采用SPI接口配置芯片;驱动设计分为SPI配置模块和同步模块,SPI配置模块配置芯片工作在不同模式,复位芯片内部电路;同步模块完成ADC输出数据比特同步,避免数据错位。
被测ADC芯片与FPGA子板的连接经过继电器、不同长度差分走线和FMC接口,被测ADC输入到FPGA的同步数字信号会出现不同的延时,导致数字信号的不同步;芯片数据端口连接到FPGA的SelectIO模块,该模块能够调节IO延时;调节时,首先将被测ADC配置成Pattern模式,每个数据通道输出预定pattern,先同步bit0通道,bit0通道输出pattern经过SelectIO延时模块进入FPGA,FPGA将获取的pattern与对比pattern进行异或相加,并统计结果,两者一致为0,不一致为1,IO延时模块设置0~31的TAP,先固定对比pattern,更改IO延时的TAP,从0到31,统计每个TAP下对比结果,每个TAP得出1bit结果,32个TAP得出一个窗,由1和0组成,其中,0代表对齐,找出0最多的窗的中间位置对应的TAP定为bit0的最佳采样时刻,将TAP写入bit0对应的IO延时模块并固定,然后移位更改对比pattern,得出bit0对应的最佳对比pattern,固定此对比pattern,依次扫出其他33个通道的对应的最佳TAP值,写入对应的IO延时模块,完成同步过程;
2)校准算法设计
在同步后,被测ADC芯片两路输出数字信号会存在偏移失配、增益失配、采样时间间隔失配;三种校准均将被测ADC配置在信号模式下,采集高精度DAC输出的接近满量程的正弦波,偏移失配校准算法统计两路采样数值均值差异,增益失配校准算法统计两路采样峰值均值差异,采样间隔校准算法统计两路采样相邻数值差异,通过SPI将差异写入被测ADC的相关寄存器,芯片内部电路通过负反馈将差异减小直到统计结果一致,完成校准;
3)硬件驱动设计
高精度ADC与DAC驱动程序的设计采用状态机的设计方式,状态机循环过程中首先完成芯片的初始化,然后配置芯片工作状态,得出想要的结果后,发出完成信号,查看完成信号,返回结束信号,状态机停止工作;寄存器阵列由43个继电器组成,分别控制4个电源电压测试切换,采样信号输入切换,切换高速ADC每路数字输出信号,时钟与同步信号输出信号切换,所有这些信号被编程为一个函数,同时控制所有继电器的开关,调用的时候输入相应的参数;滤波器子板一共有8个切换通路,只需要4bit的IO信号完成译码控制,滤波器控制被编写成一个函数,通过调用此函数,写参数,完成滤波通路切换;这三部分驱动底层设计均在FPGA硬件设计中完成,控制运行命令均在软核中编写C函数完成,在整个测试流程被调用;
4)硬件FFT运算
FFT运算在FPGA硬件程序中实现;FFT运算点数为1024点,选用pipeline方式实现,FFT运算模块缓存一次FFT的点数,然后将这些采样点按顺序输入到FFT核中,然后运算完串行输出复数数据,平方后得出功率谱。
进一步的,步骤2具体包括:
FPGA软核接收上位机命令控制测试流程,并发送命令给FPGA硬件程序,驱动外部电路,获取数据,应用处理算法,得出测试参数数值;测试参数主要分为静态参数和动态参数;
1)静态参数获取
静态参数获取依靠控制板载高精度DAC输出给被测ADC,使被测ADC的输出数字端口为0或1,通过FPGA直接读取数字信号或通过板载高精度ADC获取高精度电平;
2)动态参数获取
动态参数的计算依靠FFT模块得出的信号功率谱,按照定义或公式得出动态参数;按照定义或公式得出动态参数的过程中采用谐波的搜索流程,具体包括:已知被测ADC采集正弦信号,先找到谐波最大的频谱点,确定最大谐波所在的频点的位置序号fin,通过数字信号处理知道正弦信号的谐波是周期的,所以二次谐波所在的位置为2*fin,n次谐波所以的位置为n*fin,由于频谱周期的,所以所有谐波点被映射到第一奈奎斯特区,这样所有谐波,由于频谱会存在泄漏,所以把谐波点周围的频谱加到一起作为这个点的谐波。
进一步的,步骤3具体包括:
上位机软件采用MFC开发完成,工程分为参数测试流程控制、设备控制和数据存储显示;软件中调用了虚拟仪器软件结构库VISA和Excel类库,其中VISA库函数用于开发射频信号源和电源的控制程序,接口为USB通讯,Excel类库调用Excel存储并分析数据;
按照通信协议的规定,上位机与FPGA下位机实现了一整套自动测试流程:首先上位机设置好串口通信端口,与FPGA通信,发送测试命令,同步被测ADC,然后控制射频信号源调整8个正弦信号频率点的幅度,使其达到被测ADC的最佳满幅度,然后存储这些频点的幅度,同时加载这些幅度,第一阶段测试完成;第二阶段,测试被测ADC的功耗、IO特性与静态参数,记录这些参数到一个大数组下,第二阶段测试完成;第三阶段,测试不同频率下的ADC动态参数,分别加载8个频点,测试8组校准前与校准后的ADC动态参数,按顺序将这些参数存储到第二阶段的大数组后,上位机与FPGA下位机通信传递这个包含所有参数的大数组,上位机接受到所有参数,将这些参数按顺序写入到EXCEL表格中,并且判断这些参数是否超出预设的上下阈值,在表格中标出超出阈值的数据。
相对于现有技术,本发明具有以下有益效果:
1、测试速率高,被测ADC与整个测试电路以固定板形式连接,相比其他测试探头等连接方式,可实现更可靠的高速率数据信号传输;
2、实现了同时测量芯片的高精度电平特性与高速率数据特性,并通过编程控制,可实现“一键获取”;
3、成本低,器件中最主要成本为FPGA,本平台以较低的成本实现完整的测试功能;
4、通过测试母板的冗余设计和子板独立设计,可兼容不同接口数量和封装的ADC芯片,具体兼容程度与测试母板电路实现有关;
5、测试参数广泛,输入可选外部输入信号和板载高精度DAC输出信号,输出信号可选FPGA获取或板载高精度ADC获取;
6、数据处理灵活高效,FPGA获取测试数据后,数据处理可以在FPGA硬件程序、FPGA软核程序和上位机程序中根据算法特点和运行速率选择进行;
7、测试高效,经实际测试和实验,一次获取一款高速ADC芯片的所有常规参数(>500个)耗时小于10秒,提高了测试效率。
附图说明
图1为自动测试平台组成框图;
图2为自动测试流程图;
图3为自动测试系统实施例框图;
图4为继电器开关阵列示意图。
图5为软件架构图;
图6为FPGA程序框架图;
图7为高精度ADC与DAC的驱动工作图;
图8为FPGA校准算法设计图;
图9为谐波搜索流程图;
图10为上位机界面实例图。
具体实施方式
下面将结合本发明的一个实施例及附图,对本发明所阐述的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1所示,本发明一种高速ADC芯片的自动测试平台,由五部分组成:ADC子板、测试母板、FPGA核心板、上位机和测试设备。
ADC子板包含ADC芯片放置测试座、芯片基本工作电路和引出的芯片接口。放置ADC芯片的装置用于更换ADC芯片,测试完一颗芯片只需要取出更换下一颗;基本工作电路保证ADC芯片正常工作;引出的芯片接口将ADC芯片需要测量的接口引出来和测试母板通过普通的高速接口方式相连。这样对于不同的ADC芯片,只需要更换ADC子板即可。如果测试系统固定,也可以将ADC子板直接和测试母板合并,将ADC子板的全部电路画在母板电路中,以减少两个板子接口连接带来的影响,整个系统会更加稳定。
测试母板为基本板,分别和ADC子板及FPGA核心板相连,测试母板上的测试电路分为输入电路和输出电路。输入电路:为了充分的测试高速ADC的性能参数,需要输入两种激励信号,一种是频率幅值可调的稳定正弦波,一种是高精度稳定电平的输入直流;输出电路:为了测量ADC芯片输出端口的电平静态特性,需要对芯片输出数据端口和其他参考接口进行高精度电平采集,为了测量芯片动态特性和工作性能,需要对ADC输出数据做算法处理,在输入电路和输出电路中需要的信号控制部分以及所述的算法处理均在FPGA核心板中实现。
FPGA核心板是主控制处理模块,插在测试母板上,具体实现可根据需求选择不同性能的FPGA,FPGA完成程序控制和数据处理的任务。FPGA核心板连接上位机。程序控制:一是接收上位机命令,完成整个测试流程,二是控制测试母板上电路芯片完成相应功能;数据处理:FPGA接收被测ADC数据和测试母板电路芯片数据,运算各种参数复杂算法,由于FPGA端口可实现高速率接口并可调节数据延时,能更容易测量高速ADC数据采集的性能参数。FPGA可重新编程可以实现不同模式和不同算法的测试数据处理。最后运算得出芯片所测参数,再以预定的格式协议将数据发给上位机。
上位机与FPGA核心板通信,控制测试流程,以预定的通信协议将所有参数数据以预定格式存储在本地;而且按照需要控制辅助测试设备,构建自动一体化的测试设备群。
测试设备包括射频信号源和多通道数字电源,射频信号源包括输入射频信号源和采样时钟射频信号源,提供整个系统所需要的外部信号和供电,现在几乎所有的测试设备支持可编程控制并提供了编程手册,在上位机中可以实现编程控制,本实施例输入射频信号源采用RIGOL公司的DSG3060信号源,可实现9kHz~6GHz的正弦波信号输出作为母板输入信号,本实施例采样时钟射频信号源采用Hittite公司的HMC-T2220信号源,可实现10MHz~20GHz的射频信号输出作为被测ADC的采样时钟,本实施例多通道数字电源采用RIGOL公司的DP832数字电源,可提供30V/2A的两通道电源。
ADC子板、测试母板、FPGA核心板、上位机和测试设备均以普通常用接口连接。
整个测试简要流程如图2所示。放置一颗ADC芯片在ADC子板装置上,上位机选择要测试的数据种类,发送测试命令给FPGA核心板,同时控制辅助信号源电源设备,FPGA接收命令后开始按照既定参数顺序,控制测试母板的输入电路、输出电路和ADC芯片,获取数据作一系列数据处理,最后以预定格式将参数数据发送给上位机,上位机接收数据并将所有参数数据保存在本地,并显示测试结果,最后发送命令控制电源设备关闭ADC子板的电源,然后更换ADC芯片,继续进行下一颗芯片的测试。
如图3所示,本实施例提供了一种高速ADC自动测试平台,ADC子板电路和母板电路画在一个PCB板上。本实施例选取一款5Gbps芯片作为被测ADC,放置芯片的装置为Socket测试座,可以向厂家定制对应芯片封装的Socket座,Socket测试座用螺丝拧上与焊盘接触从而安装在测试母板上,此Socket测试座用于随时更换芯片;测试母板上提供被测ADC的VCC端口所需的4.5/3.3/1.8V供电和基本电阻电容工作电路;测试母板通过SPI方式控制被测ADC读取内部寄存器和设置该ADC功能,被测ADC的其他端口,如图3所示,分别与母板上开关模块和FMC模块相连。
测试母板输入电路划分为外部输入信号电路、高精度DAC电路和射频开关三部分。具体的,能产生9kHz~6GHz的输入射频信号源仪器输出的单端信号,经过可选的多通道滤波器子板,再通过普通高频SMA接口输入母板的输入信号电路,转成差分信号;高精度DAC芯片,本实施例选取一款1Mbps/16bits DAC,输出范围0~2.5V,输出精度为0.03mV,该DAC通过SPI方式控制输出预定电平,测试母板上提供该DAC的2.5V供电和基本工作电路;外部输入信号由信号源提供,频率幅值均可调,而高精度DAC输出覆盖被测ADC满量程(450mV)的高精度稳定电平,两个信号通过二选一射频开关切换作为被测ADC芯片的信号输入,该射频开关由1bit信号控制选通。以上所述高精度DAC的SPI总线信号和射频开关控制信号,通过可选的电平转换电路连接到FMC模块,最终由FPGA控制。
测试母板的输出电路划分为高精度ADC电路、开关阵列和FMC接口模块三部分。具体的,高精度ADC电路,本实施例选取一款1Mbps/16bits四通道ADC,输入满量程0~5V,采样精度为0.08mV,该芯片通过SPI方式控制读取采样数据,母板上提供该ADC的5V供电和基本工作电路;被测ADC的输出端口可分为64bits数据端口(数据输出端口)和8bits观测端口(功能参考端口),8bits观测端口作为一个集合,通过一个8选1开关连接到高精度ADC的通道1输入端口,该8选1开关由3bits信号控制选通,64bits数据端口(差分,32组)通过32个开关组成的开关阵列连接到高精度ADC的通道2和FMC接口模块,具体的,每个开关由1bit信号控制,选通一组数据端口连接到ADC的通道2或FMC模块;FMC接口模块为常用的HPC FMC模块;以上所述高精度ADC的SPI总线信号和射频开关控制信号,通过可选的电平转换电路连接到FMC模块,最终由FPGA控制。
请参阅图4所示,二选一射频开关和开关阵列构成继电器阵列;继电器阵列控制被测ADC的信号通路,包括被测ADC的输入阵列(二选一射频开关)和输出阵列(开关阵列);输入阵列实现外部测试信号和板载高精度DAC输出信号的选择,输出阵列实现被测ADC输出端口的信号是连接FMC还是连接板载高精度ADC;继电器阵列的开关由FPGA核心板根据测试过程控制。
继电器选择超小型低剖面继电器,并要求具有高耐热材料,采用高频特性优越的接触弹簧。继电器具体参数要求为:闭合时功耗为100mW,非闭合时具有140mW,并且采用贴片封装,在正常运行模式下,开启和闭合的最长时间均为3ms。继电器芯片选择PZT2222a,为双通道的二选一开关,功能端口分别记为A1、A2、B1、B2、C1、C2和Ctrl。Ctrl为0,连通A1和C1、A2和C2;Ctrl为1,连通B1和C1、B2和C2。
被测ADC输入端口为1路差分,需要1个继电器,该继电器A1、A2端口连接外部输入信号差分对,该继电器B1、B2端口连接板载高精度DAC输出信号差分对,该继电器C1、C2端口连接被测ADC输入端口差分对;被测ADC输出数字端口为34路差分,需要34个继电器构成继电器开关阵列,该继电器开关阵列的所有继电器的A1、A2端口连接板载高精度ADC输入信号差分对,该继电器开关阵列的所有继电器的B1、B2端口连接FMC端口差分对,该继电器开关阵列的所有继电器的C1、C2端口连接被测ADC的输出端口差分对。
测试母板上的电源管理模块,由一系列LDO组成,由外部电源设备通道1输入12V电压,该模块稳定输出5V、3.3V、2.5V、1.8V电压,提供测试母板上上述各电路和各芯片的供电;FPGA核心板因为在测试过程中一直保持运行状态,单独供电,由外部电源设备通道2提供12V电源。
FPGA核心板由FPGA最小板实现,划分为FPGA芯片及其基本工作电路和串口电路组成,实现流程控制和数据处理。具体的,本实施例选取一款Xilinx k7芯片,将FPGA上的160个IO端口(差分,80对)引出来与FMC模块连接;通过FMC模块,FPGA采用上述SPI通讯方式分别控制高精度ADC、高精度DAC和被测ADC,通过使能信号组控制上述开关,通过串口通讯方式和上位机通信;本实施例的FPGA可实现78皮秒级别的数据延时,并可将其IO配置为高速率接发器,可实现测量高速率ADC采集数据的诸多性能参数;通过FMC模块,FPGA获取上述高精度ADC和被测ADC的采集数据,应用不同的处理算法,得出所测参数;串口电路实现串口转USB,将FPGA的串口格式数据转为上位机的USB格式;最后FPGA通过串口通讯将计算的参数数据发送给上位机显示存储。
上位机通过控制FPGA、控制信号源和电源设备从而控制整个参数获取流程。具体的,通过上述的串口通讯,上位机发送预定协议指令和接收FPGA回令来控制FPGA;测试设备可为Agilent或普源精电等的信号源和电源,并可以通过设备背部的USB或GPIO口发送SCPI格式命令被控制,上位机采用C函数调用VISA库来实现设备驱动和设置程序;最后,上位机接收FPGA发送的所有预定参数数据,分析并显示测试结果,以预定的格式将数据存储在Excel文件中。
进一步的,可以看出,整个测试流程由FPGA和上位机的通信协议而定,通信协议的一个实施例如表1所示。
为了进一步清楚的阐释自动测试系统的测试过程,以被测ADC芯片一个数据端口的电平参数测试过程来说明:
步骤1)、打开上述电源设备通道2,设置12V给FPGA核心板供电,打开上位机,选择串口通讯地址和格式,与FPGA建立连接,选择USB地址,与外部信号源和电源建立连接;
步骤2)、放置被测ADC芯片在Socket座中;
步骤3)、上位机选择测试参数,开始测试,分别发送命令给FPGA、信号源和电源;
步骤4)、电源设备接收上位机命令打开上述电源设备通道1,设置12V给母板供电,母板电源管理模块开始给母板上电路和被测ADC芯片供电;输入射频信号源设备接收上位机命令自动设置输出为100MHz/0dBm正弦波;采样时钟射频信号源设备接收上位机命令自动设置输出为2GHz/0dBm正弦波;
步骤5)、FPGA通过串口接收上位机命令,通过上述1bit射频开关控制信号将射频开关置为外部信号连接到被测ADC输入,通过上述1bit数据开关控制信号将被测数据端口对应的开关置为该数据端口输出连接到高精度ADC通道2,通过其他31组数据开关控制信号将其他数据端口连接到FMC模块,避免干扰高精度ADC通道2的数据采集;
步骤6)、FPGA通过上述SPI总线连续读取高精度ADC的采集数据,统计100次,计算平均值/最小值/最大值,这就是要测的该数据端口的一个电平参数;
步骤7)、以表1预定协议的格式发送此参数给上位机;
步骤8)、上位机接收到参数,判断是否正常,显示测试结果,并将此参数和测试结果写入Excel;
步骤9)、上位机发送命令控制电源关闭通道1母板供电;
步骤10)、更换Socket测试座里的被测ADC芯片,继续步骤2),循环测试。
综上,本发明实施例提供的ADC自动测试系统,提高了测试ADC芯片参数的多样性,包括所述被测ADC芯片更高精度的端口电平参数和被测ADC在高速数据速率下更准确的多种性能参数,提升了系统的兼容性和适用广泛性,并提高了自动化程度和整个测试速率,从而能够得到更全面更高效的ADC芯片参数测试。
表1为自动测试系统FPGA和上位机通讯协议的实施例表
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
本发明高速ADC芯片的自动测试平台的软件架构部分如图5所示,包括主控FPGA程序和上位机程序;其中FPGA程序包括控制测试母板芯片电路的FPGA硬件程序和处理复杂运算并负责与上位机通信的FPGA软核程序;其中基于C/C++语言的上位机程序负责定义测试数据类别并控制整个测试流程、存储数据和显示测试结果。以上,从组织结构上软件架构可划分为三部分:底层逻辑驱动、测试参数获取和用户层控制。
本实施例提供了一种高速ADC自动测试平台的软件架构设计方法,该方法具体实施步骤如下:
步骤1、FPGA底层逻辑驱动设计
如图6所示的FPGA底层逻辑部分,完成硬件基础的搭建,包括实现硬件模块的底层逻辑控制、基础计算和软核硬件配置;主要设计包括被测高速ADC的同步驱动算法设计、校准算法设计、板载高精度ADC/DAC和寄存器阵列的硬件驱动设计、硬件FFT运算。
1)同步驱动算法
本实施例测试采用5G8Bit ADC作为被测芯片,此芯片采样率最高可达到5GHz,数据分辨率为8bits,内部两路交织,每路DMUX为16路信号并包含1bit溢出位,综上,该芯片共有34bits LVDS接口的数字信号输出,采用SPI接口配置芯片。驱动设计分为SPI配置模块和同步模块,SPI配置模块配置芯片工作在不同模式,复位芯片内部电路;同步模块完成ADC输出数据比特同步,避免数据错位。
进一步的,测试高速ADC工作在5G采样率下,数字端口速率为1.25Gsps,由于芯片与FPGA子板的连接经过继电器、不同长度差分走线和FMC接口,所以被测ADC输入到FPGA的同步数字信号会出现不同的延时,导致数字信号的不同步。芯片数据端口连接到FPGA的SelectIO模块,该模块可调节IO延时,Xilinx的V7系列FPGA可调节延时精度为78ps;如图7所示,首先将被测ADC配置成Pattern模式,每个数据通道输出预定pattern(PRBS7),先同步bit0通道,bit0通道输出pattern经过SelectIO延时模块进入FPGA,FPGA将获取的pattern与对比pattern进行异或相加,并统计结果,两者一致为0,不一致为1,IO延时模块可设置0~31的TAP,单位为78ps,先固定对比pattern,更改IO延时的TAP,从0到31,统计每个TAP下对比结果,每个TAP可得出1bit结果,32个TAP可得出一个窗,由1和0组成,其中,0代表对齐,找出0最多的窗的中间位置对应的TAP定为bit0的最佳采样时刻,将TAP写入bit0对应的IO延时模块并固定,然后移位更改对比pattern,同样可以得出bit0对应的最佳对比pattern,固定此对比pattern,依次扫出其他33个通道的对应的最佳TAP值,写入对应的IO延时模块,完成同步过程。
2)校准算法设计
校准算法主要针对多路交织的高速ADC芯片,本实施例中两路子ADC交织,在同步后,两路输出数字信号会存在偏移失配、增益失配、采样时间间隔失配;如图8所示,三种校准均将被测ADC配置在信号模式下,采集高精度DAC输出的接近满量程的正弦波,偏移失配校准算法统计两路采样数值均值差异,增益失配校准算法统计两路采样峰值均值差异,采样间隔校准算法统计两路采样相邻数值差异,通过SPI将差异写入被测ADC的相关寄存器,芯片内部电路通过负反馈将差异减小直到统计结果一致,完成校准。
3)硬件驱动设计
高精度ADC与DAC驱动程序的设计采用状态机的设计方式,状态机循环过程中首先完成芯片的初始化,然后配置芯片工作状态,得出想要的结果后,发出完成信号,查看完成信号,返回结束信号,状态机停止工作。寄存器阵列由43个继电器组成,分别控制4个电源电压测试切换,采样信号输入切换,切换高速ADC每路数字输出信号,时钟与同步信号输出信号切换,所有这些信号被编程为一个函数,同时控制所有继电器的开关,调用的时候只需要输入相应的参数即可。滤波器子板一共有8个切换通路,所以只需要4bit的IO信号完成译码控制即可,滤波器控制被编写成一个函数,通过调用此函数,写参数,即可完成滤波通路切换。这三部分驱动底层设计均在FPGA硬件设计中完成,控制运行命令均在软核中编写C函数完成,在整个测试流程被调用。
4)硬件FFT运算
FFT运算在FPGA硬件程序中实现,可快速并行执行,并且可以实现灵活的计算,本实施例中FFT运算点数为1024点,选用pipeline方式实现,FFT运算模块缓存一次FFT的点数,然后将这些采样点按顺序输入到FFT核中,然后运算完串行输出复数数据,平方后得出功率谱。
步骤2.测试参数获取
FPGA软核接收上位机命令控制测试流程,并发送命令给FPGA硬件程序,驱动外部电路,获取数据,应用处理算法,得出测试参数数值。测试参数主要分为静态参数、动态参数、其他参数。
1)静态参数获取
以高速ADC重要的静态参数INL和DNL为例,INL与DNL测试是利用高精度DAC输出超被测ADC量程的电平信号,每个高精度DAC输出电平统计ADC采样100次取均值,并利用等比例计算得出ADC每个量化台阶对应的高精度DAC码值,就可以得出以ADC采样数据和高精度DAC输出信号电平为坐标的“台阶”,即可按照定义得出被测ADC的INL与DNL。
2)动态参数获取
动态参数的计算依靠上述的FFT模块得出的信号功率谱,即可按照定义或公式得出动态参数。本发明重点在于谐波的搜索流程。
谐波搜索流程如图9,已知被测ADC采集正弦信号,在图中可以看到需要先找到谐波最大的频谱点,确定最大谐波所在的频点的位置序号fin,通过数字信号处理可以知道正弦信号的谐波是周期的,所以二次谐波所在的位置为2*fin,n次谐波所以的位置为n*fin,由于频谱周期的,所以所有谐波点可以被映射到第一奈奎斯特区,这样所有谐波,由于频谱会存在一定的泄漏,所以把谐波点周围的频谱加到一起作为这个点的谐波,提高测试精度。
步骤3.上位机程序设计
上位机软件采用MFC开发完成,工程分为参数测试流程控制、设备控制和数据存储显示。软件中调用了虚拟仪器软件结构库(VISA)和Excel类库,其中VISA库函数用于开发射频信号源和电源的控制程序,接口为USB通讯,Excel类库调用Excel存储并分析数据;上位机的界面如图10所示,包括总控制区、信号源控制区、通信与信息、参数显示区和信息显示区。
本实施例中,按照通信协议的规定,上位机与FPGA下位机实现了一整套自动测试流程。首先上位机设置好串口通信端口,与FPGA通信,发送测试命令,同步被测ADC,然后控制射频信号源调整8个正弦信号频率点的幅度,使其达到被测ADC的最佳满幅度,然后存储这些频点的幅度,同时加载这些幅度,第一阶段测试完成。第二阶段,测试被测ADC的功耗、IO特性与静态参数,记录这些参数到一个大数组下,第二阶段测试完成。第三阶段,测试不同频率下的ADC动态参数,分别加载8个频点,测试8组校准前与校准后的ADC动态参数,按顺序将这些参数存储到第二阶段的大数组后,上位机与FPGA下位机通信传递这个包含所有参数的大数组,上位机接受到所有参数,将这些参数按顺序写入到EXCEL表格中,并且判断这些参数是否超出预设的上下阈值,在表格中标出超出阈值的数据。
机译: 自动测试系统的半导体芯片,包括该半导体芯片的自动测试系统,操作自动测试设备的方法以及使用该方法制造半导体芯片的过程
机译: 基于场景规范的自动测试软件生成工具,用于在仿真和仿真平台上验证芯片上系统
机译: 自动测试向量生成方法,利用自动生成的测试向量的测试方法,芯片制造方法和自动测试向量生成程序