当前位置:首页 > 波形发生器
  • 射频收发器在数字波束合成相控阵中实现强制杂散去相关性

    射频收发器在数字波束合成相控阵中实现强制杂散去相关性

    简介 在大型数字波束合成天线中,人们非常希望通过组合来自分布式波形发生器和接收器的信号这一波束合成过程改善动态范围。如果关联误差项不相关,则可以在噪声和杂散性能方面使动态范围提升10logN。这里的N是波形发生器或接收器通道的数量。噪声在本质上是一个非常随机的过程,因此非常适合跟踪相关和不相关的噪声源。然而,杂散信号的存在增加了强制杂散去相关的难度。因此,可以强制杂散信号去相关的任何设计方法对相控阵系统架构都是有价值的。 在本文中,我们将回顾以前发布的技术,这些技术通过偏移LO频率并以数字方式补偿此偏移,强制杂散信号去相关。然后,我们将展示ADI公司的最新收发器产品,ADRV9009,说明其集成的特性如何实现这一功能。然后,我们以测量数据结束全文,证明这种技术的效果。 已知杂散去相关方法 在相控阵中,用于强制杂散去相关的各种方法问世已有些时日。已知的第一份文献1可以追溯到2002年,该文描述了用于确保接收器杂散不相关的一种通用方法。在这种方法中,先以已知方式,,修改从接收器到接收器的信号。然后,接收器的非线性分量使信号失真。在接收器输出端,将刚才在接收器中引入的修改反转。目标信号变得相干或相关,但不会恢复失真项。在测试中实现的修改方法是将每个本振(LO)频率合成器设置为不同的频率,然后在数字处理过程中以数字方式调谐数控振荡器(NCO),以校正修改。文献里还提到了若干其他方法2, 3。 多年以后,随着完整的收发器子系统被先进地集成到单个单片硅片当中,收发器产品中的嵌入式可编程特性为实现以下文章描述的杂散去相关方法提供了可能:“Correlation of Nonlinear Distortion in Digital Phased Arrays:Measurement and Mitigation”(数字相控阵中的非线性失真:测量与缓解)。1 实现杂散去相关的收发器功能 图1所示为ADI公司收发器ADRV9009的功能框图。 图1.ADRV9009功能框图 每个波形发生器或接收器都是用直接变频架构实现的。Daniel Rabinkin的文章“Front-End Nonlinear Distortion and Array Beamforming”(前端非线性失真与阵列波形合成)详细地讨论了各种直接变频架构。4 LO频率可以独立编程到各IC上。数字处理部分包括数字上/下变频,其NCO也可跨IC独立编程。Peter Delos的文章《A Review of Wideband RF Receiver Architecture Options》(宽带射频接收器架构的选项)对数字下变频进行了进一步的描述。5 接下来,我们将展示一种方法,可以用于在多个收发器上强制杂散去相关。首先,通过编程板载锁相环(PLL)偏移LO的频率。然后,设置NCO的频率,以数字化补偿施加的LO频率偏移。通过调整收发器IC内部的两个特性,进出收发器的数字数据不必在频率上偏移,整个频率转换和寄生去相关功能都内置在收发器IC中。 图2所示为具有代表性的波形发生器阵列功能框图。我们将详细描述波形发生器的方法,展示波形发生器的数据,但该方法同样适用于任何接收器阵列。 图2.通过编程波形发生器阵列的LO和NCO频率,强制杂散去相关 为了从频率角度说明概念,图3展示了一个带有来自直接变频架构的两个发送信号的示例。在这些示例中,射频位于LO的高端。在直接变频架构中,镜像频率和三次谐波出现在LO的相对侧,并显示在LO频率下方。当将不同通道的LO频率设置为相同的频率时,杂散频率也处于相同的频率,如图3a所示。图3b所示为LO2的设置频率高于LO1的情况。数字NCO同等地偏移,使RF信号实现相干增益。镜像和三次谐波失真积处于不同的频率,因此不相关。图3c所示为与图3b相同的配置,只是RF载波添加了调制。 图3.用频率显示杂散信号的光谱示例。三个示例:(a) 无杂散去相关的两个组合CW信号; (b) 强制杂散去相关的两个组合CW信号;以及 (c) 强制杂散去相关的两个组合调制信号。 测量结果 组装了一个基于收发器的8通道射频测试台,用于评估相控阵应用的收发器产品线。评估波形发生器的测试设置如图4所示。在该测试中,将相同的数字数据应用于所有波形发生器。通过调整NCO相位实施跨通道校准,以确保射频信号在8路组合器处同相并且相干地组合。 图4.波形发生器杂散测试设置 接下来,我们将展示测试数据,比较以下两种情况下的杂散性能:一是将LO和NCO都设为相同的频率;二是偏移LO和NCO的频率。所使用的收发器在一个双通道器件内共用一个LO(见图1),因此对于8个射频通道来说,共有4个不同的LO频率。 在图5和图6中,收发器NCO和LO都设置为相同的频率。在这种情况下,由镜像、LO泄漏和三次谐波产生的杂散信号都处于相同的频率。图5所示为通过频谱分析仪测得的各发射输出。图6所示为组合输出。在这个特定的测试中,相对于载波以dBc为单位测量的镜像杂散和LO泄漏杂散展现出改善的迹象,但三次谐波没有改善。在测试中,我们发现,三次谐波在各个通道之间始终相关,镜像频率始终不相关,LO频率根据启动条件而变化。这反映在图3a中,其中,我们展示了三次谐波的相干叠加、镜像频率的非相干叠加以及LO泄漏频率的部分相干叠加。 图5.各通道的波形发生器杂散(LO和NCO设为相同的频率) 图6.组合波形发生器杂散(LO和NCO设为相同的频率)。注意,在这种配置中,三次谐波杂散没有改善 在图7和图8中,收发器LO全部设为不同的频率,并且同时调整数字NCO的频率和相位,使得信号相干地组合。在这种情况下,由镜像、LO泄漏和三次谐波产生的杂散信号被强制设为不同的频率。图7所示为通过频谱分析仪测得的各发射输出。图8所示为组合输出。在这个测试中,相对于载波以dBc为单位测量的镜像杂散、LO泄漏杂散和三次谐波杂散开始扩散进噪声,将通道组合起来后,每种杂散都展现出改善的迹象。 图7.各通道的波形发生器杂散(LO和NCO的频率偏移) 图8.组合波形发生器杂散(LO和NCO频率偏移)。注意,在这种情况下, 杂散的频率有所扩散,并且相对于单个通道SFDR,其SFDR有明显的改善 当组合非常少量的通道时,比如在本测试中,杂散的相对水平实际上提高了20log(N)。这是由于信号分量相干地组合并以20log(N)递增,而杂散根本没有组合。在实践中,通过组合大通道阵列和更多通道,改善程度有望接近10log(N)。原因有二。首先,在组合大量信号的情况下,充分扩散杂散以独立考虑每个杂散是不现实的。以1 MHz调制带宽为例。如果规格规定,要在1 MHz带宽内测量杂散辐射,那么最好扩散杂散,使它们相距至少1 MHz。如果无法做到,则每1 MHz的测量带宽都会包括多个杂散分量。由于这些分量将处于不同的频率,所以,它们将不相干地组合,并且在每1 MHz带宽中测得的杂散功率将以10log(N)递增。然而,任一1 MHz测量带宽都不会包含所有杂散,因此在这种情况下,杂散N小于信号N;尽管改进增量为10log(N),但一旦N足够大,使其杂散密度能在测量带宽内容纳多个杂散,则与无杂散信号去相关的系统相比,绝对改善量仍然优于10log(N)——也就是说,改善量将介于10log(N)和20log(N)分贝(或dB)之间。其次,这个测试是用CW信号完成的,但现实信号会被调制,这将导致它们扩散,使得在组合大量信道的情况下,不可能实现不重叠的杂散信号。这些重叠的杂散信号将是不相关的,并且在重叠区域以10log(N)不相干地递增。 当将不同通道的LO设为相同频率时,需要特别注意LO泄漏分量。当两个信号分支相加时,模拟调制器中LO的不完全消除,这是导致LO泄漏的原因。如果幅度和相位不平衡是随机误差,则剩余LO泄漏分量的相位也将是随机的,并且当将许多不同的收发器的LO泄漏相加时,即使它们的频率完全相同,它们也将以10log(N)不相干地叠加。调制器的镜像分量也应如此,但调制器的三次谐波则不一定这样。在少量通道被相干组合的情况下,LO相位不太可能是完全随机的,因此测得数据中展示了部分去相关的原因。由于信道数量非常多,因此,不同通道的LO相位更接近随机条件,并且预计为不相关叠加。 结论 当LO和NCO的频率偏移时,结果会测得SFDR,其清楚地表明,所产生的杂散全部处于不同频率并且在组合过程中不相关,从而确保在组合通道时SFDR能得到改善。现在,在ADI公司的收发器产品中,LO和NCO频率控制已经成为一种可编程的特性。结果表明,该功能可用于相控阵应用,相比单通道性能,可确保阵列级的SFDR改善。 参考文献 1 Lincoln Cole Howard和Daniel Rabideau,“Correlation of Nonlinear Distortion in Digital Phased Arrays: Measurement and Mitigation”(数字相控阵中的非线性失真:测量与缓解),2002 IEEE MTT-S国际微波研讨会文摘。 2 Salvador Talisa、Kenneth O’Haever、Thomas Comberiate、Matthew Sharp和Oscar Somerlock,“Benefits of Digital Phased Arrays”(数字相控阵的好处),IEEE论文集,第104卷第3期,2016年3月。 3 Keir Lauritzen,“Correlation of Signals, Noise, and Harmonics in Parallel Analog-to-Digital Converter Arrays”(并行模数转换器阵列中的信号、噪声与谐波相关性),博士论文,马里兰大学,2009年。 4 Rabinkin,Song,“Front-End Nonlinear Distortion and Array Beamforming”(前端非线性失真与阵列波形合成),Radio and Wireless Symposium (RWS) 2015 IEEE。 5 Peter Delos,“A Review of Wideband RF Receiver Architecture Options”(宽带射频接收器架构选项综述),ADI公司,2017年2月。 Delos,Peter,“Can Phased Arrays Calibrate on Noise?”(相控阵能校准噪声吗),Microwave Journal,2018年3月。 Jonathan Harris,“What’s Up with Digital Downconverters—Part 1”(数字下变频器的发展和更新——第一部分),《模拟对话》,2016年7月。 Jonathan Harris,“What’s Up with Digital Downconverters—Part 2”(数字下变频器的发展和更新——第一部分),《模拟对话》,2016年11月。 Howard,Lincoln、Nina Simon和Daniel Rabideau,“Mitigation of Correlated Nonlinearities in Digital Phased Arrays Using Channel- Dependent Phase Shifts”(运用通道依赖型相移缓解数字相控阵中的相关非线性问题),2003 EEE MTT-S Digest。

    时间:2021-04-08 关键词: 射频收发器 数字波束 波形发生器

  • 基于51单片机的DAC0832波形发生器设计

    基于51单片机的DAC0832波形发生器设计

    波形发生器是一种常用的信号源,广泛的应用于电子电路、自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源。由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察。 测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最为广泛的一类电子仪器。它可以产生多种波形信号,如方波、锯齿波、三角波等,因而广泛应用于通信、雷达、导航、宇航等领域 以多种波形发生器为对象,选择单片机、独立按键及D/A转换器,设计相应的电路构成多种波形发生器。 功能要求: 1.有4个功能键,分别用来选择输出:三角波、锯齿波、梯形拨、方波。 2.按下某个功能键,进入中断,在中断程序中查询、确定是哪个功能键,并输出对应的波形。 3.显示器2位,显示功能号01、02、03、04,代表输出三角波、锯齿波、梯形拨、方波。 设计任务: 1、完成单片机最小系统电路设计。 2、完成按键电路设计。 3、完成D/A转换及接口电路的设计。 4、完成显示电路的设计。 电路图如下:(proteus 仿真通过) 其一仿真图: 源程序如下: ORG 0000H START: LJMP MAIN ORG 0003H ;外部中断 入口 LJMP INSER ;转到中断服务程序 ORG 0030H MAIN: MOV DPTR,#7FFFH ;DAC0832地址 SETB EX0 ;允许 中断 SETB IT0 ;负边沿触发方式 SETB EA ;开中断 HERE: JB 20H.0,ST ;锯齿波处理 JB 20H.1,TRI ;三角波处理 JB 20H.2,SQ ;方波处理 JB 20H.3,TXB ;梯形波处理 SJMP HERE ;等待中断 INSER: JNB P1.0, LL1 ;中断服务程序,查询按键 SJMP L1 LL1: MOV 20H,#00H SETB 20H.0 ;设置锯齿波标志 SJMP RT L1: JNB P1.2, LL2 SJMP L2 LL2: MOV 20H,#00H SETB 20H.1 ;设三角梯波标志 SJMP RT L2: JNB P1.4, LL3 SJMP L3 LL3: MOV 20H,#00H SETB 20H.2 ;设置方波标志 SJMP RT L3: JNB P1.6, LL4 SJMP RT LL4: MOV 20H,#00H SETB 20H.3 ;设置梯形波标志 RT: RETI;中断返回 ST: CLR P1.1 ;锯齿波 CLR P1.3 SETB P1.5 CLR P1.7 MOV A,#00H LOOPP: MOVX @DPTR,A ;启动D/A转换 INC A JB 20H.0,LOOPP ;连续输出波形 LJMP HERE TRI: CLR P1.1 ;三角波 CLR P1.3 CLR P1.5 SETB P1.7 MOV A,#00H UP: MOVX @DPTR,A ;启动D/A转换 INC A ;上升沿 CJNE A,#0FFH,UP DOWN: MOVX @DPTR,A ;启动D/A转换 DEC A ;下降沿 CJNE A,#00H,DOWN JB 20H.1, UP ;连续输出波形 LJMP HERE SQ: CLR P1.1 ;方波 SETB P1.3 CLR P1.5 CLR P1.7 MOV A,#00H MOVX @DPTR,A ;DAC输出低电平 ACALL DELAY ;延时1 MOV A,#0FFH MOVX @DPTR,A ;DAC输出高电平 ACALL DELAY ;延时2 JB 20H.2, SQ ;连续输出波形 LJMP HERE TXB: CLR P1.1 ;梯形波 CLR P1.3 SETB P1.5 SETB P1.7 MOV A,#00H MOVX @DPTR,A ACALL DELAY LOOP: MOVX @DPTR,A INC A CJNE A,#0FFH,LOOP ACALL DELAY MOVX @DPTR,A LOOP1: DEC A MOVX @DPTR,A CJNE A,#00H,LOOP1 MOVX @DPTR,A ACALL DELAY JB 20H.3,LOOP DELAY: MOV R4,#0FH ;延时子程序 LOOP11: MOV R5,#10H LOOP22: NOP NOP NOP DJNZ R5,LOOP22 DJNZ R4,LOOP11 RET END

    时间:2021-03-05 关键词: 51单片机 DAC0832 波形发生器

  • 波形发生器实例篇,基于单片机设计DAC0832波形发生器

    波形发生器实例篇,基于单片机设计DAC0832波形发生器

    波形发生器应用相对广泛,对于波形发生器,想必大家有所了解。往期文章中,小编对波形发生器做过诸多介绍。为增进大家对波形发生器的了解,本文将对如何基于单片机设计DAC0832波形发生器加以介绍。如果你对本文内容具有兴趣,不妨继续往下阅读哦。 波形发生器是一种常用的信号源,广泛的应用于电子电路、自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源。由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察。 测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最为广泛的一类电子仪器。它可以产生多种波形信号,如方波、锯齿波、三角波等,因而广泛应用于通信、雷达、导航、宇航等领域 以多种波形发生器为对象,选择单片机、独立按键及D/A转换器,设计相应的电路构成多种波形发生器。 一、功能要求 1.有4个功能键,分别用来选择输出:三角波、锯齿波、梯形拨、方波。 2.按下某个功能键,进入中断,在中断程序中查询、确定是哪个功能键,并输出对应的波形。 3.显示器2位,显示功能号01、02、03、04,代表输出三角波、锯齿波、梯形拨、方波。 二、设计任务 1、 完成单片机最小系统电路设计。 2、 完成按键电路设计。 3、 完成D/A转换及接口电路的设计。 4、 完成显示电路的设计。 电路图如下:(proteus 仿真通过) 其一仿真图: 三、源程序 ORG 0000H START: LJMP MAIN ORG 0003H ;外部中断入口 LJMP INSER ;转到中断服务程序 ORG 0030H MAIN: MOV DPTR,#7FFFH ;DAC0832地址 SETB EX0 ;允许中断 SETB IT0 ;负边沿触发方式 SETB EA ;开中断 HERE: JB 20H.0,ST ;锯齿波处理 JB 20H.1,TRI ;三角波处理 JB 20H.2,SQ ;方波处理 JB 20H.3,TXB ;梯形波处理 SJMP HERE ;等待中断 INSER: JNB P1.0, LL1 ;中断服务程序,查询按键 SJMP L1 LL1: MOV 20H,#00H SETB 20H.0 ;设置锯齿波标志 SJMP RT L1: JNB P1.2, LL2 SJMP L2 LL2: MOV 20H,#00H SETB 20H.1 ;设三角梯波标志 SJMP RT L2: JNB P1.4, LL3 SJMP L3 LL3: MOV 20H,#00H SETB 20H.2 ;设置方波标志 SJMP RT L3: JNB P1.6, LL4 SJMP RT LL4: MOV 20H,#00H SETB 20H.3 ;设置梯形波标志 RT: RETI ;中断返回 ST: CLR P1.1 ;锯齿波 CLR P1.3 SETB P1.5 CLR P1.7 MOV A,#00H LOOPP: MOVX @DPTR,A ;启动D/A转换 INC A JB 20H.0,LOOPP ;连续输出波形 LJMP HERE TRI: CLR P1.1 ;三角波 CLR P1.3 CLR P1.5 SETB P1.7 MOV A,#00H UP: MOVX @DPTR,A ;启动D/A转换 INC A ;上升沿 CJNE A,#0FFH,UP DOWN: MOVX @DPTR,A ;启动D/A转换 DEC A ;下降沿 CJNE A,#00H,DOWN JB 20H.1, UP ;连续输出波形 LJMP HERE SQ: CLR P1.1 ;方波 SETB P1.3 CLR P1.5 CLR P1.7 MOV A,#00H MOVX @DPTR,A ;DAC输出低电平 ACALL DELAY ;延时1 MOV A,#0FFH MOVX @DPTR,A ;DAC输出高电平 ACALL DELAY ;延时2 JB 20H.2, SQ ;连续输出波形 LJMP HERE TXB: CLR P1.1 ;梯形波 CLR P1.3 SETB P1.5 SETB P1.7 MOV A,#00H MOVX @DPTR,A ACALL DELAY LOOP: MOVX @DPTR,A INC A CJNE A,#0FFH,LOOP ACALL DELAY MOVX @DPTR,A LOOP1: DEC A MOVX @DPTR,A CJNE A,#00H,LOOP1 MOVX @DPTR,A ACALL DELAY JB 20H.3,LOOP DELAY: MOV R4,#0FH ;延时子程序 LOOP11: MOV R5,#10H LOOP22: NOP NOP NOP DJNZ R5,LOOP22 DJNZ R4,LOOP11 RET END 以上便是此次小编带来的“波形发生器”相关内容,通过本文,希望大家对上述介绍的波形发生器相关内容具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-07-08 关键词: 单片机 指数 波形发生器

  • 波形发生器刨根问底,任意波形发生器原理详解

    波形发生器刨根问底,任意波形发生器原理详解

    波形发生器在网上有诸多资料,想了解波形发生器的朋友可以通过网络学习。往期文章中,小编对波形发生器有过诸多介绍。本文中,小编将对任意波形发生器予以介绍,主要在于详细介绍任意波形发生器原理。如果你对本文即将讨论的内容存在兴趣,不妨继续往下阅读哦。 按具体实现原理,AWG又可分为DDS-based和True Arb两类。 1. DDS-based AWG DDS,即Direct Digital Synthesis直接数字合成,一种频率合成的方法。前文也提到正弦信号发生器一般使用了频率合成技术。那么什么是频率合成? 信号源都需要使用振荡器,一般振荡器的输出频率范围有限,并且在宽的频率范围内难以获得高稳定度。那么就需要从频率单一但准确度和稳定度高的振荡源(比如晶体振荡器)派生出各种需要的频率。这种从一种频率派生出多种频率信号的方法就是频率合成。比如一个振荡器输出的单一频率信号,可利用倍频、分频、混频技术实现频率的加、减、乘、除运算,合成一系列频率的信号,这些频率都和振荡器频率(称基准频率)相参,这种方法称为直接模拟合成(Direct Analog Synthesis)。此外还有基于PLL的间接频率合成。 DDS是另外一种重要的频率合成技术。先来看如何用DDS技术产生正弦信号。我们知道,正弦波的频率可表示为f=ω/2π=Δθ/(2πΔt)。Δθ是正弦信号经过一段时间Δt之后的相位增量。在同样的时间Δt内,相位增量越大,角速率就越高,振荡频率就越高。DDS正是基于这种频率和角速率的关系来合成想要的频率。请看下面的DDS原理框图: 图 1 DDS原理框图 相位累加器用来产生表示相位的序列,它以基准时钟fs为节拍,以K为累加值,产生线性增长的相位序列。例如相位累加器初始值表示的相位是0,K对应的累加值为π/10,那么累加器在基准时钟的激励下依次产生表示0, π/10, 2π/10, 3π/10……18 π/10,19 π/10, 2π, 0, π/10,…等相位的序列。 表示相位的序列用做一个正弦波查找表的地址,该查找表实现相位到幅度的转换,输出相位所对应的正弦波幅度值,这个时候幅度还是数字序列,经过DAC和低通滤波器后输出平滑的正弦波。基准时钟同时也是查找表的输出时钟和DAC的采样时钟。 K就是相位增量Δθ,基准时钟周期1/fs就是时间增量Δt,即 f=Δθ/(2πΔt)=K*fs/2π 也就是说,输出信号于基准时钟fs相参,频率受相位增量K控制。例如相位增量是π/10时,20个基准时钟周期就能输出一个周期的正弦信号,即频率为fs/20;如果相位增量增加到π/5时,能在更短的时间完成一个周期的扫描,频率因此提高,即fs/10。 推广到任意波的情况,查找表中如果保存的是任意一段波形的量化数据,那么输出的信号将是以该波形为一个周期的重复信号。重复频率同样受相位增量控制。 从DDS原理可以看出,在基准时钟不变的情况下,如果改变输出频率,存储器中的数据点并不都能输出。输出频率越高,需要的相位增量越大,跳过的数据点越多。这可能会影响信号保真度。 比如基准时钟为100MHz,存储器的容量为100pts,保存了欲输出信号一个周期的采样点数据。 如果需要输出频率为1MHz,在每个采样时钟节拍下,依次输出所有采样点即可满足要求。 如果需要输出频率为2MHz,相位增量就必须增加1倍,也就是每个采样时钟节拍需要跳过1个采样点。如果反映信号瞬变的数据点恰好在被跳过的采样点里,输出信号保真度就会受损。见下图示意: 图 2 不同频率的输出波形数据 如果需要输出频率为300kHz,和基准时钟不是整数倍关系。那么不仅有些数据点会被跳过,而且此周期输出的数据点和下一个周期输出的数据点不相同,见下图示意。输出信号可能有相位截断和频率泄漏 图 3 基准频率和输出频率不是整数倍关系 尽管基于DDS原理的AWG有上述的一些缺点,但DDS具有低成本、低功耗、高分辨率和频率转换速度快等优点,适合输出调频、调相、扫频信号。而且通过合理的设定基准时钟、相位增量和输出频率的关系,能够使信号保真度满足测试要求。 2. True Arb True Arb就是真任意波形发生器的意思,这是相对于DDS可能丢掉一些数据的特点而言。下图是True Arb的原理框图: 图 4 True Arb原理框图 True Arb以一个可变的采样时钟从波形存储器中读出量化数据,然后经过DAC和低通滤波器后输出。如果需要改变输出信号频率,就调节采样时钟的频率。True Arb更接近于一个数字存储示波器的逆过程: 1)数字存储示波器的采样率可以变化,True Arb的采样时钟频率也可以变化。 2)数字存储示波器的约束条件:储器容量=采样率×采样时间 True Arb的约束条件:存储容量=采样率×信号重复周期 例如AWG的存储容量为2Mpts,如果采样率设为100MS/s,那么输出信号的最大重复周期为20ms,即最小重复频率50Hz。如果要输出更低频率的信号,就必须降低采样率。 可以看出,通过改变采样时钟来改变输出频率的方法,能够保证存储器中的数据都被输出,相比DDS方法,信号保真度更好。 另外True Arb存储器从逻辑上可以分成若干片段,每个片段的波形数据可以单独、重复输出,即所谓波形序列(Sequence)功能。例如存储器深度为1Mpts。可以分为3个片段,分别可以保存500kpts、400kpts、100kpts数据。可以定义第一个片段波形重复输出3次后,第二个片段波形输出1次,第三个片段波形重复输出2次,又重新回到第一个片段开始新的循环… 这种功能的好处是可以设计更复杂的波形,并最大程度利用存储器容量。比方需要产生这样一种信号,先输出一个宽度25us、幅度3V的脉冲,保持低电平20s后再输出一个宽度25us、幅度5V的脉冲,再经过50s的低电平后完成一次重复,开始下一个周期。这样一个信号,必须有相对较高的采样率才能重建出25us的脉冲,但信号重复周期长,True Arb的约束条件决定了,在有限的存储器容量下,无法保存高采样率下的长时间波形数据。这时就可以利用波形序列功能。比如第一个片段保存3V脉冲,输出一次,第二个片段保存50us低电平,重复输出400000次,总持续时间为20s,第三个片段保存5V脉冲,输出一次,第三个片段保存50us低电平,重复输出1000000次,总持续时间50s。如下图示意: 图 5 波形序列功能示意 两种AWG结构的特点总结如下: 以上便是此次小编带来的“波形发生器”相关内容,通过本文,希望大家对任意波形发生器的原理具备一定的认知。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-06-02 关键词: 任意波形发生器 指数 波形发生器

  • 波形发生器高手必看,任意波形发生器连接设计

    波形发生器高手必看,任意波形发生器连接设计

    波形发生器知识较多,学习波形发生器需要循序渐进。若大家想了解波形发生器,可翻阅小编往期文章。本文对于波形发生器的介绍,主要在于讲解如何基于CPLD技术和RS-232串口实现任意波形发生器连接设计。如果你对本文即将介绍的内容存在兴趣,不妨继续往下阅读哦。 任意波形发生器(Arbitrary Wave Generator,以下简称AWG)在通信系统、测试系统等方面得到广泛应用。本文利用自主研制的150 MSPS (Million Sampling Per Second)12位DAC(Digital Analog Converter)和300MSPS 12位DAC,基于CPLD技术,设计了一种AWG。要产生的波形通过上位机软件设置,然后将波形数据下载到AWG,AWG在CPLD的高速控制电路下将波形数据送高速DAC进行转换形成所要的波形。下面先分析AWG的硬件结构。 任意波形发生器的硬件结构 AWG的工作过程是,首先接收上位机送来的波形数字信号存储到SRAM,然后启动控制电路从SRAM取出数据送DAC进行数摸转换,转换后的模拟信号送低通滤波器形成波形。如果DAC工作在150MSPS的速度下,可以以150MHz的频率送数据到DAC进行转换,微控制器的晶振输入一般工作在40MHz以下,没有这么高的速度送出数据到DAC,所以考虑采用CPLD构建硬件控制电路。数据首先传送到SRAM,然后在CPLD硬件控制电路的控制下,以150MHz的频率从SRAM中取数送DAC转换。其体系结构如图一所示。如果要形成正弦周期信号,每周期4个点就可以合成一个波形,此时可以输出约38MHz的高频信号。 本装置中,CPLD采用Altera公司的EPM7128AE,其最高工作频率达200MHz。微控制器采用Atmel公司AVR微控制器AT90S8515,其主要特征有:增强型RISC体系结构CPU,8K Flash,512字节EEPROM,512字节Internal SRAM,UART,SPI,宽电压范围:2.7-6.0V。SRAM选用64K x 16的CY7C1021V。 下面对CPLD控制电路进行分析。 CPLD电路设计 CPLD主要负责以高速率(150MHz)从SRAM中取数到DAC,其核心电路是一个13位的计数器。波形数据文件的大小为8Kbytes。如果要扩大波形文件的大小,可以根据需要增加CPLD的地址计数器容量。在CPLD内部构造的DAC控制电路如图二所示,下面对其控制流程进行分析。 PA[15:0]接AT90S8515的2个8位并行口;D[15:0]接SRAM的数据线D0-D15;AD[12:0]接SRAM的地址线A0-A12;DB[15:0]接DAC的D0-D11(D12-D15不用);CLK_SEL选择计数器的时钟输入方式;CLK_AVR接MCU的一个I/O端,通过软件编程在CLK_AVR输出脉冲信号作为计数器的时钟;CLK_CPLD接150MHz时钟信号;/WR和/WE接MCU的I/O端。 当PC机下载数据时,其控制流程如下: ①CLK_SEL=0,选择软件时钟 ②复位地址计数器 ③MCU送数据到PA[15:0] ④/WR从0变到1,打开从MCU到SRAM的数据缓冲器将数据写入SRAM ⑤给CLK_AVR一个脉冲,让计数器增1从而指向SRAM的下一个接收地址单元。 当数据下载完成后,启动CPLD从SRAM取数据到DAC,其控制流程如下: ①WE=1,打开从SRAM到DAC的缓冲器。 ②CLK_SEL=1,计数器的输入时钟选择150MHz的外部时钟, ③复位地址计数器,外部高速时钟的驱动下地址计数器开始计数,从SRAM中取出数据送到DAC进行数据转换。 CPLD的编程在QuartusII5.0环境下进行,Quartus的设计输入支持AHDL、VHDL、Verilog HDL等硬件描述语言的程序输入和图形输入,这里采用图形输入的方式。完成设计输入后,依次进行编译、功能仿真、时序仿真。下图三是CPLD取数据到DAC进行转换的时序仿真结果。图中CPLD的工作频率为125MHz,实际工作中最高工作在200MHz,从图中可以看出,每来一个时钟,CPLD从SRAM中取出一个数据送DAC进行A/D转换。最后将结果下载到CPLD内部运行。 软件设计 AWG的软件采用CodeVision AVR C编写,AT90S8515支持ISP(In System Programming,在系统编程),程序编译后经JTAG口下载到AT90S8515中。为配合该装置的使用,我们在VB开发环境下设计了上位机软件,其运行界面如图四所示,在该软件中选择要产生的波形,然后下载到AWG。 AWG和PC机采用RS-232串口通信,上电运行后等待PC传送波形,接收完波形数据后,启动CPLD从SRAM中取出数据送DAC进行D/A转换,经低通滤波器形成输出波形。 AWG和PC机通过RS232串口连接后,运行PC机软件,在PC机上选择要生成的波形,生成波形数据下载到AWG,可以选择线性调制技术的绝对相移键控(BPSK)、相对相移键控(DPSK)、四相相移键控(QPSK)、交错正交相移键控(OQPSK)、π/4偏移差分相移键控(π/4—DQPSK),恒包络调制的二进制频移键控(FSK)、最小频移键控(MSK)、高斯滤波最小频移键控(GMSK),混合线性和恒包络调制技术的M相相移键控(MPSK)、多进制正交幅度调制(QAM)、多进制频移键控(MFSK)等波形,下载到AWG生成所要的波形。下图五是DAC工作在125MHz下合成的2FSK(Frequency Shift Key)波形。 以上便是此次小编带来的“波形发生器”相关内容,希望大家对本文介绍的内容具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-06-02 关键词: 任意波形发生器 指数 波形发生器

  • 波形发生器设计篇,基于FPGA的DDS任意波形发生器

    波形发生器设计篇,基于FPGA的DDS任意波形发生器

    波形发生器具有多种类型,对于波形发生器,小编在系列文章中有过诸多介绍。本文中,小编将为大家介绍DDS任意波形发生器,主要内容在于探讨如何基于FPGA实现该波形发生器的设计。如果你对波形发生器具有兴趣,不妨继续往下阅读哦。 一、DDS概述 1.1 DDS基本原理 直接数字合成技术(Direet Digital Synthesis,简称DDS)是建立在采样定理基础上,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后通过查表读取数据,再经D/A转换器转换为模拟量,将保存的波形重新合成出来。DDS基本原理框图如图1所示。 由图l看出,除了滤波器(LPF)之外,DDS系统都是以数字集成电路实现,因此DDS系统易于集成和小型化。DDS系统的参考时钟源通常是一个具有高稳定性的晶体振荡器,整个系统的各个组成部分提供同步时钟。频率字(FSW)实际上是相位增量值(二进制编码),作为相位累加器的累加值。相位累加器在每一个参考时钟脉冲输入时,累加一次频率字,其输出相应增加一个步长的相位增量。由于相位累加器的输出连接在波形存储器(ROM)的地址线上,因此其输出的改变就相当于查表。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出。ROM的输出送到D/A转换器,经D/A转换器转换成模拟量输出。 1.2 DDS的基本参数及其计算 在系统时钟脉冲的作用下,相位累加器不停累加,即不停查表,把波形数据送到D/A转换器转换成模拟量输出,从而合成波形。滤波器则进一步平滑D/A转换器输出的近似正弦波的锯齿阶梯波,同时衰减不必要的杂散信号。设频率字(FSW)的值为d,系统时钟频率为f,相位累加器的字长为N,则系统的输出频率为: 二、任意波形发生器的设计方案 基于DDS技术的任意波形发生器主要由微处理器控制模块、键盘与显示模块、DDS通道的FPGA实现模块、D/A转换模块以及滤波器模块组成。同时片外扩展了4 KB程序存储器SRAM和6 KB数据存储器ROM,分别用于存储波形抽样数据和3种标准输出波形抽样数据。本系统设计原理如图2所示。 2.1 微处理器控制模块 采用AT89C5l单片机完成数据处理和控制其他电路工作。将键盘接收的数据通过特定算法转换成二进制码,再将处理后的控制字、波形参数和其他器件的控制信号发送出去。 由于AT89C5l单片机主要接口有:微处理器与扩展器件的接口;微处理器与FPGA模块的接口;微处理器与键盘、显示模块的接口;微处理器与输出幅值调节电路的接口。由于单片机的输出引脚有限,需扩展其引脚。本设计采用8255器件扩展单片机的输出引脚,8255的PA用于相位控制字的输出;PB用于频率控制字的输出;PC是位可控输出端,用于DDS工作方式的控制字和波形参数的控制字输出引脚。AT89C5l单片机与FPGA的接口电路如图3所示。 2.2 键盘与显示模块 由于本系统设计的测量装置需要设置输出波形、频率、电压等参数,而且监控程序需要菜单驱动,因此需要设置键盘。键盘采用外接4×4软键盘,使用软件扫描方式获得按键信息。因为按键需要去抖动,因此采用软件编程方式实现,这样可以节省硬件资源,简化电路设计。 液晶显示可提供人机交互界面和系统运行状态,选用精工的MGLS 19264液晶显示屏。该液晶显示屏内置2块HD61202U液晶显示驱动控制器。其中CSA,CSB作为左、右屏片选信号,接单片机A8、A9引脚。同时单片机用地址Al作为R/W信号控制数据总线的数据流向;地址AO作为D/I信号控制寄存器的选择;E信号由单片机的读信号RD和写信号WR合成产生,实现计算机对内置HD61202U图形液晶显示模块的电路连接。电位器用来调节显示屏的对比度,如图4所示。液晶显示左半屏命令字地址为0EOOH;状态字地址为0EIOH;写显示命令字地址为0E0lH;读显示命令字地址为0EllH;右半屏对应地址为0D00H、0D10H、0D0lH、0DllH。 2.3 DDS通道的FPGA实现模块 该模块设计是DDS信号合成的关键部分,主要由相位累加器、地址总线控制器、数据总线控制器与SRAM组成。其中,除了SRAM外,其余3个模块都由FPGA实现。 相位累加器是整个DDS系统的关键,直接影响整个系统的功能。图5给出的FPGA结构框图中相位累加器实质上是一个带反馈的29位加法器,它把输出数据作为反馈数据和由微处理器送来的频率控制字连续相加,从而产生有规律的29位相位地址码。设计中采用流水线技术实现29位加法。当输入所需频率时,转换成频率控制字来驱动FPGA工作,从而产生所需波形频率。整个模块设计过程使用FPGA的开发软件实现并进行仿真。 2.4 D/A转换模块 D/A转换器是DDS系统的核心器件,其速度和特性直接影响整个系统的性能。从建立时间、尖峰脉冲能量、位数和积分线性等四个方面选择D/A转换器。因为DDS系统的工作频率一般都很高,因此首先应选用高速D/A转换器。其次是考虑信噪比问题,增大D/A转换器的位数,可减小电压幅值量化误差,增大信噪比,因此,采用了12位的D/A转换器。 2.5 滤波器模块 滤波器分为两组:一组是椭圆函数滤波器,用于正弦波的滤波;另一组是线性滤波器,用于其他标准波形的滤波。 以上便是此次小编带来的“波形发生器”相关内容,通过本文,希望大家对如何基于FPGA实现DDS任意波形发生器具备一定的认知。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-06-02 关键词: 任意波形发生器 指数 波形发生器

  • 波形发生器如何构建?基于Verilog打造自己的DDS任意波形发生器

    波形发生器如何构建?基于Verilog打造自己的DDS任意波形发生器

    波形发生器在各大行业中均有使用,带来了诸多便利。对于波形发生器,小编在往期文章中做过很多介绍。本文中,主要在于探讨波形发生器的实现过程。具体而言,将介绍基于Verilog实现DDS任意波形发生器。如果你是波形发生器的爱好者,疑惑想要了解本文的探讨内容,都不妨继续往下阅读哦。 一、总体方案实现及系统框图 在该DDS电路组成上,包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路。频率累加器对输入信号进行累加运算,产生频率控制数据,相位累加器对代表频率的M位二进制码进行累加运算,产生后面波形存储器所需的查表地址,幅度/相位转换电路实际上就是一个波形存储器,供查表使用,读出数据送人D/A转换器和低通滤波器。 系统设计原理框图如下: 系统设计原理框图 二、系统组成模块简介 1、顶层模块 顶层模块是系统程序的主模块,它负责将fom查找表、相位累加等模块组装在一起,通过调用的关系使它们组合成为一个有机的整体。在顶层模块中,定义了参考时钟的输入,复位端口,波形输出、频率控制字等。 2、相位累加器模块 相位累加器是决定系统性能的关键部分,主要是利用频率控制字和相位控制字来累加出寻址地址。相位累加器在基准频率信号clk的控制下以频率控制字data为步长进行累加运算,产生需要的频率控制数据,在时钟的控制下把累加的结果作为波形存储器ROM的地址,实现对波形存储器ROM的寻址。由于相位累加模块通过C语言实现比较容易,故我们没有单独成立一个模块,而是将它集成到了顶层模块的一个always语句块中: case(choose_wave) 2‘b00:begin sin_ena <= 1’b1; cos_ena <= 1‘b0; sawtooth_ena <= 1’b0; triangle_ena <= 1‘b0; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end 2’b01:begin cos_ena <= 1‘b1; sin_ena <= 1’b0; sawtooth_ena <= 1‘b0; triangle_ena <= 1’b0; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end 2‘b10:begin sin_ena <= 1’b0; cos_ena <= 1‘b0; sawtooth_ena <= 1’b1; triangle_ena <= 1‘b0; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end 2’b11:begin sin_ena <= 1‘b0; cos_ena <= 1’b0; sawtooth_ena <= 1‘b0; triangle_ena <= 1’b1; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end default:begin ADD_B <= 9‘b0; sin_ena <= 1’b0; cos_ena <= 1‘b0; sawtooth_ena <= 1’b0; triangle_ena <= 1‘b0; end endcase 在程序中还出现了一个变量(wave_choose)这是一个用来选择所要输出波形的一个变量,通过它可以控制输出的波形种类(正弦波,余弦波,三角波,锯齿波)。但是由于在设计的时候没有考虑到存在负值的影响,导致最后综合的结果不正确,经过询问老师知道修改方法是将rom查找表中所有采样点的电压负值全部抬高,消除负值,但是由于时间的原因没有来得及修改,也不知道方案修改的结果。 3、查找表 本模块实现的是一个rom存贮器,用于存储采样的波形数据,并提供地址查找的功能。具体实现的过程: 1) 首先使用数学工具计算得到波形采样点,生成mif文件 2) 导入数据采样点,给每一个采样点分配地址,并提供外部寻址的接口,此过程可以通过Quartas Ⅱ来辅助完成 由于我们组的设计时在modelsim下进行的,modelsim面向的是仿真,它不会产生所谓的“rom”这种实际的电路,所以我们没有采用这样的方法,而是简单的使用case语句来实现。虽然这样也能得到预期的效果,但是它却没有真正的生成一个“rom”,根据我组的综合结果来看,使用case语句生成的是一个与输入相关的复杂的逻辑网络,而不是rom那样有一定规则的电路结构。一下是我们使用C语言产生采样点的程序: void main(){ int i,j = 0;; FILE *fp; fp=fopen(“data.txt”,“w”); for(i=0;i<=256;i++){ //j=255*sin(2*3.14159/256*i)+0.5;//四舍五入 fprintf(fp,“i=%d,\tj=%d\n”,i,j); } fclose(fp); } 以上便是此次小编带来的“波形发生器”相关内容,通过本文,希望大家对如何基于Verilog开发DDS任意波形发生器具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-04-15 关键词: 指数 dds任意波形发生器 波形发生器

  • 大佬阐述波形发生器,仿真实验最佳波形发生器揭秘

    大佬阐述波形发生器,仿真实验最佳波形发生器揭秘

    波形发生器的应用较为广泛,随着具体应用不同,各公司开发出不同类型的波形发生器,如任意波形发生器、函数波形发生器、Arduino波形发生器等。不同的波形发生器具备其自身特色,那么何种类型波形发生器是仿真实验的最佳仪器呢?如果你对该问题存在一定兴趣,不妨继续往下阅读哦。 任意波形发生器是信号源的一种,它具有信号源所有的特点。我们传统都认为信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在电子实验和测试处理中,并不测量任何参数而是根据使用者的要求,仿真各种测试信号,提供给被测电路,以达到测试的需要。 信号源有很多种,包括正弦波信号源,函数发生器、脉冲发生器、扫描发生器、任意波形发生器、合成信号源等。一般来讲任意波形发生器,是一种特殊的信号源,综合具有其它信号源波形生成能力,因而适合各种仿真实验的需要。 一、函数功能,仿真基础实验室设计人员的环境 函数信号源是使用最广的通用信号源,它能提供正弦波、锯齿波、方波、脉冲串等波形,有的还同时具有调制和扫描能力,众所周知,在我们的基础实验中(如大学电子实验室、科研机构研究实验室、工厂开发实验室等),我们设计了一种电路,需要验证其可靠性与稳定性,就需要给它施加理想中的波形以辨别真伪。如我们可使用信号源的DC补偿功能对固态电路控制DC偏压电平;我们可对一个怀疑有故障的数字电路,利用信号源的方波输出作为数字电路的时钟,同时使用方波加DC补偿产生有效的逻辑电平模拟输出,观察该电路的运行状况,而证实故障缺陷的地方。总之利用任意波形发生器这方面的基础功能,能仿真您基础实验室所必须的信号。 二、任意波形,仿真模拟更复杂的信号要求 众所周知,在我们实际的电子环境所设计的电路在运行中,由于各种干扰和响应的存在,实际电路往往存在各种信号缺陷和瞬变信号,例如过脉冲、尖峰、阻尼瞬变、频率突变等(见图1,图2),这些情况的发生,如在设计之初没有考虑进去,有的将会产生灾难性后果。例如图1中的a处过尖峰脉冲,如果给一个抗冲能力差的电路,将可能会导致整个设备“烧坏”。确认电路对这样一个状况敏感的程度,我们可以避免不必要的损失,该方面的要求在航天、军事、铁路和一些情况比较复杂的重要领域尤其重要。 由于任意波形发生器特殊的功能,为了增强任意波形生成能力,它往往依赖计算机通讯输出波形数据。在计算机传输中,通过专用的波形编辑软件生成波形,有利于扩充仪器的能力,更进一步仿真模拟实验。同时由于编辑一个任意波形有时需要花费大量的时间和精力,并且每次编辑波形可能有所差异这样有的任意波形发生器,内置一定数量的非易失性存储器,随机存取编辑波形,有利于参考对比;或通过随机接口通讯传输到计算机作更进一步分析与处理。 三、下载传输,更进一步实时仿真 在一些军事、航空、交通制造业等领域中,有些电路运行环境很难估计,在实验设计完成之后,在现实环境还需要作更进一步实验,有些实验的成本很高或者风险性很大(如火车高速实验时铁轨变换情况、飞机试机时螺旋桨的运行情况等),人们不可能长期作实验判断所设计产品(例如高速火车、飞机)的可行性和稳定性等;我们就可利用有些任意波形发生器波形下载功能,在作一些麻烦费用高或风险性大的实验时,通过数字示波器等仪器把波形实时记录下来,然后通过计算机接口传输到信号源,直接下载到设计电路,更进一步实验验证。 综上所述,任意波形发生器是电子工程师信号仿真实验的最佳工具。以上便是此次小编带来的“波形发生器”相关内容,希望大家对本文介绍的内容具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-04-15 关键词: 任意波形发生器 指数 波形发生器

  • 3分钟认识波形发生器,如何设计AD9833型高精度可编程波形发生器?

    3分钟认识波形发生器,如何设计AD9833型高精度可编程波形发生器?

    波形发生器在生活中有很多应用,很多公司都有各种波形发生器产品。对于波形发生器,大家可能有些陌生,因为即使波形发生器存在诸多应用,但普通职业群众却很少接触波形发生器。为增进大家对波形发生器的了解,本文将对AD9833型高精度可编程波形发生器设计方案予以介绍。如果你对本文即将探讨的内容存在一定兴趣,不妨继续往下阅读。 一、AD9833波形发生器介绍 AD9833是一款低功耗、可编程波形发生器,能够产生正弦波、三角波、方波输出。波形发生器广泛应用于各种测量、激励和时域响应领域,AD9833无需外接元件,输出频率和相位都可通过软件编程,易于调节,频率寄存器是28位的,主频时钟为25MHz时,精度为0.1Hz,主频时钟为1MHz时,精度可以达到0.004Hz。 可以通过3个串行接口将数据写入AD9833,这3个串口的最高工作频率可以达到40MHz,易于与DSP和各种主流微控制器兼容。AD9833的工作电压范围为2.3V-5.5V。 AD9833还具有休眠功能,可使没被使用的部分休眠,减少该部分的电流损耗,例如,若利用AD9833输出作为时钟源,就可以让DAC休眠,以减小功耗,该电路采用10引脚MSOP型表面贴片封装,体积很小。 AD9833的主要特点如下: 频率和相位可数字编程; 工作电压为3V时,功耗仅为20mW; 输出频率范围为0MHz-12.5MHz; 频率寄存器为28位(在25MHz的参考时钟下,精度为0.1Hz); 可选择正弦波、三角波、方波输出; 无需外界元件; 3线SPI接口; 温度范围为-40℃-+105℃。 二、AD9833的结构及功能 2.1 电路结构 AD9833是一块完全集成的DDS(Direct Digital Frequency Synthesis)电路,仅需要1个外部参考时钟、1个低精度电阻器和一个解耦电容器就能产生高达12.5MHz的正弦波。除了产生射频信号外,该电路还广泛应外于各种调制解调方案。这些方案全都用在数字领域,采用DSP技术能够把复杂的调制解调算法简化,而且很精确。 AD9833的内部电路主要有数控振荡器(NCO)、频率和相位调节器、Sine ROM、数模转换器(DAC)、电压调整器,其功能框图如图1所示。 AD933的核心是28位的相位累加器,它由加法器和相位寄存器组成,每来1个时钟,相位寄存器以步长增加,相位寄存器的输出与相位控制字相加后输入到正弦查询表地址中。正弦查询表包含1个周期正弦波的数字幅度信息,每个地址对应正弦波中0°-360°范围内的1个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,去DAC输出模拟量,相位寄存器每经过228/M个MCLK时钟后回到初始状态,相应地正弦查询表经过一个循环回到初始位置,这样就输出了一个正弦波。输出正弦波频率为: fOUT=M(fMCLK/228) (1) 其中,M为频率控制字,由外部编程给定,其范围为0≤M≤228-1。 VDD引脚为AD9833的模拟部分和数字部分供电,供电电压为2.3V-5.5V。AD9833内部数字电路工作电压为2.5V,其板上的电压调节器可以从VDD产生2.5V稳定电压,注意:若VDD小于等于2.7V,引脚CAP/2.5V应直接连接至VDD。 2.2 功能描述 AD9833有3根串行接口线,与SPI、QSPI、MI-CROWIRE和DSP接口标准兼容,在串口时钟SCLK的作用下,数据是以16位的方式加载到设备上,时序图如图3所示,FSYNC引脚是使能引脚,电平触发方式,低电平有效。进行串行数据传输时,FSYNC引脚必须置低,要注意FSYNC有效到SCLK下降沿的建立时间t7的最小值。FSYNC置低后,在16个SCLK的下降沿数据被送到AD9833的输入移位寄存器,在第16个SCLK的下降沿FSYNC可以被置高,但要注意在SCLK下降沿到FSYNC上升沿的数据保持时间ts的最小和最大值。当然,也可以在FSYNC为低电平的时候,连续加载多个16位数据,仅在最后一个数据的第16个SCLK的下降沿的时将FSYNC置高,最后要注意的是,写数据时SCLK时钟为高低电平脉冲,但是,在FSYNC刚开始变为低时,(即将开始写数据时),SCLK必须为高电平(注意t11这个参数)。 当AD9833初始化时,为了避免DAC产生虚假输出,RESET必须置为1(RESET不会复位频率、相位和控制寄存器),直到配置完毕,需要输出时才将RESET置为0;RESET为0后的8-9个MCLK时钟周期可在DAC的输出端观察到波形。 AD9833写入数据到输出端得到响应,中间有一定的响应时间,每次给频率或相位寄存器加载新的数据,都会有7-8个MCLK时钟周期的延时之后,输出端的波形才会产生改变,有1个MCLK时钟周期的不确定性,因为数据加载到目的寄存器时,MCLK的上升沿位置不确定。 三、AD9833的引脚功能及时序 AD9833的引脚排列如图2所示,各个引脚的功能描述见表1。 AD9833的时序特性如图3、图4和表2所示。 四、AD9833的内部寄存器功能 AD9833内部有5个可编程寄存器,其中包括3个16位控制寄存器,2个28位频率寄存器和2个12位相位寄存器。 4.1 控制寄存器 AD9833中的16位控制寄存器供用户设置所需的功能。除模式选择位外,其他所有控制位均在内部时钟MCLK的下沿被AD9833读取并动作,表3给出控制寄存器各位的功能,要更改AD9833控制寄存器的内容,D15和D14位必须均为0。 4.2 频率寄存器和相位寄存器 AD9833包含2个频率寄存器和2个相位寄存器,其模拟输出为 fMCLK/228&TImes;FREQEG (2) 其中:FREQEG为所选频率寄存器中的频率字,该信号会被移相: 2π/4096&TImes;PHASEREC (3) 其中,PHASEREC为所选相位寄存器中的相位字。 频率和相位寄存器的操作如表4所示。 五、应用设计 AD9833可应用在L15型飞机控制盒配套的检测盒中,利用AD9833产生频率可调的正弦波,以模拟机轮速度传感器的速度信号,从而对控制盒的刹车防滑通道能否正常的刹车防滑进行检测。 5.1 AD9833的硬件电路连接 检测盒设计以TI公司的TMS320LF2407A型DSP作为核心控制器,应用中需要2路速度信号,因此需要检测盒给出2路可独立调节的频率,图5示出TMS320LF2407A与AD9833的硬件连接。 外接有源晶体振荡器的输出送给2个AD9833作为主频时钟,DSP的SPI口采用主动工作方式,即用SPISIMO口发送数据,为了与AD9833的时序相配合,DSP的接口时钟(SPICLK信号)方式选择有延时的下降沿,IOPC3和IOPC5作为电路选通信号,IOPC3为低电平时U2被选通,此时对U1写数据无效;同理,IOPC53为低电平时U1被选通,此时对U2写数据无效。 5.2 软件程序 图6示出了AD9833的软件流程。 无论是写控制寄存器、频率寄存器还是相位寄存器、在写数据之前都需要把选通信号置为有效状态,这样写入的数据才会有效,否则无效。在DSP发送完1个数据字后将产生SPI中断请求,本设计中未使用中断方式,而且通过查询中断标志来跳出,并虚读DSP的接收缓冲器清除中断标志。 以上便是此次小编带来的“波形发生器”相关内容,希望大家对本文探讨的内容具备一定的认知。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-04-15 关键词: 可编程 指数 ad9833 波形发生器

  • 什么是全新双脉冲测试软件?

    什么是全新双脉冲测试软件?

    什么是双脉冲测试软件?它的作用是什么?泰克科技公司日前宣布,为任意函数/波形发生器AFG31000推出一种全新的软件插件,可以在一分钟内执行关键双脉冲测试,与其他方法相比,明显节省了大量的时间。 借助全新双脉冲测试软件,工程师可以在AFG31000大型触摸屏显示器上的单个窗口快速定义脉冲参数,生成执行测试所需的脉冲,所需时间还不到一分钟。该软件可以调节脉宽的阻抗及每个脉冲之间的时隙,支持最多30个脉冲,脉宽范围在20 ns ~ 150 µs之间。 “全新双脉冲测试插件再次证明,我们的全新AFG31000可以简便地设置测试系统,快速更改参数,以极高的效率和稳定性运行一系列测试。”泰克科技公司吉时利产品线副总裁兼总经理Chris Bohn说,“这大大提高了电源工程师的工作效率,进而明显降低成本,缩短产品开发周期。” 电源和半导体行业中的研究人员及设计和测试工程师使用双脉冲测试,来测量和评估功率器件的开关参数和动态特点,包括采用宽带隙材料制成的器件,如碳化硅(SiC)和氮化镓(GaN)。 为执行双脉冲测试,工程师需要精确生成至少两个具有不同脉冲宽度和时序的电压脉冲,以触发MOSFET或IGBT功率器件。使用当前测试设备生成这些脉冲一直面临着很大的挑战,迫使研究人员和工程师使用PC或微控制器手动创建波形,这一过程既耗时又容易出错。 AFG31000重新界定了任意波形/函数发生器 AFG31000于去年问世,在同类产品中创下了多项业界第一,重新界定了任意波形/函数发生器,包括最大的触摸屏、全新的用户界面、已获专利的可以自动检测和补偿阻抗不匹配的InstaView™技术功能、可编程波形排序、可以简便创建和编辑任意波形的全新ArbBuilder工具。 AFG31000系列仪器拥有9英寸触摸屏显示器,分为1通道和2通道配置,提供了14位垂直分辨率及250 MSa/s、1 GSa/s或2 GSa/s采样率。以上就是双脉冲测试软件的解析,希望能给大家帮助。

    时间:2020-03-31 关键词: 泰克 双脉冲 波形发生器

  • 使用施密特触发反相器搭建简易方波发生器

    使用施密特触发反相器搭建简易方波发生器

    简介 波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。本文利用施密特反相器实现一种简单的方波波形发生器。 施密特反相器 施密特反相器是逻辑电路上常见的一种高速CMOS器件。常见的施密特触发器的型号有74LS14、74LS18、CD4093、HEF4093、HCF4093等。一般应用于波形转换,谐振电路等逻辑电路中。 施密特触发反相器逻辑符号 在使用施密特触发器时,需要特别注意两个电气特性参数:正向输入阈值电压VT+和负向输入阈值电压VT-。 74hc14阈值电压参数。有图可见,阈值电压受温度影响较大 这两项参数会对输出波形的频率产生很大的影响。 施密特触发器方波发生电路 简单的施密特触发器方波发生电路如下图: 方波发生简单电路 施密特触发器输入输出波形 这种简易的方波发生器本质上RC谐振电路加上施密特触发器的特性实现的,所以方波输出频率和RC谐振频率计算原理是一样的,即充放电时间。 电容充放电时间公式: T=RC*[(Vu-V0)/(Vu-Vt)] -V0 为电容上的初始电压值 -Vu 为电容充满终止电压值 -Vt 为任意时刻t,电容上的电压值 在常规的RC电路中,我们一般认为3~4*RC电容就会充电或者放电完成。但在施密特触发方波放生电路中: 充电时间为:T1=RC*ln[(VH-VT-)/(VH-VT+)] 放电时间为:T2=RC*ln[([(0-VT+)/(0-VT-)] 则整个周期T=T1+T2,可见阈值电压会对方波频率产生影响。由于不同器件的阈值电压以及温度对阈值电压有较大影响,因此对需要可靠精准方波信号的场合,这种电路肯定是不合适的。但由于这种电路结构简单廉价,对于应用于一般场合的产品来说,这种电路确实十分实用的。 更多波形发生器的相关阅读 任意波形发生器简介 高速任意波形发生器的设计 基于FPGA非正弦波形发生器的电路设计 基于Nios II与LabVIEW的任意波形发生器实现

    时间:2020-02-19 关键词: 波形发生器

  • 波形发生器设计,单片机、CPLD控制的任意波形发生器设计实例

    波形发生器设计,单片机、CPLD控制的任意波形发生器设计实例

    波形发生器有多种类型,任意波形发生器便是其中一种。对于任意波形发生器,小编曾带来相关介绍,如高速任意波形发生器的设计等。本文中,讲为大家讲解采用单片机和CPLD控制的任意波形发生器的设计。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。 在电子工程设计与测试中,常常需要一些复杂的、具有特殊要求的信号,要求其波形可任意产生,频率方便可调。 结合实际需要,我们设计了一种任意波形发生器。电路设计中充分利用MATLAB的仿真功能,将希望得到的波形信号在MATLAB中完成信号的产生、抽样和模数转换,并将得到的数字波形数据存放在数据存储器中,通过单片机和CPLD控制,将波形数据读出,送入后向通道进行A/D转换和放大处理后得到所需的模拟信号波形。利用上述方法设计的任意波形发生器,信号产生灵活方便、功能扩展灵活、信号参数可调,实现了硬件电路的软件化设计。 系统框图 任意波形发生器的设计思想,是利用MATLAB的强大仿真功能,方便、快捷的生成给定频率、周期、脉宽的任意波形数据;并将数据预存在数据存储器中。在单片机控制下,利用CPLD电路产生地址读出数据,送入D/A转换电路,得到所需的任意波形信号。系统结构框图如图1;图中分频电路和地址发生器由CPLD实现。 图1 系统框图 电路设计及实现单片机控制电路 单片机采用AT89C52芯片,通过软件编程产生所要求的控制信号。主要的控制参数包括:信号周期、脉宽;分频电路的开始信号、地址发生器的复位信号;E2PROM的选通信号;D/A转换电路的选通信号。在具体电路中,端口P1.0控制分频电路的启动、P1.1控制地址发生器的清零,P2.0控制28C256和AD7545的选通信号。单片机工作在定时器0方式,软件设计利用C语言实现。流程图如图2所示。 图2 软件流程图 波形数据生成 MATLAB作为一款优秀的数学工具软件,具有强大的运算功能;可以方便的产生各种信号波形,在软件中实现波形信号的产生、抽样和模数转换。设计的任意波形发生器,数据存储器选用28C256芯片,信号波形通过MATLAB仿真产生;得到的波形数据存放在数据存储器28C256中。具体设计中,我们要求产生周期为200ms,脉宽为5ms的单/调频混合信号,其中单频信号的脉宽为4ms,频率为30KHz;调频信号的脉宽为1ms,频率为30KHz_35KHz。在MATLAB中设定抽样率为500KHz,得到了2500个波形数据。这些混合波形数据在烧录入数据存储器的过程中,由于波形数据较多,直接用手工录入数据存储器中不仅费时且容易出错。为克服这一弊端,通过MATLAB编程的方法将产生的波形数据按照HEX文件的INTEL格式存放,然后将这些波形数据整批次烧录入数据存储器中。采用上述方法,波形数据生成简单,快捷;可根据需要在软件程序中方便地修改信号参数;无需改动硬件电路即可实现信号参数的功能扩展。 CPLD逻辑设计 分频电路采用两片74HC163实现。通过分频电路,将12MHz的晶振标准频率分频后,得到500KHz的抽样频率,作为地址发生器的时钟。分频电路的工作由单片机控制。 地址发生器电路由3片74HC163组成,时钟频率为500KHz,有分频电路提供;和预存的波形数据抽样频率相一致,以实现数据的无失真读出。 电路设计中,采用ALTRA公司的EPM7128AETC100-10芯片,在MAX+PLUSⅡ开发环境中完成分频;PLD的电路设计,可以省去大部分的中小规模集成电路和分离元件;使得电路具有集成度高、工作速度快、编程方便、价格低廉的显著优点。通过CPLD和数据预生成的信号实现方法,无需改变硬件电路,即可实现信号参数的任意调整;同时外围电路十分简单,为工程调试和应用带来了方便。 D/A转换电路 D/A转换电路的实现如图3所示。电路中,AD7545将波形数据转换为模拟信号;LF353进行信号滤波和整形。 图3 D/A转换电路 结语 采用上述方法设计的任意波形发生器,通过软件和硬件结合,充分发挥MATLAB强大的仿真功能,尽可能的减少了硬件开销。根据实际需要,可产生正弦波、三角波、锯齿波、方波等多种波形,可以产生线性调频信号(LFM),单频脉冲信号(CW),余弦包络信号以及他们之间的组合信号等多种波形参数;满足了工程需要。该任意波形发生器已应用于在研项目“水中运动目标轨迹测量”中,效果良好。 以上便是此次小编带来的“波形发生器”相关内容,通过本文,希望大家对单片机、CPLD控制的任意波形发生器设计方法具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-02-13 关键词: cpld 任意波形发生器 波形发生器

  • 波形发生器进阶篇,在LabVIEW中控制Analog Discover波形发生器

    波形发生器进阶篇,在LabVIEW中控制Analog Discover波形发生器

    波形发生器的使用已司空见惯,对于波形发生器,想必很多朋友均有所了解。如果你想增进对波形发生器的了解,可以翻阅小编往期带来的波形发生器相关文章。而本文对于波形发生器的讲解,在于介绍如何在LabVIEW中控制Analog Discovery™波形发生器。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。 步骤1:材料 必备条件:您必须已完成上一个项目中的步骤2。必须遵循上一个项目的选件2.1(即安装LabVIEW)。 硬件 模拟发现 软件 WaveForms 2.6.2或更高版本 LabVIEW(到目前为止,已经测试了2013和2014版本可以正常工作) 步骤2:前言 为正确理解该项目的功能,了解Waveforms SDK非常重要。通常,模拟发现是通过免费软件包Waveforms控制的。WaveForms还附带了一个开源开发工具包。通过该SDK,您可以访问C/C++API库,任何人都可以为Analog Discovery编写自己的软件接口。在WaveForms参考手册中可以找到API中所有可用功能的概述。 该LabVIEW项目的核心是简单地调用C/C++API函数。专用VI用于LabVIEW中的每个单独的Waveforms API函数。通过单击项目窗口中的digilent.lvllib,可以查看可用API函数的列表。该列表中的每个VI都有对应的C/C++API函数。有关每个功能如何工作的更多信息,请参考WaveForms参考手册,如上图所示。 步骤3:主GUI代码概述 在GUI Main中,该代码是GUI Main的简化派生,继承自先前的LabForms项目。为了简洁起见,许多Waveforms API调用已组合到了子VI中。在新的GUI Main中,有两个主要部分需要关注,即Device Selection Loop和Run Device Functions部分。 设备选择循环 设备选择循环有两个主要功能。首先,它使用“查找已连接的设备.vi”搜索要连接的兼容设备。添加了刷新按钮选项,因此您可以在启动GUI Main.vi之后连接设备。“查找连接的设备.vi”检查以确保没有其他应用程序正在使用您要打开的设备。如果设备已经在使用中,则对前面板控件进行配置,以便使“确定”按钮呈灰色。这样可以防止您打开已在使用的设备。如果不使用设备,则可以单击“确定”以继续进行打开过程。一旦打开过程结束,设备选择循环将终止,并启动运行设备功能部分。 运行设备功能 本节的第一部分将打开所选设备。该过程是自我解释的,不需要详细解释。有关更多信息,请参考代码中带编号的注释。打开设备后,您设计的任何自定义VI都将开始运行。在此项目中,运行“GUI自定义波形Gen.vi”。如果要调整自定义信号输出的范围,可以在选择设备之前单击“启用范围”按钮。这将从LabForms中打开标准示波器窗口。 步骤4:来自生成代码概述的自定义Wave 自定义波形发生器可以完成一些操作。首次调用时,两个波形通道W1和W2都被启用(请参见循环左上方的代码)。接下来,进行一些计算以将光标在2d框中的位置转换为波形的幅度和频率。有关详细信息,请参考代码中的注释。 从/事件结构生成波形 该项目的核心是生成模拟信号。这是使用“Generate Waveform.vi”在事件结构中完成的。该子VI仅调用了少数控制模拟发现的WaveForms API函数。上面包含了Generate Waveform。vi代码的图片。它描述了哪些API函数用于控制Analog Discovery的信号发生器。有关这些API函数如何工作的更多信息,请参阅WaveForms SDK参考手册。 为使波形生成正常工作,请务必注意调用Generate Waveform.vi的上下文。该VI应在事件结构中调用,因此仅在发生某些事件时才可激活。每次循环调用G 赋能Waveform.vi都会导致性能问题和输出波形中的 不连续。此事件结构包含两种不同的情况。 事件结构案例[0]: 第一拳是一个超时案例。重要的是,通过将一个值连接到事件结构左上方的小沙漏来提供超时持续时间。否则,可能会导致整个项目冻结。 事件结构案例[1]: 此事件案例是调用 Generate Waveform的事件案例。vi设置为在图片边界内单击鼠标,在图片边界内移动或退出图片边界时触发。如果需要,可以通过右键单击事件结构并单击相应的选项卡来编辑案例处理的事件。 在2d图片上绘制光标 如果您对如何在2d图片上绘制光标感到好奇,请查看上面的subVI代码。代码中的注释说明了如何绘制光标。 第5步:运行项目 要使事情运行,请打开LabVIEW项目。打开项目窗口后,双击“GUI Main.vi”。打开该VI的前面板后,执行此gif所示的操作以使波形发生器运行。 WaveGen/示波器的物理接线 如果要在示波器面板中查看正在生成的波形,必须将波形连接到模拟输出,然后模拟输入引脚(请参见上图)。有关引脚的详细信息,请参见Analog Discovery引脚。 正确停止项目 要使整个项目停止,您必须按下停止按钮所有弹出的窗口。GUI主窗口没有停止按钮,并且在您正确关闭其他窗口后将自动停止。 以上便是此次小编带来的“波形发生器”相关内容,通过本文,希望大家对本文讲解的内容具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-02-13 关键词: LabVIEW analog discover 波形发生器

  • 波形发生器设计实例,利用数字频率合成技术设计高速任意波形发生器(下)

    波形发生器设计实例,利用数字频率合成技术设计高速任意波形发生器(下)

    波形发生器已有较多使用,各大机械公司均具备波形发生器产品。上篇文章中,小编为大家带来一篇波形发生器设计实例,讲解了如何利用数字频率合成技术设计高速任意波形发生器。本文波形发生器相关内容,为上篇文章的余下部分,一起来了解下吧。 一、任意波形产生电路的设计 如图4所示,一个完整的任意波形产生电路主要由时钟发生电路、地址计数器、波形存储器、锁存器、奇偶数据选择电路以及D/A转换器构成。 时钟发生电路用于产生任意波形发生器所需的可变时钟,通常可以由单片机控制的锁相环电路构成,在实际设计中采用锁相环集成电路,产生最高频率为100MHz的时钟信号,时钟电路的输出信号送往地址计数器的时钟输入端,以驱动地址计数器扫描波形存储器中的数据,地址计数器采用15位二进制同步计数器,逻辑上等同于4片74F161级联,地址计数器输出的15位地址数据与波形存储器的地址输入端相连,波形存储器使用四片32K×8(读写速度为12ns)的SRAM级联成32K×32的SRAM阵列,SRAM阵列输出端的32比特数据中,24比特为波形数据,2比特为控制信号,其余6比特数据线不使用。每个波形点分辨率为12比特,每个地址存放两个波形点的数据,单片段任意波信号最长可达64K个点,2个控制信号分别为停止位、同步位,停止位数据线通过D触发器与地址计数器的预置数控制端端相连,当检测到扫描至最后一个波形地址时,停止位将地址计数器的预置数控制端置位,这样在下一个时钟到来时,地址计数器又从该任意波形的首地址寻址,读取波形数据。控制信号中的同步位用于输出外同步信号。波形存储器输出的24位任意波形数据由锁存器锁存后送往12位奇偶数据选择电路的输入端。如前所述,波形存储器的每个地址存放两个点的波形数据,在通过人机接口向波形存储器写入波形数据时,一个点的波形数据由每个地址中的奇数位数据构成,另外一个点的数据由偶数位构成,这样做的好处是每个采样时钟到来时,可同时读取2个波形点的数据,使得输出波形的最高频 率增大了1倍,相当于采样时钟的频率提高了1倍,大大提高仪器性能。12位奇偶数据选择电路逻辑上等同于3片74F157。奇偶数据选择电路的输出端与D/A转换器的输入端相连,D/A转换器的作用是将从波形存储器中读取的数字信号转换为模拟信号,由于最高时钟频率为100MHz,所以D/A转换器选择速率为125百万次/秒的AD975。根据采样定律输出信号的基波频率将低于所用的参考时钟频率的一半,在本方案中采样时钟最高频率为100MHz,一个任意波形最少可由4个点构成,并且每个时钟周期读取两个波形数据,因此所输出的任意波形信号的最高频率为50MHz。上述电路中,15位同步二进制地址计数器、24位锁存器、12位奇偶数据选择电路及相关控制电路也可由高速CPLD实现。 二、滤波器设计 经过D/A转换后的信号通常含有较多的时钟成分及较为陡峭的跃变边缘,为了减少输出波形的抖动、抑制高次谐波,在任意波形发生器的设计中选择有效的滤波器就显得非常重要,高速任意波形发生器即能输出正弦波,又可输出三角波、锯齿波、脉冲波以及任意波型,因此要根据不同频段和波形来选择不同性能的滤波器,椭圆(EllipTIc)滤波器具有陡峭的过渡特性,适合用作正弦波的输出滤波器,三角波、锯齿波和任意波具有丰富的频谱,因此要求滤波器在通带范围内具有良好的幅频特性,以保证信号通过滤波器后即不产生失真,又能滤去杂散信号。椭圆滤波器对正弦波以外的其他波形会产生剧烈的振铃,而具有线形相位的高斯(Gaussian)滤波器可以满足这些要求,在本方案中由于任意波形发生器的采样时钟可变,因此它的低通滤波器的截止频率也必须变化,否则在有些频段就不起滤波作用,或者是在高频段有用信号会被衰减,为此本设计方案中采用截止频率为25MHz、50MHz的七阶椭圆滤波器以及截止频率为20MHz高斯滤波器,由单片机根据不同情况编程选择。图5给出了截止频率为50MHz的七阶椭圆滤波器以及截止频率为20MHz高斯滤波器的电路。 三、GPIB接口设计 尽管目前在智能仪器中有许多新的接口标准,比如USB、LAN等,但是GPIB(General Purpose Interface Bus)接口仍然是业界公认的智能仪器标准接口,在本方案中采用GPIB接口由PC机向任意波形发生器下载数据,并可通过GPIB总线远程控制任意波形发生器,GPIB接口电路由采用NI公司的NAT7210GPIB专用集成电路和TI公司生产的GPIB总线驱动器SN75160以及SN75162构成,NAT7210输出的是标准的GPIB格式数据,符合IEEE488.2标准,GPIB总线驱动器的作用是增强接口的驱动能力。NAT7210与SN75160、SN75161以及单片机之间的连接方法参见文献。 四、高速任意波形发生器的软件设计 高速任意波形发生器的软件包括PC机部分的波形编辑及下载软件以及仪器内部的单片机控制软件两部分,波形编辑及下载软件具备各种任意波形编辑能力,例如直线编辑方式、曲线编辑方式、公式编辑方式、调制波形编辑方式。波形编辑及下载软件能够通过GPIB接口与任意波形发生器通信完成任意波形数据的下载及仪器的远程监控。仪器内部的单片机控制软件结构采用经典的主程序循环和中断服务模式,其流程图如图6所示。仪器加电后,首先进行自检和软、硬件的初始化,再进入主程序的循环,主程序的循环是等待中断处理的过程,它依据中断请求判断中断源,开中断并转向相应的中断处理子程序,完成对应操作或硬件控制。 以上便是此次小编带来的“波形发生器”相关内容,通过本文,希望大家对讲解的内容具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-02-13 关键词: 数字频率 高速任意波形发生器 波形发生器

  • 波形发生器设计实例,利用数字频率合成技术设计高速任意波形发生器(上)

    波形发生器设计实例,利用数字频率合成技术设计高速任意波形发生器(上)

    波形发生器为常用器件,正因如此,波形发生器具备较强现实意义。对于波形发生器,诸多朋友均存在一定兴趣。此外,小编在往期带来诸多波形发生器相关文章,热爱波形发生器的朋友可翻阅哦。本文中,小编对于波形发生器的讲解主要在于对高速任意波形发生器的工作原理加以介绍。 请注意,本文仅为小编带来的如何采用数字频率合成技术进行高速任意波形发生器设计的上篇,在后期的文章中,小编将带来本文的下篇,请注意留意本网站动态哦,正文如下。 一、序言 任意波形发生器是目前电子测量仪器中发展最为快速的产品之一。它既可输出标准函数信号,也可以产生由用户定义的非标准函数波形(任意波形)信号,并且有丰富的模拟调制(AM,FM,PM)和数字调制(FSK,PSK)功能,能为不同的应用领域提供各种标准或非标准信号,尤其在水下声纳、通信、雷达导航、电子对抗等装备的研制、生产、维修中,是必不可少的信号发生器。 二、高速任意波形发生器的工作原理 目前任意波形发生器的产生有两种方案,一种方案是采用直接数字频率合成(DDS)技术产生任意波形,工作原理如图1所示。 一个标准的DDS电路应当由以下几部分构成,既相位累加器、波形存储器、D/A转换器、低通或带通滤波器构成。任意波形数据预先通过人机接口写入波形存储器中,相位累加器的作用是根据输入的频率控制字对参考振荡器输出的时钟相位进行采样。当相位累加器的步长为K时。任意波形的输出频率 式中,Fs为固定采样时钟频率,n为相位累加器长度,改变频率控制字K,就可以改变DDS的输出频率。 采用DDS技术构成的任意波形发生器具有输出频率分辨率高、频率改变相位连续等优点,但也存在两个重要缺陷。首先是当相位累加器的相位增量步长较大时,输出波形将产生抖动;其次由于DDS技术不是逐点读取波形存储器中的数据,因此输出波形会丢失许多有用的信息。 任意波形发生器的另外一种设计方案如图2所示,其工作原理是任意波形发生器的时钟通过使计数器加1来改变由计数器构成的地址产生电路的输出地址,计数器顺序扫过波形存储器中的每一个地址直到波形数据的末端,每个地址中的波形数据都被送至D/A转换器中以将数字信号转为模拟信号,而后D/A转换器的输出信号还需经过低通滤波器对D/A转换器输出信号的跃变边缘进行平滑处理得到所需的任意波形。在这种方案中,所有波形数据都被送入D/A转换器中,所以不会丢失波形数据,但要全部输出波形存储器中定义的波形数据内容,并且任意波形的输出信号频率可变,那么取样时钟的频率就必需是可变的,这点与由DDS构成的任意波形发生器有着明显的区别。采用该方案任意波形的输出频率 式中,Fs为可变采样时钟频率。 使用该方案电路结构简单,能够输出复杂的任意波形,对于高速任意波形发生器最为适合。基于该方案的任意波形发生器采样速率可达200百万次/秒,任意波形的最高输出频率可以达到50 MHz。高速任意波形发生器波形总体电路的方框图如图3所示。 以上便是此次小编带来的“波形发生器”的相关内容,通过本文,希望大家对高速任意波形发生器的工作原理具备一定的认知。此外,本文仅为如何利用数字频率合成技术设计高速任意波形发生器的上篇,主要内容将在下篇中讲解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-01-09 关键词: 数字频率 高速任意波形发生器 波形发生器

  • 波形发生器制作,基于Max038制作函数波形发生器

    波形发生器制作,基于Max038制作函数波形发生器

    波形发生器种类较多,如任意波形发生器、pwm波形发生器等。对于波形发生器的理论知识,想必大家均有所了解。因此,为增强大家的动手能力,本文将介绍如何基于Max038制作函数波形发生器。如果你对这篇波形发生器相关文章存在一定兴趣,不妨继续往下阅读哦。 MAX038是美国马克希姆公司研制的单片高频精密函数波形发生器。 (1)它能产生精确的高频正弦波、矩形波(含方波)、三角波和锯齿波。 (2)频率范围宽,从0.1Hz直到20MHz,最高可达40MHz。 (3)占空比调节范围宽,且占空比与频率均可单独调节,相互影响小。 (4)波形失真小。正弦波总谐波失真度仅为0.75%,占空比调节的非线性度只有2%。 (5)可由内部提供2.50V±0.02V的基准电压去设定频率、占空比等。 (6)采用±5V双供电,电源电压是±4.75~±5.25V,允许变化±5%,电流约80mA。 2. 74LS138简介 74LS138是数字电路中的译码器件,在一定的控制条件下能将输入的3种不同状态译成8种不同的输出状态来作为控制信号调节MAX038的工作状态。 3. PS9518简介 由武汉力源公司生产的PS9518是一个可取代机械电位器的8位非易失性器件,它内含一个单位增益放大器来缓冲输出并使VOUT的摆幅能达到电源幅度,该器件电源电压为2.7V~5.5V。其简单按钮输入为操作者调整设备提供理想的接口。 其/UP和/DWN的内部有50kΩ上拉电阻省去了按键控制所需要的外部电阻。 当/STR保持低电平时,只要芯片检测到VDD掉电,计数器的值(当前电阻值)便会自动存储到内部EEPROM中,在下次上电时,可以回到掉电前的状态。 4. U7及LM324 U7要求是一个能从DC至40 MHz都能正常工作的+5V单电源运算放大器。由于MAX038的输出信号幅度为2V的峰值,放大器的放大倍数设为220倍,所以U7输出为TTL电平的方波信号。在这里将其接为闭环工作状态,其目的是利用负反馈来减小放大电路对外界干扰的敏感程度。LM324为常见的双电压运算放大器。 5. 电路整体说明 电路由图1和图2将相应相同名字的端口连接构成。 (1)MAX038的⑩脚所接的6.8kΩ电阻要求为高精度、低温漂电阻,最好选用多只线绕电阻串联以减小误差;⑤脚所接的电容同样要求为高稳定度的优质无极性电容。在这里可用一单刀双投开关选择所接的电容,可在大范围内调节输出信号的频段;电路的输出信号频率的稳定度也主要由这几只元件决定。 (2)电路工作状态用一只微型DIP5的开关来统一调整,其状态真值表见附表。 注:在使用SW3、SW4、SW5调整时,需按下按钮开关方有效;在调整结束后,最好将SW3、SW4、SW5置于110或111态,这样可防止因误碰按钮开关而使输出状态改变。 以上便是此次小编带来的“波形发生器”的相关内容,通过本文,希望大家对如何基于Max038制作函数波形发生器的过程具备一定的了解,并对MAX038、74LS138、PS9518以及LM324等器件具备最基本的认识。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。如果你有什么想和小编分享的,可以在网页底部的评论框中进行留言哦。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-01-09 关键词: max038 函数波形发生器 波形发生器

  • 波形发生器实例篇,再析DDS波形发生器设计

    波形发生器实例篇,再析DDS波形发生器设计

    波形发生器为常用器件,对于波形发生器,许多朋友存在学习兴趣。此外,针对波形发生器,小编曾带来诸多相关文章。本文对于波形发生器的讲解,基于DDS任意波形发生器。主要内容为,基于Verilog实现DDS任意波形发生器。如果你对本文内容充满兴趣,不妨继续往下阅读。 DDS是从相位的概念直接合成所需波形的一种频率合成技术。不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位。本文为大家介绍基于Verilog实现的DDS任意波形发生器。 一、总体方案实现及系统框图 在该DDS电路组成上,包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路。频率累加器对输入信号进行累加运算,产生频率控制数据,相位累加器对代表频率的M位二进制码进行累加运算,产生后面波形存储器所需的查表地址,幅度/相位转换电路实际上就是一个波形存储器,供查表使用,读出数据送人D/A转换器和低通滤波器。 系统设计原理框图如下: 系统设计原理框图 二、系统组成模块简介 1、顶层模块 顶层模块是系统程序的主模块,它负责将fom查找表、相位累加等模块组装在一起,通过调用的关系使它们组合成为一个有机的整体。在顶层模块中,定义了参考时钟的输入,复位端口,波形输出、频率控制字等。 2、相位累加器模块 相位累加器是决定系统性能的关键部分,主要是利用频率控制字和相位控制字来累加出寻址地址。相位累加器在基准频率信号clk的控制下以频率控制字data为步长进行累加运算,产生需要的频率控制数据,在时钟的控制下把累加的结果作为波形存储器ROM的地址,实现对波形存储器ROM的寻址。由于相位累加模块通过C语言实现比较容易,故我们没有单独成立一个模块,而是将它集成到了顶层模块的一个always语句块中: case(choose_wave) 2‘b00:begin sin_ena <= 1’b1; cos_ena <= 1‘b0; sawtooth_ena <= 1’b0; triangle_ena <= 1‘b0; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end 2’b01:begin cos_ena <= 1‘b1; sin_ena <= 1’b0; sawtooth_ena <= 1‘b0; triangle_ena <= 1’b0; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end 2‘b10:begin sin_ena <= 1’b0; cos_ena <= 1‘b0; sawtooth_ena <= 1’b1; triangle_ena <= 1‘b0; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end 2’b11:begin sin_ena <= 1‘b0; cos_ena <= 1’b0; sawtooth_ena <= 1‘b0; triangle_ena <= 1’b1; if(ADD_B > 256) ADD_B <= 0; //关键代码,实现相位累加的功能 else ADD_B <= ADD_A + ADD_B; end default:begin ADD_B <= 9‘b0; sin_ena <= 1’b0; cos_ena <= 1‘b0; sawtooth_ena <= 1’b0; triangle_ena <= 1‘b0; end endcase 在程序中还出现了一个变量(wave_choose)这是一个用来选择所要输出波形的一个变量,通过它可以控制输出的波形种类(正弦波,余弦波,三角波,锯齿波)。但是由于在设计的时候没有考虑到存在负值的影响,导致最后综合的结果不正确,经过询问老师知道修改方法是将rom查找表中所有采样点的电压负值全部抬高,消除负值,但是由于时间的原因没有来得及修改,也不知道方案修改的结果。 3、查找表 本模块实现的是一个rom存贮器,用于存储采样的波形数据,并提供地址查找的功能。具体实现的过程: 1) 首先使用数学工具计算得到波形采样点,生成mif文件 2) 导入数据采样点,给每一个采样点分配地址,并提供外部寻址的接口,此过程可以通过Quartas Ⅱ来辅助完成 由于我们组的设计时在modelsim下进行的,modelsim面向的是仿真,它不会产生所谓的“rom”这种实际的电路,所以我们没有采用这样的方法,而是简单的使用case语句来实现。虽然这样也能得到预期的效果,但是它却没有真正的生成一个“rom”,根据我组的综合结果来看,使用case语句生成的是一个与输入相关的复杂的逻辑网络,而不是rom那样有一定规则的电路结构。一下是我们使用C语言产生采样点的程序: void main(){ int i,j = 0;; FILE *fp; fp=fopen(“data.txt”,“w”); for(i=0;i<=256;i++){ //j=255*sin(2*3.14159/256*i)+0.5;//四舍五入 fprintf(fp,“i=%d,\tj=%d\n”,i,j); } fclose(fp); } 以上便是此次小编带来的“波形发生器”的相关内容,通过本文,希望大家对如何基于Verilog进行DDS任意波形发生器设计具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2020-01-09 关键词: 任意波形发生器 dds 波形发生器

  • 波形发生器实例篇,AD9833波形发生器设计

    波形发生器实例篇,AD9833波形发生器设计

    波形发生器具备诸多应用,因此波形发生器的存在意义重大。基于不同使用场景,波形发生器具有多种类型,如任意波形发生器、Arduino波形发生器等。本文中,将为大家介绍AD9833型号高精度可编程波形发生器的设计方案,如果你对本文内容存在兴趣,不妨继续往下阅读。 1.AD9833波形发生器介绍 AD9833是ADI公司生产的一款低功耗,可编程波形发生器,能够产生正弦波、三角波、方波输出。波形发生器广泛应用于各种测量、激励和时域响应领域,AD9833无需外接元件,输出频率和相位都可通过软件编程,易于调节,频率寄存器是28位的,主频时钟为25MHz时,精度为0.1Hz,主频时钟为1MHz时,精度可以达到0.004Hz。 可以通过3个串行接口将数据写入AD9833,这3个串口的最高工作频率可以达到40MHz,易于与DSP和各种主流微控制器兼容。AD9833的工作电压范围为2.3V-5.5V。 AD9833还具有休眠功能,可使没被使用的部分休眠,减少该部分的电流损耗,例如,若利用AD9833输出作为时钟源,就可以让DAC休眠,以减小功耗,该电路采用10引脚MSOP型表面贴片封装,体积很小。 AD9833的主要特点如下: 频率和相位可数字编程; 工作电压为3V时,功耗仅为20mW; 输出频率范围为0MHz-12.5MHz; 频率寄存器为28位(在25MHz的参考时钟下,精度为0.1Hz); 可选择正弦波、三角波、方波输出; 无需外界元件; 3线SPI接口; 温度范围为-40℃-+105℃。 2.AD9833的结构及功能 2.1 电路结构 AD9833是一块完全集成的DDS(Direct Digital Frequency Synthesis)电路,仅需要1个外部参考时钟、1个低精度电阻器和一个解耦电容器就能产生高达12.5MHz的正弦波。除了产生射频信号外,该电路还广泛应外于各种调制解调方案。这些方案全都用在数字领域,采用DSP技术能够把复杂的调制解调算法简化,而且很精确。 AD9833的内部电路主要有数控振荡器(NCO)、频率和相位调节器、Sine ROM、数模转换器(DAC)、电压调整器,其功能框图如图1所示。 AD933的核心是28位的相位累加器,它由加法器和相位寄存器组成,每来1个时钟,相位寄存器以步长增加,相位寄存器的输出与相位控制字相加后输入到正弦查询表地址中。正弦查询表包含1个周期正弦波的数字幅度信息,每个地址对应正弦波中0°-360°范围内的1个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,去DAC输出模拟量,相位寄存器每经过228/M个MCLK时钟后回到初始状态,相应地正弦查询表经过一个循环回到初始位置,这样就输出了一个正弦波。输出正弦波频率为: fOUT=M(fMCLK/228) (1) 其中,M为频率控制字,由外部编程给定,其范围为0≤M≤228-1。 VDD引脚为AD9833的模拟部分和数字部分供电,供电电压为2.3V-5.5V。AD9833内部数字电路工作电压为2.5V,其板上的电压调节器可以从VDD产生2.5V稳定电压,注意:若VDD小于等于2.7V,引脚CAP/2.5V应直接连接至VDD。 2.2 功能描述 AD9833有3根串行接口线,与SPI、QSPI、MI-CROWIRE和DSP接口标准兼容,在串口时钟SCLK的作用下,数据是以16位的方式加载到设备上,时序图如图3所示,FSYNC引脚是使能引脚,电平触发方式,低电平有效。进行串行数据传输时,FSYNC引脚必须置低,要注意FSYNC有效到SCLK下降沿的建立时间t7的最小值。FSYNC置低后,在16个SCLK的下降沿数据被送到AD9833的输入移位寄存器,在第16个SCLK的下降沿FSYNC可以被置高,但要注意在SCLK下降沿到FSYNC上升沿的数据保持时间ts的最小和最大值。当然,也可以在FSYNC为低电平的时候,连续加载多个16位数据,仅在最后一个数据的第16个SCLK的下降沿的时将FSYNC置高,最后要注意的是,写数据时SCLK时钟为高低电平脉冲,但是,在FSYNC刚开始变为低时,(即将开始写数据时),SCLK必须为高电平(注意t11这个参数)。 当AD9833初始化时,为了避免DAC产生虚假输出,RESET必须置为1(RESET不会复位频率、相位和控制寄存器),直到配置完毕,需要输出时才将RESET置为0;RESET为0后的8-9个MCLK时钟周期可在DAC的输出端观察到波形。 AD9833写入数据到输出端得到响应,中间有一定的响应时间,每次给频率或相位寄存器加载新的数据,都会有7-8个MCLK时钟周期的延时之后,输出端的波形才会产生改变,有1个MCLK时钟周期的不确定性,因为数据加载到目的寄存器时,MCLK的上升沿位置不确定。 3.AD9833的引脚功能及时序 AD9833的引脚排列如图2所示,各个引脚的功能描述见表1。 AD9833的时序特性如图3、图4和表2所示。 4.AD9833的内部寄存器功能 AD9833内部有5个可编程寄存器,其中包括3个16位控制寄存器,2个28位频率寄存器和2个12位相位寄存器。 4.1 控制寄存器 AD9833中的16位控制寄存器供用户设置所需的功能。除模式选择位外,其他所有控制位均在内部时钟MCLK的下沿被AD9833读取并动作,表3给出控制寄存器各位的功能,要更改AD9833控制寄存器的内容,D15和D14位必须均为0。 4.2 频率寄存器和相位寄存器 AD9833包含2个频率寄存器和2个相位寄存器,其模拟输出为 fMCLK/228&TImes;FREQEG (2) 其中:FREQEG为所选频率寄存器中的频率字,该信号会被移相: 2π/4096&TImes;PHASEREC (3) 其中,PHASEREC为所选相位寄存器中的相位字。 频率和相位寄存器的操作如表4所示。 5.应用设计 AD9833可应用在L15型飞机控制盒配套的检测盒中,利用AD9833产生频率可调的正弦波,以模拟机轮速度传感器的速度信号,从而对控制盒的刹车防滑通道能否正常的刹车防滑进行检测。 5.1 AD9833的硬件电路连接 检测盒设计以TI公司的TMS320LF2407A型DSP作为核心控制器,应用中需要2路速度信号,因此需要检测盒给出2路可独立调节的频率,图5示出TMS320LF2407A与AD9833的硬件连接。 外接有源晶体振荡器的输出送给2个AD9833作为主频时钟,DSP的SPI口采用主动工作方式,即用SPISIMO口发送数据,为了与AD9833的时序相配合,DSP的接口时钟(SPICLK信号)方式选择有延时的下降沿,IOPC3和IOPC5作为电路选通信号,IOPC3为低电平时U2被选通,此时对U1写数据无效;同理,IOPC53为低电平时U1被选通,此时对U2写数据无效。 5.2 软件程序 图6示出了AD9833的软件流程。 无论是写控制寄存器、频率寄存器还是相位寄存器、在写数据之前都需要把选通信号置为有效状态,这样写入的数据才会有效,否则无效。在DSP发送完1个数据字后将产生SPI中断请求,本设计中未使用中断方式,而且通过查询中断标志来跳出,并虚读DSP的接收缓冲器清除中断标志。 以上便是小编此次带来的所有内容,希望大家喜欢。

    时间:2019-12-13 关键词: 设计方案 ad9833 波形发生器

  • 波形发生器实例篇,DDS任意波形发生器设计下篇

    波形发生器实例篇,DDS任意波形发生器设计下篇

    波形发生器在生活中不可或缺,在往期文章中,小编曾对各类型波形发生器予以介绍,如任意波形发生器、Arduino波形发生器、pwm波形发生器等。本文对波形发生器的讲解,承接于《波形发生器实例篇,DDS波形发生器设计上篇》一文,将对DDS任意波形发生器设计的后续部分加以介绍。如果你对本文即将阐述的内容存在一定兴趣,不妨继续往下阅读哦。 一、固定波形输出 在FPGA内部实现高速的多位数相位累加器,输出地址信号,控制读出波形存储器中存放的波形幅度数字信号。通过改变相位累加器的相位增量M,即地址间隔的改变,控制读出波形存储器一个周期正弦波幅值的数目,达到输出频率的控制。其输出的频率为 , 其中fclk为系统时钟频率,N为相位累加器的位数,M为相位增量--频率控制字,由公式可知fout与肘成正比,控制M就可以控制输出的频率。如要频率步进为l0Hz,则要求 保证在输出最高频率输出时有32个点的波表数据输出,则要求时钟为3.2MHz。将50MHz的时钟10分频,得到5MHz的信号作为累加器的计数信号。则fclk=5MHz,2N=500000,因此,N可取20,2N=1048576。则fout=-4.77M,M=0.21fout。利用计算机输入要输出的频率,发送到单片机,单片机将对接收到的数据进行预算处理后发送给FPGA。 频率输入电路如图所示,接收8位的频率字长,输出为20位。 下面为STC89C52RC与EPlC3T144C8的接口程序,用控制字: 二、加法器 加法器为20位,自动累加,它以设定的频率控制字k作为步长来进行加法运算,当其和满时清零,并进行重新运算。电路图如下: 程序如下: 三、高十位寄存器 实现数据输入为20位,输出为10位,实现高位截断。程序为: 四、波形ROM及选择 本设计使用几个8bit的ROM,存储深度为1024点,用来存储正弦波等波形数据。每个波形数据存储在一个固定的ROM里,如下图。其中SineROM为正弦波存储模块,SquareROM为方波存储模块,Triangle-ROM为三角波存储模块,SwtoothROM为锯齿波存储模块。它们通过一个使能模块控制,采取低电平有效的方式,选择性读取任意模块的波形。一般每个模块都为高电平状态,即为不工作状态。每次输出波形时,仅有单独一个ROM_T_作(即工作模块为低电平,其他模块均为高电平),这样不仅保证可以按照需要输出固定波形,还可以避免波形输出发生非控制性的混杂。使能模块的输入端为行列式键盘,键盘中每一键单独使用,当某一键按下,则对应某一波形输入。因为4×4的键盘输出线为8位,仅为一根,因此输入端设为一根8位输入端口。通过设定,实现单键控制某~波形输出。本设计仅设定了4个固定波形ROM输出,即正弦波、方波、三角波和锯齿波,因此使能模块的选择输出线为4条,若增加新波形模块,可以更改输出端口的数量,进行扩展。 五、时钟分频 时钟分频电路如下,所以模块在同步时钟下协调工作,电路图如下: 程序如下: 六、任意波形输出 关于根据需要而产生的任意波形的设计如下:因为该任意波形是由上位机下传的波形数据,由单片机控制,所以必须设计一个能随时接受数据更新的RAM。数据传至任意波形的寄存器里,然后便可实现任意波形的输出。 选用的DA转换器为8位,所以RAM的字长也为8位,因此波形RAM的地址线的位数取lO位。为了实现任意波形数据的更新,波形RAM设计成为双口RAM。 以上便是小编此次带来的“波形发生器”所有相关内容,通过本文,希望大家可结合小编前期带来的《波形发生器实例篇,DDS波形发生器设计上篇》内容,对DDS任意波形发生器设计的全流程有所了解。如果你对波形发生器存在浓厚兴趣,可尝试自己动手哦。最后,十分感谢大家的阅读,have a nice day!

    时间:2019-12-13 关键词: 任意波形发生器 dds 波形发生器

  • 波形发生器实例篇,DDS任意波形发生器设计上篇

    波形发生器实例篇,DDS任意波形发生器设计上篇

    波形发生器是当代常用器件之一,想必学习波形发生器或者对波形发生器存在一定兴趣的朋友,对波形发生器或多或少具备一定的了解。本文对波形发生器的讲解基于任意波形发生器,该类型波形发生器是现代电子测试领域应用最为广泛的通用仪器之一,它的功能远比函数发生器强,可以产生各种理想及非理想的波形信号,对存在的各种波雷达、导航、宇航等领域。形都可以模拟,广泛应用于测试、通信、雷达、导航、宇航等领域。 本文主要内容是为大家介绍DDS任意波形发生器的设计,但本文仅为上篇,下篇将在后续文章中揭露。本文的目的在于提高大家对波形发生器的了解,并增强大家的动手能力,详细内容如下: 一、任意波形发生器的功能 任意波形发生器既具有其他信号源的信号生成能力,又可以通过各种编辑手段产生任意的波形采样数据,方便地合成其他信号源所不能生成的任意波形,从而满足测试和实验的要求。任意波形发生器的主要功能包括: (1)函数发生功能 基础实验中,为了验证电路功能、稳定性和可靠性,需要给它施加理想波形,任意波形发生器能替代函数发生器提供正弦波、方波、三角波、锯齿波等波形,还具有各种调制和扫频能力。利用任意波形发生器的这一基础功能就能满足一般实验的信号需求。 (2)任意波形生成 出于各种干扰的存在以及环境的变化,实际运行在实际电子环境中的设备,电路中往往存在各种信号缺陷和瞬变信号,例如过脉冲、尖峰、阻尼瞬变、频率突变等。任意波形发生器可以模拟这些特殊信号,以测试系统的实际性能。 (3)信号还原功能 在一些军事、航空等领域,有些电路运行环境很难估计,在设计完成之后,在现实环境中还需要更进一步的实验验证,而有些实验的成本很高或者风险性很大(如飞机试飞时发动机的运行情况),人们不可能重复作实验来判断所设计产品的可行性和稳定性。此时,可以利用任意波形发生器的信号还原功能。在做一些高耗费、高风险实验时,可以通过数字示波器把现实中的实际波形记录下来,再通过计算机接口下载到任意波形发生器,通过任意波形发生器还原实验中的实际做进一步的实验验证工作。 二、硬件结构说明 三、设计过程 在本系统中,DDS是任意波形实现的技术关键,其核心为相位累加器(全加器与数字寄存器)与ROM波形查询表构成。那么我们设计DDS的框图如下 建立一个模块实现从单片机接收来的频率控制字的寄存功能,作为寄存器。全加器实现20位的相位累加,通过频率控制字作为步长进行控制。由于FPGA内输出位数有限,因此建立一个模块进行高位截断,只取高十位,接收累加器输出的数据。然后再通过波形ROM完成波形的查找与输出。这部分为固定的正弦波、三角波、方波与锯齿波等常规波形的输出部分。任意波形部分,则需要一个能随时接受数据更新的RAM,其数据的写入由单片机控制,接收上位机的下传数据,其数据的读取由DDS中的地址发生器控制,这样即可产生任意波形输出。 以上内容便是小编此次带来的“波形发生器”的所有相关内容,本文主要讲解了DDS任意波形发生器设计的部分内容,希望大家对本文叙述的内容有所了解。DDS任意波形发生器设计下篇,小编将在后期文章中给出。如果你对本文内容感到满意,抑或想了解DDS任意波形发生器的完整设计过程,不妨持续关注我们的网站哦。最后,十分感谢大家的阅读,have a nice day!

    时间:2019-12-13 关键词: 任意波形发生器 dds 波形发生器

首页  上一页  1 2 3 4 下一页 尾页
发布文章

技术子站

更多

项目外包