datasheet
超过460,000+ 应用技术资源下载
pdf

基于FPGA的ADC并行测试方法研究

  • 1星
  • 日期: 2014-03-05
  • 大小: 4.54MB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 基于FPGA的ADC并行测试方法研究

高性能ADC产品的出现,给混合信号测试领域带来前所未有的挑战。并行ADC测试方案实现了多个ADC测试过程的并行化和实时化,减少了单个ADC的平均测试时间,从而降低ADC测试成本。本文实现了基于FPGA的ADC并行测试方法。在阅读相关文献的基础上,总结了常用ADC参数测试方法和测试流程。使用FPGA实现时域参数评估算法和频域参数评估算法,并对2个ADC在不同样本数条件下进行并行测试。   本研究通过在FPGA内部实现ADC测试时域算法和频域算法相结合的方法来搭建测试系统,完成了音频编解码器WM8731L的控制模式接口、音频数据接口、ADC测试时域算法和频域算法的FPGA实现。整个测试系统使用Angilent33220A任意信号发生器提供模拟激励信号,共用一个FPGA内部实现的采样时钟控制模块。并行测试系统将WM8731.L片内的两个独立ADC的串行输出数据分流成左右两通道,并对其进行串并转换。然后对左右两个通道分别配置一个FFT算法模块和时域算法模块,并行地实现了ADC参数的评估算法。在样本数分别为128和4096的实验条件下,对WM8731L片内2个被测.ADC并行地进行参数评估,被测参数包括增益GAIN、偏移量OFFSET、信噪比SNR、信号与噪声谐波失真比SINAD、总谐波失真THD等5个常用参数。实验结果表明,通过在FPGA内配置2个独立的参数计算模块,可并行地实现对2个相同ADC的参数评估,减小单个ADC的平均测试时间。FPGA片内实时评估算法的实现节省了测试样本传输至自动测试机PC端的时间。而且只需将HDL代码多次复制,就可实现多个被测ADC在同一时刻并行地被评估,配置灵活。基于FPGA的ADC并行测试方法易于实现,具有可行性,但由于噪声的影响,测试精度有待进一步提高。该方法可用于自动测试机的混合信号选项卡或测试子系统。

