正弦波信号发生器制作汇编
- 格式:ppt
- 大小:1.08 MB
- 文档页数:59
实验八正弦信号发生器的设计一、实验目的1、学习用VHDL设计波形发生器和扫频信号发生器。
2、掌握FPGA对D/A的接口和控制技术,学会LPM_ROM在波形发生器设计中的实用方法。
二、实验仪器PC机、EDA实验箱一台Quartus II 6.0软件三、实验原理如实验图所示,完整的波形发生器由4部分组成:• FPGA中的波形发生器控制电路,它通过外来控制信号和高速时钟信号,向波形数据ROM 发出地址信号,输出波形的频率由发出的地址信号的速度决定;当以固定频率扫描输出地址时,模拟输出波形是固定频率,而当以周期性时变方式扫描输出地址时,则模拟输出波形为扫频信号。
•波形数据ROM中存有发生器的波形数据,如正弦波或三角波数据。
当接受来自FPGA的地址信号后,将从数据线输出相应的波形数据,地址变化得越快,则输出数据的速度越快,从而使D/A输出的模拟信号的变化速度越快。
波形数据ROM可以由多种方式实现,如在FPGA外面外接普通ROM;由逻辑方式在FPGA中实现(如例6);或由FPGA中的EAB模块担当,如利用LPM_ROM实现。
相比之下,第1种方式的容量最大,但速度最慢;,第2种方式容量最小,但速度最最快;第3种方式则兼顾了两方面的因素;• D/A转换器负责将ROM输出的数据转换成模拟信号,经滤波电路后输出。
输出波形的频率上限与D/A器件的转换速度有重要关系,本例采用DAC0832器件。
DAC0832是8位D/A转换器,转换周期为1µs,其引脚信号以及与FPGA目标器件典型的接口方式如附图2—7所示。
其参考电压与+5V工作电压相接(实用电路应接精密基准电压).DAC0832的引脚功能简述如下:•ILE(PIN 19):数据锁存允许信号,高电平有效,系统板上已直接连在+5V上。
•WR1、WR2(PIN 2、18):写信号1、2,低电平有效。
•XFER(PIN 17):数据传送控制信号,低电平有效。
•VREF(PIN 8):基准电压,可正可负,-10V~+10V.•RFB(PIN 9):反馈电阻端。
太原理工大学 DSP课程设计设计题目:正弦信号发生器的设计班级:电信0801班姓名:凌天一、设计目的1、通过实验掌握DSP的软件开发过程2、学会运用汇编语言进行程序设计3、学会用CCS仿真模拟DSP芯片,通过CCS软件平台上应用C54X汇编语言来实现正弦信号发生装置。
二、设计原理本实验产生正弦波的方法是泰勒级数展开法。
泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。
求一个角度的正弦值取泰勒级数的前5项,得近似计算式:x3x5x7x9sin(x)=x-+-+3!5!7!9!2222xxxx =x1-1-1-1-(三、总体方案设计 2⨯3(4⨯5(6⨯7(8⨯9))))本实验是基于CCS开发环境的。
CCS是TI公司推出的为开发TMS320系列DSP 软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。
它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。
通过CCS软件平台上应用C54X汇编语言来实现正弦信号发生装置。
总体思想是:正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。
整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图。
四、设计内容1、设置在Family下选择C55xx,将看到所有C55xx的仿真驱动,包括软件仿真和硬件仿真;在Platform下选择Simulator,在Available Factory Boards中只显示软件仿真驱动,选中相应的驱动;双击C55xx Rev4.0 CPU Functional Simulator,可以在My System下看到所加入的驱动;点击Save & Quit,将保存设置退出Setup CCStudio v3.1并启动运行CCStudio。
正弦波信号发生器一、实验目的1.了解用泰勒级数展开法计算角度正弦值和余弦值;2.了解产生正弦信号的方法;3.熟悉使用汇编语言编写较复杂的程序;4.熟悉在CCS 环境下计算角度正弦值和余弦值及产生正弦波的方法;二、实验原理泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。
正弦函数和余弦函数可以展开成泰勒级数,其表达式:递推公式: sin()2cos()sin[(1)]sin[(2)]cos()2cos()sin[(1)]cos[(2)]nx x n x n x nx x n x n x =---=--- 由递推公式可以看出,在计算正弦和余弦值时,需要已知cos(x )、sin(n -1)x 、sin(n -2)x 和cos(n -2)x 。
用这种方法求少数点还可以,如产生连续正弦波、余弦波,则积累误差太大,不可取。
下面主要用泰勒级数展开法求正弦和余弦值,以及产生正弦波的方法。
三、实验内容与步骤1.用泰勒级数展开法计算sin(x)的值;(1)在 CCS 中新建项目:sinx.pjt ,建立文件sinx.asm 、vectors.asm 和sinx.cmd 。
并将此三个文件加入到项目中。
******************************************************* 用泰勒级数开展开式计算一个角度的正弦值 **sin(x)=x(1-x*x/2*3(1-x*x/4*5(1-x*x/6*7(1-x*x/8*9))))*******************************************************.title "sinx.asm".mmregs .def startSTACK: .usect "STACK",10start: STM #STACK+10,SPLD #d_x,DPST #6487H,d_x ;x-->d_x CALLsin_start end:B end sin_start:35792222sin()3!5!7!9! 111123456789(((())))x x x x x x x x x x x =-+-+=----⨯⨯⨯⨯24682222cos()12!4!6!8! 11112345678((()))x x x x x x x x x =-+-+=----⨯⨯⨯.def sin_startd_coeff .usect "coeff",4.datatable: .word 01C7H ;c1=1/(8*9).word 030BH ;c2=1/(6*7).word 0666H ;c3=1/(4*5).word 1556H ;c4=1/(2*3)d_x .usect "sin_vars",1d_squr_x .usect "sin_vars",1d_temp .usect "sin_vars",1d_sinx .usect "sin_vars",1c_1 .usect "sin_vars",1.textSSBX FRCTSTM #d_coeff,AR5RPT #3MVPD #table,*AR5+STM #d_coeff,AR3STM #d_x,AR2STM #c_1,AR4ST #7FFFH,c_1SQUR *AR2+,A ;A=x^2ST A,*AR2 ;(AR2)=x^2||LD *AR4,B ;B=1MASR *AR2+,*AR3+,B,A ;A=1-x^2/72,T=x^2MPYA A ;A=T*A=x^2(1-x^2/72)STH A,*AR2 ;(d_temp)=x^2(1-x^2/72)MASR *AR2-,*AR3+,B,A ;A=1-x^2/42(1-x^2/72),T=x^2(1-x^2/72)MPYA *AR2+ ;B=x^2(1-x^2/42(1-x^2/72))ST B,*AR2 ;(d_temp)=x^2(1-x^2/42(1-x^2/72))||LD *AR4,B ;B=1MASR *AR2-,*AR3+,B,A ;A=1-x^2/20(1-x^2/42(1-x^2/72))MPYA *AR2+ ;B=x^2(1-x^2/20(1-x^2/42(1-x^2/72)))ST B,*AR2 ;(d_temp)=B||LD *AR4,B ;B=1MASR *AR2-,*AR3+,B,A ;A=1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))MPYA d_x ;B=x(1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72))))STH B,d_sinx ;sin(theta)RET.end*******************************************************中断向量文件vectors.asm******************************************************.title "vectors.asm".ref start.sect ".vectors"B start.end*******************************************************链接命令文件******************************************************vectors.objsinx.obj-O sinx.out-m sinx.map-estartMEMORY{PAGE 0:EPROM: org=0090H,len=0F70HVECS: org=0080H,len=0010HPAGE 1:SPRAM: org=1000H,len=1000HDARAM: org=2000H,len=2000H}SECTIONS{.text :>EPROM PAGE 0.data :>EPROM PAGE 0STACK :>SPRAM PAGE 1sin_vars :>DARAM PAGE 1coeff :>DARAM PAGE 1.vectors :>VECS PAGE 0}(2)编译、链接项目文件sinx.pjt。
目录摘要1.系统方案选择与论证1.1正弦信号输出方案1.2信号调制方案2.系统的总体设计与实现2.1系统正弦信号发生器的设计2.1.1正弦信号的仿真和分析2.1.2其他信号的仿真和分析2.2系统调制模块的设计2.2.1调幅电路(AM)2.2.2调频电路(FM)2.2.3 PSK电路2.2.4 ASK电路3.总结4.附录正弦信号发生器(A题)摘要:本系统是以ICL8038集成芯片为核心器件,附加线性调制电路,滤波和积分放大电路等模块组成的一种正弦信号发生器,制作简单,功能多。
所得到的信号输出稳定度和线性度满足题目要求,在输出的正弦信号的幅度上可以实现1V~6V内任意可调,输出频率范围虽然没有达到题目所要求的1KHz~10MHz范围,的是我们实现了在1Hz~1MHz范围内任意可调。
本文主要介绍了正弦信号发生器的设计与其所具有的功能,实现了竞赛题目的基本部分和提高部分的一些功能要求。
系统的硬件分为六个模块,即正弦信号产生模块,AM调幅电路模块,FM调频电路模块,PSK电路模块,ASK电路模块,单片机控制器与键盘显示电路模块。
一、正弦信号输出方案分析与论证正弦信号的产生可以分为以下两种方法:其一,可用专用的芯片产生,如MAX038,ICL8038等。
使用MAX038芯片,设计简单,可以产生精度和稳定度高,且频率范围大的正弦信号。
其二,采用数字合成方案(DDS),DDA技术频率高、转换速度快、信号纯度高、相位可控、输出信号无电流脉冲叠加、输出平稳渡过且相位和保持连续变化。
其方案原理流程图如下:DDS原理框图从题目要求来看,要求设计的正弦信号发生器的精度和稳定度都很高。
MAX038专用信号发生芯片在现在的条件下不能进行设计和相关的仿真,DDS方案的复杂度和难度都非常大,因此不容易实现。
从各个方面的因素来考虑,并且根据现有条件和自身的实际情况,我们采用芯片产生的方法,用的是ICL8038芯片。
ICL8038是一种具有多种波形输出的精密振荡集成电路, 只需调整个别的外部组件就能产生从0.001Hz~1MHz 的低失真正弦波、三角波、矩形波等脉冲信号。
正弦信号发生器设计方案一、方案比较论证所有方案可按模拟式和数字式分为两大类模拟式:①利用电阻、电容、运放等传统器件搭建LC或RC正弦信号发生器。
通过改变电路中的元件的参数值来调节输出频率。
这种方式成本低廉,但由于采用大量分立器件,受其工作原理的限制频率稳定度较低(只有10-3量级)。
另外实现扩展功能中的各种调制等也比较麻烦,电路复杂,调试困难,精度差。
②采用专用信号发生芯片MAX038来实现正弦信号波形的输出。
是美信公司的低失真单片信号发生集成电路,内部电路完善,使用该器件能够产生精确的高频三角、锯齿、正弦及方波。
使用该芯片设计简单,但扩展功能电路部分实现起来和采用分立器件同样复杂,而且频率精度和稳度均难以达到要求。
③采用基于锁相环(PLL)技术或者非线性器件频率变换技术的频率合成器。
由晶体振荡器和锁相环组成的系统中,前者保证工作频率稳定度,后者完成输出频率的调整,但是这时输出频率只能是晶体谐振频率的整数倍。
故虽然频率稳定能达到要求却很难做到频率输出范围1KHZ—10MHZ和100HZ步进的要求。
数字式:①采用AD公司专用的DDS芯片AD9851合成FM和AM的载波,采用传统的模拟调制方式来实现AM调制和FM调制。
但该方案需要额外的模拟调制FM和AM的调制电路,且制作和调制电路都比较麻烦,还难免引入一定的干扰,而且此方案中的PSK调制也不容易实现。
②采用AD公司的AD9856作为调制芯片,是内含DDS的正交调制芯片,可以实现多进制的数字幅度调制,多进制的数字相位调制和多进制的数字幅度相位联合调制。
故AM 调制,PSK调、ASK调制都可以通过它实现但是AD9856不便于调频且控制复杂。
③利用微处理器和DAC实现DDS信号产生器。
微处理器能够实现DDS的电路结构,即实现相位累加器、波形的数据表、同时实现数字/模拟转换器的控制时序。
利用微处理器完成加法运算需要读取的数据进行运算,再把运算结果送到目标单元。
调试时,电源的质量需要较高,不然的话,波形不易观察看清楚。
//河北工程大学信电学院自动化系//设计调试成功***************将DA输出的 0V ~ -5V范围扩展成 -5V ~ +5V范围,电路如下图:***************如若VO2输出更平滑一些,可以在VO2处接一个小电容,滤掉高频。
(一)过程分析计算如下:✧第一级运放出来的V o1=-N*V ref/256。
当V ref为+5V时,V o1=0~ -5V。
其中,V ref为参考电压,N为8位数字量输出到DAC0832✧并结合第二级运放,是否可以推出来如下式子:V o2=-(2*V o1+V ref)=-(2*-N*V ref/256+V ref)=-(-2N*V ref/256+V ref)=2N*V ref/256-V ref当参考电压V ref=5V时,V o2=10N/256-5。
由于要求输出的是正弦波xsinθ,幅值x不定,下面考虑幅值x分别取5和1的情况:●当输出波形为5 sinθ时:5 sinθ=V o2=2N*V ref/256-V ref=10N/256-5 //此时V ref=+5V得sinθ=2N/256-1●当输出波形为sinθ时:sinθ=V o2=2N*V ref/256-V ref=10N/256-5 //此时V ref=+5V得sinθ=10N/256-5最后可以考虑输出波形的频率问题。
例如要求输出特定频率的正弦波。
(二)针对输出的不同幅值波形✓当输出波形为5 sinθ时:得sinθ=2N/256-1这里我们要求进步为一度。
具体到进步大小,和内存RAM或者ROM有关,即和你存放数据表的空间有关。
放到哪个空间都可以。
(这里周期采样最多256个点,步数可以为1、2、5等,自己视情况而定,这里由于是360度,256个采样点,故步的大小360/256=1.4=△θ,由此算的前三个θ=0,1.4,2.8……,对应N为0x80,0x83,0x86……)通过sinθ的特征和计算部分数据发现规律:0~90度与90~180度大小是对称的;181~270度与270~359度是对称的。
正弦波信号发生器制作一、原理及工作方式1.参照信号源:可以使用晶体振荡器作为参照信号源,晶体振荡器的频率非常稳定,精度高,可以提供准确的参照频率。
2.振荡器:振荡器可以根据参照信号源产生一个与之匹配的频率信号,一般使用的是集成电路中的RC振荡器或LC振荡器。
3.滤波器:在振荡器输出的信号中含有很多谐波成分,需要通过滤波器去掉非基波的频率成分,使输出信号更接近理想的正弦波。
4.放大器:滤波器输出的信号还需要一定的放大才能达到输出阻抗。
正弦波信号发生器的工作方式一般分为模拟和数字两种。
模拟方式主要是通过电路实现信号的生成和放大,传统的信号发生器属于这种方式。
数字方式则是采用数字电路和数字信号处理器来实现信号的生成,这种方式可以实现更高精度和更多功能的信号发生器。
二、制作过程下面是一种基于模拟方式的正弦波信号发生器的制作过程。
1.选择元件:根据所需的频率范围选择适当的振荡器和滤波器,通常可以选择集成电路中的RC振荡器和LC滤波器。
同时还需要选择一款合适的放大器来放大滤波器输出的信号。
2.连接电路:按照电路原理图将选定的元件连接起来,根据元件的引脚和功能进行正确的连线。
3.调试:连接完成后,对电路进行调试。
首先需要确认参照信号源是否正常工作,然后调节振荡器的频率,观察信号的变化。
接下来调整滤波器的频率,使输出信号更接近理想正弦波。
最后调整放大器的放大倍数,使输出信号达到所需的幅度。
三、功能扩展除了基本的频率、幅度和相位调节之外,正弦波信号发生器还可以通过增加其他功能模块来实现更多的功能。
比如:1.频率计:增加频率计模块,可以实时测量输出信号的频率。
2.相位偏移:增加相位调节模块,可以实现对输出信号的相位进行调整。
3.数字控制:使用数字信号处理器来实现对信号发生器的数字控制,可以通过软件界面实现更加便捷的操作和参数调节。
4.波形选择:增加多种波形输出的功能,可以输出正弦波、方波、三角波等多种波形,满足不同实验的需求。
制作一个正弦信号发生器的设计
一、正弦信号发生器的概念
正弦信号发生器是一种可以产生所需频率的正弦波信号的设备,可以
帮助开发者测量和分析频率特性,也可以用于相关系统的诊断。
正弦信号
发生器可以产生指定频率的正弦波形,以满足不同系统的需求。
它也可以
通过波形对比法进行精确的波形测量,用于分析电子系统特性。
(1)电路设计
正弦信号发生器的电路设计主要有两种:一种是基于模拟电路的设计,另一种是基于数字电路的设计。
(1)模拟电路
模拟电路设计采用的是电路模块,主要有振荡器、滤波器、缓冲器和
调制电路。
(a)振荡器
振荡器主要由振荡电路和调整元件组成,振荡器的作用是形成振荡的
正弦波,以满足信号发生器产生不同频率的要求。
(b)滤波器
滤波器的作用是滤除振荡器产生的额外噪声,以得到纯净的正弦信号。
(c)缓冲器
缓冲器的主要作用是将振荡器的正弦波输出,缓冲器的作用是减少信
号失真,使正弦波更加完美。
(d)调制电路
调制电路的作用是对信号发生器产生的正弦波进行调制,使其能够输出更加稳定的信号频率。
(2)数字电路
采用数字电路设计的正弦信号发生器。
★项目2:数字信号源
项目简述:设计制作一个正弦信号发生器。
(1)正弦波输出频率范围:1kHz~10MHz;
(2)具有频率设置功能,频率步进:100Hz;
(3)输出信号频率稳定度:优于10-2;
(4)输出电压幅度:1V到5V这间;
(5)失真度:用示波器观察时无明显失真。
(6)输出电压幅度:在频率范围内
50负载电阻上正弦信号输出电压的峰-峰值V opp=6V±1V;
(7)产生模拟幅度调制(AM)信号:在1MHz~10MHz范围内调制度m a可在30%~100%之间程控调节,步进量50%,正弦调制信号频率为1kHz,调制信号自行产生;
(8)产生模拟频率调制(FM)信号:在100kHz~10MHz频率范围内产生20kHz最大频偏,正弦调制信号频率为1kHz,调制信号自行产生;
(9)产生二进制PSK、ASK信号:在100kHz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生;
开发时间:2007 开发人数:1
运行环境:windows xp、Quartus II
相关内容:(还未整体综合)
下面是调幅原理图:
下面是调频原理图:
下面是正弦信号发生器设计原理图:
下面是PSK设计原理图:。
课程设计I(论文)说明书(正弦波信号发生器设计)2010年1月19日摘要正弦波是通过信号发生器,产生正弦信号得到的波形,方波是通过对原信号进行整形得到的波形。
本文主要介绍了基于op07和555芯片的正弦波-方波函数发生器。
以op07和555定时器构成正弦波和方波的发生系统。
Op07放大器可以用于设计正弦信号,而正弦波可以通过555定时器构成的斯密特触发器整形后产生方波信号。
正弦波方波可以通过示波器检验所产生的信号。
测量其波形的幅度和频率观察是否达到要求,观察波形是否失真。
关键词:正弦波方波 op07 555定时器目录引言 (2)1 发生器系统设计 (2)1.1系统设计目标 (2)1.2 总体设计 (2)1.3具体参数设计 (4)2 发生器系统的仿真论证 (4)3 系统硬件的制作 (4)4 系统调试 (5)5 结论 (5)参考文献 (6)附录 (7)1引言正弦波和方波是在教学中经常遇到的两种波形。
本文简单介绍正弦波和方波产生的一种方式。
在这种方式中具体包含信号发生器的设计、系统的论证、硬件的制作,发生器系统的调制。
1、发生器系统的设计1.1发生器系统的设计目标设计正弦波和方波发生器,性能指标要求如下:1)频率范围100Hz-1KHz ;2)输出电压p p V ->1V ;3)波形特性:非线性失真~γ<5%。
1.2总体设计(1)正弦波设计:正弦波振荡电路由基本放大电路、反馈网络、选频网络组成。
2图1.1正弦波振荡电路产生的条件是要满足振幅平衡和相位平衡,即AF=1;φa+φb=±2nπ;A=X。
/Xid; F=Xf/X。
;正弦波振荡电路必须有基本放大电路,本设计以op07芯片作为其基本放大电路。
基本放大电路的输出和基本放大电路的负极连接电阻作为反馈网络。
反馈网络中两个反向二极管起到稳压的作用。
振荡电路的振荡频率f0是由相位平衡条件决定的。
一个振荡电路只在一个频率下满足相位平衡条件,这要求AF环路中包含一个具有选频特性的选频网络。