文档库 最新最全的文档下载
当前位置:文档库 › DSP课程设计正弦信号发生器的设计

DSP课程设计正弦信号发生器的设计

DSP课程设计正弦信号发生器的设计
DSP课程设计正弦信号发生器的设计

太原理工大学

DSP课程设计:

正弦信号发生器的设计

学号:

班级:

姓名:

指导教师:

一、设计目的

1、通过实验掌握DSP的软件开发过程

2、学会运用汇编语言进行程序设计

3、学会用CCS仿真模拟DSP芯片,通过CCS软件平台上应用C54X汇编语言来实现正弦信号发生装置。

二、设计原理

三、本实验产生正弦波的方法是泰勒级数展开法。泰勒级数展开法需要的单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。求一个角度的正弦值取泰勒级数的前5项,得近似计算式:

四、总体方案设计

本实验是基于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 CPU Functional Simulator,可以在My System下看到所加入的驱动;

点击Save & Quit,将保存设置退出Setup CCStudio 并启动运行CCStudio。

2、编写汇编源程序sin。

3.、建立汇编源程序

在CCS环境下,点击file/new/source file菜单命令,打开一个空白文档,将汇编程序输入。

单击file/save菜单命令,在D:\program files\ti\myprojects下保存文件名为sin,并选择保存类型为*.asm。

4、建立链接命令文件。

5、创建新的工程文件

启动CCS,在Project菜单中选择New项,在Project中输入denglin,CCS将创建一个名为的工程。

6、将文件添加到工程中

在工程中添加源文件,执行菜单project/add files to project,把sin文件添加到工程中。

7、生成和运行程序

(1)选择菜单命令Project→Rebuild All,对工程重新编译、汇编和链接,主窗口下方的信息窗口将显示build进行汇编、编译和链接的相关信息。

(2)选择菜单命令File→Load Program,在当前目录的Debug目录下选择sin并打开,将Build生成的程序加载到DSP中。

(3)选择菜单命令Debug→Run或在Debug工具栏上单击Run按钮,运行该程序。

8、观察运行结果

点击view/gragh菜单命令观看图像

六、主要参数

七、源程序

汇编源程序sin

.mmregs

.def start

.def d_xs,d_sinx,d_xc,d_cosx,sinx,cosx

sin_x: .usect "sin_x",360

STACK: .usect "STACK",10H

k_theta .set 286 ;theta=pi/360

start:

.text

STM #STACK+10H,SP

STM k_theta,AR0

STM 0,AR1

STM #sin_x,AR6

STM #90,BRC

RPTB loop1-1

LDM AR1,A

STL A,@d_xs

STL A,@d_xc

CALL sinx ;d_sinx=sin(x)

CALL cosx ;d_cosx=cos(x)

LD #d_sinx,DP

LD @d_sinx,16,A ;A=sin(x)

MPYA @d_cosx ;B=sin(x)*cos(x)

STH B,1,*AR6+ ;AR6----2*sin(x)

MAR *AR1+0

loop1: STM #sin_x+89, AR7 ;sin91(deg.)-sin179(deg.)

STM #88,BRC

RPTB loop2-1

LD *AR7-,A

STL A,*AR6+

loop2: STM #179,BRC ;sin180(deg.)-sin359(deg.)

STM #sin_x,AR7

RPTB loop3-1

LD *AR7+,A

NEG A

STL A,*AR6+

loop3: STM #sin_x,AR6 ;generate sin wave

STM #1,AR0

STM #360,BK

B loop3

sinx:

.def d_xs,d_sinx

.data

table_s .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_coef_s .usect "coef_s",4

d_xs .usect "sin_vars",1

d_squr_xs .usect "sin_vars",1

d_temp_s .usect "sin_vars",1

d_sinx .usect "sin_vars",1

d_l_s .usect "sin_vars",1

.text

SSBX FRCT

STM #d_coef_s,AR5 ;move coeffs table_s

RPT #3

MVPD #table_s,*AR5+

STM #d_coef_s,AR3

STM #d_l_s,AR4

ST #7FFFH,d_l_s

SQUR *AR2+,A ;A=x^2

ST A,*AR2 ;(AR2)=x^2

||LD *AR4,B ;B=1

MASR *AR2+,*AR3+,B,A ;A=1-x^2/72,T=x^2

MPYA 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=1

MASR *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=1

MASR *AR2-,*AR3+,B,A ;A=1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))

MPYA d_xs ;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

cosx:

.def d_xc,d_cosx

d_coef_c .usect "coef_c",4

.data

table_c .word 0249H ;C1=1/(7*8)

.word 0444H ;C2=1/(5*6)

.word 0AABH ;C3=1/(3*4)

.word 4000H ;C4=1/2

d_xc .usect "cos_vars",1

d_squr_xc .usect "cos_vars",1

d_temp_c .usect "cos_vars",1

d_cosx .usect "cos_vars",1

c_l_c .usect "cos_vars",1

.text

SSBX FRCT

STM #d_coef_c,AR5 ;move coeffs table_c

RPT #3

MVPD #table_c,*AR5+

STM #d_coef_c,AR3

STM #d_xc,AR2

STM #c_l_c,AR4

ST #7FFFH,c_l_c

SQUR *AR2+,A ;A=x^2

ST A,*AR2 ;(AR2)=x^2

||LD *AR4,B ;B=1

MASR *AR2+,*AR3+,B,A ;A=1-x^2/56,T=x^2

MPYA A ;A=T*A=x^2(1-x^2/56)

STH A,*AR2 ;(d_temp)=x^2(1-x^2/56)

MASR *AR2-,*AR3+,B,A ;A=1-x^2/30(1-x^2/56); T=x^2(1-x^2/56)

MPYA *AR2+ ;B=x^2(1-x^2/30(1-x^2/56))

ST B,*AR2 ;(d_temp)=x^2(1-x^2/30(1-x^2/56))

||LD *AR4,B ;B=1

