matlab建模sar adc,SAR ADC的系统级建模与仿真

徐韦佳,田俊杰,施琴

(中国人民解放军理工大学 理学院,江苏 南京 211101)

摘要:为了实现逐次逼近型模数转换器(Successive Approximation AnalogtoDigital Converter, SAR ADC),在MATLAB平台上使用Simulink 工具,建立SAR ADC的理想模型,主要包括数模转换器(DAC)、比较器、译码器和寄存器模块。理论分析时钟抖动、开关非线性、比较器失调、电容失配等非理想因素对系统性能的影响,在理想模型基础上添加非理想因素,进行MATLAB仿真,通过分析输出信号频谱的变化,总结降低非理想因素对系统性能影响的方法,对实际电路设计具有指导意义。

关键词:SAR ADC;MATLAB;非理想因素

中图分类号:TN432文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.08.007

引用格式:徐韦佳,田俊杰,施琴.SAR ADC的系统级建模与仿真[J].微型机与应用,2017,36(8):19-22,25.

0引言

模数转换器(AnalogtoDigital Converter, ADC)作为连接外界模拟信号和数字信号处理系统的桥梁,得到了广泛应用。在诸多不同结构的ADC中,逐次逼近型ADC(SAR ADC)具有中等精度、尺寸小、功耗低、成本低等优点,广泛应用在工业控制、消费电子、信号采集等场合。近年来,随着CMOS工艺特征尺寸的不断减小,SAR ADC的速度跟精度不断提高,功耗跟电源电压不断降低,如何从系统级设计角度减小各种非理想因素对SAR ADC性能的影响,优化SAR ADC的架构设计,已成为当前研究热点之一。

当前SAR ADC的发展趋势是高速、高精度和低功耗。然而,由于一些非理想因素的存在,会影响SAR ADC系统的性能。当SAR ADC趋于高速的时候,任何微小的时钟抖动都会影响模数转换的精度。电源电压不稳定会造成系统性能的不稳定。开关非线性、器件失配、比较器失调、噪声等会造成系统精度的下降和功耗的增加,这些都是影响SAR ADC系统性能的非理想因素。因此,要设计出高性能的SAR ADC,总结降低非理想因素对系统影响的方法,尤为关键。

当前国内有关SAR ADC的研究大多着重于具体电路设计细节,而在系统级设计和建模等顶层设计方面的关注比较少[1]。今后ADC的发展趋势是片上系统(System on Chip, SOC),这是一个集成了IP核、具有专用目标的集成电路,同时也是一项从确定系统功能开始,到软/硬件划分,最终完成设计的新技术。但是SoC也会带来新的噪声以及工艺相容性等新问题,这就需要设计者从系统级设计和建模中来验证后续电路设计的可行性和价值。

基于此,本文从系统级设计角度,使用Simulink工具构建理想模型,分析各种非理想因素对系统性能的影响,通过MATLAB工具仿真和对仿真结果的频谱分析,总结降低非理想因素影响的方法,得出在所能考虑到的因素范畴内的最优化架构设计。

1SAR ADC的工作原理和整体架构

图1是8位八选一多通道输入SAR ADC的电路结构示意图,包括多通道选择器、采样保持电路S/H和DAC组成的采样DAC网络、比较器、控制逻辑电路、移位寄存器和时钟电路。SAR ADC的工作原理基于二进制搜索算法。转换开始,在时钟信号作用下,首先控制逻辑电路将移位寄存器的上一级输出清零,并将最高位置1,输出结果D[0:7]被输入给采样DAC网络,转换为参考电压Vref,比较器将Vin和Vref进行比较,比较完成后,控制逻辑电路就将比较器的输出结果传递给移位寄存器,确定该位保持1还是清为0,同时将次高位置1,产生新的参考电压,进行下一位

  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
