陈楠 龙飞
摘 要: 针对模数转换器(ADC)教学中,学生仅依赖理论学习,很难和实际ADC结构及应用联系起来等问题,以目前应用较为广泛的流水线型ADC为例, 探讨MATLAB/Simulink仿真在ADC教学中的应用。通过在Simulink环境下搭建流水线ADC的行为模型,并进行仿真结果演示,使学生对此类ADC的结构和工作原理有了直观的认识,提高了课程的教学效果。
关键词: Simulink; 模数转换器(ADC); 流水线; 仿真
中图分类号:G642.0 文献标志码:A 文章编号:1006-8228(2015)09-36-03
Application of MATLAB/Simulink simulation in the teaching of ADC
Chen Nan, Long Fei
(Guizhou university for nationalities information engineering institute, Guiyang, Guizhou 550025, China)
Abstract: In the teaching of analog-to-digital converter (ADC), the students rely only on theoretical study, it is difficult to link with the actual ADC structure and the application. Taking the widely used pipelined ADC as an example, this paper discusses the application of MATLAB/Simulink in the teaching of ADC. In the Simulink environment, the behavior model of pipelined ADC is built, and the simulation results are presented, which makes the students understand the structure and working principle of this type of ADC, and the teaching effect is improved.
Key words: Simulink; analog-to-digital converter(ADC); pipelined; simulation
0 引言
模數转换器(Analog-to-Digital Converter,ADC)是将模拟信号转换成数字信号的电子系统。在现代生活中,从普通的数据采集到复杂的数字信息处理,从智能手机到互联网,ADC在各式各样的电子设备中成为连接周围物理世界到数字信号处理设备的重要桥梁。在电子信息类的本科教学中,让学生认识并掌握好ADC的工作原理,对于后续复杂电子电路系统中模拟与数字信号转换的分析与设计会有很大帮助。但由于目前ADC的种类繁多,工作原理和结构各异,学生在学习时,往往仅掌握了A/D转换的基本原理,即采样、量化、编码,而无法将其和实际的模数转换器的结构联系起来,对书本上繁琐的结构原理图,感到很抽象乏味。学生在这部分的学习中常无法达到预期的效果。为应对实验课时较少及实验室硬件设备的不足,我们采用MATLAB/Simulink软件中丰富的电路元件库,来搭建和模拟目前常用的ADC行为模型及其电路结构,通过修改各种相关参数,可以模拟电路的真实工作情况,实时的显示实验结果。
1 MATLAB/Simulink仿真软件简介
Matlab是一个通用的科学计算平台,适用于工程各领域的分析设计与复杂计算。Simulink是其提供的一个图形化仿真环境,同时也是一个集建模、仿真和分析于一体的工具箱。采用直观的图形化形式进行电路图输入,软件界面友好、操作方便、简单易学。该软件在Windows平台上运行。Simulink提供了大量的功能块,建模时用鼠标点击与拖拽库中的功能块,并将它们连接起来即可。用户可以将功能块组成子系统来建立多级模型。功能块和连接的数目没有限制。Simulink框图还提供了交互性很强的非线性仿真环境。用户可以通过菜单执行仿真,或使用命令进行批处理。仿真结果可以在运行的同时通过示波器或图形窗口显示[1]。
2 MATLAB/Simulink在模数转换器原理教学中的应用
根据各种不同的应用场合,对模数转换器性能的不同需求ADC同时发展出各种各样的结构。其主要结构有:全并行ADC、折叠内插ADC、逐次逼近ADC、流水线型ADC和Σ-ΔADC等[2]。在模数转换器原理教学中,由于受学时等因素限制,无法将这几类ADC的结构和工作原理都依依详述,因此选择转换速度和精度都比较高、应用广泛的流水线结构的ADC为主要讲授内容。本文以1.5位/级10位流水线型ADC为例,说明Simulink在其系统建模及仿真中的应用。
2.1 1.5位/级10位流水线ADC结构分析
一个标准的流水线型模数转换器结构如图1所示,主要由前端采样保持电路、子级流水线单元、数字校正电路组成[3]。每级流水线(通常最后一级除外)单元包括一个MDAC和一个子ADC,在数据转换过程中,每级流水线由子模数转换器(子ADC)产生一组数字码输出,然后将这个数字码通过子DAC重新转换为模拟信号,并与输入到该级的模拟信号相减得到一个模拟余量电压值,该余差电压被放大输出到下级流水线单元。
每级中的子模数转换器由低分辨率的FLASH ADC构成,例如1.5bit/级的结构每级需要两个比较器,比较器电压分别为Vref/4和-Vref/4。由于比较器的失调电压容易导致误差,因此通过添加冗余位到各级的数字输出,并将所得的数字码送入数字校正模块进行校正,即可消除此可能导致的误差[4]。经过校正的Dout即为模拟输入信号Vin通过该流水线ADC后得到的数字输出。
2.2 基于Simulink的1.5bit/级流水线ADC仿真模型
利用Simulink的Ports&Subsystems子库中的Subsystem模块搭建如图1所示的系统结构图,如图2所示。其中pipeline stage子系统中由九级流水线单元级联而成,前八级结构完全相同。
第九级为一个两位的并行FLASH ADC。Delay cell子系统,负责完成各子级数字码的统一输出。Error correction子系统负责完成数字校正。另外为了方便学生对比输入/输出结果,在模型中还格外添加了一个数模转换器,即图2中所示的Analog out子系统。整个模型的核心部分就是流水线子系统。在图3中分别表示了各级流水线单元结构框架、子ADC结构,以及子DAC结构。
2.3 1.5bit/级10位流水线ADC仿真分析
根据基于simulink所建立的流水线ADC模型,当设置参考电压Vref=5V时,可以得到图4所示仿真结果,图4(a)为第一级残差电压随输入信号的传输曲线;图4(b)图为第二级残。
差电压的传输曲线。由图4可以看出,采用该模型所得到的每级传输曲线和理想曲线基本相符。
本文将一个频率为1MHz的正弦信号作为此流水线ADC的输入信号,在采样频率分别为10MHz和100MHz的情况下,得到经过模数转换后再根据所得数字信号恢复的模拟信号与原信号的对比图,如图5(a)、(b)所示。
从图5可以看出,只要满足奈奎斯特采样频率的大小,输入信号经过该ADC后基本都能复原,采样频率越高,波形恢复越接近原始信号,但伴随着采样频率的提高,输出波形也会有很多高次谐波的产生。由此可知,通过利用Simulink来对ADC建模是可行的。本文所述模型是一个接近理想的模型,我们还可以改变模块中的参数,例如加入电容失配、放大器增益误差等[5],来观察这些参数对波形的影响,并通过系统仿真来进行分析。
3 结束语
本文应用MATLAB/Simulink环境快速、完整的搭建出了流水线型模数转换器的行为模型,可实时地显示出实验结果,学生利用该仿真软件学习模数转换器的工作原理时,不仅可以直观生动地观察到整个器件的工作过程、各阶段的信号变化以及该ADC的输入输出特性曲线,还可以在现有理想模型的基础上,继续进行该ADC的非理想模型的搭建,并在软件系统引导下逐步进行更深的研究。将MATLAB/Simulink仿真技术应用在模数转换器的教学中,突破了对各种结构ADC的学习限制,实现了理论和实践的紧密结合。
参考文献:
[1] 石良臣.MATLAB/Simulink系统仿真超级学习手册[M].人民邮电出版社,2014.
[2] 王学权.10位流水线结构模数转换器的研究[D].合肥工业大学硕士学位论文,2006.4.
[3] 李萌.基于Matlab的新型Pipeline ADC的建模和仿真[J].电子器件,2008.31(3).
[4] Stephen H. Lewis. A 10-b 20-Msample/s Analog-to-Digital Converter[J]. IEEE JOURANAL OF SOLID-STATE CIRCUITS,1992.27(3):351-358
[5] 宮月红.流水线型ADC误差及相应校正策略研究[J].微电子学与计算机,2014..31(5).