MASR *AR2-,*AR3+,B,A ;A=1-x^2/12(1-x^2/30(1-x^2/56))

SFTA A,-1,A ;-1/2

NEG A

MPYA *AR2+ ;B=-x^2/2(1-x^2/12(1-x^2/30(1-x^2/56)))

MAR *AR2+

RETD

ADD *AR4,16,B ;B=-x^2/2(1-x^2/12(1-x^2/30(1-x^2/56)))

STH B,*AR2 ;cos(theta)

RET

.end .mmregs

.def start

.def d_xs,d_sinx,d_xc,d_cosx,sinx,cosx

sin_x: .usect "sin_x",360

STACK: .usect "STACK",10H

k_theta .set 286 ;theta=pi/360

start:

.text

STM #STACK+10H,SP

STM k_theta,AR0

STM 0,AR1

STM #sin_x,AR6

STM #90,BRC

RPTB loop1-1

LDM AR1,A

LD #d_xs,DP

STL A,@d_xs

STL A,@d_xc

CALL sinx ;d_sinx=sin(x)

CALL cosx ;d_cosx=cos(x)

LD #d_sinx,DP

LD @d_sinx,16,A ;A=sin(x)

MPYA @d_cosx ;B=sin(x)*cos(x)

STH B,1,*AR6+ ;AR6----2*sin(x)

MAR *AR1+0

loop1: STM #sin_x+89, AR7 ;sin91(deg.)-sin179(deg.)

STM #88,BRC

RPTB loop2-1

LD *AR7-,A

STL A,*AR6+

loop2: STM #179,BRC ;sin180(deg.)-sin359(deg.)

STM #sin_x,AR7

RPTB loop3-1

LD *AR7+,A

NEG A

STL A,*AR6+

loop3: STM #sin_x,AR6 ;generate sin wave

STM #1,AR0

STM #360,BK

B loop3

sinx:

.def d_xs,d_sinx

.data

table_s .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_coef_s .usect "coef_s",4

d_xs .usect "sin_vars",1

d_squr_xs .usect "sin_vars",1

d_temp_s .usect "sin_vars",1

d_sinx .usect "sin_vars",1

d_l_s .usect "sin_vars",1

.text

SSBX FRCT

STM #d_coef_s,AR5 ;move coeffs table_s

RPT #3

MVPD #table_s,*AR5+

STM #d_coef_s,AR3

STM #d_xs,AR2

STM #d_l_s,AR4

ST #7FFFH,d_l_s

SQUR *AR2+,A ;A=x^2

ST A,*AR2 ;(AR2)=x^2

||LD *AR4,B ;B=1

MASR *AR2+,*AR3+,B,A ;A=1-x^2/72,T=x^2

MPYA 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=1

MASR *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=1

MASR *AR2-,*AR3+,B,A ;A=1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))

MPYA d_xs ;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

cosx:

.def d_xc,d_cosx

d_coef_c .usect "coef_c",4

.data

table_c .word 0249H ;C1=1/(7*8)

.word 0444H ;C2=1/(5*6)

.word 0AABH ;C3=1/(3*4)

.word 4000H ;C4=1/2

d_xc .usect "cos_vars",1

d_squr_xc .usect "cos_vars",1

d_temp_c .usect "cos_vars",1

d_cosx .usect "cos_vars",1

c_l_c .usect "cos_vars",1

.text

SSBX FRCT

STM #d_coef_c,AR5 ;move coeffs table_c

RPT #3

MVPD #table_c,*AR5+

STM #d_coef_c,AR3

STM #d_xc,AR2

STM #c_l_c,AR4

ST #7FFFH,c_l_c

SQUR *AR2+,A ;A=x^2

ST A,*AR2 ;(AR2)=x^2

||LD *AR4,B ;B=1

MASR *AR2+,*AR3+,B,A ;A=1-x^2/56,T=x^2

MPYA A ;A=T*A=x^2(1-x^2/56)

STH A,*AR2 ;(d_temp)=x^2(1-x^2/56)

MASR *AR2-,*AR3+,B,A ;A=1-x^2/30(1-x^2/56); T=x^2(1-x^2/56)

MPYA *AR2+ ;B=x^2(1-x^2/30(1-x^2/56))

ST B,*AR2 ;(d_temp)=x^2(1-x^2/30(1-x^2/56))

||LD *AR4,B ;B=1

MASR *AR2-,*AR3+,B,A ;A=1-x^2/12(1-x^2/30(1-x^2/56))

SFTA A,-1,A ;-1/2

NEG A

MPYA *AR2+ ;B=-x^2/2(1-x^2/12(1-x^2/30(1-x^2/56)))

MAR *AR2+

RETD

ADD *AR4,16,B ;B=-x^2/2(1-x^2/12(1-x^2/30(1-x^2/56)))

STH B,*AR2 ;cos(theta)

RET

链接命令文件

MEMORY

{

PAGE 0:

EPROM: org=0E000H, len=1000H

VECS: org=0FF80H, len=0080H

PAGE 1:

SPRAM: org=0060H, len=0020H

DARAM1: org=0080H, len=0010H

DARAM2: org=0090H, len=0010H

DARAM3: org=0200H, len=0200H

}

SECTIONS

{

.text :> EPROM PAGE 0

.data :> EPROM PAGE 0

STACK :> SPRAM PAGE 1

sin_vars :> DARAM1 PAGE 1

coef_s :> DARAM1 PAGE 1

cos_vars :> DARAM2 PAGE 1

coef_c :> DARAM2 PAGE 1

sin_x : align(512) {} > DARAM3 PAGE 1

.vectors :>VECS PAGE 0

}

八、实验结果及分析

结果成功生成了正弦波图像,表明改程序能通过TMS320C54x产生正弦信号

九、设计总结

这次实验通过与小组的探讨研究使我对这门学科的基本知识、理论解起来更加方便直观和深刻。我同时明白了,做实验不是一味的砖牛角,而是需要相互探讨研究充分发挥团队力量才可在最短时间做出结果。通过实验我基本了解了DSP应用系统开发方法和设计过程,掌握

