Verilog的数模转换器设计方案.docx
《Verilog的数模转换器设计方案.docx》由会员分享,可在线阅读,更多相关《Verilog的数模转换器设计方案.docx(21页珍藏版)》请在冰点文库上搜索。
Verilog的数模转换器设计方案
南阳理工学院
本科生毕业设计(论文)
基于Verilog-HDL的数模转换器的设计
院系:
电子与电气工程学院
专业:
电子信息工程
姓名:
王晓宁
学号:
105090440022
指导老师:
曹原
摘要
随着计算机技术以及集成电路的迅速发展,对于芯片部分的数字部分和模拟部分接口电路的研究尤为重要。
电子设计自动化逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。
尤其是计算机在自动控制、自动检测以及其他许多领域中的广泛应用,使得对于数字部分与模拟部分的研究显得尤为重要。
本文主要研究了基于Verilog-HDL语言的D/A转换器的高层次行为模型。
第一章引言
1.1研究的目的与意义
1.2数模转换器研究现状
1.3研究的内容
第二章D/A转换器的基本设计原理
第三章EDA技术及Verilog-HDL设计
3.1EDA技术
3.2Verilog-HDL语言
3.3EDA技术的开发环境-QuartusII
第四章设计实现
4.1系统方框图和结构设计
4.2各模块的Verilog-HDL源程序
4.3
1引言
在计算机技术的推动下,20世纪末,电子技术获得飞速的发展。
20世纪90年代,国际上电子与计算机技术比较先进的国家,一直都在积极研究心得电子电路设计的方法。
电子设计自动化EDA(ElectronicDesignAutomation)技术作为现代电子设计的核心,它依赖计算机技术,在EDA工具软件(QuartusII)平台上,使用硬件描述语言(Verilog-HDL)来完成对系统硬件功能的设计。
电子设计自动化工具给电子设计带来了巨大变革,特别是可编程逻辑器件和硬件描述语言的出现与发展,解决了诸多不便。
VHDL是目前通用的硬件描述语言之一,可用来描述一个数字电路的输入、输出以及相互间的行为与功能。
它特有的层次性—由上到下的结构式语法适合大型工程的设计,而且修改方便、移植性强,它的源代码已经成为一种输入标准,可用于各种EDA工具。
使用VHDL设计数字系统已经成为当今电子设计技术的趋势。
1.1课题研究的意义
对于数模转换器的设计,大部分是采用C语言以及单片机编程来实现的。
随着数字电路技术和计算机技术的发展,EDA技术取代了传统的电子设计方法而成为数字电路设计的主要技术。
突出表现了EDA技术的功能。
而且通过本课题的研究,能够掌握数模转换器的实现方法,熟悉转换器的工作过程,掌握数模转换器在实际生活中的应用方法,这样也有利于了解转换器的实现过程,掌握设计转换器的算法,提高能力。
同时也掌握EDA技术。
1.2数模转换器研究现状
随着数字技术,特别是计算机技术的飞速发展和普及,在现代控制、通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。
由于系统的实际对象一般是模拟量(如温度、压力、图像等),要使计算机或者数字仪表能识别、处理这些信号,必须先把这些虚拟信号转换为数字信号。
本课题所涉及的问题在国内(外)的研究现状
(1)近年来,随着社会和科学技术的发展,数字系统已经成为人类的重要部分。
对于模拟系统,我们要利用信号处理技术转换为数字信号。
随着数字信号处理技术的发展以及新算法的不断涌现,再加上数字信号器件性能的不断提高,数模转换器的设计要求也在不断提高。
(2)国外对于数模转换器的发展,推出双通道数模转换器,可以为宽带传输系统降低材料清单成本,高采样的数模转换器从而提高信号的准确性。
(3)国内对于数模转换器的发展正在努力研究高效率的数模转换器,从而提高数字信号处理技术,为人类科技进步提供前提。
1.3本课题研究的内容
本文主要根据数字电路中的数模转换器的设计原理,通过采用硬件描述语言Verilog-HDL对其进行研究与仿真。
本文所介绍的主要内容有以下五章内容。
第一章主要介绍主要课题的研究意义,研究目的,研究内容以及国内外对于数模转换器的研究现状做出概述。
第二章主要介绍数模转换器的基本工作原理、分类和性能参数,同时对各种类型的D/A转换器的特点进行了对比研究,为转换器设计的发展创造了条件。
第三章首先介绍了模拟硬件描述语言Verilog-HDL,简单介绍了Verilog-HDL描述行为模型的结构,同时介绍了基本电路元器件的模型,给出了一个简单电路的模型代码。
第四章主要介绍运用QuartusII软件实现数模转换器的设计及程序框图。
在QuartusII软件中进行仿真,得到仿真波形与结果并分析。
第五章主要对设计进行总结,提出设计的不足
2、数模转换器的基本原理和常见电路
本章系统介绍数模转换器的基本工作原理,以及影响数模转换器性能参数的主要因素,和常见的几种典型电路。
2.1数模转换器的基本工作原理
数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件,通常这种转换是线性的。
D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。
它是经过DSP(数字信号处理器)运算或其他数字设备的数字信号还原成“逼真”的模拟信号,将数字输入转换为模拟输出。
对于线性模数转换器:
Vo=VRD(2-1)
其中,D是数字输入,VR是模拟参考输入,Vo是模拟输出。
这里的模拟输出可
以是电压,也可以是电流。
若用二进制表示时,
D=a12-1+a22-2+……+an2-n=
(2—2)
式中an为l或0,由数字所对应的位的逻辑电平来决定:
N是数字输入D的位数。
由此,(2.1)式又可以写为
Vo=VR
(2—3)
l以上表明,输出模拟量与输入数字量成正比。
输出模拟量是由一系N-进制
分量叠加而成的。
对于单位数字量的变化,模拟输出是按等幅度的阶跃的量变化的。
数模转换器的转换原理:
数字量是用代码按数位组合起来表示的,对于有权码,每位代码都有一定的位权。
为了将数字量转换成模拟量,必须将每1位的代码按其位权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现了数字—模拟转换。
这就是组成D/A转换器的基本指导思想。
/A转换器由数码寄存器、模拟电子开关电路、解码网络、求和电路及基准电压几部分组成。
数字量以串行或并行方式输入、存储于数码寄存器中,数字寄存器输出的各位数码,分别控制对应位的模拟电子开关,使数码为1的位在位权网络上产生与其权值成正比的电流值,再由求和电路将各种权值相加,即得到数字量对应的模拟量。
下图2.1是一般D/A转换器的原理结构图:
如上图所示,数模转换器一般由数字输入、基准电压源、模拟开关、电阻或
电容网络、加法电路、运算放大器、模拟输出等组成。
在实际应用中,根据集成
度的不同,不同的D/A转换器中可能不完全包括其中的每一部分。
2.2数模转换器的主要性能参数
理想的线性D/A转换器,其输入输出电路是相互隔离的,而且不接地。
它的
噪声为零,并且对应于一个确定的数字输入,有一个确定的输出电流(或电压)。
当数字输入发生单位码的变化时,模拟输出的变化是等间距的。
电流输出型D/A转
换器,其输出阻抗应为无穷大;电压输出型D/A转换器的输出阻抗应为无穷小。
当输入发生变化时,模拟输出变化速率是无穷大。
此外,转换器的转换特性应不
随时间、温度、电源电压等改变而改变。
所有误差应为零。
然而实际的D/A转换器与理想D/A转换器有偏差,因此,需要通过一些参数的测
量来衡量它们性能的优劣。
所有参数基本上可分为静态参数、动态参数两大类。
下面从这两个方面对D/A转换器的主要性能参数进行介绍。
2.2.1静态参数
精度
精度是转换器实际转换特性曲线与理想转换特性曲线之间最大的偏差。
其单
位通常用满量程范围FS的百分数(%FS)或LSB表示。
所谓理想转换特性曲线,
对于D/A转换器来说,就是连接理想转换器输出最正、负两点的直线。
精度分为
相对精度和绝对精度。
在零点和满量程值校正后测得的精度为相对精度,否则为
绝对精度。
一般参数中给出的是相对精度,绝对精度由于受温度和时间的影响较
大,很难给出确定的值。
分辨率
D/A转换器的分辨率有不同的定义方法。
一种定义是D/A转换器模拟输出可
能被分立的数目,例如,一个二进制D/A转换器,其输入位数是n,则其理论分
率应为2n;另外一种把D/A转换器输出能被分离的最大数目的倒数定义为分辨
率。
分辨率可以用能处理数码的位数来表示,也可以用它的总数码数或是LSB相
对于满刻度值的百分比来表示即(1/2n%)。
由于噪声、温度、时漂等的影响,转换器的分辨率有时要小于理论值。
例如
12位转换器的分辨率在某一温度范围内的实际分辨率也许只有10位。
D/A转换器
。
的实际分辨率受其相对精度的限制,但反过来分辨率并不限制精度。
分辨率也能
反应动态特性,转换器的动态范围要求越严格,对分辨率的要求就越高。
误差参数
D/A转换器在静态时主要有四种误差,即失调误差、增益误差、积分非线性
误差和微分非线性误差。
a.失调误差
它是指数字输入为零时,模拟输出与零的偏差。
它可以用LSB为进行描述,
也可以用此误差值相对于满刻度输出的百分比来描述。
D/A转换器的初始失调是可以被调节为零的,但是
随着温度的变化引起的失调是无法消除的。
b.增益误差(满刻度误差)
转换器输入与输出之间关系的曲线的斜率称为转换器的增益。
其与理想值之
间的误差称为增益误差。
当转换器的失调误差调节为零时,它的增益误差就是满
度值误差。
它用LSB为单位进行描述,或用此偏差值与满刻度输出的比值的百分
数来表示。
c.微分线性误差
微分线性误差(也叫微分非线性,DifferentialNonlinearity,简写为DNL)是指两
个相邻模拟输出量跳变值与一个理想的跳变值1LSB之间的差值,可表示为:
DNLk=
-1(2-4)
微分线性误差是数模转换器的重要参数之一,一般DNL要在±O.5LSB范围
内。
如果DNL大子1LSB,输出端就会出现非单调的情况,也就是随着输入的增
加,输出反而出现下降的非单调情况。
这是在实际中不希望看到的,是必须采取
措施防止发生的。
微分非线性显示的是数模转换器在数字输入发生变化时模拟输
出的均匀性。
如果相邻的数字输入发生变化,其对应的模拟输出变化为1LSB,那
么数模转换器的输出就是均匀的,性能就好;反之,如果它对应的模拟输出变化
不是1LSB,那么数模转换器的输出就不均匀。
d.积分线性误差
积分线性误差(也叫积分非线性,IntegralNonlinearity,简称INL)是指模拟输
出量与实际输出量的偏差值,可以用下式定义:
INLk=
-k(2—5)
由式(2-5)可以看出,积分非线性反映的是微分非线性的累积情况,也是在数
字输入逐步跃迁的过程中,实际模拟输出与理想模拟输出曲线之间的偏差值。
例
如,从图2.5中可以看出,当数字输入由011跳变到100时,模拟输出的变化量是
1.3LSB,所以DNL=I.3LSB-1LSB=0.3LSB,而此时的实际模拟输出量与理想输出量
的差值为2.7LSB.3LSB=.0.3LSB,所以其INL=.0.3LSB。
2.2.2动态参数
a.建立时间
通常用建立时间来定量描述数模转换器的转换速率。
建立时间是指:
从输入
的数字量发生突变开始,直到输出的模拟量与稳定状态相差±O.5LSB范围内的这
段时间。
如图2-6所示。
因为数字输入量的变化越大,建立时间越长,所以一般给
出的是输入从全0跳变为全l或从全l跳变到全0时的建立时间。
建立时间是数模转换器的一个重要参数,特别是对于高速应用场合必须加以
考虑。
在电流舵型D/A转换器中,它和被改变的位电流及CMOS电流模拟开关的
响应时间有关,是由内部逻辑电路系统的切换时间和寄生的节点电容产生的电路
所决定的。
建立时间主要受MSB位建立时间所控制,与较低位相关的建立时间一
般忽略不计。
b.无杂散动态范围
D/A转换器的动态范围(DR)定义为最大输出和最小输出(定义为对应1LSB
时的输出值)的比。
如果考虑由数字输入通过D/A转换器重构波形的波谱,就会
发现,除了期望波谱外,转换器的输出中还有噪声和失真。
失真可用无杂散动态
范围来描述(Spurious
Free
DynamicRange,简称SFDR)。
无杂散动态范围的定义
为,在感兴趣的输出频带范围内,幅值最大的谐波峰值和基波幅值的比,其比值
通常用dB表示。
图2.7所示的SFDR值约为60dB。
c.总谐波失真
总谐波失真即TotalHarmonicDistortion,简称THD。
它被定义为,基波幅值
与频域中的所有谐波幅值的均方根的比值。
用公式表示为:
THD=20lg
(2-6)
其中
是输出信号基波均方根的值,
至
是输出信号频谱中2到N次
谐波均方根的值。
d.信噪比
信噪比即Signal.to—NoiseRatio,简称SNR。
其定义是:
在给定的输出和采样
频率下,满量程正弦模拟输出信号的基波幅度的均方根和除直流和各次谐波外的
所有频谱分量的均方根之和的比值。
SNR=20·
(
)(2-7)
其中,
为正弦模拟输出均方根的值,
包括热噪声、量化噪声等所有
噪声源之和的均方根,正弦波输出的均方根等于其峰峰值除以2
。
量化误差是
指理想输出信号与正弦信号波形之间的差别,理想输出波形是具有阶梯型的传输
函数,两个波形之间的差函数类似于一个锯齿波,其幅值在.0.5LSB~+0.5LSB范
围内。
则差函数的均方根的值等于其峰峰值除以
,为
2LSB
对于一个理想的D/A转换器而言,其SNR为:
SNR=
/
=
/
=1.225*
(2-8)
换算成相对比例为:
SNR=20*
(1.225*
)=6.02N+1.763(2-9)
上式给出了理想D/A转换器的理论信噪比值。
N为转换器的位数。
显然,N越大,
量化误差越小,转换越精确。
当转换电路输出满量程正弦波时,其信噪比的理论
值为:
SNR=6.02N+1.763+10lg
(2-10)
其中‰1。
为D/A转换器的采样频率,£i耐是输出正弦波频率。
可以看出,
当采样频率大于奈奎斯特频率时,SNR随着采样频率的增大而增大,原因是随着
采样频率的增高,量化噪声及其它与带宽不相干的噪声功率被分布在带内。
因此,
“过采样"技术,可以有效地减小频率小于最高信号奈奎斯特频率的噪声的影响。
e.毛刺
由于D/A转换器的电流开关时间不相等(数字输入位同步误差、开关导通时间
和关断时间不相等以及传输延迟时间不相等)造成的暂时的杂散输出,称为毛刺,
如图2.8所示。
由于开关时间的差异而产生的这种毛刺通常是单极性的,幅度很高,
不加基准电压时不会出现。
毛刺的宽度取决于D/A转换器并行输入各位同步误差和开关时间的差异程
度,而其幅度则取决于D/A转换器数码变迁时引起开关切换的数目。
通常在主变
迁或半满度时,即数码从01··11到10…00之间产生的毛刺最大,而在其它变迁(例
如O.25或0.75满度)情况下毛刺通常都比较小,这是因为在主变迁时D/A转换器
的所有的位码都发生变化,产生的累积误差最大。
在高速DA转换器中要求毛刺越
小越好,这个参数将影响转换器动态工作时的精度。
2.3数模转换器分类
根据加权网络等部分实现方法不同,常见的D/A转换器结构可以分为电流型、
电压型和电荷型等,下面分别对其进行介绍。
2.4.1电流定标型D/A转换器
权电阻型D/A转换器
图2-9是权电阻型D/A转换器的结构框图图中包含n个并列支路,每个支路
由一个电阻和一个模拟电子开关串联而成,各个支路电阻的阻值按照二进制权系
数关系递增排列,其中的模拟开关分别由各位输入码控制,最高位数码控制阻值
最小的支路开关,依次下去,最低位数码控制阻值最大的支路开关。
当某位输入
数码为1时,它所控制的模拟开关接通参考电源,在运放反相端总线上,就出现
与该支路电阻阻值成反比的权电流分量;当某位输入数码为0时,它所控制的模
拟开关就关闭,在总线上就没有这一权电流分量。
这样,在输出端就按照式2.1
实现了输出为电流形式的D/A转换。
图2-9权电阻型D/A转换器
权电阻型D/A转换器是实现二进制D/A转换的一种最简单的电路结构。
其明
显缺点是当位数增多时,电阻的取值范围很大。
如8位D/A转换器,电阻最大比
值将达128:
1,这一比值在工艺生产上很难实现,并且该结构对电阻阻值的苛刻
要求也使该结构实现更加困难。
因此,这种结构的D/A转换器很少见,只有偶尔
在某些特殊应用中,以分立组件的形式出现。
b.R-2R梯形电阻网络D/A转换器
:
图2.10是R.2R梯形电阻网络D/A转换器的电路原理结构框图。
从图中n.n’
基于Verilog.AMS的高速DAC高层次模型研究
端口向右看入的阻值是R,从2-2’、1-1’向右看入的总阻值也是R,但是从a-a’
端口向右看入的总阻值是2R。
同理,从每个阻值为2R的电阻向右看入的电阻都
是2R。
因此,电流每流过一个2R支路就被衰减一半。
所以,电路从左到右,各
2R电阻中流过的电流比值为1:
:
:
……:
。
也就是说,流经各2R电阻
的电流是二进制的权电流。
当输入数字信号为0时,开关K接到1的位置,当输
入数字信号为1时,开关接到2的位置,这样按照输入数字信号变化的权电流相
加,就实现了数字一模拟的转换。
图2-10R-2R梯形电阻网络D/A转换器
n位权电流发生电路需要n+1个阻值为2R和11个阻值为R的电阻。
随着分
辨率的提高,电阻个数增加,但阻值始终是R和2R,而且2R电阻可以用两个R
的串联实现。
因此,R.2R梯形电阻网络克服了权电阻网络阻值繁多的缺点。
无论
从改善电阻匹配精度,还是减小芯片面积来说,R一2R梯形电阻网络都比权电阻网
络更有利。
集成的并行D/A转换器中,多采用R-2R梯形电阻网络。
但是,R.2R
梯形电阻网络D/A转换器也有着自身的不足。
梯形电阻网络相当于传输线,从模
拟开关到梯形电阻网络建立稳定的输出,需要一定时间。
而且位数越多,建立时
间越长。
因此,在位数较多时将直接影响D/A转换器的转换速度。
另外,当有几
位数码同时发生变化时,由于各级信号传输到输出端所需时间不同,因而在输出
端可能产生瞬时尖峰。
c.电流舵型D/A转换器
电流舵型D/A转换器,又称电流源型D/A转换器,是用有源器件(一般是
MOS管)构成的电流源来提供加权电流。
与电阻型加权D/A转换器相比,电流舵
型D/A转换器速度非常快对开关的寄生参数不敏感。
电流源根据权系数不同,可
分为二进制加权型和一进制加权型(温度计型)。
二进制电流舵型D/A转换器的电
路原理框图如图2.11所示。
二进制型电流舵D/A转换器的工作原理与电阻加权型
基本类似,只是用加权的电流源来代替加权的电阻来提供权电流。
电流源提供加
第二章数模转换器的基本原理和常见结构
权电流可以通过两种方式来实现。
一种是改变电流源MOS的宽长比,如最低位宽
长比为W/L,高一位宽长比为2W/L,依次电流源MOS管的宽长比按指数2向上
增长;二是改变相同尺寸MOS管的个数,最低位用1个,高一位用2个,向上个
数按指数2增长。
后者的匹配性方面效果比前者好。
U
图2-11二进制电流型D/A转换器
一进制加权型D/A转换器【26】的电路原理框图:
一进制电流舵加权型(温度计
型)D/A转换器先将二进制编码的数字输入转变为一进制码(温度计码),然后用
一进制编码分别控制一个电流源流向负载或地。
表2.1是2位二进制编码与一进制
转换的真值表。
可
图2.12温度计码电流型D/A转换器
表2.1二进制码~温度计码的真值表
二进制编码对应温度计码
00000
01001
10011
11111
与11位二进制编码相对应的一进制编码有2n一1位,当二进制编码换算成十
堑基于Verilog·AMS的高速DAC高层次模型研究
进制数为D时,一进制编码的低D位全部为1,其他全部为0。
也就是随着二进
制编码逐渐增大,相应的一进制编码的各位(从低位向高位)依次由0变为1。
2.4.2电压定标型D/A转换器
电压型D/A转换器的电路原理如图2.13所示。
这是3位电压定标D/A转换器
原理图,工作原理如下:
A、B、C模拟开关对应于输入位D1、D2、D3,由其逻
辑信号所驱动其中D1对应于最高位(MSB),D3对应于最低位(LSB)。
A’、B’、
C’模拟开关,由输入电平的互补电平驱动。
假设开关在对应逻辑电平为0时打开,
则输入代码000时对应的输出将是开关A、B、C都打开,A’、B’、C’都闭合的
情况,输出为OV;依此类推,如果输入是100,则A’、B、C打开,A、B’、C’
闭合,输出为V-rc舵正好等于1LSB。
从3位电压定标D/A转换器可以推广到多位,
只是位数越多,开关的层数和个数也越多。
电压定标D/A转换器特别适合MOS
工艺,因为MOS工艺中开关很容易实现,而且MOS缓冲放大器的直流偏置电流
很小。
电压定标D/A转换器常用作MOSA/D转换器中的一个部件,被用作逐次逼
近式A/D转换器的子D/A转换子电路。
电压定标D/A转换器的一个严重缺点就是,
当位数较多时,所需的部件太多。
对于一个n位D/A转换器,需要2n个电阻、约
2n+1个开关和2n条逻辑驱动线。
图2.13电压定标型D/A转换器
2.4.3电荷定标型D/A转换器
电荷型D/A转换器【251是通过重新分配电容阵列中的总电荷来工作的。
它的结
构原理如图2.14所示。
第二章数模转换器的基本原理和常见结构旦
U
R
图2.14电荷定标型D/A转换器
在图2—14中,电荷型D/A转换器正常工作需要一个不交叠的两相时钟。
在①
2导通时刻,所有电容的上下极板都被接地,进行放电;接下来,在◇1导通时刻,
所有输入为“l”所控制的开关均连接到基准电源VR,而所有输入为“0”所控制
的开关均连接到地。
此时,连到UR上的总电容为:
Ce,q=DIC+D22。
1C+……Dn2舯1C(2.11)
连到地上的总电容为:
2C-Ce,q=[I-(D12吐斗D2∥+……+Dn2’n)】2C(2—12)
此时,输出电压为:
Uo--(D12q+D22呓+……+Dn2屯)UR(2.13)
可见,输出实现了D/A转换功能。
电荷型D/A转换器的优点是精度较高,但
有着速度慢、面积大、对寄生电容敏感等缺点,而且需要两相时钟,复杂度加大。
2.5高速D/A转换器的选择
对于D/A转换器来说,不同特点和性能的D/A转换器可以适应不同的使用场
合。
在选择D/A转换器时,根据速度,精度,功耗等等性能特性来选择合适
的D/A转换器。
由于本文主要讨论的是高速D/A转换器,因此速度是主要考
虑的因素。
首先,输入方式选择并行输入,相对于串行输入的方式来说,并行输入的速
度更快;其次,输出方式选择电流输出,相对于电压输出来说,电流输出方式的
速度也更快【27】。
在选择了电流输出后,就把加权网络的结构确定为电流型,这样
可免去电压.电流的转换。
电流型D/A转换器可分为加权电阻型、分组衰减的权电阻网络型、R.2R梯形
电阻型和电流舵型。
最符合高速特点的是电流舵型D/A转换器。
电流舵型D/A转
换器又可分为二进制型和一进制型两种结构。
比较二进制电流源加权型和一进制
电流源加权型D/A转换器两者的优缺点【4】:
(1)