一种应用于SAR-ADC的前台数字校准算法

2021-03-14 02:48郭尚尚商世广
西安邮电大学学报 2021年5期
关键词:二进制电容权重

刘 伟,郭尚尚,王 逍,商世广

(西安邮电大学 电子工程学院,陕西 西安 710121)

模数转换器(Analog to Digital Converter,ADC)负责将模拟信号转换成数字信号,是连接模拟系统和数字信号处理系统的关键模块之一[1],被广泛应用于医疗、通信和测控等领域的电子器件中。低功耗和小面积是对ADC的基本要求。逐次逼近型模数转换器(Successive Approximation Register Analog-To-Digital Converter,SAR-ADC)正是因其具有功耗较低、面积较小等特点,已经成为ADC领域的关注热点[1-2]。

相关研究发现,在SAR-ADC中普遍存在寄生效应和制造工艺导致的电容权重失配问题,从而致使ADC的分辨率被限制在10 bit以下[3-4],利用版图匹配技术消除电容失配的方法已经接近瓶颈[5]。

为了满足更高分辨率的需求,一种思路是通过增大电容尺寸来提高匹配性,但是,这种做法会增大芯片的面积和功耗,并且降低SAR-ADC的转换速率[4,6];另一种思路是采用校准技术对电容权重进行校准[7-9],从而消除半导体制造误差的影响。校准技术分为模拟校准和数字校准,模拟校准技术采用附加的模拟电路对电容失配进行校准[10-11],会增大芯片的功耗和面积,从而增大整个系统设计的复杂度。

相对于模拟校准技术,数字校准技术的精度更高、速度更快,已经成为目前SAR-ADC校准的主流方法[4,8-9,12]。例如,文献[12]基于最小均方(Least Mean Square,LMS)算法,提出了一种内部冗余扰动(Internal Redundancy Dithering,IRD)的数字校准方法,利用亚二进制电容阵列产生内部冗余,对电容失配进行校准;文献[13]在比较器出现亚稳态时,利用伪随机PN码(Pseudo-Noise Code)作为比较器的输出,对SAR-ADC失配误差进行校准。但是,文献[12]和文献[13]提出的数字校准方法均属于后台校准,其不足之处在于,当SAR-ADC正常工作时,校准算法会进行大量的重复性迭代,致使数据传输的实时性不强,进而影响SAR-ADC的转换速率。文献[14]利用电容失配误差的反对称性提出了一种数字前台校准方法,但该方法需要复杂的DAC开关方案,这无疑增加了模拟电路时序的复杂度。

为了减小电容失配对SAR-ADC转换精度的影响,拟基于亚二进制技术和扰动技术,提出一种应用于SAR-ADC的LMS前台数字校准算法。通过将后台校准转移到前台,减小校准算法对ADC转换速率的影响。在电路刚上电时,整个系统即处于校准模式,利用LMS自适应滤波算法对权重值进行校准;在经过一定次数的迭代训练之后,使SAR-ADC处于正常工作模式,电路根据已经校准的权重值输出正确的数字码。

1 电容失配及校准基本原理

1.1 电容权重失配

SAR-ADC电路的基本结构如图1所示。SAR-ADC电路由二进制电容阵列(CC,C0,C1,…,CN-1)、开关阵列(SC,S0,S1,…,SN-1)、SAR控制逻辑和比较器构成。

图1 SAR-ADC结构示意图

在理想条件下,若电容权重不存在失配,则输入电压Vin可表示为

(1)

其中:Vref表示基准电压;N为SAR-ADC的分辨率;C0表示单位电容值;CC表示冗余补偿电容值;Di表示第i位数字码所对应的0、1值;Ctot表示所有电容的加权和,即

(2)

由于半导体制造工艺原因,往往会引起电容权重的制造误差,假定第i位电容与单位电容C0之间的失配率为ei,则可以将实际的输入电压Vin,real定义为

(3)

其中:δ表示最大失配率;冗余补偿电容Cc值为单位电容C0值。