了汇编源程序的编辑、汇编和链接过程,熟悉了CCS集成开发环境,CCS的安装及设置,CCS集成开发环境,CCS的基本使用,调试应用程序。我成功通过CCS软件应用C54X汇编语言实现了正弦信号发生装置,这次实验使我能够更真实地体会到DSP的功能和用途。

正弦信号发生器的设计

XXXX大学现代科技学院DSP硬件电路设计基础课程设计 设计名称正弦信号发生器的设计 专业班级 学号 姓名DENG 指导教师XXXX

课程设计任务书 注: 上交(大张图纸不必装订) 2.可根据实际内容需要续表,但应保持原格式不变。 日期:2014-12-10

专业班级 XXXXXXX 学号 姓名 DENG 成绩 设计题目 正弦波信号发生器 设计目的 学会使用CCS(Code Composer Studio)集成开发环境软件,在此集成开发环境下完成工程项目创建,程序编写,编译,链接,调试以及数据的分析。同时完成一个正弦波信号发生器的程序的编写,并在集成开发环境下进行模拟运行,观察结果。 设计内容 编写一个产生正弦波信号的程序,在CCS 软件下进行模拟运行,观察输出结果。 设计原理 正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。本次课程设计只要使用泰勒级数展开法来实现正弦波信号。 1. 产生正弦波的算法 在高等数学中,正弦函数和余弦函数可以展开成泰勒级数,其表达式为 若要计算一个角度x 的正弦和余弦值,可取泰勒级数的前5项进行近似计算。 ……………………………………装………………………………………订…………………………………………线………………………………………

由上述两个式子可以推导出递推公式,即 sin(nx)=2cos(x)sin[(n-1)x]-sin[(n-2)x] cos(nx)=2cos(x)sin[(n-1)x]-cos[(n-2)x] 由递推公式可以看出,在计算正弦和余弦值时,不仅需要已知cos(x),而且还需要sin[(n-1)x]、sin[(n-2)x]和cos[(n-2)x]。 2. 正弦波的实现 ⑴计算一个角度的正弦值 利用泰勒级数的展开式,可计算一个角度x的正弦值,并采用子程序的调用方式。在调用前先在数据存储器d_xs单元中存放x的弧度值,计算结果存放在d_sinx单元中。 ⑵计算一个角度的余弦值 利用余弦函数展开的泰勒级数的前五项计算一个角度的余弦值,可采用子程序的调用方式来实现。调用前先将x弧度值放在数据存储器d_xc单元中,计算结果存放在d_cosx单元中。 ⑶正弦波的实现 利用计算一个角度的正弦值和余弦值程序可实现正弦波。其实现步骤如下:第一步:利用sin_start和cos_start 子程序,计算 45°~0°(间隔为 0.5°)的正弦和余弦值; 第二步:利用sin(2x)=2sin(x)cos(x)公式,计算 90°~0°的正弦值(间隔为1°);第三步:通过复制,获得359°~0°的正弦值; 第四步:将359°~0°的正弦值重复从PA口输出,便可得到正弦波。 在实际应用中,正弦波是通过D/A口输出的。选择每个正弦周期中的样点数、改变每个样点之间的延迟,就能够产生不同频率的波形,也可以利用软件改变波形的幅度以及起始相位。 总体方案设计 1. 总体实现方案 我们知道一个角度为x的正弦和余弦函数,都可以展开为泰勒级数,且其前五项可以看为:

PWM信号发生器的设计报告

前言 脉冲宽度调制(Pulse Width Modulation.PWM)控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术和模拟信号数字传输通信领域最广泛应用的控制方式,因此研究基于PWM技术的脉冲宽度及周期可调的信号发生器具有十分重要的现实意义。 本文主要讨论了脉冲占空比可调信号的产生方法,采用三种不同的方案使用VHDL语言编程实现了信号的产生。其中方案一的原理是分频,即用计数器计算时钟脉冲的上升沿个数,再通过输出电平反复翻转得到计数个数(脉冲宽度)可控的PWM 信号;方案二的原理是锯齿波比较法,首先编程产生阶梯状的锯齿波,再通过锯齿波与输入占空比值(数值可控的直线)比较产生脉冲宽度随输入占空比数值变化的PWM 信号;方案三是用有限状态机产生有用信号,首先定义两个状态,再通过计数器值与输入占空比值比较控制状态的切换,产生PWM信号。本文详细介绍方案二和方案三两种方法。 通过使用QuartusII9.0软件采用VHDL语言编程并用功能仿真证实了上文提到的三种PWM信号产生方案都是可行的,都能产生切实可用的PWM信号,三种方案中均可以通过修改输入端口占空比来控制产生信号的脉宽,且可以通过在程序中修改计数器的计数上限和分频模块的分频比改变信号的周期及频率,实现了多参数可调,使整体设计具有灵活的现场可更改性和较好的可移植性。且实现功能的程序简单易懂,设计过程中思路阐述清晰,流程介绍明了,且程序易于修改,可读性好。

第一章设计要求 1.1 研究课题 PWM信号发生器的研制 1.2设计要求 用CPLD可编程模块产生下列信号(特殊芯片:EPM570T100C5) (1)采用VHDL编写相关程序,PWM信号的工作频率为500Hz(1000Hz); (2)时钟信号通过分频器后,由输入开关量控制占空比可调。

dsp课程设计实验报告

DSP 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

方波-三角波-正弦波函数信号发生器

课程设计说明书 课程设计名称:电子课程设计 课程设计题目:设计制作一个产生方波-三角波-正弦波函数转换器学院名称:信息工程学院 专业:电子信息科学与技术班级: xxxxxxxx 学号: xxxxxxx 姓名: xxxxx 评分:教师: xxxxxx 20 13 年 10 月 15 日

