【深度测评】HPM6750 MCU片内16位ADC精度测试

本文导读
adc的主要参数指标分为静态参数和动态参数两类,基于这两类指标,本文将对先楫半导体hpm6750 mcu片内16位adc的精度进行全面测试,一起看看结果怎么样。
adc参数测试原理
1.1 adc参数
国内16位sar型adc芯片目前较少,mcu内置16位sar型adc的则更少。如何衡量adc的性能,参考s*公司带有16位adc的mcu芯片s**32h750手册,分为静态参数、动态参数两部分,如表 1.1、表 1.2所示。
静态参数主要有差分非线性(dnl)、积分非线性(inl),衡量adc测量直流及低频信号时的性能。
表 1.1 adc的静态参数(s**32h750)
动态参数主要有有效位数(enob)、信噪失真比(sinad)、信噪比(snr)、总谐波失真(thd),衡量adc测量交流动态信号时的性能,例如测试1khz正弦波。
表 1.2 adc的动态参数(s**32h750)
1.2 ieee1241标准
ieee1241对adc器件的指标参数和测试方法进行定义,是一种为adc器件厂家制定的标准。adi和ti等厂家的独立adc芯片、mcu厂家的片内adc,均遵循该标准的方法,进行静态参数和动态参数的测试。
ieee1241于2000年发布,较新的版本为ieee1241-2010。adc测试评估的主要任务是确定其电压传输关系,理想情况下输入电压与adc输出代码中点的传输关系是一条直线,每个输出代码的宽度相同。实际的电压传输关系不同于理想情况,ieee1241标准给出了几种可选的测试步骤和方法。一种方法是使用斜坡电压信号,通过复杂的伺服环路系统,使用比被测adc分辨率高得多的dac,精确步进,得到被测adc各个lsb的实际跳变电压。
另一种方法是使用正弦波信号,该信号必须具有比被测adc预期信噪失真比(sinad)至少高20 db的总谐波失真和噪声。例如,一个理想16位adc具有98db的信噪比(snr),假设没有失真,那么sinad就为98db。要想对该adc进行测试,要求使用一个-118db以上thd+n的正弦波信号。该低失真正弦信号,可以通过多阶带通滤波器实现,硬件相对简单。因此使用正弦波信号,是目前主要的adc测试方法。
eee1241标准的各章节中,给出了基于正弦波信号和统计直方图,实现静态参数dnl、inl,动态参数enob、sinad、snr、thd的测试方法和计算公式。
【6.4节】给出adc电压传输关系的测试方法。使用一个幅度稍微超过adc测量范围的纯正正弦波,输入到adc,获取多个连续的采样数据并统计直方图,由公式(27)计算电压传输关系。
其中,t[k]是第k个二进制代码对应的电压值,hc[k-1]是累计直方图,s是总采样点数。该节还给出了正弦波频率和adc采样频率的选择,每次采集的数据点数,总的采集数据点数,正弦波幅度过载量要求。
【7.4.1节】给出增益误差g、失调电压vos的测试方法和计算公式,基于对t[k]的最小二乘法拟合。
【8.2节】给出积分非线性inl的测试方法。测量值t[k]校正增益和失调误差之后,与理想值tnom[k]相减,它们的差值代入公式(40),计算输出码k处的积分非线性ε[k]。
由公式(40)将lsb单位的inl,换算成百分比形式。
【8.4节】给出差分非线性dnl的测试方法,由公式(43)计算。当dnl[k]<0.9时,输出码k被定义为缺失码(missing code)。
【8.8节】给出总谐波失真thd的测试方法。adc 对周期信号进行采样时,动态误差和积分非线性都会导致谐波失真,总谐波失真用于量化此类影响。总谐波是指一组目标谐波分量的均方根值(二次、三次等)与所施加信号均方根值的比值,由公式(50)计算。
该节给出了目标谐波的次数要求,由输入正弦波的最低9个谐波组成,包括第2次到第10次。用于计算的采样数据中,应该包含整数个输入正弦波周期,以最小化频谱泄漏,例如10个整周期。
【9.2~9.4节】给出sinad、snr、enob的测试方法。将指定频率和幅度的纯正正弦波输入到adc,首选幅度接近满量程的大信号,但是不能出现削波(例如95%fs信号)。首先计算噪声和失真nad,通过计算测量数据波形的dft频谱,从频谱中删除直流和测试频率处的分量后,所有剩余傅立叶分量的和方根是nad,由公式(67)计算。
通过将nad和arms代入公式(66),计算sinad。
通过将nad、arm、thd代入公式(69)和(68),计算snr。
通过将nad代入公式(70),计算enob。其中εq是理想的量化误差rms值,等于lsb/√12。
根据ieee1241标准的以上计算过程和公式,编写科学计算软件代码,可以实现各参数的测量。
测试环境搭建
2.1 硬件框图
adc测试的硬件由正弦波信号源、hpm6750测试板、usb转ttl线、u盘等组成,如图 2.1所示。正弦波信号源通过sma连接线,连到hpm6750测试板。
图 2.1 测试环境硬件框图
静态参数测试时,需要大量采样数据,采样数据先存储在hpm6750测试板的内存中,之后多份采样数据存储到u盘中。动态参数测试时,需要的采样数据较少,采集完成之后直接通过hpm6750的uart打印,由ttl转usb线传输到电脑进行计算。
电脑上需要的软件工具如表 2.1所示。
表 2.1 测试所需的软件工具
2.2 正弦波信号源
用于测试的正弦波信号需要具有比被测adc预期信噪失真比(sinad)高20 db左右的总谐波失真和噪声。一个理想16位adc具有98db的信噪比(snr),如果没有失真,sinad为98db。因此,需要一个-118db以上thd+n的正弦波信号对16位adc进行测试。
本测试使用ti 的psievm精密信号注入器,板上有8阶带通滤波器生成低失真正弦波,thd参数为-123db,以符合测试要求。psievm板如图 2.2所示,它的正弦波输出频率固定为2khz,输出幅度和直流偏移电压可调,配套有pc端的gui界面进行设置。
图 2.2 正弦波信号源psievm板
需要注意psievm板的输出阻抗,需要手工改成50ω。
2.3 外围电路要求
hpm6750片内adc的外围电路设计,对保证adc的信噪比,至关重要。sar型adc可以等效理解为一个多输入端口的比较器,模拟电源avdd、基准输入vrefh、接地平面、输入通道上的噪声直接影响adc输出代码的跳动。
本测试使用专用的hpm6750测试板,如图 2.3。
图 2.3 hpm6750测试板
hpm6750测试板的adc外围电路处理方式如下文所述,硬件设计时建议参考处理。
【模拟电源avdd】通过ldo从数字电源5v获得低噪声模拟电源。需要注意ldo的电源抑制比在10khz及以上频率时下降,导致高频纹波和尖峰噪声仍可以传导至ldo输出。建议在ldo之前加入10ω左右电阻和磁珠与输入端10uf左右电容,形成低通滤波,滤除高频纹波与尖峰噪声。
【基准vrefh】基准电路设计包括两部分:电容选取、基准噪声。vrefh管脚位置的大电容是片内sar型adc的一部分,此类adc基于开关电容电荷重新分配原理,在确定输出代码lsb过程中,需要从vrefh管脚获得瞬态电荷。例如,使用了两个10uf的x5r材质低esr陶瓷电容和104电容并联,并且在pcb布局时以尽量短的走线和覆铜连接到vrefh管脚,电容的接地焊盘需要就进放置多个过孔至pcb接地平面,以降低连接阻抗。
基准的噪声需要选择低噪声基准。例如,使用了低成本的az432搭建3.1v基准,低频噪声10uvpp,典型温漂20ppm。对温漂有更高要求时,可以选用tpr3525,低频噪声50uvpp,典型温漂10ppm。
【接地平面】agnd和vrehl管脚需要就近放置过孔,连接到接地平面。pcb布局时需要把模拟器件、数字器件分区域放置,引导数字信号的开关电流不流经模拟电路的低平面,以避免串入数字开关噪声。详细地平面设计说明参考资料[6]。
【输入通道】需要注意,本测试中输入通道不能有普通电容,普通电容的容量随输入电压变化,使得低通截止频率变化,会引入明显失真。正常使用时,输入通道需要限制信号带宽,例如加入rc低通滤波,限制宽带噪声。
使用以上处理,hpm6750测试板的测试数据详见5.1节的表5.1。
静态参数测试
3.1 测试条件
使用正弦波输入信号,基于概率密度原理和累计直方图测试dnl、inl。当输入信号是理想正弦波时,adc以固定频率采集,所输出数字代码的出现概率,理论上为固定值,如图 3.1所示。出现概率通过某一数字代码的出现次数,除以总采样点数计算。各个输出数字代码的测试出现概率,与理想出现概率之间的差值,是这个代码的宽度误差。统计最大宽度误差,得到差分非线性dnl。得到dnl之后,dnl的累计误差是积分非线性inl。
图 3.1 正弦波输入时的adc输出代码直方图
图 3.1的直方图高度非线性,不能直接计算,通过累计直方图实现积分计算,可以实现直方图线性化(参考资料[3])。ieee1241标准6.4、7.4、8.2、8.4节,给出了以上基于正弦波信号和概率密度直方图方法的计算过程、公式、及测试条件。
结合ieee1241中6.4节要求,本测试实际使用测试条件设置如图 3.1所示。
表 3.1 静态参数测试条件
【输入信号幅度】ieee1241的6.4节描述,输入信号幅度需要轻微超出adc测量范围,过载量根据输入噪声而定。因为在输入正弦波的波峰、波谷位置,adc两个临近输出代码对应的输入电压差小,容易受噪声影响。本测试中,选用10%过载量,根据adc输入范围0~3.1v,psievm输出正弦波幅度设置为-0.3~3.4v,offset设置为1.55v。
【adc采样速率】ieee1241的6.4.1节描述,采样速率和输入信号频率必须互为质数,实现均匀遍历到所有的adc输出代码。本测试中,输入正弦波频率2khz,采样速率664ksps,每个周期获得332个采样点,具有332个不同输出代码,通过小数位频率和大量采样点,实现均匀遍历所有的输出代码。
【采样点数】ieee1241的6.4.1节描述,每一次采集的连续采样点数,包含整数个输入信号周期。这样保证每次的采样点在0~2π的相位上均匀分布。因为会使得多次采集的数据进行拼接时,输出代码的出现概率均匀分布。本测试中,每次采样点数约120k。
ieee1241的6.4.3节描述,根据概率密度进行测试时,样本数量与测试精度、置信度的计算公式。本测试中使用大约30m采样点进行计算,存储在u盘中。
3.2 测试步骤
静态参数测试时,单次的连续采样数据,mcu先存储在hpm6750测试板的内存中,然后顺序存到u盘中,将多份采样数据拼接成几十兆采样点的数据记录文件,用于参数计算。测试的步骤如下。
(1) pc上位机设定正弦波信号源psievm的频率频率、幅度、失调,使能输出;
(2) segger embedded studio环境中启动adc采集数据,并存储到u盘;
(3) u盘中的数据记录文件复制到电脑,数据文件的路径写入科学计算软件;
(4) 运行科学计算软件代码计算dnl、inl;
(5) 查看科学计算软件输出的图表和数据。
3.3 测试数据
本测试中从u盘读取的33m采样数据文件大小为128mb,导入科学计算软件获得的输出代码直方图如图 3.2所示,其中横轴x为adc的输出代码值,纵轴y为该代码的出现次数,以对数坐标显示。可以看到图 3.2包含了0~65535个输出代码,符合16位adc的输出代码个数。
图 3.2 采样数据直方图
3.3.1 dnl
采样数据通过科学计算软件计算得到的dnl,如图 3.3所示,dnl最大值为+1.1~-0.92lsb。
图 3.3 dnl测试数据
3.3.2 inl
采样数据通过科学计算软件计算得到的inl,如图 3.4所示,inl最大值为+4~-4.2lsb。
图 3.4 inl测试数据
3.3.3 小结
根据以上测试数据,hpm6750片内16位adc测得dnl为+1.1/-0.92lsb,inl为+4/-4.2lsb。
动态参数测试
4.1 测试条件
使用正弦波输入信号,基于fft频谱分析,从频谱成分计算出sinad、enob、snr、thd参数。将噪声和谐波成分等效到adc输入端,根据理想adc的信噪比公式,可以得到有效位数enob。ieee1241的9.2~9.4节,描述基于fft方法的enob等参数计算过程、公式、及测试条件。
结合ieee1241要求,本测试实际使用测试条件设置如表 1.1所示。
表 4.1 动态参数测试条件
【输入信号幅度】ieee1241的9.2.3节描述,输入信号幅度接近adc的满量程,但是不能出现削波。因为信噪比snr和失真thd直接和输入信号幅值相关,但是幅度过大,接近削波时,将出现明显失真。本测试中选用93%fs,根据adc输入范围0~3.1v,psievm输出正弦波幅度设置为0.0775~3.0225v,offset设置为1.55v。
【采样速率】ieee1241的9.3节描述,可选相干采样,或非相干采样加窗。本测试中选用后者,为了衡量adc性能,采样速率选用最高值2msps。
【采样点数】ieee1241的9.4.3节描述,采样点数增加时,随机噪声对正弦波测试结果的影响降低,可重复性更好。采样点数不应过多,以免正弦波信号源或adc时钟信号中的频率漂移或相位噪声影响结果。本测试中选用20个整周波采样点数,即20k samples。
4.2 测试步骤
动态参数测试时,采样数据需要较少,adc采集20个输入信号周期的连续数据,采集完成之后通过hpm6750的uart打印,通过ttl转usb线传输到电脑进行计算。
(1) pc上位机设定正弦波信号源psievm的频率频率、幅度、失调,使能输出;
(2) segger embedded studio环境中启动adc采集数据,并通过uart打印;
(3) 采样数据文件的路径写入科学计算软件;
(4) 运行科学计算软件代码计算enob等参数;
(5) 查看科学计算软件输出的图表和数据。
4.3 测试数据
本测试中从uart打印20k点数据,导入科学计算软件看到的原始数据波形如图 4.1所示,可以看到波形幅值接近满量程。
图 4.1 动态参数测试数据的原始波形
4.4 enob、sinad、snr、thd
通过科学计算软件计算输出的频谱如图 4.2,蓝色是输入信号,红色是谐波,黑色是噪声。
图 4.2 动态参数测试数据的频谱
通过科学计算软件计算输出的动态参数值如表 4.2。需要注意动态参数测试与噪声相关,容易受干扰,需参考2.3节的描述仔细设计adc外围电路。
表 4.2 动态参数测试数据
hpm6750片内16位adc的采样速率最高可以设置至4msps,这种情况下的动态参数测试值如表 4.3。可以看到,enob等参数有一定幅度下降,需要更高采样速率而不是更高精度时,可以选择使用该设置。
表 4.3 动态参数测试数据(4msps)
4.5 小结
根据以上测试数据,hpm6750片内16位adc在2msps最高采样速率下,测得enob为12.1位,sinad为74.6db,snr为74.7db,thd为-88.9db。
采样速率最高可支持至4msps,测得enob为11位。
测试总结
5.1 实测参数与手册参数对比
汇总以上测试数据,hpm6750片内16位adc的静态参数和动态参数如表 5.1所示。表中与hpm6750手册中的参数进行了对比,可以看到实测参数基本与手册符合。
表 5.1 实测参数与手册参数
如下表,静态参数部分与国外领先厂家的同类型soc片内16位adc参数进行对比。hpm6750的静态参数较好,dnl优于对比型号。inl约为±4lsb,优于s**32h750,与lxx553x接近。
表 5.2 与国外厂家的静态参数对比
如下表,动态参数部分与国外领先厂家的同类型soc片内16位adc参数进行对比。hpm6750的动态参数与对比型号基本在同一水平,enob为12.1位,s**32h750为12.2位,lxx553x为11.8位。
表 5.3 与国外厂家的动态参数对比
通过以上对比,hpm6750片内16位adc的实测数据具有与同类型号s**32h750、lxx553x几乎等同的性能,enob有效位数为12位,inl较好约±4lsb。
5.2 有效位数的区别
对于高分辨率adc,关注实际能做到多少位,但是大部分情况下不具备搭建ieee1421中正弦波测试环境的条件,测试有效位数enob。通常使用测量dc电压的方式,统计输出数据不跳动的位数,检查adc的无噪声分辨率nfr。需要区分无噪声分辨率nfr,不等同于手册中的有效位数enob。nfr是测量直流或低频信号时,所关注的不跳动位数,而enob是测量交流动态信号关注的有效位数。nfr测量的是噪声的峰峰值,但没有包括adc的非线性,enob测量的是噪声的均方值,还包括了adc的非线性。高速adc的手册中通常只标注动态参数enob,没有标注nfr,但是在adc的非线性远小于噪声的峰峰值的情况下,可以从动态参数enob,估算能够获得的nfr。
【无噪声分辨率nfr的测试方法及计算】无噪声分辨率衡量adc能够测量到最小直流信号,测试方法:输入端接地,或连接到一个通过大电容深度去耦低噪声的直流电压,然后采集大量采样点,并将其表示为直方图。外围电路设计良好时,等效到adc输入端的噪声为白噪声,直方图呈正态分布。直方图的代码分布个数,表示峰峰值噪声,对应无噪声分辨率。
【有效位数enob的测试方法及计算】有效位数衡量adc能够测量到的最小交流信号。测试方法:输入正弦信号,对采样数据进行fft分析,计算所有噪声(包括量化噪声)和失真项的和方根值sinad,并等效为adc输入噪声,代替snr,根据理想n位adc的理论snr公式,换算位数n。
snr = 6.02n + 1.76db
【通过enob估算nfr】根据参考资料[5],针对交流输入信号的enob,与直流低频信号的无噪声分辨率nfr,有如下的换算关系:
enob = nfr+0.92
对于直流低频信号,adc的enob约比nfr大1位(0.92位)。但是以上计算过程,没有考虑adc非线性,外围电路噪声、以及输入信号噪声影响,是理想情况下能获得的无噪声分辨率nfr。实际电路中,nfr与外围电路直接相关,adc外围avdd管脚、vfefh管脚、接地平面,以及直流输入信号自身的噪声,均会直接影响adc输出代码跳动,需要仔细设计外围电路和pcb(参考资料[6]),才能获得预期的无噪声分辨率。
测量直流低频信号时,除了硬件措施,对高速adc输出代码做数字平均滤波,是提高无噪声分辨率的有效方法。hpm6750片内16位adc,做数字平均之后的无噪声分辨率如表 5.4所示。被测的信号是一节1.5v干电池,可以看到平均4次之后,nfr为11位以上;平均32次之后,nfr为12位以上。
表 5.4 hpm6750数字平均之后的无噪声分辨率
来源:立功科技


监控系统防雷措施有那些_监控系统防雷注意事项
长沙将3至5年内建造中西部最大半导体产业群
分布式发电系统的应用前景
华为与夏普签订长期全球专利交叉许可协议 涵盖4G/5G技术
了解为高分辨率、高帧率CMOS图像传感器设计供电方案的挑战
【深度测评】HPM6750 MCU片内16位ADC精度测试
魅蓝Note5:魅族终于觉醒了 黑色版四曲面屏进军年底旗舰
小米5C对比红米note4X以及360N5盲测结果出炉:震惊
【行业资讯】德国将投资1910万欧元建立一所量子计算学校
如何使用PICOBLAZE?PICOBLAZE开发流程介绍
X电容是什么?X电容属于陶瓷电容吗?
过压保护电路
深度测评凯迪拉克XT5 28E
立昂微在半导体领域发展情况介绍
物联网安全:保护资源受限的设备
芯片设计行业的新变革
苹果基于Micro LED显示专利:可随着时间展示不同的画面
安规电容上的丝印是什么意思呢?
从桥梁照明系统看LED技术使用已成为趋势
MCU四大法宝安全是首位,国产MCU发展冷思考