定义误差电压ΔV为实际输入电压Vin,real与理想输入电压Vin的差值,则误差电压的最大值ΔVmax的计算表达式为

(4)

一般情况下,为了保证SAR-ADC的转换精度,由电容失配引入的最大误差电压ΔVmax需要小于0.5倍的最低有效位(Least Significant Bit,LSB)BLS[15],即需要满足

ΔVmax<0.5BLS

(5)

其中,BLS表示最低有效位数,其值可以定义为1BLS=Vref/2N。

由式(4)和式(5)化简得到失配率δ与分辨率N的关系式为

(6)

由式(6)可知,SAR-ADC所允许的失配率δ随分辨率N的提高呈指数下降,当分辨率N达到14 bit时,所允许的最大电容失配率δ仅为0.006 1%。在现有的制造工艺条件下,生产如此低失配率的电容较为困难,为了满足高分辨率的需求,就需要采用校准技术。

1.2 校准算法基本原理

采用数字校准技术需要保证模拟输入信号的信息不丢失,即要保证SAR-ADC的第i位电容小于前i-1位电容的总和,这是采用数字校准的充要条件[9]。为满足该条件,将电容权重的比值设计为略小于2,即采用亚二进制(Sub-radix-2)来取值。

采用亚二进制电容阵列时,电容的权重比值不再是原来的二进制,就意味着ADC的转换次数M不再等于分辨率N。为了获得更为理想的有效位数(Effective Number Of Bit,ENOB),其转换次数M往往需要大于二进制结构的分辨率N,理想的有效位数BBNO与转换次数M以及进制α的关系可以表示为

(7)

对一个线性SAR-ADC系统,在模拟域增加偏移量±Δa之后,需要能够在数字域被去除。扰动及校准技术原理示意图如图2所示。从图2(a)中可以看出,当最高位权重存在误差时,扰动拟合曲线会在该失配位扭曲变形,从而使得线性叠加原理不再适用,扰动的拟合曲线没有与原来的曲线相互重叠,而是形成了一个误差监测窗口,这个窗口提供了监测转换误差是否为零的机会,如果通过某种校准方法来获得权重的最佳值,就会使权重误差error逐渐趋于零,转换监测窗口也会逐渐消失,从而使得扰动的拟合曲线被线性化,重新适用线性叠加原理,如图2(b)所示。

图2 扰动及校准技术原理示意图

2 LMS前台数字校准算法

综合考虑算法的简单性、鲁棒性和易于在硬件上实现等因素,提出了基于LMS自适应滤波算法[9,16-17]的SAR-ADC校准方法,其结构示意图如图3所示,电路由两部分构成,分别是SAR-ADC核心部分、LMS校准算法部分。

图3 SAR-ADC的LMS校准算法结构示意图

如图3所示,在校准模式M0,输入模拟电压Vin分别加入±Δa的抖动,然后经过SAR-ADC核心部分会被转换为对应的数字码D+和D-,其具有相同的初始权重,可以计算得到Vin±Δa的量化值分别为d+、d-,其计算表达式分别为

(8)

(9)

其中:bi+、bi-分别表示D+、D-第i位数字码值;wi表示第i位电容的初始权重值;dos表示失调电压所对应的量化值。

定义d+、-d-与2Δa的差值为权重误差eerror,其计算表达式为

eerror=d+-d--2Δa

(10)

联立式(8)、式(9)和式(10),化简得到

(11)

LMS自适应滤波算法根据eerror的值,对第i位权重wi进行迭代,使其趋近于最佳值,权重迭代计算表达式为

wi,n+1=wi,n-μweerror,n(b+,i-b-,i)

(12)

其中:wi,n+1表示迭代之后的权重值;μw表示迭代的步长;n为迭代的次数。

当所有权重都被校准完成之后,SAR-ADC核心部分和校准部分会同时进入正常工作模式M1。SAR-ADC核心部分不会加入抖动,校准部分也不会工作,电路记录了最佳的权重值,此时,SAR-ADC正常采样量化输出,每个采样周期只输出一个数据。