电子课程设计 课程设计任务书 20 13 -20 14 学年 第 1 学期 第 1 周- 3 周 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要 当今世界在以电子信息技术为前提下推动了社会跨越式的进步,科学技术的飞速发展日新月异带动了各国生产力的大规模提高。由此可见科技已成为各国竞争的核心,尤其是电子通信方面更显得尤为重要,在国民生产各部门都得到了广泛的应用,而各种仪器在科技的作用性也非常重要,如信号发生器、单片机、集成电路等。 信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和 教学实验等领域。常用超低频信号发生器的输出只有几种固定的波形,有方波、 三角波、正弦波、锯齿波等,不能更改信号发生器作为一种常见的应用电子仪器 设备,传统的可以完全由硬件电路搭接而成,如采用LM324振荡电路发生正弦波、 三角波和方波的电路便是可取的路径之一,不用依靠单片机。 本系统本课题将介绍由LM324集成电路组成的方波——三角波——正弦波 函数信号发生器的设计方法,了解多功能函数信号发生器的功能及特点,进一步 掌握波形参数的测试方法,制作这种低频的函数信号发生器成本较低,适合学生 学习电子技术测量使用。制作时只需要个别的外部元件就能产生正弦波、三角波、 方波等脉冲信号。输出波形的频率和占空比还可以由电流或电阻控制。 关键字:信号发生器、波形转换、LM324

单片机课程设计信号发生器

单片机课程设计实验报告 电子信息工程学院 指导教师:***

08年6月30日 单片机课程设计实验报告 一.系统总体介绍 1)题目意义: 这次课程设计的题目我选择的是信号发生器,我之所以选择这个题目的原因有三个 ①它是一个DA转换的实验,在前不久的市电子大赛中,我们做的是AD的转换,所 以想将模数/数模都熟悉一遍,为今后可能遇到的接口实验打下坚实的基础; ②另外一个原因是用到的芯片是MAX518,该芯片是串行数模转换,运用I2C总线, 通过这个实验可以更好的运用串行通信,同时能够学习I2C总线的协议,掌握了一 门新的总线,我觉得比其他实验收获更大; ③MAX518的时序比较复杂,通过练习针对时序的编程可以更好的提高自己读PDF 资料的能力和编程的能力。 2)本人所做的工作 这个实验从始至终都是自己完成的。 ①程序的编写,程序的编写是我结合MAX518的时序图编写出来的,编程的重点在于 对与MAX518的编程,在编程的过程中对于应答信号的理解和处理是整个程序的核心,在单步调试中能够很明显的观测到SDA和SCL信号线上电平的变化; ②四种波形的表格数据的建立。表格的建立是通过MATLAB函数产生的。其函数分别 为:正弦波y=round(127*sin(0:2*pi/256:2*pi))+127 锯齿波y=round(0:1:255) 三角波y=round(0:2:255) Y=round(255:2:0) 方波直接是0和255 由于MATLAB产生的数据之间含有回车和空格,不符合汇编语言的语法规则,所以要用WORD对所得的数据进行处理,利用WORD的查找替换同能讲回车和空格替换为英文的逗号,其中回车的表示方法为^p ③学习KEIL和SSTFlashFlex51.exe的使用 ④元器件的购买和焊接 ⑤实验报告的完成 3)系统的主要功能 该系统能够产生正弦波,锯齿波,三角波和方波四种波形,同时能够产生16HZ,12HZ,10HZ,8HZ四种频率,也就是可以产生4*4=16种信号,通过8个按键

信号发生器的设计实现

电子电路综合设计 总结报告 设计选题 ——信号发生器的设计实现 姓名:*** 学号:*** 班级:*** 指导老师:*** 2012

摘要 本综合实验利用555芯片、CD4518、MF10和LM324等集成电路来产生各种信号的数据,利用555芯片与电阻、电容组成无稳态多谐振荡电路,其产生脉冲信号由CD4518做分频实现方波信号,再经低通滤波成为正弦信号,再有积分电路变为锯齿波。此所形成的信号发生器,信号产生的种类、频率、幅值均为可调,信号的种类、频率可通过按键来改变,幅度可以通过电位器来调节。信号的最高频率应该达到500Hz以上,可用的频率应三个以上,T,2T,3T或T,2T,4T均可。信号的种类应三种以上,必须产生正弦波、方波,幅度可在1~5V之间调节。在此过程中,综合的运用多科学相关知识进行了初步工程设计。

设计选题: 信号发生器的设计实现 设计任务要求: 信号发生器形成的信号产生的种类、频率、幅值均为可调,信号的种类、频率可通过按键来改变,幅度可以通过电位器来调节。信号的最高频率应该达到500Hz以上,可用的频率应三个以上,T,2T,3T 或T,2T,4T均可。信号的种类应三种以上,必须产生正弦波、方波,幅度可在1~5V之间调节。 正文 方案设计与论证 做本设计时考虑了三种设计方案,具体如下: 方案一 实现首先由单片机通过I/O输出波形的数字信号,之后DA变换器接受数字信号后将其变换为模拟信号,再由运算放大器将DA输出的信号进行放大。利用单片机的I/O接收按键信号,实现波形变换、频率转换功能。

基本设计原理框图(图1) 时钟电路 系统的时钟采用内部时钟产生的方式。单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。晶振频率为11.0592MHz,两个配合晶振的电容为33pF。 复位电路 复位电路通常采用上电自动复位的方式。上电自动复位是通过外部复位电路的电容充电来实现的。 程序下载电路 STC89C51系列单片机支持ISP程序下载,为此,需要为系统设计ISP下载电路。系统采用MAX232来实现单片机的I/O口电平与RS232接口电平之间的转换,从而使系统与计算机串行接口直接通信,实现程序下载。 方案一的特点: 方案一实现系统既涉及到单片机及DA、运放的硬件系统设计,

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

正弦信号发生器2

