基于AD9857的任意波形发生器的设计_第1页
基于AD9857的任意波形发生器的设计_第2页
基于AD9857的任意波形发生器的设计_第3页
基于AD9857的任意波形发生器的设计_第4页
基于AD9857的任意波形发生器的设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业论文摘要在现代电子测量仪器中,测试激励所用的信号发生器是一类十分重要的仪器,随着电子测量技术与计算机技术的紧密结合,一种新的信号发生器任意波形发生器应运而生。它可以产生由用户定义的任意复杂的波形,因而具有广阔的应用发展前景。国内在任意波形发生器的研制方面相对较晚,应用产品的开发也相对发达国家较为缓慢。因此,对任意波形发生器的研制进行深人的研究已成为测试领域的一个新的课题,同时对于促进虚拟仪器技术的发展和应用以及适应自动测试系统的组建和完整性要求都具有深远的意义。直接数字合成dns(nireetdigitalsynthesize)是新一代的频率合成技术,它采用数字控制信号的相位增量技术,具有

2、频率分辨率高,频率切换快(可达几十ns量级),频率切换时相位连续和相位噪声低以及全数字化易于集成等优点而被广泛采用。本论文在分析了现有波形发生器设计方案的基础上,根据系统指标合理地使用了dds技术,以ad公司的ad9857直接数字合成芯片为核心,设计了一种结构简便性能优良的任意波形发生器。论文中主要对微机控制的任意波形发生器的软硬件设计进行了相应的研究,该任意波形发生器以intel公16位高性能单片机soc196kc作为控制器,分别利用了ad9857的单音频模式和dac模式组成正弦波和任意波产生的电路,在硬件电路的设计中采用了先进的eda(电子设计自动化)技术,使用vhdl语言和可编程门阵列器

3、件对一些特殊的电路进行了设计。该任意波形发生器不仅能产生正弦波,方波,三角波等常用的标准信号,还可根据用户的需要生成任意波形,具有宽频带,高的频率分辨率等特点,其波形最高输出频率可达80m,频率分辨率可达l刀hz,波形最大存储深度为64k,对于目前三种典型的任意波形发生器的结构一pc总线插卡式,独立仪器,vxi模块都有重要的参考价值。关键词:波形发生器,任意波形,直接数字合成目录摘要(中文)1第一章引言. 51.1任意波形发生器的概述51.2任意波形发生器的基本原理及主要技术指标61.3国内外发展现状714本设计任务.9第二章任意波形发生器的整体方案设计102.1任意波形发生器的方案综述102

4、.2任意波形发生器的方案设计182.2.1技术指标182.2.2整体方案设计192.2.3主要芯片介绍20第三章正弦波的产生223.1正弦波产生部分的结构框图223.2ad9857单音频模式223.3正弦波调频的实现233.4外围存储器及地址译码电路的设计243.4.1系统存储器地址分配243.4.2程序存储器. 243.4.3地址译码电路的cpld设计253.5时钟和复位电路的设计283.6程控滤波器的设计29第四章任意波的产生314.1任意波产生电路框图314.2ad9857的dac模式315数模混合电路的设计38第五章软件设计395.1mcs-96汇编语言的指令系统简介395.2集成软件

5、开发环境40釜5.3主程序软件整体框图415.迫正弦波产生的软件设计415.5任意波产生的软件设计42第六章调试及结论446.1系统调试476.2结论,501.1任意波形发生器的概述在电子测量仪器家族中,信号发生器是一种很重要的仪器,它是电子测试系统的重要部件,是决定电子测试系统性能的关键设备。在70年代前,信号发生器主要有两大类:正弦波发生器和脉冲波发生器。正弦波发生器只提供正弦波信号。通常使用的技术是一自由振荡器,工作频率即为输出频率,频率范围有限,一般从几hz至约imhz。脉冲波发生器可产生高质量的方波和脉冲串,其频率范围一般低至ihz,高至ighz,它被用在数字系统中模拟或取代数字信号

6、,如时钟,数据等。介于两者之间的还有函数发生器,它提供正弦,余弦,方波,三角波,斜波等几种常用的特殊波形。产生有别于上述波形时,必须采用较复杂的电路或机电结合的方法,甚至采用模计算机构成专用设备。在70年代后,微处理器的出现,利用信号处理器,户jo和d/a以及软件使函数产生器的功能扩大,能够产生更复杂的波形,衰减振荡波,随机脉冲波,指数形脉冲等。当时的信号处理器是专门用于信号处理的微处理器,但时钟频率只一般在8位左右,内部存储器约zk,因此能够产生的正弦波的等效频宽不会超过imhz,要获得比较平滑和失真度低的波形,重复频率不能超过10khz,当时用模拟方式产生特殊波形,重复频率可以达到l一10

7、mhz,波形完整性好,用数字电路的函数发生器尚处于开发阶段,正式产品还不多。80年代情况有很大变化,随着现代信息事业的发展,测试对象不断丰富,现代通信系统和电子系统对测试系统提出了越来越高的要求,进而对信号发生器也提出了更高的要求,需要模拟工作现场的情况来对产品进行测试。而工作现场的信号往往是多种多样的,传统的模拟信号发生器显然是不能满足客观的需要的,这时就需要一种能产生用户定义的波形的仪器。近年来,一种新的电子测量仪器一任意波形发生器出现了,它可视为函数发生器的换代产品。任意波形发生器的功能远比函数发生器强,在前面讨论的难于产生的或不能产生的波形,都可以使用任意波形发生器。自然它也可以用来产

8、生前面讨论的波形(方波,三角波,脉冲波),但实际中还利用发生器来模拟更复杂的信号,甚至信号中的缺陷(如方波中的过冲和数字信号中的尖脉冲)都可通过控制来模拟,再者,任意波形发生器还可产生瞬变信号如阻尼正弦波等,它对存在的各种波形都可以模拟,只要可用数字形式存储,并送进波形存储器的波形都可以把他们模拟出来。早期的信号源主要是基于模拟电路来实现,而任意波形发生器是以数字电路和计算机技术为基础的产品,因此可使它成为测试系统通用的高性能,多功能的激励源,因而将有很广阔的发展前景。1.2任意波形发生器的基本原理及主要技术指标基本原理任意波形发生器是个数字读取(digital一playback)机构,如上图

9、所示基准振荡器通常是个晶振,波形合成器生成基于基准振荡器的取样频率,因此它应有较高的频率稳定度和频率精度。地址计数器是个二进制计数器,它以取样速率依次增值每一计数值依次对应于波形存储器的一个存储单元,从而形成一次扫描。然后将波形存储器每个存储单元的内容依次送给数摸转换器,生成相应的模拟量输出电压,低通滤波器则用来消除d/a转换器输出的毛刺使信号变得光滑,而输出放大器和输出衰减器实现输出信号幅度的控制。主要技术指标1.垂直分辨率(幅度分辨率一位数)垂直分辨率是指幅度的分辨率由数模转换器的分辨率决定,任意波形发生器的特性很大程度上取决于其数模转换器的性能。对数摸转换器的速度和分辨率要权衡折衷,采用

10、快速的数模转换器,其分辨率则较低。在20m取样点/秒的范围内,目前通常采用的是10位或12位的数模转换器,高于20m的采样率则选用14位或16位的数模转换器。通常,较高的垂直分辨率意味着再现的波形中量化误差较小,从而减少了失真。如果使用数字存储示波器捕捉到的波形,则应与数字存储示波器的分辨率一致。水平分辨率(波形存储深度一字数/通道)水平分辨率是波形存储器中可利用点的总数,大致可以表示任意波形发生器所能产生波形的复杂程度,在每秒20m个取样点时,要将每个存储单元的内容都送给数模转换器,并让数模转换器快速转换成相应的模拟量电压,只容许有sons的时间。为满足这类需求,通常采用快速的sram。水平

11、分辨率点数越多,意味着再现的波形的失真越小。在低频应用时,因为要求在较长的一段时间内维持较高的取样速率,所以需要较长的波形存储器。3.取样速率(采样速率一样点数/秒)采样速率为准确再现信号所需的单位时间采样点数,其中最高取样速率决定了波形中最高的频率成分即任意波形发生器的输出带宽,nyquist定理指出:可还原的最高频率不大于二分之一的取样速率,在该频率点上,每周期只要有两个取样点就确定了原波形,实际上可采用的最高频率要比nyquist频率低得多,具体取决于可容忍的失真程度。互1.3国内外发展现状国外任意波形发生器的研制及生产技术已较为成熟,已有多种产品投放市场,目前任意波形发生器有三种产品结

12、构形式:独立仪器结构形式独立仪器的结构形式是把任意波形发生器设计成单台仪器的形式,其优点是精度高,亩单独工作pc总线插卡式pc总线插卡式是将任意波形发生卡直接插在pc机的总线扩展槽或扩展机箱中,利用pc机来控制任意波形发生器的工作状态,其优点是可以充分利用pc机的软硬件资源,在波形数据处理,波形参数的修改,计算等有明显优势vxi模块式vxi模块式是一种新型的模块化仪器,它必须插在vxl总线机箱上才能使用,而vxi总线机箱又通过gpib或rs一232c等接口与计算机相连,vxi卡式仪器对组成自动测试系统(ate)特别有用,各个公司的vxi卡式仪器模块均可自由组合使用。asilent和tektlo

13、ni、两大公司在此领域进行了卓有成效的研究和开发,其代表产品无论在技术先进性还是市场占有率方面都在全世界享有卓越声誉。这两个公司任意波形发生器的产品型号和性能特点分别如下表所示:生生产厂家家家型号号性能特点点目前我国已开始研制任意波形发生器,并取得了可喜的成果。但总的来说,我国任意波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些pc仪器插卡,独立的仪器和vx工系统的模块很少,并月.我国目前在任意波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。1.4本设计任务对任意波形发生器的研制在国外已有报道,而国内在这方面的报道较少,本论文的任务

14、是结合新一代的频率合成技术一dds,以高性能的dds芯片为核心,设计一种简便实用性能优良的任意波形发生器,该任意波形发生器能产生正弦波,方波,三角波等常用的标准信号,还能根据用户的需要生成任意波形,整个系统采用单片机控制,论文主要研究在任意波形发生器设计时如何根据系统指标合理地确定设计方案,在系统的硬件设计时具体要注意的问题以及如何结合先进的电子设计自动化方法来进行电路的设计,还有相应的软件编制的问题等等,对于目前三种典型的任意波形发生器的结构一pc总线插卡式,独立仪器,vxi模块都有重要的参考价值。第二章任意波形发生器的整体方案设计2.1任意波形发生器的方案综述目前信号发生的主要实现方法有直

15、接模拟法、直接数字法两种。一直接模拟法:这是传统函数发生器的简化基本结构,一般都是由自由振荡器产生原始波形,然后经过转换电路将原始波形转换成其他波形,在上图中三角波是由振荡器产生的,方波是三角波通过比较器转变而成的,正弦波是三角波通过一个波形整形电路(正弦波整形器)演变而来的,所需波形经过放大和衰减输出,显然这种方式产生的波形种类有限,每增加一种波形,都要增加响应的转换电路,整个电路变得很复杂,最重要的是要产生用户所需的任意复杂的波形几乎不可能。二.直接数字法直接数字法是采用直接数字合成(directdig工talsyn二es工s)的方法实现信号产生。该技术具有频率转换速度快、频率分辨率高、易

16、于控制的突出特点。直接数字合成技术近年来发展得很快,而要产生任意波形就必须采用直接数字合成技术。随着dds技术的发展,出现了各种各样的直接数字合成的结构,但基本上可分成两种:(l)基于地址计数器的数字频率合成法(2)基于相位累加器的数字频率合成法.基于地址计数器的直接数字合成法这是一种最简单的直接数字合成方式,这种直接数字频率合成器的结构包括地址计数器,存储器和d/a转换器。(2)工作原理将波形数据存储于存储器中,而后用可程控的时钟信号为存储器提供扫描地址,与每个地址相对应的数据则代表波形在等间隔取样点上的幅度值。数据被送至dac,从而产生一个正比于其数字编码的电压值,每个电压值保持一个时钟周

17、期,直至新的数据送至dac,经数/模转换后得到所需的模拟电压波形。在存储器里的数据产生的波形是对“取样波形”的阶梯近似。假定地址计数器的时钟频率为九,波形一周期内有n个采样值,那么合成的波形频率为如果改变地址计数器的时钟频率或rom的地址步进大小,合成波形的频率都会随着改变。而要改变波形,只要在只读存储器中写人不同的数据2.基于相位累加器的直接数字合成法(1)结构框图这种结构中主要由相位累加器、数据rom、d/a变换器组成,它是种全新的直接数字合成方式。,(目前国内外文献中提到的dds一般是指这种方式,下面不作说明均指这种方式)(2)工作原理将要产生的波形数据存人波形存储器,然后在参考时钟的作

18、用下,对输人的频率数据进行累加,并且将累加器的输出一部分作为读取波形存储器的地址,将读出的波形数据经d/a转换为相应的电压信号,d/a转换器输出的一系列的阶梯电压信号经低通滤波后便输出了光滑的合成波形的信号。以合成正弦波为例,通常我们考虑一个正弦波时习惯使用正弦波的幅度一时间表达式:s(t)=asin(酬+初,正弦函数幅度的非线性使依据幅度产生任意频率的正弦波非常困难,但我们注意到,正弦波的相位是线性变化的,dds技术的关键就在于充分利用了正弦波相位线性变化这一特性,在dds芯片中,其核心部件是相位累加器和sin函数表,下面作一简单介绍:相位累加器相位累加器在功能上说实质是一个n位快速可循环累

19、加器(目前,一般的dds芯片中,相位累加器已达到n=32位),n位的相位累加器在每一个时钟来临时与频率控制所决定的相位增量ap(通常就是频率控制字k,k为二进制整数,加一次,计数大于2“时则自动溢出,保留后面n比特的数字于累加器中。每当相位累加器计数满后,可自动循环重新累加,所以输出相位可以保持连续变化,这就保证了输出正弦波的连续性。正弦函数相位一幅度转换表(sinel。k一印table)相位累加器的输出是随时间不断线行变化的用n位二进制数表达的相位信息,相位信息是无法直接利用的,必须设法把相位信息转换成幅度信息,在dds技术中,人们把对应于不同相位的s加e函数的幅度值储存在ron中,称此ro

20、h为s如lut,相位累加器的输出相位作为lut的寻址地址,lut相应地址单元存储的就是对应于该相位的正弦函数幅度值,为了保证dds输出频率的分辨率,相位累加器的位数n要作得很多(如32位),但是,要作出一个寻址能力为22(4g)的lut,既不现实,也不必要,因此,可以只取相位累加器的高a位作为lut的寻址信号,一般地,取a=12就可以完全满足精度的需要了.(3)dds的技术性能及特点根据上述原理:当参考时钟频率为fc,累加器的二进制位数为n,频率控制字为k,且波形存储器仅存储一个周期的合成信号的数据时,则合成输出的信号频从上面的讨论中可以看出dds具有:输出频带宽,频率分辨率高,输出频率转换速

21、度快,频率跳变时输出相位连续等优点。由于dds采用全数字技术,其合成机理在根本上有别于传统的合成技术,从而为频率合成的设计开辟了广阔的前景,但是它的频谱是不纯净的,研究dds的频谱对于选择芯片进行电路的正确设计是很重要的。(4)基于dds的正弦波的频谱分析1.理想dds的数学模型理想dds是dds在理想情况下的数学模型,满足下列三个条件:不考虑相位舍位,即n=a不考虑正弦波幅度量化的误差,即d=co,假定dac是完全理想的,这样dds就等效为一个理想的采样一保持电路,其中nco(图2一3虚线框所示)相当于一个采样周期为兀=1/fc的理想采样器,dac相当于一个时宽为tc的理想保持电路,对采样数

22、据实现阶梯方式重构:理想dds输出的频谱由理想dds的等效结构,2一4理想dds等效结构s(t)为保持器的冲击响应,从2一8式可看出,理想dac所完成的阶梯重构只改变了输出频谱的幅度和相位而未增加新的频率点。这样s(n)的频谱结构即代表了dds输出的频谱分布。据此可知,理想dds的输出只在f=坑士fo处存在离散谱线,当l=o时,得到的就是主谱频率fo,下面以采样时钟zoom和基本输出频率40m为例,这是通过取样后的正弦波来合成所需频率的必然结果,是由dds的工作原理所决定的,因此在d/a后面必须设置一个低通滤波器,适当设计低通滤波器的截止频率,使其落在田。和田。一田。之间,即可有效地消除副波频

23、率,而且从图中可看出,田。和田。一田。相差越大越好,从前面的推导过程可以看出,理想dds杂散的主要来源是系统中的取样函数截卜。界),也就是说由参考时钟fc引起的,这也说明了杂散是dds固有的,并且参考时钟频率越高,即取样点越多,杂散的抑制相对就越大。3.实际dds输出的杂散分析实际dds并不满足理想dds的3个条件,因而实际dds将产生杂散信号,dds的杂散信号有,3个来源,分别是:相位截断误差川。):在实际dds电路中,为了取得高的频率分辨率,通常相位累加器的位数n取得很大,如n二24,32,48等,但受体积和成本的限制,rom的容量却远小于zn,因此寻址rom时,累加器输出的相位序列的低b

24、位就被舍去,而只用其输出的高a(a=n一b)位去寻址,这样就不可避免地引人误差。幅度量化误差d(,):由于rom中存储着正弦波样点的幅值编码和dia有限字长,这样就不可避免地引人了幅度量化误差。由dac非线性引起的误差da(。):实际的dac存在非线性因素,主要有微分非线性,积分非线性,dac转换过程的尖峰电流,转换速率受限等,据此可以构造出dds杂散(误差)来源模型2次清故次瀚波像硕瑞绷抽出3次谐彼砚位杂散电平由dac的、。定,当输出频率离叼(n一3,4,一很近时fc一(n一l)fo及(n十l)fc一fo将离fo很近,成为主谱周围幅度较大的杂散分量,实际应用中应当避免。在现代vlsi技术条件

25、下,通过加大rom容量及数据位数,dds由相位截断和数据量化引起的杂散噪声已经可以很容易做到一70db以下的理论值,但是工作在高速的dds输出谱中仍然存在一40db左右的少数杂散谱线,这是由dac的非理想特性引起的,因此dac才是目前影响dds频谱质量的决定因素,除了dac有限分辨位数之外,dac的瞬间毛刺,dac的非线性,数字噪声馈通以及时钟的泄漏都是导致频谱劣化的因素,它们为dds输出频谱增加了背景噪声和杂散,所以dac的性能对于整个系统是很关键的。2.2任意波形发生器的方案设计2.2.1技术指标2.2.2整体方案设计一设计思路任意波形发生器产生的波形总体上可以分成两类:正弦波和任意波(非

26、正弦波)对正弦波可以逐个(连续地)读出波形的每一个数据(这时候输出波形的失真是最小的)也可以跳跃式(间断地)读出波形,这时波形的失真就会加大,但都可以通过滤波来改善失真,采用dds结构是较好的选择,并且已有商用dds芯片可产生高质量的正弦波形。对任意(非正弦波)由于波形变化不规则,其中有丰富的谐波,因而这时不能简单地用滤波的方法来改善波形失真(因滤波可能把信号的有用成分给削减了)。所以当要合成产生任意波形时,应采取逐点读出波形的每一个数据,要改变输出频率fo,可通过改变参考时钟频率fc或通过改变波形存储器中存储的波形周期的数目来实现,由于商用dds芯片中rom表中的数据已固化,只能输出正弦波。

27、采用商用的dds芯片显然很难直接实现任意波形的生成。二.系统设计框图根据以上分析,基于实用和性能的综合考虑,设计的任意波形发生器的结构是采取了前面两种直接数字合成结构的结合,整个设计由两个通道组成,第一个通道采用相位累加器方式,利用dds芯片产生高质量的正弦波,并在后面加一高速比较器,输出与正弦波同频率的方波,同时此方波还作为第二个部分的时钟信号,第二个通道为任意波发生通道,采用地址计数器的方式,在第一个通道发出的方波作用下,逐点读出波形存储器中波形的数据,经过d/a转换和低通滤波器后合成所需的任意波形,通过改变参考时钟的频率和计数的步长就可以实现波形频率的改变。在正弦波的设计中很关键的是dd

28、s芯片的选择,而要正确地选择dds芯片时,除了考虑其输出带宽外,还应该从整个系统的角度出发来进行选择。ad公司的芯片一般都具有集成dac,时钟可倍频的特点,ad公司称之为“完整的dds方案”一而这一结构是其他公司所没有的,从前面对dds输出频谱的分析中可以知道,在dds的三大杂散信号中,dac的性能对输出正弦波的影响是主要的,因此ad公司的内部集成dac的方案可以使得整个系统的设计变得极为简便,并且也有很好的性能,另外利用时钟可倍频的特点,可以降低对晶振的要求,再结合设计指标最终选择了ad9857。ad9857是一种具有优良的无杂散信号动态范围(sfdr),抖动和相位噪声性能的14位,2。ms

29、ps数字调制器,可用作dds信号源,其特点有:工作频率高ad985:工作碳率可以高达:。hsps,能给出高达80mh:的载频输出,典型的:fdr在lokhz载频上为86dbe;在imhz时为88dbe。控制分辨率高ad9857的控制分辨率由它的32位频率控制字(ftword)决定。这就能在系统时钟速率为zo0mhz时给出约。.o47hz的频率分辨率。频率跟新能力强ad9857的串行控制总线工作频率可以高达lomhz,它为快速控制字更新创造条件,提供优良的跳频。内部集成高性能dacad9857还包含一个14位的dac,它具有优良的线性,使输出信号的信噪比(snr)满足要求。具有多种工作模式具有正

30、交调制,单音频和dac三种模式,在使用中可以根据不同的要求进行转换二.微控制器一soc196kc微控制器从总线上可以分成8位,16位,32位,高性能的自动测试仪器一般采用16或32位的控制器,而任意波形发生器的程序和数据的地址空间较大,从实用性和通用性的角度出发,我选择了工ntel的chmos16位单片机一soc196kc。sxc196kc是chmos中的第二代产品,是一种在工业界应用广泛的嵌人式控制器,由于它的高性能的寄存器一寄存器结构,可以很好地运用于实时控制应用,尤其在高性能的测试系统,它在硬件和指令系统的设计上较8位机有很多不同之处。它有16kbroh型和16kbotprom型两种,带

31、有488b寄存器ram。它主频可运行到zomhz,在性能上比第一代的sxe196kb提高25%。sxe196ke还有如下特征:有外设事务服务器(pts),它有微代码处理中断事件,类似于dma通道方法,这样可以大大减少cpu响应中断服务的开销,带有水平和垂直窗口映射功能。其内部功能结构框图如下:正弦波产生部分主要有8oc196kc及外围电路(包括程序存储器,地址分配电路和复位电路),输人电路,正弦波频率合成器,程控滤波器组成,输出的正弦波经过高速比较器可以得到同频率的方波,正弦波的产生是基于ad9857的单音频模式来实现的,由外部输人频率控制字,然后80c196单片机通过串行接口向ad9857写

32、入频率控制数据,使ad9857产生频率可控的正弦信号。下面首先对adg857的单音频模式做一介绍。互3.2ad9857单音频模式一单音频模式结构简介在单音频模式下,dds作为一种信号源,由外部送人32位的频率控制字到ad9857内部的ddg核进行频率合成,合成后的信号通过反向sinc滤波器以及幅度控制最终由14位dac将数字单音频信号转换成模拟信号。其中refclk作为外部参考时钟,经过一个可编程的倍频器以后作为芯片内部的系统时钟,串行口作为外部控制器对ad9857内部的寄存器进行读写操作,对ad9857进行正确的配置和传送频率控制字都是通过串行口完成的。二.单音频模式频率合成时序图pdclk

33、/fud是一个频率更新的控制信号输人脚,当外部控制器在它上面产生一个上升沿的跳变信号,则新的频率控制字就送到ddscore中开始进行频率合成,其操作时序如下:要产生不同频率的正弦波,利用adg857的单音频模式是很容易实现的,首先根据用户要求输出的频率计算出相应的频率控制字,其中频率控制字(ftw0rd)由fov:=(ftwordxsysclk)/2,计算得到,比如若fo二二10对,sysclk二200m,则ftword二。ccccccch,然后将这32位的频率控制字通过单片机的串行口装人控制总线寄存器。8h一obh(对于1#寄存器),当pdclk/fud有上跳沿的脉冲时就可以送人adgs57

34、内部的ddseore进行频率合成,在soc196ke与ad9857进行串行通讯时,采用的是串行口的同步模式,其相应时序如下:卜t,l,l叫狱二)诬x二x亚狄二x巫又二x亚(画x二诬以二诬以二廷画c图3一480c196串行口同步模式时序图相应的正弦波调频的程序如下:ldbsp_eon,#。o00000ob,设置同步模式0ldbbaud-reg,#0ih:模式。:xtali/波特率*2一1,最高位为1ldbbaud-reg,#8oh:设置波特率二4m,用2om晶振ldioc又,#o010000ob;ldbhso_eo沁认nd,祥o000o001b;hso.1二0,选通ad9857addhso-ti

35、me,timeri,并2;ldbhso_eommai寸d,#000。ooob;hso.o二。sme工。二o,准备通信addhso-time,timeri,#2;ldbsbuf,sine_instildbsbufldbsbuf,ldbsbufldbsbufldbsbufldbsbuf写频率控制字的指令2,从。翎开始ldbsbufsine_roo;sine_r01;con-insti;con一wordi;con一ordz;con_instz;con一word3;写adg857内部00寄存器的指令从00h开始sdio只做输人,lsb优先,2。倍频选择单音频模式写频率控制字的指令1,从。2h开始ldb

36、gbuf,conword吐ldbsbufsb勺f5ineinst3sine_r06,#oohldbsbuf,sinero7ldbhso_co卜且月alqd,#ooioo01obaddhso_time,timeri,#2;写两字节,从。6h开始旁路clc滤波器输出幅度控制(。一1.992187别,。bsh对应1.嚷1以倍;hso.2=1,送至ad9857内部进行频率合成3.4外围存储器及地址译码电路的设计3.4.1系统存储器地址分配soc196kc的寻址范围是64kb,其低地址部分(。h一7fffh)包含有保留的存储区,如中断向量区,芯片配置字节,密匙,复位后程序执行的起始单l元等,这些保留单元

37、只应该出现在一个页面上,我们把这个页面称为主页(或。页),它的逻辑地址就是。h一,7fffh,为了躲开这些保留单元,其他物理存储器都映射到8。一ffffh逻辑空间,本系统的外扩存储器包括2片128kb的eeprom25128和1片128kb(6续k又16b工t)的sramlge6吐16,为了有效地访问384kb的扩展存储器,我们采用了页面技术。eepromeeprom51又al吐u6u7usoh3fffh400oh7fffh800ohbfffhco00hffffh0h3fffh吐00oh7fffh800ohbfffhc000hffffh主主页低位位lll页低位位222页低位位333页低位位44

38、4页低位位555页低位位666页低位位777页低位位o玉13fff14000玉17fff玉1800ohbfff玉1c000llffffh0h3fffh4000h7fffll8000于1bfffllcooo!ffff于1主主页高位位111页高位位222页高位位333页高价价444页高位位555页高位位666页高位位777页高位位oh3fffhq000h7fffh8000hbfffhcocohffffh888页页999页页1110页页llll页页图3一5系统存储器地址分配的页面划分3.4.2程序存储器程序存储器的空间为128k火16bit,是由两片128kx8bit的哪sram258128并行构成

39、的,nvsram(非易失性静态存储器)是一种由sr配硕,后备电池及控制电路集成在一起的新型存储器具有随机读写速度快(70ns),无限次写人,断电后自动保存片内数据,保存数据的时间长达十年左右,可以完全代替常规的epr侧,eeprom,flashmemory,sram用作程序和数据存储器,其中s洲用于任意波产生的波形存储器。ma16一ma17ma18mai一h入7ado一ad7masimaisoc196kczo74ls373ads!adi/wr/rd74ls373258128(l)/ce/oe/ve258128(2)74ls245/ce/oedo一d774ls245图3一6程序存储器电路图中2个

40、的锁存器:吐l:373作16位地址锁存器,2个双向缓冲器74l:2红5作16位总线收发器。锁存器和收发器完成总线分离任务,mdo一md15表示分离后的存储器数据线,soc196kc按字访问外部存储器,故取。没有连接。74ls245的方向控制信号由/rd提供。/rd有效时,数据由d0一d15流向ado一ad15,/rd无效时,流向相反。芬3.4.3地址译码电路的cpld设计一可编程逻辑器件(pld)什么是可编程逻辑器件(pld),简言之,可编程逻辑器件就是可以由用户构造的、完成某一特定逻辑功能的电路。它通过内建的逻辑构造,能够实现任意布尔表达或寄存器函数。目前,有两种pld得到了广泛的应用,它们

41、是现场可编程门阵列(fpga)和复杂可编程逻辑器件(cpld)。现场可编程门阵列(fpga)和复杂可编程逻辑器件(cpld)是多用途和高逻辑密度的可重复编程的门阵列。同传统门阵列相比r fpga和cpld不仅具有设计方便灵活和校验快的特点,而且具有设计可随意改变的特点。使用fpga和cpld可编程器件设计产品,可大大缩短产品进人市场时间。 与传统的逻辑电路(pal, cpld)不同,fpga组合逻辑通过一些小的查询表 (rom)来实现,每一个查询表的输出驱动一个触发器的d输人或驱动一个其它逻辑,或者是工/0,每个器件都包括一个逻辑单元阵列,或长或短的金属线纵横穿过这些逻辑单元之间,用户可选择连

42、通或断开这些线与输出单元的连接,来完成用户所要设计的不同逻辑功能。cpld组合逻辑不通过查询表(rom)而是通过硬连线来实现,所实现的功能较fpga简单,但是芯片的体积较小,价格便宜,它提供了更快的固定传输延迟。二.max+plus ii简介max十plus ii是al七era公司优秀的eda(电子设计自动化)软件集成环境,它包含了原理图编辑器,硬件描述文本编辑器,波形编辑和仿真器,还有延时分析、管脚编辑等功能,用户可以在此环境下,完成从设计到烧制器件的全过程。 利用max十plus ii,设计者不仅可以完成电路的修改设计,而且还可自动地完成各种设计的校验、器件的布局和布线,以及完成从原理图或

43、状态描述语言向用于器件编程的网络表的转换。可以利用功能仿真软件进行仿真。同时,fpga和cpld都是在线可编程,就是说它们可以在电路板上反复烧录直到设计正确。在本次地址译码电路的设计就是在max+plusll集成环境下,采用图形编程方式进行设计并最终下载到epf6o16中的。互3.5时钟和复位电路的设计一时钟电路:ad9857内部有一个可编程锁相环参考时钟倍频器,允许用户选择整数倍频次数,范围是4一20。利用这个功能用户最低输人10mhz的时钟便可产生zoomhz的内部系统时钟。系统时钟可以来自参考时钟倍频器的输出,也可以来自“refclk”端;参考时钟可以单端输人也可差分输人,对应的“d正f

44、clkenable”端应分别设置为低电平或高电平。系统时钟选为最高是为了减小杂散外部时钟由20m有源晶振提供,经过8oc196kc2。内部的2分频电路,对波形起到整形的作用,由单片机的elkout脚输出lom的方波加到ad9857的“refelk”脚,“diefclkenable”为低电平,以单端输人方式作为ad9857的时钟信号,ad9857内部的pll倍频器的编程由单片机在初始化时对ad9857的。0h寄存单元的低5位写人控制字101。(14h)就可实现20倍频,从而达到zo0m的系统时钟,虽然这样放大了相位噪声,但却降低了外部时钟的要求,而高质量的时钟源价格昂贵,不易得到。二.复位电路的

45、设计an9857的正确复位要求reset脚至少维持5个refelk时钟周期(若lom时为5。ns)的高电平,然后reset脚变低后进人复位状态。而8oc196冷启动复位时,在vcc上电后,至少要使reset脚保持2个状态周期的低电平(状态周期由振荡器信号2分频后获得,当采用20m晶振时为loons),当reset再次变高时,80c196就开始执行为时10个状态周期的复位序列。因此复位电路采用能输出两种电平的控制电路v3.6程控滤波器的设计dac产生的波形是量化电压阶梯,这相当于给输出波形叠加了高频干扰,为了确保产生波形的质量,减少波形失真度,必须用低通滤波器把高频分量滤掉,滤波器采用的是具有陡

46、峭特性的椭圆滤波器。在低通滤波器的设计中,根据任意波形发生器输出波形频率范围宽的特点,只设计一个截止频率的低通滤波器显然是不够的,应该设计多个截止频率的滤波系统,为了使用方便,任意波形发生器中的滤波器设计成程控滤波器的形式,如下图所示,由nl,nz控制任意波产生电路包括地址计数器,64k存储器,工作于dac模式的adg吕57及隔离数据总线的锁存器组,其中地址计数器完成波形存储器地址序列的输出,由cpld实现,波形存储器采用高速的s洲(64kx16),是任意波形产生的核心部件,应用总线隔离和选通,由单片机和地址计数器进行寻址,2片:遵ls373作地址锁存和4片74ls245作隔离器完成系统地址,

47、数据总线的切换,ad9857的pdclk作为波形存储器的读选通信号和地址计数器的时钟信号,其参考时钟来自正弦波经过零比较器产生的方波,ad9857的输出信号经过低通滤波器滤去高频分量输出任意波。4.2adgss7的nae模式在dac模式下dds功能没有使用,下图为ad9857dac模式的结构框图,它的核心电路由插值滤波器和14位dac组成,其中插值滤波器的功能是以低数率接受输人数据,以高数率插人零值,然后再按照数字滤波器的某种算法以高数率输出数据,其作用是加宽了模拟重建滤波器的过渡带宽,降低了模拟滤波器设计的复杂程度。4.3地址计数器的设计地址计数器在任意波形发生通道的设计中是很关键的部分,根

48、据奈奎斯特(nyqu主st)采样定律,要从采样信号中恢复原始信号,采样频率必须大于原始信号带宽的两倍。合成信号时,一周期内采样点数n与地址计数器的时钟频率fc(采样频率)和合成信号的频率fo之间的关系见式(2一1)对于不同的波形,其信号带宽与信号频率的比值不同,例如:对于正弦信号,信号带宽与信号频率的比值为1;对于三角波,信号带宽与信号频率的比值约为3;设某种波形其信号带宽与信号频率的比值为k,信号频率为fo,根据采样定律要求,必须满足,fc止zkfo(4一1)式中fc为采样频率,由式(2一1)和(4一1)可以推出nma、之n22k(4一2)nma、为波形存储器中波形数据的长度,在本设计中最大

49、为65536从式(续一2)可以看出,在波形合成时,一周期内所需采样点数必须大于信号带宽与信号频率之比的2倍,而且越大其波形失真度越小。例如:对于正弦波,一周期内的采样点数应大于2:对于三角波应大于6。由第二章原理部分的讨论可知对于计数器方式改变输出波形频率可以有两种方式一改变时钟频率或改变计数步长,在本设计中结合了这两种方式:对于标准波形的频率改变为整数倍的时候,可以采用固定时钟而改变步长的方式,而对于复杂的任意波形,则应逐点读出波形值这时可采用固定步长(步长为l)而改变时钟频率的方式。为了实现根据不同的输人波形和频率来动态改变计数参数,在此使用了vhdl语言用epf6016可编程逻辑门阵列c

50、pld设计了一特殊计数器作为地址计数器。该计数器为16位计数器,最大计数设计为65536,它可以接收来自单片机的计数参数,自动生成计数序列,计数参数由单片机内部程序根据用户输人计算得到,对于周期信号,还可以设定起始地址,这就实现了初相的控制互4.3.1硬件描述语言vhdlvhdl是用来描述从抽象到具体级别硬件的工业标准语言,正迅速地接纳为一种通用的设计交换媒介。随着电子设计技术的飞速发展,专用集成电路(asic)和用户现场可编程门阵列的复杂度越来越高,设计这样复杂的电路及系统已不再是简单的个人劳动,而要综合许多专家的经验和知识才能完成。于是在数字逻辑设计领域产生了一种共同的工业标准侧dl(vh

51、sichardwarede。crip七主。nlanguog。),它统一了对数字逻辑的电路与系统的描述,它的优点在于:能形式化地抽象表示电路和结构和行为:支持逻辑设计中层次与领域的描述:可借用高速语言的精巧结构简化电路的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路的描述由高层到低层的综合转换;硬件描述与实验工艺无关;便于文档管理;易于理解和设主!应用。4.3.2地址计数器的vhdl设计为了实现可变的计数器,整个计数器分成两个模块,第一个模块接收从8oc196串行口传送的48b工ts计数器动态参数信号依次为计数步长,开始地址和结束地址。第二个部分为计数器部分,可以根据单片机的动态计数参

52、数而产生不同的计数序列:1.以下为接收模块的vhdl程序(以4位为例,实际的程序为16位):libraryieee;use主eee.std_logie_1164.all;entitysshiftz土sport(elkl,din,elr:instd_logie;flagout:outstd_logie;dout:outstd-logie一eetor(11downtoo);endsshiftz;己rehitee七urebehavofsshiftz15signaltempd:st之logie一eetor(11downtoo);signalflag:std_109土e;begindout二te叩d;p

53、roeess(elr,elkl)beginif(elr二0)thentempd二”000000000000”;elsif(elklevent)and(clkl二o)thentefnpd(0)二din;te叩d(1)二te叩d(0):tempd(2)二tempd(1);lte叩d(3)二teitpd(2);tempd(4)二tempd(3);tempd(三)二tempd(母);tempd(6)二tempd(5);ted(7)二tempd(6);tempd(8)二tempd(7);ted(9)二tempd(8);tempd(10)=tempd(9);tempd(11)二tempd(10);flag

54、二tempd(11);endif:endproeess;proeess(flag)beginif上lag二1andfldgeventthenflagout二1efldifend,pr0cessendbehav;其仿真时序图为(接收2.计数模块的vhdl程序:1ibraryieeeuseleee.useleee.std_logie_1164.all;std-log主e_unsigned.allentltyseount15port(elkz,en:instd_logie:din:instd_logie一eetor(11downtoo):dout:outstd_logie_veetor(3downtoo)36endscountnu八uarchitecturebehavofseount155ignaleadd:std_logic一eetor(3downtosignalstep:std_logie_veetor(3downtosignaltadd:std-logie一eetor(3downto5ignaltaddl:std_logic一eetor(3downtobeg主ndout二tadd;proeess(elkz,en)begin1fen二0thentadd二din(7downto续),00)七addl二”0000.;e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论