提出的LMS数字前台校准SAR-ADC的算法系统建模与实现原理包括两个部分,分别是SAR-ADC核心部分和LMS数字校准部分。在Simulink平台下搭建SAR-ADC核心部分,其包括电容DAC模块SAR DAC、SAR控制模块SAR Control以及比较器模块COM等3个模块。为了达到12 bit的有效位,所搭建电容DAC模块的转换次数M取14,电容权重α取1.86,即按照1.86进制来设计14位电容权重。LMS数字校准部分通过Verilog HDL代码实现,主要包括LMS控制模块LMS_Control、求权重和模块Wi_Sum、求权重误差模块Error、权重迭代模块Update和最后的14 bit转12 bit模块14 bit to 12 bit。LMS数字校准算法系统建模与算法实现原理如图4所示。

图4 LMS数字校准算法系统建模与算法实现原理

当校准使能信号Calibration为1时,表示加入了抖动,此时模拟输入电压Vin经过SAR-ADC核心部分就会产生一个正抖动数据D+和一个负抖动数据D-,当转换结束信号(End of Conversion,EOC)有效时,LMS控制模块(LMS_Control)依次读入D+、D-。D+和D-具有相同的初始权重,每位权重均为23 bit的二进制数,其中,低10 bit为小数部分,高13 bit为整数部分。求权重和模块Wi_Sum根据式(8)和式(9)对数字码D+和D-进行加权求和,得到d+、d-。然后,求权重误差模块Error依次读入d+、d-,根据式(10)得到权重误差eerror。若eerror<1 LSB,则直接进入14 bit转12 bit模块并输出,反之,则进入权重迭代模块Update进行权重迭代,直到权重误差eerror满足条件,再输出校准后的数字码。

假设无抖动注入,模拟输入经过SAR-ADC核心部分之后得到的数字码D为00_0000_1111_1111,则加入抖动量为Δa=00_0000_0001_1001之后,得到的数字码分别为D+=00_0001_0001_1000、D-=00_0000_1110_0110,根据式(11)可得

eerror=W8-W7-W6-W5+W4+W3-W2-W1-2Δa

则W1,W2,…,W8需要被校准,此时,权重迭代模块Update会根据式(12)对这些权重位进行迭代校准,权重校准的流程如图5所示。

图5 权重校准流程

当经过一定次数的迭代训练之后,所有位的权重值都会趋于最佳值,算法就会产生一个校准终止信号End_flag,该信号会反馈到SAR-ADC核心部分和LMS数字校准部分,控制抖动使能信号Calibration和数字校准开关信号Open/Close,使其处于关闭状态,此时,SAR-ADC由校准模式切换到正常工作模式,SAR-ADC核心部分不再加入抖动,数字校准部分只有14 bit转12 bit模块工作,电路会根据已经校准的权重值输出正确的数字码。当下一次电路状态改变时,可以重新按下校准复位开关RST_N,校准电路就会对权重值重新进行迭代训练。

3 实验结果及分析

为了最大化电容失配,对DAC模块中的每个电容都加入交替失配,使每个电容的失配极性不同,例如,第一位电容加入了+1.5%的失配,则第二位就加入-1.5%。将SAR-ADC核心部分输出的待校准数字码从Simulink中导出,作为LMS校准算法的输入进行校准。仿真结束后,将校准代码下载到Xilinx Spartan-6开发板上进行现场可编程门阵列(Field Programmable Gate Array,FPGA)验证与测试。

3.1 功能仿真

算法的校准功能仿真结果如图6所示,其中:rst_n表示算法的复位信号;eoc表示转换结束信号;calibration表示校准使能信号;b_p、b_n分别表示加入正、负抖动之后的14 bit数字码;dout表示输出的12 bit数字码。当eoc信号有效时,LMS算法会依次读入b_p和b_n,然后校准算法根据权重误差error的值对权重进行迭代更新,当error小于1个LSB时,就会对相关数据进行校准。

图6 算法的校准功能仿真结果

3.2 FPGA测试

将校准代码下载到Xilinx Spartan-6开发板上,通过只读存储器(Read-Only Memory,ROM)每隔一段时间向校准电路发送待校准数据。在校准阶段,输入加入抖动的数据进行权重迭代训练,待校准完成之后,再输入未加抖动的数据进行输出,最后利用通用异步收发传输器(Universal Asynchronous Receiver/ Transmitter,UART)协议 将校准结果传回电脑端,利用MATLAB软件进行快速傅立叶(Fast Fourier Transform,FFT)分析。

当失配量取±1.5%,输入信号频率等于240.2 kHz时,所对应的SAR-ADC校准前、后的频谱特性曲线如图7所示。

图7 校准前、后FFT频谱特性对比

图7显示,校准前谐波分量和杂散信号的功率较大,此时对SAR-ADC的动态性能影响较为严重,但是通过校准算法校准之后,谐波分量与杂散信号的功率明显减小,SAR-ADC的动态性能得到了提升。

根据FFT仿真结果得到,校准后SAR-ADC的无杂散动态范围(Spur Free Dynamic Range,SFDR)由48.52 dB提升到了94.93 dB,信噪失真比(Signal to Noise and Distortion Ratio,SNDR)由42.11 dB提升到了72.52 dB,有效位数(Effective Number of Bit,ENOB)由6.70 bit提升到了11.74 bit,校准后SAR-ADC的动态性能得到了较大提升。

校准前、后的微分非线性(Differential Non-linearity,DNL)和积分非线性(Integral Non-linearity,INL)测试结果分别如图8和图9所示。

图8 校准前、后的DNL测试结果

图9 校准前、后的INL测试结果

由图8和图9可以看出,与校准前相比,误差校准后,DNL由原来的-1.00~2.04 LSB降低到了-0.88~0.90 LSB,INL由原来-24.58~26.61 LSB降低到了-0.60~0.64 LSB,SAR-ADC的线性度显著提升。

失配量取1%~5%时,算法校准前、后SAR-ADC的有效位数测试结果如图10所示,可以看出,校准前SAR-ADC的有效位随着失配量的增加而下降,当失配量为5%时,校准前的有效位仅为4.95 bit,而经过校准算法校准之后,有效位均可提升到11.00 bit以上。

图10 不同失配量下的有效位数

SAR-ADC校准前、后的性能参数如表1所示,可以看出,校准后SAR-ADC静态、动态均得到了明显提升。所提校准算法与其他校准方法的动态参数对比情况如表2所示。相较其他方法,所提的校准方法对SAR-ADC的SNDR、ENOB等动态性能提升更明显。这是因为,提出的LMS校准算法可以有效地减小电容权重失配、比较器偏移等多种非线性因素对系统的影响,从而提高了SAR-ADC的转换精度。

表1 SAR-ADC校准前后的性能参数

表2 不同方法校准结果对比

4 结语

利用亚二进制技术和扰动技术,对加入抖动的模拟输入电压依次进行量化,基于LMS算法计算权重误差,根据权重误差迭代出最佳权重值,实现对SAR-ADC的校准,以改善SAR-ADC电容失配影响转换精度及后台校准算法迭代复杂等问题,利用Simulink软件,对一个亚二进制SAR-ADC进行了系统级建模,并将校准算法在Xilinx Spartan-6开发板上进行硬件设计和验证。仿真和验证结果表明,提出的校准算法在SFDR、SNDR和ENOB等指标方面较好,对SAR-ADC的校准效果较好,SAR-ADC的转换精度较高

猜你喜欢
二进制电容权重
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
权重常思“浮名轻”
有用的二进制
用Scratch把十进制转为二进制
有趣的进度
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
超级电容车的充电,有望几十秒内搞定吗?
浅谈电感和电容在交流电路中的作用
小体积大用途