正弦信号发生器[2005年电子大赛一等奖] 文章来源:凌阳科技教育推广中心 作者:华中科技大学(华中科技大学曹震陈国英孟芳宇)发布时间:2006-4-21 17:33:13 本系统基于直接数字频率合成技术;以凌阳SPCE061A单片机为控制核心;采用宽带运放AD811和AGC技术使得50Ω负载上峰值达到6V±1V;由模拟乘法器AD835产生调幅信号;由数控电位器程控调制度;通过单片机改变频率字实现调频信号,最大频偏可控;通过模拟开关产生ASK、PSK信号。系统的频率范围在100Hz~12MHz,稳定度优于10-5,最小步进为10Hz。 一、方案论证 根据题目要求和本系统的设计思想,系统主要包括图1.1所示的模块。 图1.1 系统模块框图

1、单片机选型 方案一:采用现在比较通用的51系列单片机。51系列单片机的发展已经有比较长的时间,应用比较广泛,各种技术都比较成熟,但此系列单片机是8位机,处理速度不是很快,资源不够充足,而且其最小系统的外围电路都要自己设计和制作,使用起来不是很方便,故不采用。 方案二:选用凌阳公司的SPCE061A单片机。SPCE061A单片机是16位的处理器,主频可以达到49MHz,速度很快,再加上其方便的ADC接口,非常适合对高频信号进行数字调频,如果对音频信号进行A/D采样,经过数字调频并发射,完全可以达到调频广播的效果。 结合题目的要求及SPCE061A单片机的特点,本系统选用凌阳公司的此款单片机。 2、频率合成模块 方案一:锁相环频率合成。如图1.2,锁相环主要由压控LC振荡器,环路滤波器,鉴相器,可编程分频器,晶振构成。且频率稳定度与晶振的稳定度相同,达10-5,集成度高,稳定性好;但是锁相环锁定频率较慢,且有稳态相位误差,故不采用。 图1.2 锁相环的基本原理 方案二: 直接数字频率合成。直接数字频率合成DDFS(Direct Digital Frequency Synthesizer)基于Nyquist定理,将模拟信号采集,量化后存入存储器中,通过寻址查表输出波形数据,再经D/A转

模拟电路课程设计-函数信号发生器

模拟电路课程设计——函数信号发生器 一、设计任务和要求 1 在给定的±12V直流电源电压条件下,使用运算放大器设计并制作一个函 数信号发生器。 2 信号频率:1kHz~10kHz 3 输出电压:方波:Vp-p≤24V 三角波:Vp-p≤6V 正弦波: Vp-p>1V 4 方波:上升和下降时间:≤10ms 5 三角波失真度:≤2% 6 正弦波失真度:≤5% 二、设计方案论证 1.信号产生电路 〖方案一〗 由文氏电桥产生正弦振荡,然后通过比较器得到方波,方波积分可得三角波。三角波 这一方案为一开环电路,结构简单,产生的正弦波和方波的波形失真较小。但是对于三角波的产生则有一定的麻烦,因为题目要求有10倍的频率覆盖系数,然而对于积分器的输入输出关系为: 显然对于10倍的频率变化会有积分时间dt的10倍变化从而导致输出电压振幅的10倍变化。而这是电路所不希望的。幅度稳定性难以达到要求。而且通过仿真实验会发现积分器极易产生失调。 〖方案二〗 由积分器和比较器同时产生三角波和方波。其中比较器起电子开关的作用,将恒定的正、负极性的 方波 三角波 电位交替地反馈积分器去积分而得到三角波。该电路的优点是十分明显的: 1 线性良好、稳定性好;

2 频率易调,在几个数量级的频带范围内,可以方便地连续地改变频率, 而且频率改变时,幅度恒定不变; 3 不存在如文氏电桥那样的过渡过程,接通电源后会立即产生稳定的波 形; 4 三角波和方波在半周期内是时间的线性函数,易于变换其他波形。 综合上述分析,我们采用了第二种方案来产生信号。下面将分析讨论对生成的三角波和方波变换为正弦波的方法。 2.信号变换电路 三角波变为正弦波的方法有多种,但总的看来可以分为两类:一种是通过滤波器进行“频域”处理,另一种则是通过非线性元件或电路作折线近似变换“时域”处理。具体有以下几种方案: 〖方案一〗 采用米勒积分法。设三角波的峰值为,三角波的傅立叶级数展开: 通过线性积分后: 显见滤波式的优点是不太受输入三角波电平变动的影响,其缺点是输出正弦波幅度会随频率一起变化(随频率的升高而衰减),这对于我们要求的10倍的频率覆盖系数是不合适的。另外我们在仿真时还发现,这种积分滤波电路存在这较明显的失调,这种失调使输出信号的直流电平不断向某一方向变化。 积分滤波法的失调图(Protel 99 SE SIM99仿真) 而且输出存在直流分量。 〖方案二〗 才用二极管-电阻转换网络折线逼近法。十分明显,用折线逼近正弦波时,如果增多折线的段数,则逼近的精度会增高,但是实际的二极管不是理想开关,存在导通阈值问题,故不可盲目的增加分段数;在所选的折线段数一定的情况下,转折电的位置的选择也影响逼近的精度。凭直观可以判知,在正弦波变化较快的区段,转折点应选择的密一些;而变化缓慢的区段应选的稀疏一些。 二极管-电阻网络折线逼近电路对于集成化来说是比较简单,但要采用分立元件打接则会用到数十个器件,而且为了达到较高的精度所有处于对称位置的电阻和

DSP实验报告

电气信息工程学院 D S P技术与综合训练 实验报告 班级 08通信1W 姓名丁安华 学号 08313115 指导老师倪福银刘舒淇 2011年09 月

