最近做ADC的时候,对ADC的仿真有一个很痛苦的过程,所以特地写一个博客,帮助所有需要仿真ADC的同学,不要走太多弯路吧,本博客是针对差分输入的SARADC
本文主要分为3个部分,首先是介绍ADC仿真需要的数据以及软件,第二部分就是ADC仿真的指标,第三部分就是如何采用数据得到仿真指标。
PART1 电路仿真数据及软件
首先,ADC电路主要存在静态仿真和动态仿真两类仿真,针对两种不同的仿真,我们存在不同的输入信号和不同的数据采样,因此静态仿真和动态仿真是完全不同的两个概念,所以设置的参数不同:
在ADC仿真过程中使用的软件主要有特定的EDA软件,MATLAB,EXCEL
- 静态仿真:
SAR-ADC的静态性能指标主要有积分非线性(INL)和微分非线性(DNL)。积分非线性是指同一采样电压下实际转化的数字码和理想的数字码的差;而差分非线性是指实际曲线下不同采样电压下转化数字码的差。具体的分析如下:假设有一理想的斜坡信号作为差分电压的电压,所以得到的分析波形如下所示:
DNL: 从实线阶梯信号中,有数字码H(1),
H(2), H(3),……,H(i);
DNL1 = H(2) – H(1);DNL2
= H(3) – H(2);所以可以总结出规律得到:
则最终的差分非线性表达式为:
INL:从实线阶梯信号和理想阶梯信号中,假设有N个采样点,在第I个采样点的理想数字码为W(I),实际数字码为H(I), 则INL的计算如下:
对于一个优秀的SARADC,输出精度的优势主要取决于INL,DNL的大小,首先INL,DNL的计量单位主要是LSB,对于本电路,LSB可以表示为:
而对于INL, DNL而言假设计算出大于1LSB,则会出现失码的现象,这会导致我们的SARADC输出不准确,从而造成误差。
- 动态仿真
SAR-ADC动态仿真主要性能指标有:信噪比(SNR),信号噪声失真比(SINAD),有效位数(ENOB),总谐波失真(THD),无杂散动态范围(SFDR);对于以上参数指标,主要的定义如下:
SNR:信噪比是输入信号和噪声(不包括任何谐波以及直流) 的功率比,[5]是定义器件内部噪声大小的基本参数。信噪比的计算公式如下:
SINAD:SINAD是输入信号和所有输出信号失真功率(包括谐波成分,不包括直流)比,它测量的是输出信号所有传递函数非线性加上系统所有噪声(量化、抖动和假频)的累积效果。主要的计算公式如下:
ENOB: 表示ADC在转换过程中真正输出有效的位数,此参数与信噪比密切相关,主要计算公式为:
THD: 总谐波失真是输入信号与系统所有谐波的总功率比,它可