What is PJA Toolkit ? PJA (Pure Java AWT) Toolkit is a JavaTM library for drawing graphics developed by eTeks. It is 100% Pure Java and doesn't use any native graphics resource of the system on which the Java Virtual Machine runs. java.awt.Graphics methods such as drawLine (), fillOval (), drawString (),... are implemented in the default JVM with native graphical functions (except in some cases for Java2D) : That means that drawLine () finally calls a GDI system function on Windows or X11 function on a X11/UNIX machine even if the drawing is done in an off-screen image using the class java.awt.Image. This ensures the best performance for drawing graphics with Java. But in a few cases, this default behavior can cause problems that PJA Toolkit library improves : When no X11 Display is available on a UNIX machine (also called headless environment) or when GDI resources are low on Windows, it is impossible to compute off-screen images with java.awt.Graphics methods under a JDK version < 1.4, even if your program doesn't need to display these images. Typically, this situation happens for servlets returning dynamically generated images like pies, charts or web counters. With PJA Toolkit, you don't need to change your Java programs that you expected to run : setting java.awt system property to com.eteks.awt.PJAToolkit is the only required modification to your program with Java 1.1 (see the FAQ and com.eteks.awt.PJAToolkit class documentation for more information). It is also impossible to compute off-screen images when the Java security manager forbids access to any Toolkit or the AWT library. In that case you can although create an instance of com.eteks.awt.PJAImage class which extends java.awt.Image, and draw into it with graphics methods. Drawing with native function doesn't give always the exact same results for each pixel on all platforms. For example, SansSerif font renders differently on MacOS, Windows and other systems : each letter of this font isn't drawn the same, and is different if font anti-aliasing is set or not on the system. On MacOS, circles aren't rendered as specified in Java documentation : fillArc () and drawArc () don't use the same base ellipse... Finally, PJA Toolkit library is supplied under GNU General Public License with its Java source files, and is a good exemple for studying : How pixels are drawn by graphics functions on a computer (com.eteks.awt.PJAGraphics uses Bresenham algorithms to draw lines and circles). How to use the Java paradigm for managing images specified by the ImageConsumer/ImageProducer/ImageObserver interfaces. How Java Toolkit works and what it needs to work (which abstract classes and interfaces to implement). Sources are supplied to allow developers to improve and optimize the graphic drawing methods. com.eteks.awt package files are Java 1.0 to Java 1.4.2 compliant. PJA Toolkit library core classes weighs 140 Ko at run-time (can be reduced to 73 Ko if compressed).
### 回答1: MATLAB是一种广泛使用的数学软件,在工程领域也有着广泛的应用。MATLAB SAR ADC(逐次逼近型数转换器)是用来拟电子开关转换的一种方法。SAR ADC是一种常用的ADC类型,利用逐渐逼近的方式来实现高精度的拟-数字转换。 MATLAB SAR ADC的基础是立一个型,型中包含了一些标准的元件,比如开关、基准电平、采样保持电路等。针对不同的ADC型,型的参数设置和元件的选用也有所不同,需要根据具体情况进行调整。 在的过程中,需要设置采样频率、量化位数、基准电平等参数,并且需要进行仿真,以检验ADC的性能是否符合要求。MATLAB SAR ADC可以帮助工程师更好的了解ADC的原理和性能特点,并且可以预测ADC的性能表现,为实际应用提供指导和优化的方向。 总之,MATLAB SAR ADC是电子工程师进行ADC设计和优化的常用方法,可以提高设计的效率,降低开发成本,帮助工程师更好地理解和处理ADC系统的各种问题。 ### 回答2: MATLAB SAR(逐次逼近型寄存器)ADC是一种数字信号处理技术,也是一种用于拟信号转换的方法。可用于分析和优化ADC的性能,包括分辨率,速度和功耗等方面。在MATLAB中,SAR ADC方法通常是基于差分方程的数学型实现,这个型是基于逐步逼近法设计的。SAR ADC通常包括数字控制逻辑,比较器,DAC和采样电容等多个组件。过程中需要考虑这些组件之间的相互作用,以及究竟哪些因素对ADC性能最为关键。在完成后,可以使用MATLAB进行仿真拟出ADC的输入和输出曲线,从而根据仿真结果进行数据分析和验证,确定ADC的实际性能表现。通过这种方式,我们可以更加深入地了解和理解MATLAB SAR ADC的原理和方法,以便更好地应用于电路设计和系统优化中。 ### 回答3: MATLAB SAR ADC是一种常用的电路分析方法,可用于立单比较器递近逼近型ADC型。 首先,在MATLAB中选择合适的ADC工具箱,例如Simscape Electronics,Simulink或Simulink/Model-Based Design。根据所选工具箱的不同,可以分别使用拟或数字信号处理。 其次,理解SAR ADC的工作原理,清楚每个块的功能和特点,包括采样保持电路、比较器电路、电容阵列、DAC电路等。 然后,使用MATLAB工具创关于SAR ADC的电路图型,考虑驱动器和电源的影响以及误差和噪声的影响。对于数字信号处理方法,需要使用MATLAB的信号处理工具箱,使用FFT、IIR滤波器和数字滤波器等进行数字信号处理。 最后,进行仿真和调试,比较仿真结果与实际测量结果,并分析所得数据,优化设计参数。通过多次优化设计,可得到更精确、更稳定的MATLAB SAR ADC结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值