目录 实验一 LED演示 1.1.实验目的 -------------------------------------------------P2 1. 2.实验设备-------------------------------------------------P2 1. 3.实验原理-------------------------------------------------P2 1. 4.实验程序设计流程------------------------------------------P3 1. 5.实验程序编写----------------------------------------------P4 1. 6.实验步骤-------------------------------------------------P7 1. 7.实验结果与分析--------------------------------------------P7实验二键盘输入 2.1.实验目的 -------------------------------------------------P8 2.2.实验设备-------------------------------------------------P8 2. 3.实验原理-------------------------------------------------P8 2. 4.实验程序设计流程------------------------------------------P9 2. 5.实验程序编写----------------------------------------------P10 2. 6.实验步骤-------------------------------------------------P14 2. 7.实验结果与分析--------------------------------------------P14实验三液晶显示器控制显示 3.1.实验目的 -------------------------------------------------P15 3.2.实验设备-------------------------------------------------P15 3.3.实验原理-------------------------------------------------P15 3. 4.实验程序设计流程------------------------------------------P17 3. 5.实验程序编写----------------------------------------------P18 3. 6.实验步骤-------------------------------------------------P22 3. 7.实验结果与分析--------------------------------------------P23实验四有限冲激响应滤波器(FIR)算法 4.1.实验目的 -------------------------------------------------P23 4.2.实验设备-------------------------------------------------P23 4.3.实验原理-------------------------------------------------P24 4.4.实验程序设计流程------------------------------------------P25 4. 5.实验程序编写----------------------------------------------P25 4. 6.实验步骤-------------------------------------------------P27 4. 7.实验结果与分析--------------------------------------------P28

浅谈利用单片机设计PWM脉冲信号发生器

浅谈利用单片机设计PWM脉冲信号发生器 发表时间:2014-01-09T11:41:33.297Z 来源:《中国科技教育·理论版》2013年第11期供稿作者:王雪娇胡恒铮 [导读] 除此之外,模拟电路中许多的元器件会发热,也就相对提高了电路的功耗,并且对噪声也敏感,任何干扰或噪声都会改变电流值的大小。 王雪娇胡恒铮无锡技师学院 214153 摘要脉冲宽度调制(PWM)在电子技术领域中应用十分广泛,但是利用模拟电路实现脉宽调制功能十分复杂、不经济。随着微处理器的发展,运用数字输出方式去控制实现PWM的功能就变得简单快捷,本文就如何利用89S52单片机软件编程设计出周期一定而占空比可调的脉冲波,也就是实现PWM功能进行设计,它可以代替模拟电路的PWM脉冲信号发生器。 关键词单片机 PWM 数字控制 PWM是脉冲宽度调制(Pulse Width Modulation)的英文缩写,它是开关型稳压电源中按稳压的控制方式分类中的一种,而脉宽宽度调制式(PWM)开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。 简单的说,PWM是一种对模拟信号电平进行数字编码的方法。理论上讲就是电压或电流源以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的,通的时候就是电源被加到负载上,断的时候就是供电被断开的时候,所以PWM信号仍然是数字的。要想达到这样一种脉宽调制效果,模拟电压和电流时可以直接控制。例如音响的音量控制,在简单的模拟电路中,它的控制是由连接了一个可变电阻的旋钮来实现的,其过程是拧动旋钮,电阻值变小或变大,流过该电阻的电流也随之增加来减小,从而改变驱动扬声器的电流值,那么声音也就相应变大或变小。从这个例子来看,模拟控制是直观而简单的,但是并不是所有的模拟电路都是可行并且经济的,其中很重要的一点就是模拟电路容易随时间漂移,它的调节过程就很困难,为了解决问题就要增加很多的电路,使得电路变得复杂并且昂贵。除此之外,模拟电路中许多的元器件会发热,也就相对提高了电路的功耗,并且对噪声也敏感,任何干扰或噪声都会改变电流值的大小。 综上所述,通过数字方式来控制模拟电路可以大幅度降低系统的成本和功耗,而单片机I/O口的数字输出可以很简单地发出一个脉冲波,在配以外部元器件就可以调节脉冲波的占空比,完成PWM的功能。本文主要介绍利用89S52系列的单片机,控制某个I/O口中一个管脚的数字输出,生成相应周期的脉冲波,并利用按键控制其占空比的调节,包括了占空比自小到大和自大到校的顺序及倒序可调,其调节范围广,操作简便,各元器件间的干扰较小,对模拟电路的控制十分有效。 1.PWM波的生成 PWM波既为数字输出,就是其幅值只有高电平(ON)和低电平(OFF)之分,所以只要使单片机中作为PWM波输出端的那个管脚输出“1”和“0”,并且搭配不同的时间段,就可以形成不同周期的PWM波。举例说明:若要生成周期为10ms的脉冲,就可以利用单片机编程指令控制其输出端输出“1”,并且保持一段时间tp,然后再输出“0”,同样使其保持一段时间tr,两种数字输出保持的时间必须要满足,现就已生成10ms周期的脉冲波,而PWM波与该脉冲波的区别就是还要能够调节占空比。占空比是指正半周脉宽占整个周期的比例,即高电平保持时间于周期的比值,该比值为百分数(),因此在周期一定的情况下,调节占空比就是调节高电平保持的时间。 2.应用编程 本文介绍的PWM波是利用单片机定时中断去确定脉冲波的周期,并且通过两个按键自增和自减某个变量送至中断中,通过此变量去分配高低电平各自占用的时间,形成不同的占空比,即假设一个周期满额比例值为10,则高电平保持时间的比例为该变量值,那么低电平保持时间的比例就是10减去该变量值。 如图1所示为单片机的外部接线图,其中省略了单片机最小系统,此图即可利用89SC52单片机设计出满足周期为10ms、初始占空比为50%、占空比调节范围为0~100%的PWM脉冲信号发生器。占空比调节范围是指高电平保持时间为0~10ms,那么低电平保持时间就是10ms~0。P0.7脚为PWM波输出口,作为PWM脉冲信号发生器可连接其它电路,本文仅连接示波器去观察波形的占空比变化情况,P2.0脚为自增按钮控制端,每按一次高电平保持时间增加1ms,P2.1脚为自减按钮控制端,每按一次高电平保持时间减少1ms。图2所示为初始

DSP实验报告