大连理工大学 硕士学位论文 基于FPGA的ADC并行测试方法研究 姓名:程鹏 申请学位级别:硕士 专业:电路与系统 指导教师:董维杰 20091201 大连理工大学硕士学位论文 摘要 高性能ADC产品的出现,给混合信号测试领域带来前所未有的挑战。并行ADC测 试方案实现了多个ADC测试过程的并行化和实时化,减少了单个ADC的平均测试时间, 从而降低ADC测试成本。 本文实现了基于FPGA的ADC并行测试方法。在阅读相关文献的基础上,总结了 常用ADC参数测试方法和测试流程。使用FPGA实现时域参数评估算法和频域参数评 估算法,并对2个ADC在不同样本数条件下进行并行测试。 通过在FPGA内部实现ADC测试时域算法和频域算法相结合的方法来搭建测试系统, 完成音频编解码器WM8731L的控制模式接口、音频数据接口、ADC测试时域算法和频域 算法的FPGA实现。整个测试系统使用Angilent 33220A任意信号发生器提供模拟激励信 号,共用一个FPGA内部实现的采样时钟控制模块。并行测试系统将I删18731L片内的两 个独立ADC的串行输出数据分流成左右两通道,并对其进行串并转换。然后对左右两个 通道分别配置一个FFT算法模块和时域算法模块,并行地实现了ADC参数的评估算法。 在样本数分别为128和4096的实验条件下,对WM8731L片内2个被测ADC并行 地进行参数评估,被测参数包括增益GAIN、偏移量OFFSET、信噪比SNR、信号与噪 声谐波失真比SINAD、总谐波失真THD等5个常用参数。实验结果表明,通过在FPGA 内配置2个独立的参数计算模块,可并行地实现对2个相同ADC的参数评估,减小单 个ADC的平均测试时间。 FPGA片内实时评估算法的实现节省了测试样本传输至自动测试机PC端的时间。 而且只需将HDL代码多次复制,就可实现多个被测ADC在同一时刻并行地被评估,配 置灵活。基于FPGA的ADC并行测试方法易于实现,具有可行性,但由于噪声的影响, 测试精度有待进一步提高。该方法可用于自动测试机的混合信号选项卡或测试子系统。 关键词:hI)C测试;并行;参数评估;FPGA;FFT 大连理工大学硕士学位论文 Study of Parallel ADC Testing Methods Based On FPGA Abstract The emerge of hi曲performance ADC puts mixed signal testing field to a challenging situation.The parallel ADC testing solution can test the ADC in parallel and in real·time, which Call de.ease the testing time and reduce the testing cost. This paper shows the implantation of ADC parallel testing solution based on FPGA. After study the related paper,the frequently-used ADC testing methods and flow was summarized.In FPGA,time-regime parameter algorithms and frequency-regime parameter algorithms has been implanted,which is used in a parallel test experiment of two—ADCs. The Parallel ADC testing system is based on the combination of time-regime parameter algorithms,frequency-regime parameter algorithms.The audio data interface and mode contr01 interface of WM873 1 L aS well as the testing algorithms are finished.The whole testing system only needs one single stimulus s01】rce and sampling control unit.The output data flow of WM873 1 L Was been split into two separate flows,which corresponding the left and ri出channel of WM873 1 L.Each channel WaS provided a FFT transformation unit and a parameters evaluation unit. Two different experiments have been carried out with sample number 128 and 4096. Five parameters(GAIN,OFFSET,SNL SINAD,THD)of two ADC have been evaluated. And the result shows that the FPGA-based parallel ADC testing method is reasonable,which Can reduce the average ADC testing time. The FPGA-based ADC parallel testing system cut down testing time by shrink the testing stage from 3 to 2,which means the data transplantation is no longer needed.Besides It is easy to inhere the parallel degree by simply a copy of the VerilogHDL module.This method is easy to implemented and it Can cut down the testing time,although the accuracy need to be improved.The method can be used as a subsystem in mixed-signal testing equipment. Key Words:Parallel Testing;ADC;FFT;FPGA;Parameters Evaluation 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 日期:丑年—堡月j互日 学位论文题目:差至上呈鱼垒叠垒里鱼堑!墨堕】盗杰遮墨亟垒 作者签名: 毪趣蔓 . 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 日期:五年√竺月三墨日 作学位者论签文名题:目.:蕴.旦逊刍蔓垒堕坐鱼盈竺皇塑l占这期至:达』三垫§生叠L年j羔一月j盈日 导师签名: 墨钮塾叁 大连理工大学硕士学位论文 1 绪论 1.1 课题的来源及意义 1958年美国德克萨斯仪器公司发明全球第一块集成电路后,随着硅平面技术的发 展,一个前所未有的具有极强渗透力和旺盛生命力的新兴产业——集成电路产业诞生 了。多年来,世界集成电路产业一直以3—4倍于国民经济增长速度迅猛发展,新技术、 新产品不断涌现,单芯片集成度不断提高,功耗的不断降低,集成电路产业朝着SoC (System On Chip)的方向快速发展。与此同时,现代集成电路产业链中的测试行业面 临着很大挑战。集成电路测试是保证集成电路性能、质量的关键手段之一,发展集成电 路产业的三大支撑技术之一。特别是在混合信号SOC集成电路测试领域,IC供应商在 测试上的花费接近产品总成本的三成。因此尽可能地降低IC测试费用并保证电路质量, 是IC产品具有竞争力的一个重要方面。 混合信号技术给当今的半导体制造商们带来的另外一个问题是,以前一些对数字电 路只有很小影响的缺陷如今在嵌入式器件中却可能大大改变模拟电路的功能,导致器件 无法使用。为确保这些新型半导体器件达到“无缺陷”水平,需要开发新的测试策略、 方法与技术。与标准的消费产品不同,安全领域(刹车,安全气囊等)相关的SoC产品 需要高的多的质量和稳定性【l】。由此导致了测试成本的显著增加,使得生产低成本产品 变得越来越难。 ADC(模数转换器)是最典型的模数混合集成电路,它几乎存在于所有的数字系统 中,是使用最多的模数混合集成电路之一【l】。在最新SoC中,大多数都集成了片上ADC, 是片上系统不可缺少重要组成部分。 IEEE Standardl241.2000推荐可靠的、易于实现的ADC测试方法,普遍应用于当代 半导体测试行业,以不同的方式用于测试系统中。目前主流的ADC测试建立是使用混 合信号测试机。然而,随着通信、医疗、消费电子行业的发展,信号处理器(DSP5性 能不断提高,数字系统前端的ADC越来越成为制约整个系统性能的瓶颈。近年来各大 半导体供应商研发资源的投入,ADC采样速度可达几百M样本每秒(例如德州仪器14 位精度的ADS5474,采样率可以到达400 MSPS),精度可达24比特(Maxim的24 位精度的MAXl 1040)。仅仅使用传统的ADC测试系统的实现方案,对测试机的投资 和对ADC的测试时间将增加得令人无法接受。 IEEE Standard 1241.2000建议的ADC测试方法一般在被测ADC的模拟端输入高精 基于FPGA的ADC并行测试方法的研究 度模拟信号,然后在数字输出端采集大量的样本,最后使用特定的算法来评估各个参数。 传统的基于自动测试机的ADC的测试方案,在高精度高速的ADC产品测试中的问题是 测试时间过长。主要原因在于两个方面:第一,以泰瑞达公司的J750数字测试机为例, 它的测试激励信号的更新率为10us,对于转换时间小于10us的被测ADC,测试机产生 的激励信号的更新率限制了测试时间的进一步降低【2】。第二,在传统的基于自动测试机 的ADC测试方案中,数据评估算法是在PC上进行后处理的,数据样本通过总线传输 到PC上,当测试高精度的ADC的时候,需要传输的样本数量在几k以上,因此耗费 大量时间。 当代半导体测试领域,SoC的混合信号内建自测试(BIST)方案是被业界认为最有 前途的测试方法。测试激励的产生,数据样本的评估都在SoC片内完成。但是由于技术 方面的限制,在片内产生高精度模拟信号面临很大的挑战。如果激励信号精度不够,则 所测的参数无法反映ADC的性能。 所需的测试时间的减小仅仅靠现存技术的小改进是无法达到的。因此,必须开发具 有创新意义的测试方法,这种方法必须能够提供极高的并行度,同时又不能使得测试设 备的开发变得复杂。本文使用FPGA实现ADC的并行测试,随着并行度的提高,平均 每个ADC的测试时间将得到显著减小。 1.2混合信号集成电路测试概述 随着科技进步和技术创新,集成电路产业已成为现代制造业的重要组成部分,推动 着国民经济的发展。在我国,早期的测试只是作为IC生产中的一个工序存在,测试产 业的概念尚未形成。随着人们对集成电路品质的重视,集成电路测试业目前正成为集成 电路产业中一个不可或缺的独立行业。 测试业是集成电路产业的重要一环。设计、制造、封装、测试四业并举,是国际集 成电路产业发展的主流趋势。测试业所占的细分市场在不断扩大,从业人数不断增加。 2004年,中国以集成电路产业为主导的电子信息产业的销售收入达到2.65万亿元,比 2003年增长40%。集成电路市场规模已经达到2908亿元,同比增长40.2%,高于全球 增幅12个百分点。 ‘ 在频繁使用的混合信号集成电路中,数据转换器(ADC与DAC)作为典型的混合 信号器件,搭建了模拟和数字世界之间的桥梁。它们决定了一个现代电子系统的整体精 度和速度性能。使用结构测试方法来对数据转换器的模拟和数字部分单独测试,是非常 困难的,并且不能得出满足所有器件指标的结论【3】。因此需要将数据转换器测试作为一 个实体,同时使用部分功能指标参数。对于用来测试数据转换器的硬件相关的精度来说 也有着非常严格的要求。片上测试数据转换 大连理工大学硕士学位论文 器的大多数工作都是针对ADC转换器的,因此,ADC的测试成本占据了混合集成电路 的绝大部分。 现代半导体测试行业越来越受到重视的原因,是集成电路产品测试占据了集成电路 产品总成本的很大一部分。ADC属于混合信号集成电路,混合信号集成电路测试是半 导体产品测试中最具挑战的领域,其测试成本高,测试时间长,各大半导体公司测试方 法存在较大差异。 因此,对于ADC的测试方法研究将对混合信号测试的发展来说有着积极意义。 1.3 ADC测试国内外研究现状 ADC测试主要用于两方面:一是生产ADC或者SoC集成电路产品的半导体厂商在 产品推向市场之前所做的性能测试;二是电子系统硬件设计工程师在设计硬件系统时, 为了能够在处理ADC输出样本的时候做出有效补偿而做的基于校验的测试。这两种情 况对于ADC测试方法的开发有着不同的要求,显然,对于半导体厂商来说,开发更低 成本的测试方法是其研究ADC测试的主要原因,而对于硬件设计师来说,开发更准确 的和更方便的测试方法,对他们更有吸引力。同时,两者也不矛盾,同样的ADC测试 方法和测试建立可以用于上述两种情况。为了获得具有足够准确度的ADC参数,半导 体集成电路供应商的测试部门必须配置现代自动测试器(ATE),自动测试仪是大型的 智能化的多功能集成电路测试设备,价格昂贵,例如低成本的J750数字测试仪售价50 万美元。 +ADC的测试类型按测试参数可以分为两类:静态测试和动态测试。静态测试主要 包括INL、DNL、增益、缺失码等静态参数的测试,它们反映了器件结构上的缺陷。动 态测试主要包括SNR、SINAD和THD等动态参数的测试,代表器件对于模拟信号采样 和输入波形的数字再现能力。 ADC测试的研究是围绕减少测试成本这一主题的,测试成本的减少意味着需要减 少对自动测试机的投资和缩短测试时间。国内外学者对于ADC测试展开深入而广泛的 研究,研究的重点主要在于以下三个方面: (1) ADC测试参数提取方法研究。 Linus Machaeli等人展示了一种基于统一误差模型参数辨识的ADC测试新方法,该 方法使用一个已知直流偏移量的三角波作为激励信号。该方法主要的优势在于ADC测 试当中能够使用简单的常规精度为O.1%的模拟信号产生器来作为激励,它的精度比 IEEE标准规定的激励信号质量恶劣几阶,但是仍然能够得到较为理想的参数测量结果 基于FPGA的ADC并行测试方法的研究 【4】。使用该方法唯一需要预先知道的是偏移量,而该偏移量可以由精度比被测ADC高 的精密电压表测得。只需要几十次的测量,每次测量几百个或者几千个样本就可以提供 关于INL的准确信息,而标准方法码密度法则需要百万个样本,甚至更多【5】。该方法可 观的降低了静态参数INL的测试时间,同时也降低了对于激励信号产生的成本。N. Bjorsell等人使用截顶的高斯噪声信号来测试ADC的静态参数,截顶的高斯噪声激励信 号避免了ADC的模拟输入端的信号超过其输入电压的最大范围【6】。利用该信号的特性, Histogram测试所需的测试序列被最小化,因此提高了测试效率与测试精度。J.Holub和 J.Vedral等人中提出了一种测量高精度和高速的ADC的随机信号激励测试法,该方法 把多个包含等分布偏移量的Guass信号相叠加得到随机信号,使用该随机信号作为ADC 的测试激励信号,采用码密度测试法(Histogram法)处理样本,取得了较好的效果【7】。 这种方法能够在不使用高纯度模拟信号的条件下,测试高精度和高采样速度的ADC的 静态参数。 目前通讯电子系统中所使用的ADC在实现原理和架构上存在很大的不同,可分为: 逐次比较型,Sigma.Delta型,流水线型,积分型等。因此,一些文献在探究某一特定 类型ADC的原理和行为特点的基础上,提出针对某一类ADC的特殊的测试方法,也取 得了一些成果。D.De.Venuto,L.Reyneri等人提出一种全数字激励的Sigma.Delta ADC 测试方法【8】,整个测试系统中所需要唯一的模拟器件是1位的DAC,这种方法能够使 用数字激励作为输入,快速测得ADC参数,但是该方法的使用范围较窄,该方法在某 款商用ADC测试上是否有效决定于被测的Sigma-Delta ADC的具体构造,因此存在一 定的局限性。L.JiIl等人中深入探讨了流水线ADC(Pipeline ADC)和Cyclic ADC在信 号输入阶段存在的非线性特性,在保证测试结果精度的条件下,利用这~特点简化测试 过程。文中给出的实验结果表明利用精度为7 Bit的低线性信号作为激励,可以将16位 精度的ADC测试保证在1-LSB左右【9】。这种方法对模拟信号的精度要求很低,便于片 内实现,因此该方法可被用于单片ADC或者SoC中的ADC测试。 ADC的量产测试中一般包含相对独立的两个阶段: (1)使用斜波或者码密度测 试法进行静态参数测试; (2)使用频域分析法进行动态参数测试。S.BERNARD等人 中提出了一种优化测试流程的方法【l 01。该方法仅使用频谱分析法,在测得动态参数的基 础上,探究频域参数测试与静态参数的关联,从而在频域测试流程中来获得静态参数。 另外,一种基于统计的方法被用于评估这种优化的流程,针对某一款ADC,该方法能 够评价优化测试是否能用于这款ADC的测试。使用测试动态参数的频域分析法来提取 静态参数,把两个测试阶段缩短为~个。传统与改进的测试流如图1.1和图1.2所示。 大连理工大学硕士学位论文 蹩一FataltFJee:FFs 圈1l传统^Dc测试流 F追l 1 TraditionalADCtestingflow 建一limit。 ”F刮}F嘴阡Ⅸ 图1 2改进扮AI)C测试流 Fig 12 ImprovedADCtestiagflow 该方法目前无法完全取代传统码密度测试法的原因在于:检测ADC参数的有效性 不高,作者仅将其用于补充商用ADC的数据手册,在对于测试时间要求严格的测试场 合,可作为各选方案来有效地缩短测试时间。 清华大学微电子学研究所孙杰等人提出了一种由DAC组成的同步相干采样法对 ADC进行采样,对采样数据采用抽取信号后座频谱分析的方法,实验数据表明该方法 提高了参数计算精度…】。改进的激励波形有效地解决了信号输入频率不确定的问题,并 且能够很好地抑制噪声的干扰;改进的频谱分析方法通过对信号进行预处理,然后再避 行傅里叶变换,改善了数据处理的精度。这两点相结合,很好地抻制了频谱泄精,明显 提高了A/D转换器测试的准确度。 ADC测试中如何精确地对被测对象进行采样是保证测试结果可靠性的关键,模拟 集成电路国家重点实验室的崔庆林等人讨论了相干采样与加密采样在高速A/D转换器 参数测试中的应用。实验数据表明相干采样方法对采样脉冲精度和输入激励信号精度具 有较高要求,加窗采样可以提高参数的可靠性【1“。 (2) 不同平台下ADC测试系统的实现。 基于自动测试仪ATE的ADC测试法,是当前ADC产业使用最多的颡0试系统实现 方案。自动损4试仪价格高昂,但是性能优良,太多数的自动柳《试设备都集成了数字集成 电路测试、混合信号集成电路测试、存储器测试等常规测试功能。此外,在实验室中使 用基于Malab、LabviEW、DSP等技术的ADC测试系统的实现也是常用方法。 北京大学微电子所冯建华等人介绍了ADC的静态和动态参数测试的主要流程,在 基于FPGA的ADC并行测试方法的研究 BC3 192V50测试系统上实现了ADC参数的计算机辅助测试法。BC3 192V50测试系统是 北京自动测试技术研究所开发研制的vxI总线型数模混合集成电路测试系统【13】。西安 电子科技大学刘书明等人介绍了一种基于DSP技术在线测试信号处理机的高速ADC转 换电路动态性能参数的方法【141。通过DSP控制ADC的采样,上位机采用Marlab实现 提取评估算法,实现了电路板的ADC器件及周边电路性能的在线评估。 中国空空导弹研究院李宝森和威盛电子的杜洋等人提出了一种ADC动态性能FFT 测试方法,该方法结合Ma廿曲软件和串口通信两者优势,可以较为容易地对ADC动态 性能进行测试【153。如图1.3所示,ADC转换得到的数据以及时钟等其他几个参考数据 通过标准接口送入EPLD,EPLD直接将数据送入两片Memory,分别存储16位数据的 高8位和低8位,测试板把储存在两片Memory中的数据发送到PC机中。这种测试 方法易于实现,且成本相对很低。但是,由于串口的传输速率一般为115200 bps(比特 数每秒),因此这种测试系统无法测量中高速采样率的ADC,具有好很大的局限性。 图1.3基于串口和llatlab的ADC测试系统方案 Fig。1.3‰ADC testing system based 17ART and matlab 中国电子科技集团公司第五十八研究所的钱宏文等人设计了用于高速ADC的参数 评估系统,该评估系统硬件包括ADC电路评估板、数据采集子板、PCI-E采集卡三块 子板,系统应用软件采帮1图形化显示界面。该高速ADC电路评估系统结构灵活、性能 稳定可靠,方便更换不同的ADC评估板来测试不同ADC电路,既可用于分辨率为 8.16bit、采样频率500MHz以内的高速ADO电路性能评估,也可以用于多达64通道、 125M的高速数据采集【16】。安捷伦科技的徐润生针对典型ADC的特性,介绍了Agilent 93000测试机台上的解决方案【I 71。 国家电力公司电力自动化研究院电力系统自动化设备检测实验室陈莉莉等人通过 Labview编程环境,运用系统集成的方法,集成具有GPIB接口的测试设备,实现数字 电路测试系统向混合信号测试方向扩展的方法【l 81。该系统的工作原理是:在Sun工作站 运行的测试程序通过GPIB接口程控任意波形发生器产生所需要的测试波形,由数字电 路测试系统产生测试AD转换芯片所必需的 大连理工大学硕士学位论文 数字激励并获取数字响应信号。在测试过程中,每次启动AD转换的同时提供任意波形 发生器的时钟脉冲信号,保证测试的同步进行,同时读入AD转换器的数字输出信号; 完毕后从数字电路测试系统的内存中读出转换数据,并进行处理。 ADC测试领域国内的研究,以不同平台下的测试系统实现最为众多,但在半导体 厂商的量产测试阶段,考虑到测试时间、可靠性等问题,这些实现方案的实用性不大。 随着高性能ADC的出现,开发一种更快更可靠的测试实现方法意义重大。 (3) ADC并行测试研究现状。 传统ATS的测试方法是顺序测试,一次仅能测试一个被测件(UUT,Unit Under Test) 的某一个参数。计算机要么在等待DUT到达指定状态,要么在等待仪器完成测试,CPU 和仪器有多达80%的时间处于空闲状态,整个系统的测试效率极低【19】。 20世纪末,随着微电子技术的飞速发展,这种测试方式已经不能满足印刷电路板 (PCB)、通讯产品和片上系统(SoC)等集成电路(Integrated Circuit)测试领域中UUT 大批量且日益复杂的特点,产品的测试成本在总成本中的比重越来越大。为了降低成本、 减少测试时间,并行处理技术被引入并得到广泛应用,形成了并行测试技术,并开始得 到越来越多的关注。1996年,在美国国防部自动测试系统执行局(DoD ATS EAO)的 统一协调下,美军与工业界联合提出了下一代ATS“NxTest”的体系结构,将并行测试 技术列为关键技术之一来研究【20】。 并行测试的概念被广泛用于软件测试和半导体测试中。Wang,Leid等人利用多核 处理器,通过开发优化的调度策略和测试流程,将软件测试比单核处理器的效率提高 300/o-50%t21】。ADc的参数测试与软件测试不同,由于ADC测试需要处理大量的数据样 本,因此在ADC并行测试过程中,存在着数据处理能力和数据样本传输两大问题。一 项分析数据表明,半导体测试并行度的提高可以极大地降低单个DUT的测试成本【221。 对于任一被测对象测试项目,测试任务可划分为若干相对独立的测试子任务。在多 个被测对象并行测试过程中合理安排各UUT(Unit Under Test) 的测试子任务顺序, 通过各测试子任务的并发执行实现并行测试【24】。 并行测试系统主要有二类结构形式。一类是多处理器(Multiple.Processor Systems) 并行测试结构。这类结构具有两个以上的处理器,在操作系统的控制下,通过高速通讯 网络、共享的主存或输入/输出子系统进行测试,对系统的软硬件都有较高的要求。另一 类是在单处理器(Mono.Processor Systems)上实现的并行测试结构,通过对测试任务的 调度来分配单个处理器处理任务的时间从而实现并行测试,主要通过软件设计来实现。 Advantest Corporation的T2000自动测试仪ATE可以进行并行、优化流程的多个设 基于FPGA的ADC并行测试方法的研究 备同时测试,但是基于ATE的并行测试方案更确切地说,可以称之为多点测试方案【23|。 多点测试方案是通过在ATE上增加测试选项卡来分享ATE的测试资源。这种方法存在 的问题是,尽管通过开发优化和并行处理算法,可以使得测试机的处理能力得到最大化 的利用,但是本质上,测试机PC的并行处理能力(单核或多核处理器)限制了ADC 测试并行度的大规模增加。 更为有效的并行测试方法为并行的实时评估方法。HEIZ MATTES等人提出一种使 用FPGA来实现ADC测试并行化与实时化的思路[21,如图1.4所示。通过使用FPGA技 术,克服了自动测试仪ATE数据处理能力的瓶颈。FPGA的片内可以实现测试算法模块, 这种局部数据处理能力使得参数评估过程可以实时化,而不需要将数据传输至ATE的 PC。同时,FPGA的可配置性,可以使得测试方案具有最大的灵活性。 @-")I ADC_I] 图1.4 ADC并行测试系统方案 Fig 1.4 ADC Parallel Testing System 1.4本文的主要工作 本文的目标是研究基于FPGA的ADC并行测试方法并实现基于FPGA的ADC测 试系统,目的是通过ADC测试的并行化,使得每个被测ADC的平均测试时间显著减小, 测试成本得以降低。本文的主要工作包括: (1)查阅ADC测试的原理和测试方法,掌握ADC参数评估算法。 (2)研究正弦波激励产生算法,选择适合FPGA实现的正弦波产生算法,以FPGA 平台为主,设计合适的硬件电路,产生并行测试所需的模拟正弦波激励信号。 (3)制定并行测试任务,并基于FPGA系统实现被测ADC的控制接口和数据接 口的时序仿真、综合和实现。 大连理工大学硕士学位论文 (4) 选择并实现适合于FPGA实现的测试算法,包括时域算法与频域算法,实 现2个被测ADC的并行测试,分别完成对基于128点和4096点的FFT变换的的频域 测试。最终实现包括OFFSET、GAIN,SNR、SINAD、THD等五个参数的实时评估。 基于FPGA的ADC并行测试方法的研究 2 ADG测试基础 2.1 ADC的参数定义 2.1.1量化误差 量化是指将输入ADC的连续模拟信号映射到有限数目的ADC输出数字样本的过 程。量化是一个非线性的过程,ADC在任何时刻将所测得的输入信号的幅度舍入到一 组预定义值中与之最邻近的值,这一组值对应于一组不重叠的输入值的子区间【25】。量化 噪声(Quantization Error)是限制ADC动态范围的主要因素。这个误差实际上来自于模 拟信号被量化时的舍入误差【261。 如图2.1所示,是一个2位的ADC,它的满量程电压为3V。 ’O L q 0t 00 图2.1 ADC的量化误差 Fig.2.1 Quantization eiTor of ADC 该2位的ADC的模拟输入端分别输入OV、1V、2V、3V分别对应数字输出码00、01、 10、11。如果模拟输入电压为1.75V,那么ADC输出的数字码位10。但是数字码10对 应的是2V的模拟输入电压,因此产生了0.25V(2V-1.75V)的误差,这种在量化过程中 产生的误差就成为量化误差。如果假设量化误差是随机的(实际上这个假设也往往是正 确的),那么量化误差可以被看做随机噪声和白噪声。因此,ADC量化的噪声功率和量 化电压的均方根为 g ’ P2膦=吉f P2如一--百q2 二里 2 (2.】) 大连理工大学硕士学位论文 eRM¥=壶√l2 (f29.92、) 以频率,s采样ADC所得到的被量化的信号,其噪声功率都被包含在频带宽度 o≤厂≤五 。 2内,假设噪声是随机的,那么噪声的功率谱密度 E(f)=‰(二')2三 s, (2.3) 将功率谱密度在0到.70频带范围积分,得到: ‰z:缸(筝 .,s ‰:e膦净 .,s (2.4) (2.5) 其中‰为频带内的量化噪声,五输入信号带宽,Z为采样频率。 对于N位的理想ADC,量化噪声误差表示为 9=等 (2.6) 2.1.2静态参数 静态参数也称为线性参数,静态参数测试关注的是器件内部电路的误差。对ADC 来说,这些内部误差包括器件的增益、偏移、积分非线性(INL)和微分非线性(DNL)J,-吴差, 这些参数说明了直流信号转换成数字信号的情况,主要关注具体电平与相应数字代码之 间的关系,能够从ADC的传输函数中获得。传输函数描述了ADC模拟输入与数字输出 之间的函数关系。图2.2为ADC的理想传输函数。 . 理想的ADC可认为是精度无限,因此假如被测ADC输入端加载斜波电压,输出也 为增益为1的斜波信号。实际的ADC输出波形是台阶状的波形,且各个台阶往往宽窄 不一致。对于理想的N位的ADC的传输函数,若输入为斜波电压,则输出为台阶宽窄 一直的波形。 基于FPGA的ADC并行测试方法的研究 川 Ⅲ 山 o Ⅲ o U 宝Ⅲ L 5 o … 咖 洲 咖 1,B Z日 了B 可8 518 目B 7『8 FS ^N^Loe INP盯 图2.2 ADC理想的传输函数 Fig.2.2 Transfer function of ideal ADC (1)偏移量(Offset) 蹬 8 宝 4 S o 1坩 2坞3,8 4,8 15,8 6丹7伯 F8 Alq/kLOG INPUl. 图2.3 ADc偏移量 Fig.2.3 Offset of ADC 输出代码从000转换到001应发生在输入模拟电压达到一半LSB时。当该转换 在某些其他输入电压处发生时,其差值就为偏移。如图2.3所示,这是位于第一个开关 点处的模拟电压误差。由于第一个开关点出现移位,因此整个传输函数也会随之右移或 左移——具体情形取决于偏移的极性。 (2)增益(Gain) 大连理工大学硕士学位论文 啦^lop’l争#》口 钠6艚‘瑚 1鸸218 3船4/8 FS ^眦OG INPUT 图2。4 ADC增益 Fig.2.4 Gain ofADC 增益误差为第二个传输函数误差。图2.4显示了该误差的影响体现在传输函数益线 的斜率变化上。增益误差被看作是在偏移得到校正之后满量程代码中的一个移位。参考 电压值中的误差以及转换器内部出现故障都可导致该误差。 (3)积分非线性与微分非线性 ■Do-『.Id一-弓 ^女I—LOG I"PUT 图2.5积分非线性与微分非线性. Fig.2.5 INL and DNL ofADC 微分非线性指实际转移的台阶电压与理想台阶电压(Least Significant Bit,简称LSB) 之差[27】。ADC的积分非线性指在失调、增益误差被校正后,实际传输函数偏离中心线 的程度。积分非线性(INL)是传输函数偏离理想直线的一种量度标准,而微分非线性 基于FPGA的ADC并行测试方法的研究 (DNL)则是任一偏离理想值的步长偏差。 2.1.3动态参数 (1)信噪比(SNR,SignalNoiseRate) 信噪比(SNR)是信号电平的有效值与各种噪声(包括量化噪声、热噪声、白噪声等) SNRab=20log,oc抬 有效值之比的分贝数。其中信号是指基波分量的有效值, 噪声指奈奎斯特频率以下的 全部非基波分量的有效值(除谐波分量和直流分量外)【281。定义为 @7, 如果输入的模拟信号为正弦信号,其幅度值等于ADC的全范围输入幅度,则可以 得到理想的信噪比: .SNRab=6.02N+7.16+10109lo、J,、sarmzpJl懈 e,) (2.8) (2)总谐波失真(WHO,Total Harmonics Distortion) 当ADC采样一个周期信号时,其动态误差和积分非线性引起了谐波失真。对于纯净 的正弦输入信号,输出的谐波失真组件能够在频谱中找到,这些组件分别对应于输入频 率整数倍的频率点。THD是输出信号FFT变换频谱中所有谐波组件的均方和。 T/"。ab划鹕。灶坦号黑掣, THD定义包含了所有的谐波组件,但对于一个转换器,在大多数情况下,前三个谐 波组件代表了该转换器的主要谐波失真[291。 Q9, (3)信号与噪声谐波失真bL(SrNAD, Signal to Noise and Distortion Ratio) 对于正弦输入信号,SINAD被定义为输入信号的均方根与噪声信号均方根的比值(噪 声信号加上前N阶谐波,通常取二阶斜波至五阶斜波)。SINAD描述了被测ADC动态范 围的质量。 .S1NADdh=20log,o(恚器) 眨㈣ 2.2 ADO的测试激励方法 大部分标准的ADC测试可以由三种测试形式来完成:正弦波测试、任意信号测试 和脉冲信号测试【301。还有一些测试,例如测试VSWR参数或者测试极限值的方法,则 需要其他特殊的测试形式,这些测试并不在本文讨论的范围之内。 大连理工大学硕士学位论文 (1)正弦波激励法。由于正弦波激励的信号质量容易得到保证,正弦波测试是最 常用的ADC测试方法。正弦波测试一般用于ADC的动态参数测试中。如图2.6所示, 虚线框表示的组件为可选的,实线框表示的组件是必须的。单个正弦波产生器或者两个 正弦波产生器(用于双音测试)产生激励信号,该激励信号通过一个可选的带通或者低 通滤波器之后,作为被测ADC的模拟输入信号。 Fig.2.6 图2.6正弦波激励法 Sinewave signal stimulus testing method (2)任意信号激励法。任意信号测试法可以产生斜波信号、调频信号等激励。斜 波信号测试一般用于静态参数测试中。在这种测试方法中,测试系统首先产生数字信号, 然后将数字信号转换为模拟信号。为了消除DAC本身对于被测ADC的影响,必须谨慎 地选择DAC以及滤波器的性能参数。 图2.7任意信号激励测试法 Fig.2.7 Arbitrary signal sitimulus testing method 基于FPGA的ADC并行测试方法的研究 (3)阶跃信号激励法。阶跃信号和脉冲信号测试用于测试ADC的参数,比如脉 冲响应、过冲、带宽等参数。 蔓HI 嘲拥V卜]“”…“l 图2.8阶跃信号激励测试法 Fig.2.8 Step signal silimulus testing method 2.3 ADO参数提取方法 2.3.1时域测试法 时域测试法指在时域内进行的算法,与频域测试法不同,时域测试法不要求测试所 使用的数字样本为对输入正弦信号的整数倍周期采样所得。目前使用最多的时域测试法 有以下两种: (1)码密度法。码密度直方图测试是基于数理统计理论f3I】,ADC对周期模拟输 入信号进行随机采样,不同数字码输出的出现次数成为码密度。以ADC的输出数字码 及其出现次数为坐标画图,所得图像称为直方图。在直方图中,每个是数字码称为码箱 (Code Bin),每个数字码出现的次数称为码箱宽度。根据码密度数据,可以估算出ADC 的静态特性参数【321。 (2)正弦波拟合法。正弦波拟合法使用输入频率值的线性或非线性的最小平方逼 近【251。正弦波拟合法可以对ADC的主要动态参数进行测试,比如SINAI),SNR,THD, ENOB等。 在ADC的模拟输入端加载一个具有特定参数的正弦信号。然后以一定的采样频率 记录ADC的数字输出数据。通过改变相位、幅度、直流偏移量、频率来拟合正弦函数, 使得该函数与所测得样本差值的平方和最小。如果输入频率已知,则使用三参数拟合法; 如果输入频率未知,则使用四参数拟合法。 大连理工大学硕士学位论文 假设ADC的采样时钟频率为Z,并且在fl。f 2。…,f村采样时刻ADC输出的M个 数字样本分别为Y。.Y2,…,YM,它们被存储用于计算ADC的参数。三参数正弦拟合算 法的目的是为了找到合适的4、鼠和C0,使得式(2.1 1)表示的平方和最小: M 丑咒-Aocos(%t.)-Bo sin(%t.)-Co]2 n=l (2.II) 其中‰是输入的正弦波的角频率。 为了得到以、玩和Co的值,创建三个矩阵: ms(co&)shn(C006)1 cos(a)ot2) sin(COots)l Do= (2.12) cos(cootM)sin(%tM)1 炉引 (2.13) M 铲引 以矩阵的形式表示差的平方和 (y—DoXo)。(少一Doxo) 因此可以求得使得使得平方和最小的解% xo=(Do 7、Do)叫(Wy) 拟合所得的函数 Yo=4 C0s(‰乙)+鼠sin(a)oto)+c 残差 均方根误差 ‘=%一4cos(coot,)一Bosin(国ot.)一C (2.14) (2.15) (2.16) (2.17) (2.18) 基于FPGA的ADC并行测试方法的研究 e腑2 (2.19) 根据以上各式可以方便地求得信号与噪声谐波失真L匕(SrNAD)。SINAD是测试信号 的功率与谐波失真和噪声功率总和的比值。它通常用dB的形式表示 S1NAD[dB]Z_10109lo』詈2 (2.20) ‘。’Irnu- 其中77二,=寺∑(y嘲一x㈣2。 ivA n=l 2.3.2频域测试法 频域测试法对所获得的数字样本进行FFT变换,对变换后得到的频谱进行分析,从 而得到被测ADC的动态参数。频域测试法对输入的正弦波激励信号幅度和频率有较高 的要求,模拟激励信号需要满量程,采样频率和输入信号频率之间还需要满足采样一致 性(Sample Consistency),否则测试结果将不可信。 通过奈奎斯特采样间隔定理,即采样频率必须是被测信号频率的两倍以上,可以获 得正确的采样频率范围,利用采样点再现输入信号,得到有效的动态测试结果。 采样一致性是频域测试的关键部分,主要是为了保证采样数据包含完整的输入周期 描述信息,使得在有限的样本中收集到尽可能多的输入信息。一致性采样定义了测试频 率(Z)、样本大小(M)、采样频率(Z)以及测试周期(N)之间的关系Z/f,=M/N,M与 N必须满足互质的关系。 有限长序列{x(胛))及其频域表示Ⅸ∞)可由以下离散傅立叶变换得出: x(尼)=胛[x(甩)]=∑x(玎)嘭,(o≤k≤N一1) (2.21) 彳(刀)=IDFT[x(角)】=寺∑x(七)陈破, (o≤n≤N一1> (2.22) 其中,w≯:e1百聃。式(2.21)称为离散傅里叶正变换,式(2.21)称为离散傅里 叶逆变换,x俐与脚趵构成了离散傅里叶变换对。 (1) 参数SINAD的评估方法。由于FFT变换的输出准确表述了信号的频域 信息,式(2.10)测量公式可以具体化为式(2.23)所示。 SINAD=20log (2.23) 大连理工大学硕士学位论文 (2) 参数THD的评估方法。总谐波失真THD的测试算法可由式(2.9)具体化 为式(2.24)所示。 THD=20log (2.24) (3) 参数SNR的评估方法。信噪比SNR的测试算法可由式(2.8)具体化为式 (2.25)所示。 SNR=20log (2.25) 2.4 FPGA技术概述 2.4.1 FPGA概述 FPGA是英文Field--Programmable Gate Array的缩写,即现场可编程门阵列,它是 在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电 路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原 有可编程器件门电路数有限的缺点。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配 置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block) 和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: (1) 采用FPGA设计ASIC电路,用户不需要投片生产,就能得到可用的芯片。 (2) FPGA可做其它全定制或半定制ASIC电路的中试样片。 (3) FPGA内部有丰富的触发器和I/O引脚。 (4) FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对 片内的RAM进行编程。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM 的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM 编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。 如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多口的方向发展, 系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能 基于FPGA的ADC并行测试方法的研究 和能力水平而带来的新的设计挑战。 目前提供FPGA器件的主要厂家有Altera、Xilinx、AT&T、Actel等,它们采用的 结构体系、处理工艺和编程力一法都有所不同。随着大规模集成电路技术和计算机技术 的不断发展,在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等 领域的电子系统设计工作中,EDA的技术含量正在以惊人的速度提升,电子类的高新 技术项目开发也更加依赖于EDA技术的应用。即使是普通的电子产品的开发,EAD技 术也常常使得原来的一些技术瓶颈得以轻松突破,从而使产品的开发周期大大缩短,而 性能价格比大大提高【3引。 2.4.2 HDL语言简介 硬件描述语言(HDL"Hardware Description Language)是一种用形式化方法来描述数 字电路和设计数字逻辑系统的语言。数字逻辑电路设计者可以利用种种语言来描述自己 的设计思想,然后利用电子设计自动化((EDA)工具进行仿真,再自动综合到门级电路, 最后用FPGA或ASIC实现其功能。 硬件描述语言发展至今己经有二十多年的历史,到80年代,已经出现了上百种硬 件描述语言。进入80年代后期,硬件描述语言向标准化方向发展,最终,VHDL和Verilog HDL先后成为IEEE的标准,其中Verilog HDL是目前应用的最为广泛的一种硬件描述 语。用EDA工具进行数字电路设计的前提是用形式化的方法对问题进行描述。而HDL 就是这种形式化的描述手段,设计者可以利用这种语言来描述自己的设计意图,然后利 用EDA工具进行模拟,自动综合到门级电路,最后用ASIC(Application Specific Integrated Circuit)或FPGA(Field Programmable Gate Array)实现其功能。目前这种被称为高层 次设计的方法己被广泛使用。 硬件描述语言发展至今己有二十多年的历史,并已成功地应用于EDA设计的各个 阶段:综合、模拟、验证等。至八十年后期,硬件描述语言向着统一标准化的方向发展。 VHDL和Verilog HDL以其完善的功能和多层次的描述能力,先后成为IEEE标准。这 两种语言的共同特点为:能形式化地抽象表示电路的结构和行为;支持逻辑设计中层次 与领域的描述;可借用高级语言的精巧结构来简化电路的描述;具有电路仿真与验证机 制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺 无关;便于文档管理;易于理解和设计重用。Verilog HDL和VHDL又有着各自不同的 特点。Verilog HDL是从一个普通商业公司的私有财产转化而来,迄今己有近二十年的 应用历史,因而拥有广泛的设计群体,丰富的第三方资源。一般认为VerilogHDL在系 统级抽象方面比VHDL略差,而在门级开关电路描述方面比VHDL强。Verilog HDL较 为适合系统级和算法级、寄存器传输级、门级、开关级设计;对于特大型的系统级设计 VHDL更为合适。 大连理工大学硕士学位论文 在传统的复杂数字电路设计中,主要是电路原理图输入法,所用到的FPGA或ASIC 设计只能用厂家提供的专用电路图输入工具来进行,同时设计者必须熟悉所选器件的内 部结构和外部引线,最为费时费力的工作是手工布线,显然这将大大延长设计周期。现 代FPGA和ASIC的设计规模不断扩大,复杂度日益增加,而设计周期却越来越短,因 此使用EDA工具来进行Ic设计成为必然。使用HDL进行IC设计同传统设计方法相比 较,主要有以下几个优点: (1) 与工艺无关。这使得设计师在功能设计,逻辑验证阶段不必考虑工艺实现 的具体细节,只需利用系统设计时对芯片的要求,施加不同的约束条件,即可设计一出 实际电路。 (2) 系统硬件描述能力强。 (3) 标准化与“软核"的重用。我们把功能经过验证的,可综合的,实现后电 路结构总门数在5000门以下的HDL模型称之为“软核”,而把软核构成的器件称为虚 拟器件。软核和虚拟器件的可重用性可大大缩短设计周期,加快设计过程。 -一 2.4。3 I P复用技术 IP(Intellectual Property)原来的含义是指知识产权、著作权等,在IC设计领域则 可以理解为实现某种功能的设计。口核(口模块)则是指完成某种功能的虚拟电路模块, 也可称为虚拟部件(VC,Virtual Component)。典型的口核包括微处理器(MPU core)、 数字信号处理器核(DSP Core)、存储器核(Memory core)、特定功能核(如MPEG 等),由这些核可以方便的构成一个功能完整的电子系统,而且可以集成于一个芯片内 部,是构造系统级芯片(SOC)的基本部件。为了便于P的开发和复用,一些大的半导体 厂商、EDA公司、口公司联合成立了虚拟插座接口协会(VS队),制定了关于P产品 的标准与规范,即虚拟插座接口VSI(Virtual Socket Interface)标准。虚拟器件往往只 提供门级和寄存器传输级(RTL)的VHDL和Verilog HDL源代码,而虚拟接口模型提 供的是系统级代码。门级和RTL级的HDL代码是可综合的,它与具体的逻辑电路有着 精确的对应关系,而系统级代码一般是与器件结构无关的。~般将IP核分为软核、固 核、硬核三种: · . (1) 软核:软核指的是在寄存器级或门级对电路功能用HDL进行描述,表现为 VHDL或Vcrilog HDL代码。用户在使用软核的时候可以修改,以满足自己所需要的功 能。软核主要用于接口、算法、编译码和加密等模块的设计。 (2) 硬核:硬核指的是以版图形式描述的设计模块,它基于一定的设计工艺, 基于FPGA的ADC并行测试方法的研究 而且用户不能改动。用户得到的硬核仅是产品的功能,而不是产品的设计。常用的硬核 有存储器、模拟器件和一些接口等。 (3) 固核:固核指的是已通过平面布局对特性和面积进行了结构和拓扑结构优 化,可对特性进行较为精确的估计,允许用户重新定义关键性的参数,是在软口的基 础上开发的,是一种可综合的并带有布局规划的软口。 大连理工大学硕士学位论文 3激励信号的产生 测试系统在被测ADC的输入端加载模拟激励信号,激励信号达到足够高的精度是 保证测试结果具有可信度的关键。 3 1 测试任务的制定和系统框架 在量产测试中,多个相同ADC的并行测试能够使用同一个激励信号和采样时钟信 号。另外,每个被测单元还需要单独的ADC数字样本获取模块、接口时序模块、参数 评估算法模块,这些模块的实现仅仅需要简单的VerilogHDL代码复制与重新配置,就 可在FPGA内部予以实现。本文实现的并行测试系统实物图和框图分别如图3 1和3.2 所示。被测对象为FPGA板载的音频编解码器WMS731L中独立的两个ADC,分别对 应于左右通道。激励信号由FPGA片上产生的数字序列经过DAC和低通滤波器输出产 生。所有被测ADC均使用同一激励信号,每个ADC的数字输出样本被送至FPGA内部 的每个参数评估单元,实现参数的实时化和并行化评估。 图3 1 ADC并行测试系统实物图 Fig 3 I Photo ofADC paralld testiag system 基于FPGA的ADC并行测试方法的研究 Fig.3.2 图3.2 ADC并行测试系统框图 Block diagram of the ADC parallel testing system 3.2测试激励产生算法和FPGA实现 3.2.1正弦波合成法 正弦波合成法的原理是利用频率合成算法计算产生高精度的正弦波信号数字值序 列,然后将这些数字值序列经过DAC转化成模拟信号。 Altera FPGA开发环境Quartus II 9.0中提供了正弦波信号产生器口核NCO .(Numerically Controlled Oscillator),通过配置不同的选项,可以产生高质量的正弦波 所需要的数字值。本测试系统FPGA内部实现的信号产生模块主要包括三个部分:时钟 分频器、正弦波产生器D核、SPI控制器。信号产生模块的RTL图如图3.4所示。 图3.3中时钟分频器的作用是将FPGA外部输入的12.288MHz时钟信号分频至合 适的SPI控制器的时钟信号oBCK(本系统将其分频至267kHz)。oBCK时钟信号将用 于SPI控制器模块的主时钟,通过FPGA芯片引脚与外部DAC的SPI控制接口的时钟 引脚相连。FPGA片内的正弦波产生器P核输出16位数字值,SPI控制器模块串行地 将该数字值传输至16位DAC(MAX541)。在FPGA板外部扩展了MAX541电路板, 将数字值转化为模拟电压值。该模拟电压值将会经过开关电容低通滤波器MAX7409, 大连理工大学硕士学位论文 最后输出测试系统所需要的模拟激励信号,加载至被测ADC的输入端。 (1) 正弦波产生器IP核的配置。通过参数配置页面,可以配置的选项有:正弦 波产生算法、相位累加精度、幅度精度、相角精度、相位抖动、输出频率、时钟频率等。 幅度精度和相角精度均设定为16位。可选择Multiply.Based算法、Cordic算法、LargeROM 算法、SmaUROM算法等四种不同算法来产生的正弦波,通过比较频域特新,发现四种 不同的算法的噪声均在一120db左右,因此选择Multiply.Based算法。图3.5为基于 Multiply.Based算法产生的正弦波的频域特性。 图3。3信号产生模块框图 Fig.3.3 Block diagram of signal generator 图3.4正弦波产生器RTL图 Fig.3.4 RTL module of sinewave generator Fig.3.5 图3.5基于Multiply·Based算法产生信号的频域响应 Frequency response of sinewave signal base on multiply-based algorithm 图3.6为正弦波产生器IP核的噪声配置页面1。通过该页面的参数配置,设定16 位的幅度精度、16位的角度精度、32位的相位累加器精度。另外,正弦波产生方法设 为Multiply-Based算法。 基于FPGA的ADC并行钡4试方法的研究 Fig 3.6 图3 6 NC0正弦波产生器IP核配置页面1 Configrafion page I forNCO slnewavegeneralorIP gore 图3 7为正弦波产生嚣口核的配置页面2。通过该页面配置正弦渡产生器IP核在 FPGA实现方面的相关选项。设定目标设备为CycloneII、单个输出信号端、单个NCO 通道。 Fig 3 7 图3 7 NC0正弦波产生IP核配置页面2 Configrationpage2forNCO sinewavegeneratorIP core 大连理工大学硕士学位论文 图3 8为正弦波产生器m核的配置页面3 该页面提供了实现该正弦波产生器口 核所需要的资源,其中包括304个逻辑单元LE 245760位的片内RAM、60个M4K单 元。 (2)编写Testbench程序对正弦波产生器口核进行仿真,从图3.9可以看出正波 波发生器口核产生的正弦波质量较为理想。 (3)DAC的控制接口为SPI,因此无法直接将正弦波产生器口输出的16位数据 通过DAC直接转换为模拟电压。通过在FPGA内部实现一个SPI控制器将16位数字量 串行地逐位传送至DACMAX541。MAX541的SPI接口时序如图310所示。SPI总线 由三条信号线组成,分别为片选信号、时钟信号和数据信号。当片选信号逻辑为低,在 时钟线的每个上升延,数据信号的每一个位将被从SPI主设备端传输至SPI从设备端。 FPGA为SPI主设备,DAC为SPl从设备。 图3 8 N∞正弦波产生IP核配置页面3 Fig 3,8 Cortfigurationpage 3forNCO sinewave genea-ator口co坨 基于FPGA的ADC并行测试方法的研究 图3 9正弦波产生器IP核仿真结果 o眦 Fig 3.9 Simulation resultsfor sincwave g曲eTatorIP 谨§ …一Hlb m二二二::=])二夏二£二二二 图3 10 IiAX541 DAC时序图 Fig 3.10 Timingdiagram ofMAX541 DAC cp—spi:u0 图3 11 SPI控制器RTL模块图 Fig 3 11 RTLmoduleofSPIController FPGA内部实现的SPI控制器模块如图3 11所示。正弦波产生器口产生的16位数 字信号通过端口iudata输入值SPl控制器,SPI控制器通过oCS N、oMOSI和oSCLK 三个端口实现SPI的写时序,将数据串行地输出至DAC MAX541。然后MAX541将其 转换为模拟电压信号。图312和313分别 为SPI的三个端口的信号。 一2S- 大连理工大学硕士学位论文 图3 12 SPI时钟和SPI数据波形 Fig 3 12 WaveformofCLKamlDATin SPI Fig 313 WaveformofCLK andCSm SPI (4) 在DAC后端加上低通模拟滤波罂。模拟滤波器使用的是美信的MAX7409。 这款芯片是开关电容组成的滤波器.可以使用输入该芯片的时钟频率大小来调节截止频 率。如图3 14所示,通过在CLOCK引脚输入FPGA所产生的120 469kHz方波信号, 由于CLOCK信号与截止频率之间为100倍的关系,因此得到截止频率约为1205Hz。 同时,DAC输出的正弦模拟信号在INPuT引脚输入滤波器,OUTPUT引脚输出滤波以 后的模拟信号。 基于FPGA的ADC并行测试方法的研究 霉 Ol求 0hf 图3 14 KAX7409五阶开关电容滤波器电路图 Fig 3 14 Schematic ofMAX7409 5th-Orde7lowpassfdtef (5) 最终得到的激励信号波形。如图3 15所示,在滤波器MAX7409的信号输 出端,得到模拟波形效果并不理想,存在许多毛刺。 Fig 3 1 5 国3 lj kIAX7409滤波器输出波形 TheOutputwave ofMAX7409 5m—orderIowpassfil№a- 大连理工大学硕士学位论文 3.2.2 sigma-DeIta调制法 Ddta-Sigma原理一般应用在ADC和DAC中。 如图3.16所示,Delta-Sigma ADC的工作原理是由差动器、积分器和比较器构成调 制器,它们一起构成一个反馈环路。调制器以大大高于模拟输入信号带宽的速率运行, 以便提供过采样。模拟输入与反馈信号(误差信号)进行差动(del坳比较,该比较产生 的差动输出馈送到积分器(sigma)中,然后将积分器的输出馈送到比较器中。比较器的输 出同时将反馈信号(误差信号)传送到差动器,而自身被馈送到数字滤波器中。这种反 馈环路的目的是使反馈信号(误差信号)趋于零。比较器输出的结果就是I/0流。该流 如果1密度较高,则意味着模拟输入电压较高;反之,0密度较高,则意味着模拟输入 电压较低。 Oi瞻憎r々∞ll曲鹤第馘馥r e硼磐甜钠r‰越跏 图3.16 Sigma-Delta调制器原理图 Fig.3.16 Block diagram ofSigma-Delta modulation 图3.17所示为Sigma.Delta调制器的内部各阶段的信号波形图,在Sigma—Delta调 制器的输入端输入正弦波信号,在过采样时钟CLOCK的驱动下,信号依次经过差分器、 积分器、比较器和反馈作用以后,输出I/0的比特流。 Delta-Sigma调制器的一个重要特点是:由微分器、积分器构成的△∑调制电路, 会因其微分特性而对量化噪声(Quantization Noise)产生二种高通滤波的效果。一般线 性PCM中产生的量化噪声平均分布在各频率上,而Sigma-Delta调制器可以将量化噪声 推往高频段,而产生噪声整形(Noise Shaping)功效。1/o比特流的频谱中包含大量的 噪声,但是大多数的噪声都分布于高频,因此对I/0比特流做低通滤波,便可以得到信 号质量较高的正弦波。当△∑调制阶数越高时,噪声整形效果也会越显著,如图3.18 所示为∑△调制器的噪声整形效果。 基于FPGA的ADC并行测试方法的研究 ~l王¨ 谶wi-试旺二—疋锄m一。 —u二■几” r 叫鼍弼4?£州’~\一1■一Ijl』\越一嘞』一1一。一一.一一.一。一,里』"。 哇口n广——]广]nnn n.n..目口 -罨l船F]门眦噩.:陛:二.。砌 ~硼雌R嗍l嘲猢黼婆潮I∞粥月l麟8黝8嘲躺臌隘 图3.17 Side,a-Delta调制器内部信号波形图 Fi2 3.17 Wavefonm ofSi印a-Delta modulagion inner node ●口,;“E《 h F‘0 图3 18 Sigma De]ta噪声帮形示意图 Fig 3 18 Indication diagramofSigma-Deltamodulation noise shaping 通过在Matlab环境中搭建高阶的Sigma-Delta调制器模型,将正弦波信号调制成i/0 的比特流。该比特流被存储于FPGA内部,然后按照i/0比特流依次输出高低电平。高 低电平经过低通滤波器的作用后,理论上便可以输出高质量的正弦波。 大连理工大学硕士学世皓文 在Matlab Simulink环境中搭建二阶Sigma-DeltaADC的行为模型,Sigma-DeltaADE 是由前端的Sigma-Delta调制器和后端的数字滤波器构成,如图3 19所示。将正弦波输 入到Sigma-Delta调制器,产生1,0比特流,比特流经过数字滤波器以后,转换为PCM 信号。如图3.21所示为正弦信号被Sigma-Delta调制器作用后产生1,0比特流。图3.20 所示为I/0比特流经过数字滤波器作用后产生的PCM数字信号。 F㈣Ⅻ ^rBb0 图3 19 Simulink环境二阶Si鲫a-Delta ADC模型 Fig.3 19 Second·orderSigma-DelmADCmodelin simulink l,0比特流的频谱圈如图3 22所示,可以看到.太部分的噪声谱线位于高频范围内, 低频范围内只有输_八正弦信号的频谱和少量噪声。因此,1,o比特流经过低通滤波罂以 后,将得到高质量的正弦信号,如图3 23所示。 事实上,随着过采样的升高和Signa-Delta调制器阶数增加,可以使1,o比特流的 噪声整形效果更加明显,采样频率带宽内的噪声能量更小。 基于FPGA的ADc并行Ⅻ憾方法的研究 目3 20二阶S1耶a—Delta ADC输入输出 Fig 3.20 Input and outpm of second·order Sigma-DeltaADC 图3 21二阶Sigma De]ta调制器I/0比特流 Fig 3 21 I/0bitstreamof second-order SigmaDeltamodulation 大连理工大学硕士学位论文 of∞dIomⅡSigma-Deltamodulation 图3 22二阶Si91T_a-be]ta调制器I/0比特流频谱 Fig 3 22 I/0 bilstreamfrequency spectrum 3 3小结 图3 23低通滤波后的I/0比特流 Fig 3 23 Outputoflowpassfilter oil 110bitstream 本章使用两种正弦波产生方式来产生模拟激励信号。 本章探讨的第一种激励信号产生方式利用正弦波台成法的算法,实现原理较为复 基于FPGA的ADC并行测试方法的研究 杂,其占用片内资源也较多,但是使用Quartus II开发环境提供的正弦波产生器口核可 以为ADC并行测试系统提供较高的灵活性,可以很方便地更改设计。通过合理的配置 正弦波发生器口核和接口控制模块实现FPGA对DAC MAX54的模式控制。通过在 FPGA板子外部扩展电路,电路由DAC MAX541和低通滤波器MAX7409组成,输出 正弦波。由于测试系统存在大量的噪声等因素,产生的正弦波激励信号效果不理想,且 频率稳定性不高。 本章探讨的第二种激励信号产生方式是Sigma.Delta调制器法。首先通过搭建二阶 Sigma-Delta调制器模型离线产生I/0比特流,然后在FPGA内部实现I/0比特流,最后 通过模拟低通滤波器输出正弦波。仿真结果表明该方案具有可行性。本文只给出Matlab 的仿真结果,在FPGA内部未予以实现。 大连理工大学硕士学位论文 4并行测试评估算法实现 每一个ADC参数都需要特定的算法。在ADC的并行测试中,采用FPGA的主要优 势在于算法单元能够以硬件的形式存在于FPGA中,而不是像DSP那样以指令执行的 方式进行计算,因此并行程度不受处理器主频限制。另外,FPGA的可配置性给测试系 统带来了更大的灵活性。 在算法选择的过程中,应该考虑到FPGA实现算法的复杂度、精度和实时性等问题。 FPGA片内实现定点FFT算法的技术已经较为成熟,且各大FPGA厂商均提供性能优良 的FFT变换D核,因此FFT算法比较容易实现,使得系统消耗的片内资源达到最小化。 被测的ADC为Altera FPGA评估板上的WM873 l,它是Wolfson公司生产的低功 耗音频编解码器,主要用于便携式消费电子产品领域。 为了实现并行测试,FPGA内部需要配置WM8731L的控制接口时序,以实现对其 工作方式的控制。同时FPGA还需与WM8731L的音频数据接口连接,在FPGA内部完 成数据串并转换、数据分流、FFT变换以及参数评估。 4.1 被测ADC接口时序的FPGA实现 WM8731的音频采样速率为8-96kHz可调;提供2线与3线两种与主控制器的接口; 支持四种音频数据格式:12S、左对齐模式、右对齐模式和DSP模式。WM8731包含了 线路输入、麦克风输入以及耳机输出。两路线路输入RLINEIN和LLINEIN能以1.5dB 的步距在+12.34.5dB范围内进行对数音量调节,完成AfD转换后,还可以进行高通数字 滤波,去除输入中的直流分量。WM8731片内有两个ADC组件,分别对应于左右两个 音频通道,采用的数字格式精度为16位。 WM8731与FPGA的硬件连接图如图4.1所示,信号发生器输出的激励信号加载到 LINEIN,在测试时,将左右通道输入信号线连接起来,这样对于片内2个ADC来说,. 使用的是同一个激励信号。12C SDAT和12C SCLK为WM8731L的控制接口信号, FPGA在片内实现12C的读写逻辑,并分配引脚与之相连。AUD XCK连接芯片的主时 钟引脚,AUD BCLK连接芯片的比特时钟引脚,AUD ADCLRCK连接左右通道选择引 脚,AUD ADCDAT连接芯片的串行数据输出引脚。 基于FPGA的ADC并行测试方法的研究 图4.1矾i18731L模块原理图 Fig.4.1 Schematic ofWM873 1L module 4.1.1 ADC的控制接口时序 WM8731L内部有11个寄存器,用于控制运行时的各种参数,配置这些寄存器可以 控制WM8731L的通道增益放大倍数、模拟路径参数、数字路径参数、采样频率、串行 数据接口类型等。 WM8731L内部寄存器的配置可以通过软件控制接口来配置,WM873iL支持两种 不同的接口,2线制与3线制。2线制类似于12C总线协议,而3线制类似于SPI总线 协议。DEl开发板的MODE引脚接地,硬件选择了2线制的配置模式。12C SCLK和 12C SDATA接口是从FPGA引出的12C总线。2线模式下,通过引脚CSB选择WM8731 在12C总线上的地址,若CSB引脚接地,则读地址为0x34,写地址为0x35。数据手册 提供的配置时序如图4.2所示。 大连理工大学硕士学位论文 图4.2 WM8731L 12C控制时序 Fig.4.2 Timing ofWM8731L 12C interface 对于WM873 1L的控制通过12C总线来实现,通过编写Verilog HDL代码,在FPGA 内部实现一个12C控制器,负责将测试系统所需要的配置数据写入WM8731L。内部的 11个寄存器的配置如表4.1所示。 表4.1硼8731L寄存器配置表 Tab.4.1 Configration table ofregisters in WM873 1L 寄存器 Dummy D峨k 数值 16-h0000 SET LIN L 16'h0017 SET LIN R 16-h0217 SET HEAD L 16|h047B SET HEAD R l 6'h067B A PATH CTRL 16.hOA06 D PATH CTRL 16奄OA06 Po、ⅣER ON 16-hOC00 SET FORMAT 16.110EOl SAM噼LE CTI乇L 16'h1002 SET ACTr、,E 16.h1201 通过上表的测试参数,将ADC的采样频率设定为46.5kHz,数据对齐模式为16位 左对齐模式、ADC的输入信号放大增益为0dB。 产生12C总线时序信号的功能是由FPGA片内的12C AV Config模块来实现的。其 RTL模块图和组成框图如图4.3和4.4所示,输入信号为时钟信号iCLK和复位信号iRST。 输出信号为12C SCLK时钟信号和12C SDATA数据信号,这两个信号被配置FPGA的 两个芯片引脚上,与被测ADC的数据控制引脚相连接。在状态机的控制下,ADC内部 11个寄存器的配置数据值通过12C总线传输到ADC片内,实现ADC控制接口的配置。 基于FPGA的ADC并行测试方法的研究 12C舆一Config:u3 一时钟分频h I椭机H眩C_Congon盯 图4.3 12C配置器RTL模块 Fig.4.3 12C configuration RTL module Fig.4.4 图4.4 12C配置器框图 Block diagram of 12C configuration module 组成12C:AV Config模块的最重要的子模块是12C—Controller子模块。 12C—Controller模块的主要功能是模拟12C总线的时序,每发送一个寄存器配置数据, 12C—Controller的模块就将工作一次,将数据以合适的时序发送。其12C—Controller模块 的输入输出信号定义和RTL的模块如图4.5所示。 12C Controller:uO 图4.5 12C控制器RTL模块 Fig.4.5 RTL module of 12C controller CLOCK:模块12C Controller的输入时钟,该时钟在实例化时由50MHz的外部晶 振分频为20kHz的时钟信号提供。 GO:模块12C Controller的启动信号。 RESET:模块12C Controller复位信号。 ·12C DATA:24位的数据信号,其中前8位表示ADC片内的寄存器地址,后16位 表示需要配置到该寄存器的数据内容。 ACK:模块12C Controller的应答信号。 12C SCLK:12C总线的的时钟信号。 12C SDAT:12C总线的数据信号。 如图4.6所示实际的输出波形,使用示波器可以测得,通道2为时钟信号线SCLK, 通道1为数据线,图中截取了12C控制器发送一个24位数据的波形。 _40. 大连理工大学硕士学位论文 图4 6 12C控制器输出波形 Fig 4,6 Outputwaveform ofofl2C controller 4 1 2数据接口时序 数据接口的主要功能是正确的接收被测ADC输出的串行比特数字流,并将其转换 为16位的二进制表示形式的数值。被测ADC的数据接口时序由三根信号线组成,时序 图如图4 7所示。其中,ADCLRCLK是左右通道的选择信号,BCLK是串行的位时钟 信号线,ADCDAT是输出的16位数字量的各个位。 图4 7删8731L的音频数据接口时序 Fig 4.7 Audio datainterfacelimingofWM8731L 被测ADC的数据接口时序控制模块主要由时钟PLL、音频时钟产生器、音频数据 转换器等三个部分组成。时钟PLL的主要功能是将27MHz的外部晶振信号小数分频为 基于FPGA的ADC并行测试方法的研究 18MHz的MCLK信号。音频时钟产生器产生负责将外部的50M晶振的信号分频为被测 ADC所需的LRCLK信号与BCLK信号。音频数据转换器的主要功能是将ADC输出的 串行比特信号转换为16位二进制信号,并且将左右通道的信号分别提取出来,其组成 框图如图4.8所示。 Fig.4.8 图4.8音频数据接口控制器框图 Block diagram of audio data interface controller 时钟PLL调用Altera提供的PLL锁相环模块,时钟信号MCLK为18MI-Iz。音频时 钟产生模块产生MCLK同步的比特时钟BCLK以及左右通道选择时钟ADCLRCK。 MCLK频率为ADCLRCLK频率的384倍,BCLK频率为ADCLRCLK频率的16倍。 因此,ADC的左右通道选择时钟为18MHz/384=46.5kHz,也即片内两个ADC的采样率 为46.5kHz。 音频数据转换器包含两个方面的功能:(1)当模块被用于从ADC获取数据的时候, 它可将ADC输出的数字比特信号转换成16位的数据,并且分别提取出左右两个通道的 数据。 (2)当模块被用于输出数据到DAC的数据输入端时,它可将16位的数据转换 成为比特信号,串行地输出到DAC中。在最终实现的测试系统中,仅仅使用对AM)C串 行数据的转换功能,第二个功能用于调试硬件。 . 音频数据转换模块的RTL图如图4.10所示。AUD ADCDAT为串行数据端口, AUD BCK为数据音频接口的比特时钟,AUD LRCK表示左右通道时钟信号,iRST N 表示复位信号。AUD inL和AUD inR分别为串并转换的左右通道数据信号。 Altera提供了SignalTAP II在线的逻辑分析仪,可以再QuartuslI环境中实时的观察 到硬件系统运行时FPGA内部的节点数据。图4.11所示为并行测试系统运行时,所获 取的节点数据波形图。第一行为左右通道时钟RLCLK,第二行为ADC左通道16位数 据,第三行为ADC右通道的16位ADC,第四行为ADC输出的比特数据。从数据中可 以看出,输入的激励信号经过WM8731L片内的两个ADC,以交替的方式从左右两个 通道输出。 大连理工大学硕士学位论文 FPGA片内首先需要对左右通道数据进行串并转换,并且将串行数据转换成16位 的并行数据和左右通道分流处理,然后再分别对左右通道进行基于FFT算法的参数评估 和时域算法。 audi o convert:er:u5 图4.10音频数据接口控制器RTL模块 Fig.4.1 0 RTL module of audio data interface controller 1辨 ^-端 -眦 阳.婶婶2590 26.24 268.8罐鄱却期砸颟磷潮32.64一霹 疆 i蛐琳lJ4|旧cK-1x;几门门f1 n『1:几『]f1几几n『1『1几『1『1『1 f1『1『1『1『]丌『1『1 n f]门f1『 器 基“加嗍18r=啕^u9且刀I街{研l捌I瑚|躬l瑚I刀I斟I.∞I氆I圆1911.鹎l k1出23l}118l I 1.mI稻I-7411.65H-43H-:女 器 噩”∞腩:IJ5岫豫:|.71I.73口5l谨I稻I捌l瑚l哲II瑚I-78I.75I艟旧阳l氆旧I可l}110l 1121I l l疆l舶I稻I.n1431.sll43I 鼗 删渊 m l硼IIII II I l I删lllnHil lim耵刑111肝m硼订IIII 4爪ll田 图4.11 ADC输出数据 F迢.4.1 1 ADC output data- 通过示波器观察ADC的数据接口时序。由于所使用的Tektronix TDSl000系列示波 器为2通道,因此只能通过分别观察两组交叉的信号,才能完整的表现出真实的数据接 口时序信号的实现情况。图12(a)‘为1通道为ADC输出的数据信号,2通道为左右时 钟LRCLK信号,图12(b)的1通道为比特时钟信号BCLK,2通道为左右时钟LRCLK 信号。 基于FPGA的AOC并行测试方法的研究 圉a 圈b Fk 4:1国2 4Wa1v2e音fo频rm数of据md接a口 ta波 in形 terface 4 2静态参数提取 模拟的输入信号为已知幅度4与频率^的高质量的正弦信号。N位ADC以频率, 对输入模拟信号进行采样,其输出为一系列在0到2“一1范围内的离散值。ADC的输出 数字信号值可阻描述为幅度为凡、频率为fo的正弦信号加上偏移量“。、量化噪声t、 环境噪声r。另外输出数字信号中可能存在相对于输入信号的相位偏移,因此输出信号 s(t,)=』sin(2xfd,+≯)+“o+sn)+r(t) (41) 在标准铡试中,输入信号为偏移量为0的高精度正弦信号,因此式(4 1)的偏移量 “。是由被测ADC引入的,可咀视为常量。 大连理工大学硕士学位论文 式中彳是由输入正弦信号的幅度鸽与增益G相乘得到。量化噪声占是在连续的模拟信号 被ADC映射为有限的数字样本的过程中产生的。环境噪声,:表示了测试环境的电热噪 声的总和。 4.2.1 偏移量OFFSET 假设采集的数字样本数N恰好为测试信号的一个完整周期,则偏移量可由简单的数 字样本累加和的形式获得。如一个输入信号的完整周期中采集到N个样本,那么对N 个数字样本求和 Ⅳ一l N-1 N-1 ^,-1 /v*-! ∑J(I)=∑Asin(2xfotj+矽)+∑z/o+∑s(‘)+∑,.(t) 1=0 t---0 i=0 I----0 i=0 (4.2) 在一个完整周期内对正弦信号积分为O,对于离散的正弦信号的积分和也为0。假 设量化误差均匀地分布在±1/2 LSB,则可以得到ADC的量化误差的平均值为0。环境 的电热噪声是不可预测的,因此可以看作是白噪声,在整个测量周期内可将它们的总和 看作近似等于0。OFFSET偏移量是个系统误差,它作用于每一次的ADC采样过程中。 基于上述假设,上式可以表示为 Ⅳ一1 ^,一1 ∑s(‘)≈∑Nu。 t--0 t--0 (4.3) 在FPGA内部实现N点累加器采样的数据,则在内部计数器的控制下,将N个数 据累加起来,最后所得的结果右移log:N位便得到OFFSET的值,其RTL图如图4.13 所示。串并转换完的信号从idata端口进入累加器模块,最后在odata端口输出累加完毕 的信号。 SUm一1 28p:u9 iCLK iRST idata[15..0】 odata[23..o】 图4.13累加器RTL模块 Fig.4.1 3 RTL module of accumulator 基于FPGA的ADC并行测试方法的研究 4.2.2增益GAI N 增益GAIN表征被测ADC对输入信号的放大作用。对于理想的幅度为么周期为To的 正弦波信号,在对其在一个周期内积分 。l。Asin(2zt护卜等 卅舢 式(4.4)左边积分内的正弦波信号为去除了OFFSET偏移量以后得到的信号。积 分运算在FPGA内部由一个累加器计算得到。累加器的结果 肛1,NuZ S,-Nu。oll:=彳彳等盈 (44..55’) 假设输入信号的幅度4已知,事实在测试过程中,这个条件是很容易满足的。根据 式(4)和式(5)可求得4。则增益 G:兰 凡 (4.6) 增益的计算核心为FPGA内部实现的累加器以及乘法器。在累加器之前还需减去增 益值。累加器的RTL图如4.13所示,除法器的RTL图如4.14所示。 cp_div.__i nt:u77 d9“。mf31·.01 nqmer口1.删 quotie邮1..01 图4.14除法器RTL模块 Fig.4.1 4 RTL module of divider 4.3动态参数提取 动态参数的提取是由FPGA的片内FFT IP核来计算完成。Altera公司FPGA产品的 开发环境Quartus II 9.0中提供了FFT IP核。有限长序列缸(玎))及其频域表示Ⅸ(幼)可由 以下离散傅立叶变换得出: x(Jj})=胛B(玎)]=∑Ⅳ一lx(玎)孵。,(o≤k≤N一1) (4.7) n=l 大连理工大学硕士学位论文 拗)=脚瞰纠=专篓m疗,(。≤n≤N-i) (4.8) 其中,噼=P一,争。式(4.7)称为离散傅里叶正变换,式(4.8)称为离散傅里叶逆变 换,工例与翔蜀构成了离散傅里叶变换对。FPGA片内FFT变换的输入值,也即X(n), 是一组16位的ADC的采样值,FFT的计算结果也为16位的整数序列x(k)。 f传_controllerpar:u30 CLK RST Din[15..01 R∞ 幽积帕帆 O耐盯郴 舱甜埘叫 图4.15 FFT控制器RTL模块 Fig.4.1 5 RTL module of FFT controller 串并转换 数据分流 左通道FFT卜◆l左通道参数计算 右通道FFT卜叫右通道参数计算 Fig.4.16 图4.16 FFT并行计算框图 Block diagram ofparallel FFT cflculation FFT控制器模块如图4.15所示。16位的样本通过iDiil端口输入,模块内部的计数 器负责点数计算,当输入N点时模块内部的FFT变换核开始运行,运行结束以后,将 从oReal和oImag端口顺序输出FFT变换后的数据。其中oDone和oStart分别表示FFT 变换的结束和开始。FFT控制器输出N点的复数(由oReal和olmag表示),然后通过 握手信号,后续逻辑模块将FFT变换后的数据进行求模。下式中P表示输入正弦波的频 率点所对应的数值。 由于WM873 1L内部存在2个独立ADC,分别对应左右通道。ADC转换完成的数 据从音频数据接口串行输出,因此,需要串行并转化并数据分流,将数据分成左右两路, 然后分别经过FFT模块和参数计算模块,如图4.16所示。 基于Ff,GA的ADC并行测试方法的研究 4.3.1 信噪比SNR 信噪比的测量公式如2.3.2节所述。由式(2.25)可以看出,实现SNR参数评估的 主要计算包括平方、求和和除法运算。信噪比是被测ADC的输出信号的电压与输出的 噪声电压的比值,常用分贝数表示。如图4.17所示,平方操作由乘法器完成,然后结果 输入到累加器中。端口dataa和datab连着同一个数据信号端口。 一●_■■●■一 ●_●■●■一 曲da.-0l1b[1I5盖 …。】1 Cp aOOeEHe'-' dat-apl一0】 广 datjb队0】 。…晔1..01 图4.17平方和累加计算框图 Fig.4.1 7.Block diagram of sum and squares 4.3.2总谐波失真THI) N点的FFT结果在FPGA内部被用于计算总谐波失真比。信噪比的测量公式如2.3.2 节所述。由式(2.24)可以看出,实现THD参数评估的主要计算包括平方、求和和除 法运算。 FFT变换核输出的实部和虚部通过乘方和加法操作以后,得到32位的模平方的数 据流。由于根据已知输入信号频率和采样频率,系统已经预先计算了FFT输出的对应于 输入信号频率的频率索引值,可根据索引值将模平方值保存在特定的寄存器中。该寄存 器中的数据将被输入denom端口作为分子。分母的操作类似,从numer端口输入,需要 事先将谐波分量和噪声分量的模平方值根据公式相加求和所得。 4.3.3信号与噪声失真比SlNAD 信号与噪声失真比定义为信号的幅值与所有噪声和谐波失真之和的比值,测量公式 如2.3.2节式(2.23)所示。 除法运算作为SINAD参数计算的核心组件,在FPGA内部实现除法运算模块的RTL 模块图如4.14所示。demom端口为分母输入端口,llumer为分子输入端口,quotient为 商输出端口。 大连理工大学硕士学位论文 4.4,J、结 本章在FPGA内部完成音频编解码器1删18731L的控制模式接口、音频数据接口、ADC 测试时域算法、频域算法的实现。 通过片内实现12C控制器完成FPGA对WM8731控制接口的访问。音频数据接口控制 器主要完成串并转换和数据分流两个功能,将醐873lL片内的两个独立ADC的转换数据 从串行输出线上分流成左右两通道并对其进行串并转换。然后对左右两个通道分别配置 一个FFT算法模块和时域算法模块,并行实现参数评估算法。 基于FPGA的ADC并行测试方法的研究 5测试结果分析 本文第四章实现了测试系统的采样、数据传输、时域和频域的参数评估算法。本章 通过设置不同的实验条件,并行地测试左右通道两个ADC的主要参数。 5.1参数提取结果 整个并行测试系统包括采样控制、数据分流、并行FFT变换、参数测试。。在参数 测试阶段遇到的问题是FPGA片内的除法器计算始终无法调试出正确结果。因此,本文 将测试过程中FFT变换的结果保存在SRAM中,利用DEl开发套件提供的工具,提取 存储在SRAM中的数据保存成文件的形式,利用Matlab中编写的除法程序计算最终的 参数。由于对数计算FPGA实现较为复杂,因此可将式(2.24)和式(2.25)等式中分 子和分母两个值上传至PC,最后在PC端实现除法与对数运算,最终求得ADC参数 测试的条件如下:FFT点数为4096点;采样频率为46.5kHz;输入信号频率 329.22363Hz,约为29倍的f/Ⅳ。输入信号幅度为3.2V。测试结果如表5.1所示。 表5.1 W/d8731L ADC参数测试结果(4096点) Tab.5.1 Tested parameters ofWM8731L(4096 points) 测试的条件如下:FFT点数为128点;采样频率为46.5kHz;输入信号频率 363.28125Hz,约为3倍的,/Ⅳ.。输入信号幅度为3.2V。测试结果如表5.2所示。 表5.2删18731L ADC参数测试结果(128点) Tab.5.2 Tested parameters of WM873 1 L(128 points) 大连理工大学硕士学位论文 以128点的FFT变换为例,N=128。直流分量对应FFT变换输出索引值0,而输入 频率(为3倍的f/Ⅳ)对应于FFT变换核输出索引值3,二次谐波对应索引值为6, 依次类推。将这些输出值代入2.3.2小节的公式,即可求得参数。 音频编解码器WM8731L数据手册中提供的SNR为90db。因此可以看出,实验测 得的SNR的数值存在较大的偏差。利用Altera公司DEl开发套件所提供的软件工具将 SRAM中的数据读入二进制文件中。然后通过Matlab,将FFT幅度谱线描绘出来。为 了更清楚地表达频谱泄露效果,图5.1所示为4096点FFT变换的前100点频谱。从频 谱图中可以看出,该FFT结果出现了明显的频谱泄露,基频的能量被分散至两侧的频率 点。频谱泄露使得式(2.24)、式(2.25)在计算过程中,分子值减小而分母值增大, 因此SNR和SINAD的计算数值存在较大的偏差。 图5.1 4096点FFT频谱图(前100点) Fig.5.1 FFr t由ea.uency spectrum of 4096 points ● ● 出现频谱泄露的主要原因主要有三个方面。一是采样时钟的不稳定,FPGA产生的 采样时钟存在较大的抖动。二是输入信号频率的精度低,信号发生器产生的正弦波频率 存在抖动和偏差也是导致频谱泄露的一个重要因素。.三是ADC的电路板的各类噪声比 较大,比如电源噪声等,导致整个测试系统的环境噪声较大。 基于FPGA的ADC并行测试方法的研究 5.2并行测试策略讨论 在基于处理器的并行测试方案中,为了最大程度地利用处理器的计算能力,往往采 取优化测试流程的方法。比较常用的方法为:通过接口开关转换测试多个被测对象、交 错并行测试、自动调度(AutoScheduling)并行测试、交迭等待并行测试、分组并行测 试【20】。以下讨论基于FPGA的ADC并行测试策略的优化。 (1)测试流程优化 如图5.2所示,基于处理器的并行测试方案中,ADC测试流程分为数据采样、数据 传输、评估计算三大部分。对于某一个ADC测试过程,测试所确定的采样速率fs决定 于被测ADC,一般选择为被测ADC的常用工作频率。内存传输至PC的总线频率为 ft bus,ATE处理器的主频为fc pc。 通过合理假设,一次测试所需要的时间为 T=N/fs+a宰N/ft._bus+b宰N/fc_pc 其中a和b为与具体测试环境相关的常数。 (5.1) 评估计算 fc_pc 图5.2基于处理器的ADC测试数据流 Fig.5.2 Data flow ofADC testing based onprocessor 如图5.3所示,本文的基于FPGA的ADC的测试流程分为采样数据和评估计算两 个部分,省去了数据传输的部分,假设龟93内部运行的FFT变换和参数计算频率为 ·fc fbga。.该频率越大,测试效率越高,其最大值与两个因素有关: (1)FPGA内部其 他设计单元的关键路径; (2)FPGA器件型号。良好的编码习惯、周全的时序设计考 虑等FPGA设计技巧,以及更高档的FPGA器件能将fc审ga提升至更高的频率,从而 减少测试时间。平均每个ADC测量所需的时间为 T=(N/fs+c术N/fc_fpga)/M (5.2) 其中M为测试的并行度,也即每次参与测试的ADC数目,c为与测试环境相关的 常数。 大连理工大学硕士学位论文 数据采样 fS 图5.3基于FPGA的AI)C测试数据流 Fig.5.3 Data flow of ADC testing based on FPGA (2)测试运行速度优化 如图5.4所示,FPGA开发板DEl的SRAM已用于程序调试,因此本文采用的将 ADC采样频率与FFT IP核运算频率均设为采样频率fs,ADC的采样结果被直接输入到 FFT IP核中进行计算,不存在中间的数据缓冲存储。这种分配方案简化了设计流程,但 是存在的缺陷是降低了FFT IP核的运算效率。在实验中,fs设定为46.5kHz。 ADC采样 图5。4采样与计算同速的测试方案 Fig.5.4 Testing method of sample and calculation in same speed 一种更为理想的方案如图5.5所示,ADC采样结果以频率fs输出,结果被存储于 SRAM中,FFT IP核以fc__fpga的速率读取SRAM中的数据,并同样以fc_fpga进行计 算。由于fc_fpga的频率可以远高于fs,因此这种方案中FFT IP核心的运算效率将得到 改善。 基于FPGA的ADC并行测试方法的研究 SRAM ga l fc_fpga Fig.5.5 图5.5采样与计算不同速的测试方案 Testing method of sample and calculation in different speed (3)测试流水线优化。 尽管本文实验方案能实现多个DUT并行测试,但是在ADC采样的过程中,FFT计 算核心事实上处于空闲状态,当ADC采样结束,FFT核心才开始计算。为了能够充分 利用FPGA的计算能力,与处理器实现并行测试方案的概念类似,可以采用优化的测试 策略,来进一步改善测试效率。以乒乓操作为例来说明这种测试策略: 图5.6采样与参数计算的乒乓操作 Fig.5.6 PingPong operation of sample and calculation 总的来说,本文实现了基于FPGA的ADC并行测试方法,证明了该方法具有可行 性。由于噪声和频率精度、稳定性等原因导致参数测量结果与数据手册提供的参数存在 一定偏差。基于FPFA的ADC并行测试方法利用FPGA的灵活性、硬件可配置等特点, 只需将多个VerilogHDL语言编写的模块复制,便可以实现多个参数计算单元,在课题 的实施过程中也提出了关于优化的FPGA并行化测试策略,可进一步减小测试时间,降 低测试成本。 大连理工大学硕士学位论文 结论 本文的工作主要分为基于FPGA的正弦波激励信号的产生、ADC参数评估算法的 实现和ADC参数的并行测量三大部分。 (1)基于FPGA的激励信号的产生 第一种激励信号产生的方法是正弦波合成法。在FPGA内部使用正弦波发生器IP 核、时钟产生器、SPI控制器三个组件实现了正弦信号产生器模块。通过选择 Multiply—Based算法和合适的精度,完成正弦波发生器IP核的配置和仿真。在FPGA 的控制下,由16位DAC MAX541和五阶开关电容低通滤波器MAX7409组成的电路输出 实际的正弦波激励信号。实验结果表明采用正弦波发生器口的方法配置灵活,并且易 于实现。但由于测试环境噪声较大,输出的正弦波激励存在毛刺。 第二种激励信号产生的方法是Sigma-Delta调制法。在Matlab和Simulink仿真环境 下,搭建二阶Sigma-Delta ADC。将正弦波信号通过Sigma-Delta调制器,转化成I/O比 特流。FPGA将I/0比特流以高低电平的形式输出,通过低通滤波,可以得到模拟正弦 波信号。对1硒比特流的仿真结果表明,基于Sigma.Delta调制I/0比特流产生正弦波的 方法的具有可行性。 (2)ADC参数评估算法的FPGA实现 在FPGA’内部实现音频编解码器t矶V18731L的控制模式接口、音频数据接口、ADC测试 时域算法、频域算法等模块。通过对i聊v18731L输出串行数据的分流和控制,为左右两个 通道分别配置一个FFT算法模块和时域算法模块,并行实现参数评估算法。时域算法的 核心模块累加器、频域算法的核心模块FFT、除法器等均由QuartusII开发环境的IP 核来实现。实验结果表明使用FPGA的IP核具有灵活配置的优点,所选择的时域和频域 算法易于FPGA实现,片内资源得到有效利用。 (3)ADC参数的并行测量 采用任意信号产生器Angilent 33220A产生正弦波激励信号对WM873 1L片内的2 个ADC进行参数测量。在两组不同测试条件下对2个ADC进行并行测试,根据样本点 数和采样频率选择不同的输入频率,使得测试条件满足输入频率与采样频率之间的互质 条件,同时完成FPGA算法模块的配置。第一组FFT点数为4096点,输入信号频率 329.22363Hz(约为f/N的29倍)。第二组FFT点数为128点;输入信号频率363.28125Hz (约为.f/Ⅳ的3倍)。在4096点FFT的条件下,测得的左右通道两个ADC的信噪比 基于FPGA的ADC并行测试方法的研究 SNR为23.328db和16.170db;在128点FFT条件下,SNR分别为63.560db和63.927db。 所测得参数与WM873 1L数据手册所提供的参数90db存在较大差异的原因是:(1)测 试环境存在较大噪声。(2)采样时钟与输入信号的时钟存在较大的抖动,导致较为明 显的频谱泄露。 本文实现的基于FPGA的ADC并行测试系统实现了多个ADC的参数评估的实时化 和并行化,具有可行性。另外,整个测试系统存在噪声过大,频率稳定性的问题,系统 性能有待提高。 大连理工大学硕士学位论文 参考文献 [1]0hletz M J.Hybrid built in self—test(HBIST)for mixed analogue/digital ICs[C].2nd European Test Conference,ETC91,1991:307—316. [2]MATTES H,KIRMSER S P,SATTLER S.Next Generation ADC Massive Parallel Testing with Real Time Parameter Evaluation[J].JOURNAL OF ELECTRONIC TESTING.Theory and Appl icat ions,2006(22):337—350. [3]Scheffer L,Lavagno L,Martin G著,陈力颖等译.集成电路系统设计、验证与测试.北京: 科学出版社,2008. [43 Michaeli L,Michalko P,Saliga J.A new ADC fast testing method based on the unified error model[J3.Measurement,2008,41:192—197. -[5]Michaeli L,Saliga J,Michalko P.Triangular testing signal for identification of unifi ed error model parameters[J].Measurement.2007,40:49 1—499. [6]Bjorsell N,Handel P.Truncated Gaussian noise in ADC histogram tests[J]. Measurement.2007,40:36—42. [7]Holub J,Vedral J.Stochastic testing of ADC--Step-Gauss method[J3.Computer Standards &Interfaces.2004.26:25 1—257. [83 Venuto D D,Reyneri L.Fully Digital Strategy for Fast Calibration and Test of Sigma—Delta ADCs[J].Microelectronics Journal.2007,38:140—147. [93 Jin L,Chen D G,Geiger R.Code—Density Test of Analog—to—Digital Converters Using S ingle Low-Linearity Stimulus Signal[C].VLSI Test Symposium,25th IEEE,2007. [10]Bernard S,Comte地Efficiency of Spectral—Based ADC Test Flows to Detect Staric Errors [J3.Journal of Electronic Testing:Theory and Applications.2004,20:257—267. [11]SUN J,LI D M.Suppression.of Spectral Leakage in ADC Testing[J].MICROELECTRONICS. 2007,37:4. [i2]CUI Q L,jIhNG H Q.A Study OB Test and Sample Technology for High—Speed A/D ConVerters [J].MICROELECTRONICS.2006,36:1. · · [13]张建强,冯建华,冯建科.基于自动测试系统的ADC测试开发[J].仪器仪表学报.2007,28(2): 279—283. [143 刘书明 罗漫江.信号处理机的高速AI)C模块动态性能在线测试[J].电子设计应用.2003 ‘ 11). [15] 钱宏文 朱燕君.高速ADC电路性能评估系统[J].电子与封装.2008 9(8). [16] 崔庆林 蒋和全.高速AD转换器动态参数的计算机辅助测试[J].微电子学.2004,34(5): 505—509. [17]徐润生.Agilent混合信号测试解决方案一ADC的测试[J].+半导体技术.2004,29(2):55—56. .57.. 基于FPGA的ADC并行测试方法的研究 [18]陈莉莉,周斌.A/D转换芯片的测试环境构成及测试方法[J].信息与电子工程.2002,28(12): 26—28. [19]Anderson J L. High Performance Missile Testing[C]。AUTOTESTCON proceedings,IEEE, 2003. [20]肖明清,夏锐. 并行测试技术的现状以及发展趋势[C].第十五届全国测试与故障诊断技术研 讨会,2006. [21]Wang L,Fang J Y,Gao C J.Parallel test tasks scheduling on multi—core platform[C]. IEEE Autotestcon 2008 Proceedings(504—507),2008, [22]Cochran P,Kovar G,Pham T.Comparison of Final Test Handling Strategies for Massively Parallel Test of Logic Devices[J].Future Fab International.2002,2:12. [23]Toshiakil A,Pramanick N,Mark E。Parallel,multi—DUT testing in an open architecture test system[C].Internat ional Test Conference,2005(882—890). [24]许明,胡雷刚,周越文.并行测试任务可并行性分析研究[J].计算机工程.2009,35(4). [25]Dominique D,Silva J M.ADC的动态特性[蝴.北京:科学出版社,2007. [26]David Jarman.A Brief Introduction to Sigma Delta Conversion[R].AN9504,Itersil Corp.1995. [27]Maxim Corp.Glossary of frequently used high—speed data converter terms[M/0L]. Sunnyvale, USA:Maxiom Corp.[2001—03—22]. [28]骆丽娜,杨万全.高速ADC的性能参数与测试方法[J].实验科学与技术.2007,5(1). [29]Defining and Testing Dynamic Parameters in High—Speed ADCs,Part 1[EB/OL].Maxim. App Notes.2001. [30]IEEE Standards for Terminology and Test Methods for Analog—to—Digital Converters[S]. The Institute of Electrical and Electronics Engineers.Inc.ISBN 0—7831—2724—8.2000. [313蒋和伦,高速模/数转换器常规参数的动态测试[J].微电子学,2003,33(3):284—285. [32]方穗明,王占仓,码密度法测量模数转换器的静态参数[J].北京工业大学学报.2006, (32):11一13. [33] 李宏,李保周.FPGA应用技术[M].山东电子.1999, (4):14—15. ..58.. 大连理工大学硕士学位论文 攻读硕士学位期间发表学术论文情况 程鹏,董维杰.基于FPGA的ADC并行测试方法研究.大连理工大学研究生网刊. 已录用.相关于本论文第四章. 基于FPGA的ADC并行测试方法的研究 致 谢 本文是在恩师董维杰教授的悉心指导下完成的,在两年半的研究生生活中,董老师 在学习和生活中给予的关心和指导,让我收获了很多。开学初董老师的先学做人再做学 问的教导,为我的研究生生活掀起了良好的开端。导师渊博的学识、严谨的治学态度以 及忘我的工作精神更是在我心里留下了深深的烙印,每当学习或实验中遇到困难,您的 一次次鼓励和帮助让我不断前进和成长。每当生活上遇到烦恼,您的不期而至的关心与 沟通,让我乐观的面对生活中的点点滴滴。学生的成长都倾注了您的教诲和鼓励,值此 论文完成之际,向您致以最崇高的敬意和衷心的感谢。 感谢喻言老师在课题研究过程中给予的热情指导和帮助,喻言老师的交流与讨论使 我受益匪浅,极大地推动了课题的研究工作。 感谢白凤仙老师在做人做事方面对我的帮助和指导,以及在生活上对我的关心和鼓 励,您的教诲我将铭记在心! 感谢攻读硕士期间相识的同学们,课题研究工作中与师兄宋志扬、周杰、师姐贾艳 丽、徐永洁的有益交流给了我很多的灵感和启发。感谢和我同期毕业的陈小卫、靳雅静, 感谢王瑶、姚国良、林旭东、党永、任程诚、张海瑞、闰朋超等师弟师妹们,感谢你们 在生活上给予的关心帮助以及学业上的切磋和指点! .感谢我的父母及家人,感谢父母的养育以及多年来对我学习生活的鼓励和支持,他 们的殷切盼望是我能够顺利完成硕士论文的强大动力。 感谢参与论文评审的李明伟、戚金清以及答辩的各位专家教授,感谢您们在百忙之 中抽出宝贵的时间对作者的论文进行评审和审议。 最后,感谢所有关心和帮助我的人。 基于FPGA的ADC并行测试方法研究 作者: 学位授予单位: 程鹏 大连理工大学 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1602092.aspx
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })