多功能波形发生器.doc

上传人:w****2 文档编号:6621770 上传时间:2020-03-01 格式:DOC 页数:17 大小:3.40MB
返回 下载 相关 举报
多功能波形发生器.doc_第1页
第1页 / 共17页
多功能波形发生器.doc_第2页
第2页 / 共17页
多功能波形发生器.doc_第3页
第3页 / 共17页
点击查看更多>>
资源描述
目录1设计选题及任务22相关背景以及现状的介绍22.1研究背景22.2 国内外现状33系统概述及硬件简介34.相关原理的概述34.1 DAC单元34.2 LCD单元54.3 DDS单元64.3.1 DDS原理分析64.3.2 DDS基本结构64.3.3 DDS原理84.3.4 DDS技术特点125.波形发生器的软件设计145.1 软件设计的原理145.2 Matlab产生波形数据156.波形的生成结果161设计选题及任务设计题目:多功能波形发生器 任务与要求:设计一个由Tiva c lanuchpad控制的波形发生器。运用其控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波。然后在LCD上显示波形的菜单,通过菜单能够选择不同的波形。基本要求:1.产生方波、三角波、锯齿波、正弦波2.在LCD上显示波形的菜单 3.通过菜单来实现对波形的选择。2相关背景以及现状的介绍2.1研究背景任意波形发生器是一种能产生任意波形的信号源,它是近年来发展起来的一种信号发生器。区别于早先的函数波形发生器,任意波形发生器使用到了微处理器及数模转换器等数字器件。它不仅能完成函数波形发生器的功能产生正弦、三角、锯齿等基本波形,还提供了方便的波形设置方法以便产生用户所需要的任意波形。随着科技研究的不断深入和领域扩展,要求用电信号模拟的信号更加复杂、多样。例如,通信的每一步发展,都要求不同的测试信号;而生物学上的研究,也常常需要使用神经信号和脑波信号等各种特别的电信号;材料科学、生命科学等诸多领域,都要求用任意波形发生器产生复杂的信号。另外,现代科技要求信号更加准确、逼真,而不仅仅满足于大体合适。因此,在不少测试方案和自动化系统的组成中,在信号源部分已明确指定为任意波形发生器。在电类和非电类的应用中,对这类仪器的需要都日益迫切。任意波形发生器目前主要有两种实现方法:一种是传统的任意波形发生器,但是由于采用的是模拟和模数混合的方法,限制了其频率稳定度,并且系统比较复杂。另一种是基于直接数字频率合成(DDS) 技术的任意波形发生器,采用这种技术的AWG 具有很高的频率分辨率和快速的输出频率转换能力,并且输出频率范围宽。2.2 国内外现状目前,市场上常见的任意波形发生器主要有普源RIGOL、优利德。从功能上看,普源的任意波形发生器比较完善,但价格偏高。其他厂家的任意波形发生器虽然也可以产生任意波形,但波形来源往往是较简单的波形合成,并不是真正意义上的“任意”波形。如今,虽然国内外的任意波形发生器研究上已经趋于完善,但实际运用上还存在不尽人意的地方。例如:有的可视化界面仅能显示文字数据,不能直接显示输出波形;有的任意波形数据的产生只能连接上位机获取;任意波形编辑功能不够全面,仅能满足特定的场合。即使有较完善功能的任意波形发生器,但其高昂的价格却让人望而止步。当然,在高校中对于各种任意波形发生器的研制也有不少,例如东莞理工学院的可视化多功能DDS任意信号源,但其可视化也是建立在用Delphi来开发图形上位机软件的基础上的。 3系统概述及硬件简介随着科技的发展和现代科研的需要,信号发生器已经成为了很多行业进行研究测试不可或缺的工具,但目前使用波形发生器大部分体积大,可靠性差,准确度低。因此为了实验研究方便,研制一种体积小、可靠性强、准确性高的波形发生器显得尤为重要。显示模块LCD UC1705方案总体设计框图 Tiva c lanuchpad电源模块波形输出模块DAC7512按键模块 图3.1.14.相关原理的概述4.1 DAC单元DAC(Digital to Analog Conventer)数模转换器可以把处理器运算处理后输出的数字信号转换成模拟信号,完成对数字信号的复原工作。DA 转换,即把数字信号转换为模拟信号输出。简单的说,就是把数字信号按照一定的参考电压转换成电压值输出。例如,12 位分辨率时,数据 0XFFF 值对应满程参考电压,那么 0x7FF 就会输出半程参考电压。TM4C123G的 DAC7512 模块的控制位较多,可以满足多种输出需求 TM4C123G没有自带的DAC(模数转换器),DY-Tiva-PB板上扩展了一片DAC,并可用于任意波形发生器(AWG)。采用TI的12位DAC器件DAC7512,实现DAC及任意波形的产生。产生的信号可以在AWG端子上通过示波器观看,还可以通过PE2的ADC读入CPU,经过处理后显示在LCD上。DAC7512是一种低功耗、单电源、12位缓冲电压输出的数字到模拟转换器(DAC)。其内置的精密输出放大器允许轨到轨输出,接口为通用的三线串行SPI,兼容QSPI和DSP接口,时钟速率达30MHz。DAC7512集成了上电复位电路,确保DAC的输出0V时还能保持数据,直到下一个有效的数据下进来。DAC7512的主要特点:(1)微功耗,5V时工作电流消耗为135uA(DAC7512);(2)在掉电模式时,如果采用5V电源供电,其电流消耗为135nA,而采用 3V供电时,其电流消耗仅为50nA; (3)供电电压范围为+2.7V+5.5V; (4)上电输出复位后输出为0V;(5)具有三种关断工作模式可供选择,5V电压下功耗仅为0.7mW;(6)带有低功耗施密特输入串行接口; (7)内置满幅输出缓冲放大器; (8)具有SYNC中断保护机制。DAC单元的原理图如图4.1.1所示。4.1.1单元原理图其中,VOUT模拟电压输出GND接地VDD电源DIN串行数据输入SCLK串行时钟输入SYNC电平触发输入4.2 LCD单元TM4C123G芯片没有专用的LCD接口,但是芯片的速度较快,自身功能比较强大,所以先择一个点阵的LCD是最好的,可以显示任意的文字和图形。同时由于TM4C123G LP上的I/O资源很有限,并口的LCD会占用很多I/O资源,所以选择一个串口的LCD是最合适的。DY-Tiva-PB口袋板上选择了一个128x64点阵的串行接口LCD。背光通过PA5来控制。LCD显示单元PCB板上的位置如图4.2.2所示。图4.2.2 LCD显示单元的原理图12864 点阵液晶显示模块(LCM)就是由128*64 个液晶显示点组成的一个128 列*64 行的阵列。每个显示点对应一位二进制数,1 表示亮,0 表示灭。存储这些点阵信息的RAM 称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。每屏有一个512*8 bits 显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1 和CS2 选择。显示点在128*64 液晶屏上的位置由行号(line,063)与列号(column,063)确定。512*8 bits RAM 中某个存储单元的地址由页地址(Xpage,07)和列地址(Yaddress,063)确定。每个存储单元存储8 个液晶点的显示信息。为了使液晶点位置信息与存储地址的对应关系更直观关,将128*64 液晶屏从上至下8 等分为8个显示块,每块包括8 行*64 列个点阵。每列中的8 行点阵信息构成一个8bits 二进制数,存储在一个存储单元中。(注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的RAM 区称为存储页。即128*64 液晶屏的点阵信息存储在8 个存储页中,每页64 个字节,每个字节存储一列(8 行)点阵信息。因此存储单元地址包括页地址(Xpage,07)和列地址(Yaddress,063)。例如点亮128*64 的屏中(20,30)位置上的液晶点,因列地址30 小于64,该点在左半屏第29 列,所以CS1 有效;行地址20 除以8 取整得2,取余得4,该点在RAM 中页地址为2,在字节中的序号为4;所以将二进制数据00010000(也可能是00001000,高低顺序取决于制造商)写入Xpage=2,Yaddress=29 的存储单元中即点亮(20,30)上的液晶点。字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的A在字模的记载方式如图所示:4.2.3“A”字模图在数字电路中,所有的数据都是以0 和1 保存的,对LCD 控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8 位(一字节)即可。而对于中文,常用却有6000 以上,于是我们的DOS 前辈想了一个办法,就是将ASCII 表的高128 个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128 位则留给英文字符使用,即英文的内码。4.3 DDS单元4.3.1 DDS原理分析1973年,J.Tiemey和C.M.Tader等人在A Digital Frequency Synthesizer一文中首次提出了DDS的概念,但限于当时的技术条件,DDS并没有引起人们的足够重视。上世纪90年代以来,随着数字集成电路和微电子技术的发展,DDS技术的优越性才日益体现出来。4.3.2 DDS基本结构DDS与大多数的数字信号处理技术一样,它的基础仍然是奈圭斯特采样定理。奈圭斯特采样定理是任何模拟信号进行数字化处理的基础,它描述的是一个带限的模拟信号经抽样变成离散值后可不可以由这些离散值恢复原始模拟信号的问题。奈圭斯特采样定理告诉我们,当抽样频率大于或者等于模拟信号最高频率的两倍时,可以由抽样得到的离散信号无失真地恢复出原始模拟信号。只不过在DDS技术中,这个过程被颠倒过来了。DDS不是对模拟信号进行抽样,而是一个假定抽样过程已经发生且抽样值已经量化完成,如何通过某种方法把已经量化的数值重建原始信号的问题。DDS电路一般由参考时钟、相位累加器、波形存储器、D/A转换器(DAC)和低通滤波器(LPF)组成。其结构框图如图4.3.1所示。图4.3.1 DDS基本结构框图其中,为参考时钟频率,为频率控制字,为相位累加器位数,为波形存储器位数,为波形存储器的数据位字长和D/A转换器位数。DDS系统中的参考时钟通常由一个高稳定度的晶体振荡器来产生,用来作为整个系统各个组成部分的同步时钟。频率控制字(Frequency Control Word,FCW)实际上是二进制编码的相位增量值,它作为相位累加器的输入累加值。相位累加器由加法器和寄存器级联构成,它将寄存器的输出反馈到加法器的输入端实现累加的功能。在每一个时钟脉冲,相位累加器把频率字累加一次,累加器的输出相应增加一个步长的相位增量,由此可以看出,相位累加器的输出数据实质上是以为步长的线性递增序列(在相位累加器产生溢出以前),它反映了合成信号的相位信息。相位累加器的输出与波形存储器的地址线相连,相当于对波形存储器进行查表,这样就可以把存储在波形存储器中的信号抽样值(二进制编码值)查出。在系统时钟脉冲的作用下,相位累加器不停的累加,即不停的查表。波形存储器的输出数据送到D/A转换器,D/A转换器将数字量形式的波形幅度值转换成所要求合成频率的模拟量形式信号,从而将波形重新合成出来。若波形存储器中存放的是正弦波幅度量化数据,那么D/A转换器的输出是近似正弦波的阶梯波,还需要后级的低通平滑滤波器进一步抑制不必要的杂波就可以得到频谱比较纯净的正弦波信号。图43.2所示为DDS各个部分的输出信号。由于受到字长的限制,相位累加器累加到一定值后,就会产生一次累加溢出,这样波形存储器的地址就会循环一次,输出波形循环一周。相位累加器的溢出频率即为合成信号的频率。可见,频率控制字K越大,相位累加器产生溢出的速度越快,输出频率也就越高。故改变频率字(即相位增量),就可以改变相位累加器的溢出时间,在参考频率不变的条件下就可以改变输出信号的频率。图4.3.2 DDS各部分输出波形4.3.3 DDS原理根据傅立叶变换定理,任何满足Dirichlet条件的周期信号都可以分解为一系列正弦或者余弦信号之和。为了不失一般性,下面以正弦信号的产生为例来说明DDS的基本原理。我们知道,正、余弦信号用可以用复数形式表示为: 式(4-1) 式(4-2)图4.3.3 信号的复数表示形式图4.3.3描述了矢量绕原点沿正方向(逆时针)旋转时,其模值与轴夹角(相位角)及在轴上的投影三者之间的关系。当连续地绕原点旋转,将取之间的任意值,将以为模取之间的任意值。如果将看作我们欲重构正弦信号的幅度值,则相位角和的关系为:。现将相位数字化(采样、量化),将量化成等份,则相位量化的最小间隔为,这样造成的结果是重构信号的幅度值也相应离散化: 式(4-3)由式(4.2)可以看出,只能取与相位对应的幅度值。图4.3.4 相位数字化示图如图4.3.4所示,设此时不是绕原点连续旋转,而是在系统时钟的控制下以相位增量进行阶跃式旋转,很容易可以看出来,在相位周期变化的同时,输出信号的幅度也在周期重复着,因此,重构信号的周期在幅度中也就体现出来了。为了进一步探讨相位增量对输出信号频率的影响,我们分别以相位增量为和重构信号幅度,分别如图4.3.5和4.3.6所示。在此,我们假设相位累加是在相同的系统时钟的进行的,即对于不同的相位增量,是固定不变的,这是理解相位增量和重构信号频率关系的基础。图4.3.5 相位增量为时相位幅度的映射关系图4.3.6 相位增量为时相位幅度的映射关系 对比图4.3.5和图4.3.6,我们很容易发现,当相位增量减少为原来的二分之一时,输出信号的采样值密集度就成了原来的两倍,那么旋转一周的时间自然也增大为原来的两倍,即。周期与频率成倒数关系,由此可得两种情况下输出重构信号的频率关系:,如图4.3.7所示。图4.3.7 相位增量不同对重构信号频率的影响(仿真)分析到这里,我们可以得出结论,在DDS系统中,在参考时钟固定不变的前提下,通过改变相位增量的值,就可以得到不同频率的重构信号。那么相位增量跟我们的频率控制字之间有什么联系呢,频率控制字又是通过怎样的方式来控制输出信号的频率的呢?我们假设有一个频率为的正弦信号: 式(4-4)现以采样频率对该信号进行抽样,得到离散序列为: 式(4-5)其中为采样周期。习惯上将式(4-5)写成式(4-6)的形式: 式(4-6)式(4-6)对应的相位序列为: 式(4-7)该序列的显著特性是线性,即相邻样值之间的相位增量是一常数,且仅与信号频率有关,当式(4-7)中的取1时得到量化相位增量为: 式(4-8)倘若我们将相位均匀量化等份,人为构造一个相位值: 式(4-9)并且使得,那么就可以得到如下关系: 式(4-10)根据以上原理,如果我们用变量构造一个量化序列: 式(4-11)然后完成到另一个序列的映射,即由构造序列: 式(4-12)将式(4-10)代入式(4-12)可得: 式(4-13)对比式(4-6)跟式(4-13),我们不难发现,其实就是信号经过采样频率抽样后的离散时间序列。在满足奈圭斯特采样定律的的条件下,即: 式(4-14)可以经过D/A转换和低通平滑滤波唯一地恢复出。可见,通过上述变换,变量将唯一地确定一个单频模拟正弦信号: 式(4-15)该信号的频率为: 式(4-16)式(4-16)就是DDS的基本方程,是利用DDS进行频率合成的立足点。在实际的DDS应用中,一般取,为正整数,于是DDS的基本方程可写成: 式(4-17)由式(4-17)可以看出,当时,DDS系统输出信号频率最小,而这个最小频率同时也是DDS系统的频率分辨率: 式(4-18)对于DDS系统从波形存储器中读数据的过程,我们可以将其看作是对波形存储器中的波形数据再次采样的过程,也就是说,DDS系统查表的过程就是从波形存储器中二次采样过程,一个周期内查表的点数即为采样的点数。DDS系统要恢复出原始波形,其在一个周期内至少要取样两点,这是受我们一直都在强调的奈圭斯特采样定理的限制。那么DDS系统在理论上能输出的最大频率是: 式(4-19)经过以上的分析,我们得出以下几点结论:(1)DDS系统的输出频率只与频率控制字、系统时钟频率、相位累加器位数有关。在系统时钟频率和相位累加器位数固定时,通过改变频率控制字的值,就可以方便地改变输出信号的频率。(2)DDS系统的频率分辨率只与系统的系统时钟频率和相位累加器位数有关。想要提高系统的分辨率,可以增加相位累加器位数或者是降低系统时钟频率。(3)DDS理论上最大输出频率不会超过系统时钟频率的二分之一,但在实际应用中,由于DDS系统中的低通滤波器非理想特性,由通带到阻带之间存在着一个过渡带,工程中DDS最高输出频率只取到左右。4.3.4 DDS技术特点DDS这一新技术特点鲜明,优点很突出,缺点也很明显。DDS系统的优点有很多,它的很多特性是其他频率合成技术所没有的,其中最主要的特性有以下三点:(1)DDS技术可以用于产生任意波形基于前面对DDS系统的基本结构分析,很容易理解,只要改变存储在波形存储器中的波形数据,就可以改变输出波形。所以对于任何周期性波形,只要满足采样定理,都可以利用DDS技术来实现。(2)DDS系统具有很高的频率分辨率DDS系统输出频率的分辨率和频点数随相位累加器的位数成指数增长,由式(4-18)可知,在系统时钟频率不变的情况下,只要增大相位累加器的位数,就可以得到几乎是任意小的频率分辨率,可以满足精细频率控制的要求。DDS如此精细的频率分辨率,使其输出频率已十分逼近连续变化。(3)输出频率切换速度快且相位保持连续与锁相频率合成相比,由于DDS系统是一个开环系统,所以当一个新的频率控制字送到时,它会迅速合成这个新的频率,实际的频率切换时间可以达ns级。同时,频率切换时,DDS系统的输出波形的相位是连续的。DDS系统的频率字改变时,输出波形的变化过程可以用图4.3.8描述。图4.3.8 频率控制字改变时累加器的输出值和输出波形的变化(仿真)在波形输出到点时,频率字发生了改变(变小),相位累加器的累加值即相位步进变小,其输出值斜率也变小,系统的输出波形的频率也在同时刻变小。DDS系统在频率字发生改变后的一个时钟周期,其输出频率就可以就转换到了新的频率上,也即在频率字的值改变以后,累加器在经过一个时钟周期后就按照新的频率字进行累加,开始合成新的频率。所以我们可以认为DDS的频率切换是在一个系统时钟周期内完成的,系统时钟频率越高,切换速度越快。另外,从前面对DDS技术原理的分析可知,要改变输出频率,实际上改变的是频率字,也就是相位增量。当频率字的值从改变为之后,相位累加器是在已有的累积相位上,再对进行累加,相位函数曲线是连续的。由于DDS采用数字化技术,最终合成信号是经过D/A转换得到的,所以不可避免的存在着以下缺点:(1)DDS在工程中的最高输出频率一般只能达到系统时钟频率的40%,要想获得较高的频率,就必须提高系统时钟频率,也就是说DDS的相位累加器、波形存储器和D/A转换器都将工作在较高的时钟频率下,它的实现依赖于高速数字电路和高速D/A转换器。这也是DDS系统在早期没有受到重视,而直到最近几年才迅速发展的原因。(2)DDS系统采用数字合成技术,先离散信号再变换成模拟信号输出,这其中导致了各种误差,尤其是相位截断误差,因此各种杂波是不可避免的。为了具有较高的输出频率,DDS系统的参考时钟频率一般都比较高,根据 式(4-18),在较高的时钟频率下,要想获得较高的频率分辨率,只有通过增加相位累加器的位数,故一般的取值都较大。如果相位累加器的所有输出都用来作为波形存储器的寻址地址,那么存储器的容量会大得惊人。例如,如果32位累加器的所有位都用来作为存储器的地址,那么需要4G个存储单元,而如果换成48位的累加器,那么就需要256T(1T=1024G)个存储单元,这样的设计显然是没有办法接受的。因此存储器的地址线位数一般都小于。这样存储器的地址线就只能接到相位累加器的输出的高位上,而低位则要舍弃,也就产生了相位截断误差,表现在输出频谱上就是杂散分量。5.波形发生器的软件设计5.1 软件设计的原理软件系统的设计部分采用“自顶向下”的设计方法,其系统控制流程为:系统初始化,用户控制输入。具体的流程图如下:对于DDS中ROM中存储的波形数据我们使用Matlab来产生。因为在DDS信号发生器的设计中,会用到诸如三角波、方波、正弦波等简单波的波形数据,如果手动计算,会比较繁琐,所以在这里,我利用Matlab的文件读写函数,将生成的波形数据写到一个特定的txt文件中,并且符合C中数组的格式要求。具体的我们可以使用公式法,根据用户输入的公式或者函数语句产生波形信号,这种方法比较科学,精度较高。例如,sin(2*pi*x)+sin(4*pi*x),其中变量 x的范围为 0到 1。这样,根据公式的不同能够产生不同的波形数据。用Matlab产生波形数据以后,我们把波形数据存储到DDS的ROM中,然后把该数据发送给DAC模块,通过D/A转化,把数字信号转化为模拟信号,这样就可以产生我们想要的波形,该波形可以通过示波器来观看。Matlab端和tiva端的关系用下图来表示:5.2 Matlab产生波形数据%以三角波数据为例tridata=uint8(round(0:499./500*255);%三角波上升沿数据tridata2=uint8(round(499:-1:0./500*255);%三角波下降沿数据dataa=tridata tridata2;fileID = fopen(data.txt,w);%新建一个名为data.txt的文件fprintf(fileID,%s,tridata=0x);%以十六进制格式写入文件,文件头fprintf(fileID,%X,dataa(1);fprintf(fileID,%s0,)for i=2:length(dataa)-1if(mod(i,20)fprintf(fileID,%s n, );endfprintf(fileID,%s,0x)fprintf(fileID,%X,dataa(i);fprintf(fileID,%s,)endfprintf(fileID,%s,0x)fprintf(fileID,%X,dataa(i);fprintf(fileID,%s,;) %文件尾fclose(fileID);6.波形的生成结果波形可以通过示波器看到,由于实验室没有示波器,所以下面的图是找的一些波形图片正弦波 三角波 方波 锯齿波
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!