实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ )和比较操作指令(CMPR ) 二、实验设备 计算机、ZY13DSP12BD 实验箱、5402EVM 板。 三、实验原理 程序控制指令主要包括分支转移、子程序调用、子程序返回、条件操作及循环操作等。通过传送控制到程序存储器的其他位置,转移会中断连续的指令流。转移会影响在PC 中产生和保护的程序地址。其中转移可以分为两种形式的,一种是有条件的,另一种是无条件的。 四、实验内容 编写程序,实现计算y= ∑=5 1 i i x 的值。 五、实验步骤 1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。 2、新建一个项目:点击Project -New ,将项目命名为example2,并将项目保存在自己定义的文件夹下。 3、新建一个源文件example2.asm 。将该文件添加到工程example2.pjt 中。 4、在工程管理器中双击example2.asm ,编写源程序: .tiltle ”example2.asm ” .mmregs STACK .usect ”STACK ”,10H ;堆栈的设置 .bss x,5 ;为变量分配6个字的存储空间 .bss y,1 .def start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text Start: STM #0,SWWWSR ;插入0个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A 清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+ BANZ loop,*AR2- ;如果AR2的值不为0,则跳到loop 处;否则执行下一条指令 STL A,*(y) ;把A 的低16位赋给变量y

正弦信号发生器(参考2)

正弦信号发生器 作者:曾立丁运鸿陈亮 赛前辅导及文稿整理辅导教师:肖看 摘要 本系统以51单片机及FPGA为控制核心,由正弦信号发生模块、功率放大模块、调幅(AM)、调频(FM)模块、数字键控(ASK,PSK)模块以及测试信号发生模块组成。采用数控的方法控制DDS芯片AD9851产生5Hz-20MHz正弦信号,经滤波、放大和功放模块放大至6v并具有一定的驱动能力。测试信号发生模块产生的1kHz正弦信号经过调幅(AM)模块、调频(FM)模块,对高频载波进行调幅或调频。二进制基带序列信号送入数字键控模块,产生二进制PSK或ASK 信号,同时对ASK信号进行解调,恢复出原始数字序列。另外,本系统还配备有液晶显示屏、遥控键盘,提供了友好的人机交互界面。 ABSTRACT This system is in the core of Micro-Processor and FPGA (Field Programmable Gate Array), consist of sine signal generating module, Power amplifier, Amplitude Modulator, Frequency Modulator, ASK/PSK module and test signal generating module. The AD9851 controlled by Micro-Process in digital way to generate sine signal with the bandwidth 5Hz to 20MHz adjustable per 1Hz. After processing by LPF & power amplifier, the output signal has a peak value of move than 6V. The sine signal at 1 KHz was send to AM and FM module to modulate the high frequency carrier waveform. The binary sequential was send to the relative module to generate ASK and PSK signal. At last demodulate module demodulate the ASK signal and got the same binary sequential as set before. In order to provide a friendly user interface, the LCD and remote infrared control keyboard was introduced in this system.

信号发生器课程设计报告

目录 一、课题名称 (2) 二、内容摘要 (2) 三、设计目的 (2) 四、设计内容及要求 (2) 五、系统方案设计 (3) 六、电路设计及原理分析 (4) 七、电路仿真结果 (7) 八、硬件设计及焊接测试 (8) 九、故障的原因分析及解决方案 (11) 十、课程设计总结及心得体会 (12)

一、课题名称:函数信号发生器的设计 二、内容摘要: 函数信号发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波等,因而此次课程设计旨在运用模拟电子技术知识来制作一个能同时输出正弦波、方波、三角波的信号发生器。 三、设计目的: 1、进一步掌握模拟电子技术知识的理论知识,培养工程设计能力和综合分析能力、解决问题的能力。 2、基本掌握常用电子电路的一般设计方法,提高电子电路的设计和实验能力。 3、学会运用Multisim仿真软件对所做出来的理论设计进行仿真测试,并能进一步解决出现的基本问题,不断完善设计。 4、掌握常用元器件的识别和测试,熟悉万用表等常用仪表,了解电路调试的基本方法,提高实际电路的分析操作能力。 5、在仿真结果的基础上,实现实际电路。 四、设计内容及要求: 1、要求完成原理设计并通过Multisim软件仿真部分 (1)RC桥式正弦波产生电路,频率分别为300Hz、1KHz、10KHz、500KHz,输出幅值300mV~5V可调、负载1KΩ。 (2)占空比可调的矩形波电路,频率3KHz,占空比可调范围10%~90%,输出幅值3V、负载1KΩ。 (3)占空比可调的三角波电路,频率1KHz,占空比可调范围10%~90%,输出幅值3V、负载1KΩ。 (4)多用信号源产生电路,分别产生正弦波、方波、三角波,频率范围

EDA课程设计-正弦信号发生器的设计

《EDA技术》设计报告 设计题目正弦信号发生器的设计 院系:信息工程学院 专业:通信工程____ 学号: 姓名:__________

一.设计任务及要求 1.设计任务: 利用实验箱上的D/A 转换器和示波器设计正弦波发生器,可以在示波器上观察到正弦波 2.设计要求: (1) 用VHDL 编写正弦波扫描驱动电路 (2)设计可以产生正弦波信号的电路 (3)连接实验箱上的D/A 转换器和示波器,观察正弦波波形 二.设计方案 (1)设计能存储数据的ROM 模块,将正弦波的正弦信号数据存储在在ROM 中,通过地址发生器读取,将正弦波信号输入八位D/A 转化器,在示波器上观察波形 (2)用VHDL 编写正弦波信号数据,将正弦波信号输入八位D/A 转化器,在示波器上观察波形 三.设计框图 图 1 设计框图 信号发生器主要由以下几个部分构成:计数器用于对数据进行采样,ROM 用于存储待采样的波形幅度数值,TLV5620用于将采集的到正弦波数字量变为模拟量,最后通过示波器进行测量获得的波形。其中,ROM 设置为7根地址线,8个数据位,8位并行输出。TLV5260为串行输入的D/A 转换芯片,因此要把ROM 中并行输出的数据进行并转串。 四.实现步骤 1.定制ROM 计 数 器 7根地址线 8 位 R O M 并转串输出 CLK TLV5620D/A 转换 RST

ROM的数据位选择为8位,数据数选择128个。利用megawizard plug-in manager定制正弦信号数据ROM宏功能块,并将上面的波形数据加载于此ROM中。如图3所示。 图2 ROM存储的数据 图3 调入ROM初始化数据文件并选择在系统读写功能 2.设计顶层

脉冲信号发生器设计

脉冲信号发生器 摘要:本实验是采用fpga方式基于Alter Cyclone2 EP2C5T144C8的简易脉冲信号发生器,可以实现输出一路周期1us到10ms,脉冲宽度:0.1us到周期-0.1us,时间分辨率为 0.1us的脉冲信号,并且还能输出一路正弦信号(与脉冲信号同时输出)。输出模式 可分为连续触发和单次手动可预置数(0~9)触发,具有周期、脉宽、触发数等显示功能。采用fpga计数实现的电路简化了电路结构并提高了射击精度,降低了电路功耗和资源成本。 关键词:FPGA;脉冲信号发生器;矩形脉冲;正弦信号; 1 方案设计与比较 脉冲信号产生方案: 方案一、采用专用DDS芯片的技术方案: 目前已有多种专用DDS集成芯片可用,采用专用芯片可大大简化系统硬件制作难度,部数字信号抖动小,输出信号指标高;但专用芯片控制方式比较固定,最大的缺点是进行脉宽控制,测量困难,无法进行外同步,不满足设计要求。 方案二、单片机法。 利用单片机实现矩形脉冲,可以较方案以更简化外围硬件,节约成本,并且也可以实现灵活控制、能产生任意波形的信号发生器。但是单片机的部时钟一般是小于25Mhz,速度上无法满足设计要求,通过单片机产生脉冲至少需要三条指令,所需时间大于所要求的精度要求,故不可取。 方案二:FPGA法。利用了可编程逻辑器件的灵活性且资源丰富的特点,通过Quartus 软件的设计编写,实现脉冲信号的产生及数控,并下载到试验箱中,这种方案电路简单、响应速度快、精度高、稳定性好故采用此种方案。 2 理论分析与计算 脉冲信号产生原理:输入量周期和脉宽,结合时钟频率,转换成两个计数器的容量,用来对周期和高电平的计时,输出即可产生脉冲信号。 脉冲信号的精度保证:时间分辨率0.1us,周期精度:+0.1%+0.05us,宽度精度:

正弦波函数信号发生器

电子技术课程设计报告 电子技术课程设计报告——正弦波函数信号发生器的设计 作品40% 报告 20% 答辩 20% 平时 20% 总分 100% 设计题目:班级:班级学号:学生姓名:

目录 一、预备知识 (1) 二、课程设计题目:正弦波函数信号发生器 (2) 三、课程设计目的及基本要求 (2) 四、设计内容提要及说明 (3) 4.1设计内容 (3) 4.2设计说明 (3) 五、原理图及原理 (8) 5.1功能模块电路原理图 (9) 5.2模块工作原理说明 (10) 六、课程设计中涉及的实验仪器和工具 (12) 七、课程设计心得体会 (12) 八、参考文献 (12)

一、预备知识 函数发生器是一种在科研和生产中经常用到的基本波形生产期,现在多功能的信号发生器已经被制作成专用的集成电路,在国内生产的8038单片函数波形发生器,可以产生高精度的正弦波、方波、矩形波、锯齿波等多种信号波,这中产品和国外的lcl8038功能相同。产品的各种信号频率可以通过调节外接电阻和电容的参数进行调节,快速而准确地实现函数信号发生器提供了极大的方便。发生器是可用于测试或检修各种电子仪器设备中的低频放大器的频率特性、增益、通频带,也可用作高频信号发生器的外调制信号源。顾名思义肯定可以产生函数信号源,如一定频率的正弦波,有的可以电压输出也有的可以功率输出。下面我们用简单的例子,来说明函数信号发生器原理。 (a) 信号发生器系统主要由下面几个部分组成:主振级、主振输出调节电位器、电压放大器、输出衰减器、功率放大器、阻抗变换器(输出变压器)和指示电压表。 (b) 工作模式:当输入端输入小信号正弦波时,该信号分两路传输,其一路径回路,完成整流倍压功能,提供工作电源;另一路径电容耦合,进入一个反相器的输入端,完成信号放大功能。该放大信号经后级的门电路处理,变换成方波后经输出。输出端为可调电阻。 (c) 工作流程:首先主振级产生低频正弦振荡信号,信号则需要经过电压放大器放大,放大的倍数必须达到电压输出幅度的要求,最后通过输出衰减器来直接输出信号器实际可以输出的电压,输出电压的大小则可以用主振输出调节电位器来进行具体的调节。 它一般由一片单片机进行管理,主要是为了实现下面的几种功能: (a) 控制函数发生器产生的频率; (b) 控制输出信号的波形; (c) 测量输出的频率或测量外部输入的频率并显示; (d) 测量输出信号的幅度并显示; (e) 控制输出单次脉冲。 查找其他资料知:在正弦波发生器中比较器与积分器组成正反馈闭环电路,方波、三角波同时输出。电位器与要事先调整到设定值,否则电路可能会不起振。只要接线正确,接通电源后便可输出方波、三角波。微调Rp1,使三角波的输出幅度满足设计要求,调节Rp2,则输出频率在对应波段内连续可变。 调整电位器及电阻,可以使传输特性曲线对称。调节电位器使三角波的输出幅度经R输出等于U值,这时输出波形应接近正弦波,调节电位器的大小可改善波形。 因为运放输出级由PNP型与NPN型两种晶体管组成复合互补对称电路,输

相关文档
相关文档 最新文档