第一篇:北京邮电大学电路实验信号发生器
北京邮电大学
电子电路实验报告
实验一:函数信号发生器的设计
院 系:
班 级: 姓 名: 班内序号: 学 号:
2013年4月8日星期一
课题名称:
函数信号发生器的设计
摘要:
本实验由两个电路组成,方波—三角波发生电路和三角波—正弦波变换电路。方波—三角波发生电路采用运放组成,由自激的单线比较器产生方波,通过积分电路产生三角波,在经过差分电路可实现三角波—正弦波变换。该电路振荡频率和幅度用电位器调节,输出方波幅度的大小有稳压管的稳压值决定;而正弦波幅度和电路的对称性也分别由两个电位器调节,以实现良好的正弦波输出图形。
关键词:
方波、三角波、正弦波、频率调节、占空比调节
设计任务要求:
基本要求:
a)设计一个设计制作一个可输出方波、三角波、正弦波信号的函数信号发生器。
1,输出频率能在1—10KHz范围内连续可调,无明显失真;
2,方波输出电压Uopp = 12V,上升、下降沿小于10us,占空比可调范围30%—70%;
3,三角波Uopp = 8V; 4,正弦波Uopp≥1V。
b)用PROTEL软件绘制完整的电路原理图(SCH)设计思路:
1,原理框图:
2,系统的组成框图:
分块电路和总体电路的设计:
函数发生器是指能自动产生方波、三角波和正弦波的电压波形的电路或者仪器。电路形式可以采用由运放及分离元件构成;也可以采用单片集成函数发生器。根据用途不同,有产生三种或多种波形的函数发生器,本课题采用由集成运算放大器与晶体差分管放大器共同组成的方波—三角波、三角波—正弦波函数发生器的方法。
本课题中函数信号发生器电路组成如下:
第一个电路是由比较器和积分器组成方波—三角波产生电路。单限比较器输出的方波经积分器得到三角波;第二个电路是由差分放大器组成的三角波—正弦波变换电路。
差分放大器的特点: 工作点稳定,输入阻抗高,抗干扰能力较强等。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波波形变换的原理是利用差分放大器的传输特性曲线的非线性。传输特性曲线越对称,线性区域越窄越好;三角波的幅度Uim应正好使晶体接近饱和区域或者截至区域。1.方波——三角波电路设计
方波输出幅度由稳压管的稳压值决定,及限制在±(UZ+UD)之
间。基本要求中方波的峰峰值为 12V,故选用稳压值为 6V 的稳压管。方波经积分得到三角波,幅度为 Uo2m=±R1/Rf(UZ+UD),由 R1 和 Rf 的比值及稳压管的稳压值决定,基本要求中三角波的峰峰值为 8V,这 R1 与 Rf 的比值为 2:3。我选用的 R1 为 20k,Rf 为 33k。R3 为平衡电阻,根据计算应选择 12K 的电阻。方波和三角波的振荡频率相同,为f=1/T=āRf/4R1R2C,式中α为电位器,Rw的滑动比(即滑动头对地电阻与电位器总电阻之比)。即调节Rw可改变振荡频率。根据所需振荡频率的高低和对方波前后陡度得要求,选择电压转换速率SR合适的运放。在产生方波的时候选用转换速率较快的运放LM318,产生三角波的时候选用运放LM741。根据计算可设定R2=5K,C=0.01uF。R4为直流平衡电阻,其作用是减小或消除静态时可能在运放输出端产生的附加差模输入电压,应与R2的阻值一样,为5K。根据所需要输出方波的幅度选择合适的稳压管和限流电阻Ro的大小。选择限流电阻Ro为2K。为使α的变化范围较大,信号的频率范围达到要求,1—10K范围可调,电位器Rw选择为10K范围内可调。
2.三角波——正弦波电路设计
图中RP1调节三角波的幅度,RP2调整电路的对称性,并联电阻RE用来 减小差分放大器传输特性曲线的线性区。电容C1,C2,C3为隔直流电容,用单向的大电容不但很好的滤除直流分量,还能避免双向耦合,使输出地波形清晰稳定。C4为滤波电容,以滤除高频信号干扰,改善输出正弦波的波形,减少不确定的信号干扰。
电解电容C1、C2、C3为隔直流电容,为达到 良好的隔直流、通交流的目的,其容值应该取的相对较大,故取 C1=10uF C2=0.01uF C3=2200pf。Rp1调节三角波的幅度,为满足实验要求,其可调 范围应该比较大,故取Rp1=100kΩ。Rb1与Rb2为平衡电阻,取值为Rb1=7.5KΩ。流进T1,T2集电极电流约为0.5mA,为满足其正弦波的幅 度大于1mA,取Rc1= Rc2=6.2kΩ,使得电流流经Rc2的电压降不至于很大。C4为滤波电容,其值应该满足要求的正弦电压幅度与频率,其值 不能取太大,否则会是幅度太小无法达到要求,故取C4=0.1uF。至此,电路的设计基本完成,需要在实验中进一步调试电路。
差动放大器具有很大的共模抑制比,被广泛应用于集成电路中,常作为输入级或中间级。
差动放大器的设计:
1,确定静态工作点电流Ic1、Ic2、Ic3 静态时,差动放大器不加入输入信号,对于电流镜Re3=Re4=Re Ir=Ic4+Ib3+Ib4=Ic4+2Ib4= Ic4+2 Ic4/β≈Ic4= Ic3 而 Ir= Ic4= Ic3=(Ucc+Uee-Ube)/(R+Re4)上式表明恒定电流Ic3主要由电源电压Ucc、Uee和电阻R、Re4决定,与 晶体管的参数无关。由于差动放大器得静态工作点主要由恒流源决 定,故一般先设定Ic3。Ic3取值越小,恒流源越恒定,漂移越小,放大 器的输入阻抗越高。因此在实验中,取Ic3为1mA。有Ic1= Ic3=1/2 Ic3=0.5mA。由R+Re=(Ucc+Uee-Ube)/Ir,其中Ucc为12V,Uee也为12v,Ube的典型值为0.7V(在本次取值中可以忽略)Ir为1mA,故取R=18KΩ,Re4=3.3KΩ。由于镜像电流源要求电阻对称,故取Re3=3.3KΩ。2,差模特性
差动放大器的输入和输出各含有单端和双端输入两种方式,因此,差 动放大器的输入输出共有四种不同的连接方式。不同的连接方式,电路的特性不同。Rp 的取值不能太大,否则反馈太强,一般取 100Ω左 右的电位器,用来调整差动放大器的对称性。3,三角波—正弦波变换电路
三角—正弦波变换电路
三角波—正弦波变换电路的种类很多,有二极管桥是电路,二极管可变分压器电路和差分放大器等。利用差分放大器传输特性曲线的非线性,实现三角波—正弦波的变换。
总电路图:
电路的安装与调试:
一,三角波---正弦波转换电路的安装与调试: 安装三角波——正弦波变换电路
1.在面包板上接入差分放大电路,注意三极管的各管脚的接线; 2.搭生成直流源电路;
3.接入各电容及电位器;
4.按图接线,注意直流源的正负及接地端。调试三角波——正弦波变换电路 1.接入直流源后,把 C4 接地,利用万用表测试差分放大电路的静态 工作点; 2.测试 C,D 两端电压,当不相等时调节 RP 使其相等;
3.在 C5 端接入示波器观察,逐渐增大输入电压,当输出波形刚好不失真时记入其最大不失真电压;
二,方波—三角波发生电路的安装与调试:
安装方波—三角波产生电路
1.把 2 块集成运放插入面包板,注意布局;
2.分别把各电阻放入适当位置,尤其注意电位器的接法; 3.按图接线,注意直流源的正负及接地端。调试方波—三角波产生电路
1.接入电源后,用示波器进行双踪观察; 2.调节 RP,微调波形的频率;
3.观察示波器,各指标达到要求后进行下一部安装。三,总电路的安装与调试:
1.把两部分的电路接好,即把三角波的输出与差动放大器的输入相连接,进行整体测试、观察
2.针对各阶段出现的问题,逐各排查校验,使其满足实验要求,即 使方波的峰峰值为12伏,三角波为8伏,使正弦波的峰峰值大于 1V。
所实现功能说明
功能实现及必要数据:
通过万用表,毫伏表,以及示波器测量: 如图:
当频率处在10K左右时,输出方波峰峰值为12.1V,三角波峰峰值为8.0V。满足基本要求。
当频率处在1K左右时,方波的峰峰值达到了12.4V,三角波的峰峰值在7.8V左右,存在一定的误差,其主要原因可能与Rf=33K有关(实在找不到30K的电阻,只好拿33K)。
输出的三角波峰峰值为6.4V,满足大于1V的基本要求
在实验中,除了峰峰值有些误差外方波和三角波波形较好,正弦波波形较粗。但总体上还是比较美观的。必要的测试方法:
1,调节Rp调节电路的对称性。
用万用表进行调零监测
2,电路A.B两输入端接地,将万用表直流电压档接在C.D端之间,调 节Rp,是万用表指示为0。注意万用表先用大量程档,逐渐减小量程,直到最小量程档指示为0。3,用示波器进行调零监测
电路A.B两输入端接地,双踪示波器输入耦合方式设为DC,示波器 第一路接电路输出端C端与地之间,第二路接电路另一个输出端D端与 地之间,将第二路反向按钮摁下,再选择ADD档,则可用示波器观察 C.D端之间的电压,调节Rp,使示波器显示的C.D端之间的电压为0。4,通过调节恒流源改变电路的静态工作电流
差动电路的 T1 与 T2 的静态工作电流由恒流源偏置电路决定,可改变恒流源偏置电路中的电阻 R 来改变各个晶体管的静态工作电流。
差动电路的静态调零完成后,可以测各个晶体管的静态工作电流。故障及问题分析
测试前的电路检验:
电路是否正确,对照实验原理图仔细检查。测量仪器是否有问题,仪器显示是否正确。电源供电(包括极性)、信号源连线是否正确检查直流极性是否正确,信号线是否连接正确。并且用电压表测试保证直流电源输出符合要求。
检查元器件引脚之间有无短路,连接处有无接触不良,二极管、集成电路和电解电容极性等是否连接有误。
测试出现的故障:
设计出占空比是基本要求。由于调试时候总是出错,最后不得不放弃了占空比的设计,留有遗憾。电路用到的电阻,导线,比较多,连接起来比较复杂,所以每次在测试之前,都要检查好电路的正确性。预防损坏元器件。
由于电阻的接线比较长,完全插入后可能错综在一起,造成短路,此时就应利用万用表,挨个检查,更换面包板,插线时不宜过深。在前期试验中,由于连错了直流电压的输出,导致烧坏了一个UA741的运放。之后及时改正了错误,再也没有出现烧电路的的情况。
在三角波—正弦波转换电路中,即使在调节了电路平衡之后,输出波形也会存在一个偏斜。这时就需要调节RP1使波形变得正常。这个过程就需要调一会才会变化,所以需要有耐心。
在调试过程中,正弦波出现了以下失真,产生失真的原因及采 取的措施如下: 1)钟形失真,传输特性曲线的线性区太宽,应减小 Re。从而减 小了线性区的放大效应。2)非线性失真,三角波传输特性区线性度差引起的失真,主 要是受到运放的影响。可在输出端加滤波网络改善输出波形。本次试 验中可以通过增加 C4 的大小来减小波形的非线性失真。3)截止失真或饱和失真。这可是由于电路设计时工作点选的不好。也可能是因为,在实际连电路时选取了与设计时的不同值近似。导致工作点的错误。检查电路修改数据是解决的方法。
布线以及排版问题 对于可以输出稳定波形的电路,需要简化电路,让电路看起来更美观,更简洁,更清楚,这样有利于检查错误和更改。
实验总结及结论:
又一次走进了熟悉的实验室,上一次走进主楼的实验室,已经是上个学期的事情了。上个学期的模电实验对我来说,是一个全新的体验。而这一次的电路创新性实验更是一个全新的挑战。
与上学期照着课本搭电路不同,这次的试验,全要靠我们自己去设计。虽然书上有一部分的电路图,但是者还不足以帮助我们完成所有的设计要求。尤其是各个元器件的参数,更是让我痛疼不已。刚开始,我们只算出了R1,Rf的取值以及各个电位器的选择。所以在第一次的实验中,我们一无所获,甚至连方波都没有出来。后来我们自己计算,以及上网寻找资料,在第二次的实验中,成功的做出了方波,但是幅度却一直不对。正当我百思不得其解的时候,我选择了询问老师,在老师的帮助下,我才知道原来一直困扰自己的幅度问题是因为稳压二极管的管脚没有选对。之后再搭建三角波的电路的时候,我们就有了一定的经验,很顺利的做出了符合要求的三角波。真正的难题来了,那就是正弦波,我们的正弦波一直出不来,不是有人的正弦波失真,就是我的正弦波只有一半的正弦。开始我以为是过滤电容,没有找到合适的,所以我就在不停地更换电容,但是一直没有成果。在咨询了老师之后,我知道是自己的输入幅度太大,导致了正弦波不完整。很快我就意识到自己该调整100K电位器了,在调整了几次之后,我终于做出了完美的正弦波。
在完成了三个波形的输出之后,我开始了调整细节的工作,调节频率是首当其冲的。频率虽然可以高达20K但是低频却达不到1K,只能停留在2K左右,由于在后期对电路十分的熟悉,所以很快的就解决了这个问题。
一直很难过,没有能够答辩,因为自己感觉我已经对函数信号发生器的电路十分了解了。
Pcb原理图:
所用仪器及元器件: 仪器:直流稳压电源,示波器,万用表 元器件:电位器、电阻、电容 相关元件参数:
LM318 芯片:
输入失调电压 4mV; 增益带宽积:15MHz 耗电流:5mA 偏置电流:150nA 转换速率:70V/uS 电源:+/-20V
LM741 芯片:
LM741: 输入失调电压 0.8mV; 增益带宽积:1.5MHz 耗电流:1.7mA 偏置电流:30nA 转换速率:0.7V/uS 电源:+/-3V---+/-22V
三极管: 8050
参考文献:
《Protel DXP 基础与应用教程》 高明制作
《电子电路综合设计实验教程》 北邮出版社
《电子电路基础》 林家儒主编 北邮出版社
第二篇:实验五正弦信号发生器设计
实验五正弦信号发生器设计
一、实验目的1.熟悉利用QuartusII及其LPM_ROM与FPGA硬件资源的使用方法;
2.掌握LPM模块的重要功能;
3.熟悉MegaWizard Plug-In Manager的使用方法。
二、实验设备
计算机,QuartusII 6.0 版软件,JTAG下载线,EDA实验挂箱(EP1C6Q240C8)。
三、实验原理
设计一8位宽、1024点的正弦信号发生器。
正弦信号发生器的结构由四个部分组成:
1.计数器或地址发生器(10位地址线);
2.正弦信号数据ROM(存放正弦波的采样数据,采样频率20MHz:8位数据线、10位地址线);
3.VHDL顶层设计;
4.D/A转换器(8位)。
四、实验步骤和内容
1.在QuartusII上利用MegaWizard Plug-In Manager功能,调用LPM_ROM函数定制8位宽、1024点ROM,并进行初始化。然后对设计实体进行编辑、编译、综合、适配、仿真。
2.利用QuartusII文本编辑器设计10位二进制计数器,做为地址发生器,对设计实体进行编辑、编译、综合、适配、仿真。
3.利用层次化设计方法设计一8位宽、1024点的正弦信号发生器。
4.D/A转换器采用试验箱配备的DAC0832。
5.引脚锁定和硬件下载测试。引脚锁定后进行编译、下载和硬件测试实验。将实验过程和实验结果写进实验报告。
6.使用SignalTap II对设计的正弦信号发生器进行实测。采样时钟使用系统时钟20MHz。
7.使用在系统存储器数据读写编辑器对设计的正弦信号发生器进行实测,观测结果;
8.实验报告。将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。
五、思考题
如何实现对输出正弦信号的频率和相位可调?
第三篇:VHDL实验四函数信号发生器设计.
VHDL实验四:函数信号发生器设计
设计要求:设计一个函数信号发生器,能产生方波,三角波,正弦波,阶梯波。设计概述:信号的输出实质上是指电压幅度随时间的变化。根据这个原理我们就可以设计函数信号发生器了。FPGA里面产生的数据只能是数字信号,最终我们通过连接8bit的DA转换器就能将数字信号转换成电压信号,从而实现了信号发生器的功能。
本设计有5个模块组成,其中有:方波发生器,三角波发生器,正弦波发生器,阶梯波发生器,4选1选择器。下面是我设计的整个过程: 方波发生器:实质上是一段时间输出0,一段时间输出255的数字信号,当然这有8位的通道输出。
程序设计如下:--工程名:方波发生器
--功能:产生方波,是通过交替送出全0和全1实现的,每32个时钟翻转一次--时间:2010-12-17 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sqaure is port(clk,clr:in std_logic;
q:out integer range 0 to 255;end entity;architecture behav of sqaure is signal a:bit;begin process(clk,clr--计数分频 variable cnt:integer range 0 to 32;begin if(clr='0' then a<='0';elsif clk'event and clk='1' then if cnt<31 then--进行32分频 cnt:=cnt+1;else cnt:=0;a<=not a;end if;end if;
end process;process(clk,a--信号输出 begin if clk'event and clk='1' then if a='1' then q<=255;else q<=0;end if;end if;end process;end behav;三角波发生器:实质上是先输出直线递增的数字信号,随后按照同样的斜率输出递减的数字信号。这样就能实现三角波的发生了。
程序设计如下:--工程名:三角波信号发生器
--功能:产生的三角波以64个时钟为一个周期,输出q每次加减8。--时间:2010-12-17 library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity delta1 is port(clk:in std_logic;--时钟信号 rst:in std_logic;--复位信号
q:out std_logic_vector(7 downto 0;--输出信号 end entity;architecture behav of delta1 is begin variable tmp:std_logic_vector(7 downto 0;variable a:std_logic;begin if(rst='0' then tmp:=“00000000”;elsif clk'event and clk='1' then if(a='0' then if(tmp=“11111000” then--tmp=248 tmp:=“11111111”;
a:='1';--信号计数完成,下一次改成递减 else tmp:=tmp+8;--递增 end if;else if tmp=“00000111” then--tmp=7 tmp:=“00000000”;a:='0';--信号计数完成,下一次改成递增 else tmp:=tmp-8;--递减 end if;end if;end if;q<=tmp;--信号输出 end process;end behav;正弦波发生器:这里我设计了64个状态,就是将一个周期的正弦波分成64分,在然后一份份的数字信号输出就可以了。具体怎么取值,用excel计算就可以了。自己手动计算也可以的哦。
具体程序设计如下: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sin1 is port(clk,clr:in std_logic;d:out integer range 0 to 255;end entity;architecture behav of sin1 is begin variable tmp:integer range 0 to 63;begin if clr='0' then d<=0;elsif clk'event and clk='1' then if tmp=63 then tmp:=0;else
tmp:=tmp+1;end if;case tmp is when 00=>d<=255;when 01=>d<=254;when 02=>d<=252;when 03=>d<=249;when 04=>d<=245;when 05=>d<=239;when 06=>d<=233;when 07=>d<=225;when 08=>d<=217;when 09=>d<=207;when 10=>d<=197;when 11=>d<=186;when 12=>d<=174;when 13=>d<=162;when 14=>d<=150;when 15=>d<=137;when 16=>d<=124;when 17=>d<=112;when 18=>d<=99;when 19=>d<=87;when 20=>d<=75;when 21=>d<=64;when 22=>d<=53;when 23=>d<=43;when 24=>d<=34;when 25=>d<=26;when 26=>d<=19;when 27=>d<=13;when 28=>d<=8;when 29=>d<=4;when 30=>d<=1;when 31=>d<=0;when 32=>d<=0;when 33=>d<=1;when 34=>d<=4;when 35=>d<=8;when 36=>d<=13;when 37=>d<=19;when 38=>d<=26;when 39=>d<=34;when 40=>d<=43;when 41=>d<=53;when 42=>d<=64;when 43=>d<=75;when 44=>d<=87;when 45=>d<=99;when 46=>d<=112;when 47=>d<=124;
when 48=>d<=137;when 49=>d<=150;when 50=>d<=162;when 51=>d<=174;when 52=>d<=186;when 53=>d<=197;when 54=>d<=207;when 55=>d<=217;when 56=>d<=225;when 57=>d<=233;when 58=>d<=239;when 59=>d<=245;when 60=>d<=249;when 61=>d<=252;when 62=>d<=252;when 63=>d<=255;when others=>null;end case;end if;end process;end behav;阶梯波发生器:实质上是一个直线递增的数字信号输出而已,和三角波发生没有什么差别。
--工程名:阶梯波信号发生器
--功能:改变该模块递增的常数,可以改变阶梯的个数--时间:2010-12-17 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;entity ladder1 is port(clk:in std_logic;--时钟信号 rst:in std_logic;--复位信号
q:out std_logic_vector(7 downto 0;--输出信号 end entity;architecture behav of ladder1 is begin process(clk,rst variable tmp:std_logic_vector(7 downto 0;variable a:std_logic;begin if(rst='0' then--复位 tmp:=“00000000”;elsif clk'event and clk='1' then if a='0' then if tmp=“11111111” then tmp:=“00000000”;a:='1';
else tmp:=tmp+16;--以常数递增 a:='1';end if;else a:='0';end if;end if;q<=tmp;--信号输出 end process;end behav;4选1模块
最后我们要将模块进行整合,就需要设计一个选通模块,进行选择。
具体程序设计如下:--工程名:4 选 1 模块选择器--功能:选通模块作用--时间:2010-12-17 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity select4_1 is port(sel:in std_logic_vector(1 downto 0;--选择信号 d0,d1,d2,d3:in std_logic_vector(7 downto 0;--4 个信号发生器通道 q:out std_logic_vector(7 downto 0;--输出通道 end entity;architecture behav of select4_1 is begin process(sel begin case sel is--选择 when“00”=> q<=d0;when“01”=> q<=d1;when“10”=> q<=d2;when“11”=> q<=d3;end case;end process;end behav;最后将所有模块就连接起来进行图形化设计; 进行仿真。最后进行硬件调试,通过 DA 将 8
位的数字信号转化成电压信号就能完成了整个 系统的设计了。总结:通过设计这个简单的数字信号发生器,我彻底的了解了如何设计一个函数 发生器。一直以来都想设计这个一个东西,所以今天终于完成了我一直以来的心 愿了。但是这仅仅是开始,要设计一个很好信号发生器,需要使用 DDS 的技术,因此希望我以后更加再接再厉,慢慢稳健的成长起来。
第四篇:函数信号发生器设计
函数信号发生器设计设计任务与要求
⑴ 设计并制作能产生正弦波、矩形波(方波)和三角波(锯齿波)的函数发生器,本信号发生器可以考虑用专用集成芯片(如5G8038等)为核心实现。⑵ 信号频率范围: 1Hz∽100kHz;
⑶ 频率控制方式:
① 手控通过改变RC参数实现;
② 键控通过改变控制电压实现;
③ 为能方便地实现频率调节,建议将频率分档;
⑷ 输出波形要求
① 方波上升沿和下降沿时间不得超过200nS,占空比在48%∽50%之间;② 非线性误差≤2%;
③ 正弦波谐波失真度≤2%;
⑸ 输出信号幅度范围:0∽20V;
⑹ 信号源输出阻抗:≤1Ω;
⑺ 应具有输出过载保护功能;
⑻ 具有数字显示输出信号频率和电压幅值功能。
第五篇:DSP-任意信号发生器
任意信号发生器
实验报告
姓
名: 学院(系): 专
业: 组
员: 指导老师:
学 号:
电子工程与光电技术学院
通信工程
一、实验目的
1.熟悉 DSP 硬件开发平台; 2.熟悉 DSP 集成开发环境(CCS); 3.掌握 TMS320F2812 的存储器配置表; 4.学习TMS320F2812 的编程开发; 5.熟悉代码调试的基本方法。
二、实验仪器
计算机、C2000 DSP 教学实验箱、XDS510 USB 仿真器、示波器
三、实验内容
建立工程,编写DSP 的主程序,并对工程进行编译、链接,利用现有 DSP平台实现任意波的产生,通过示波器观察结果。对于实验所要求的内容,完成情况如下:
(1)、独立完成项目编译、链接、调试的全过程;
(2)、利用数码显示管,在DSP初始化子模块后添加语句或者编写子程序,使之能够显示实验日期2014.11.15。答:如图所示:
(3)、记录实验中个子程序包括主程序的入口实际地址,与 memory 比较,指出分别位于什么类型的存储器中。
答:入口地址为:0x00000000;位于片上M0.M1 SARAM。(4)、指出波形数据保存的空间地址,并以图形方式显示线性调频信号的波形,并保存,附在实验报告中。答:空间地址为:0x01000000 线性调频信号的波形如图所示:
四、实验中出现的问题及解决方案
1、改变信号频率的方式并编程实现,在示波器上验证:
首先需要改变原来的程序,初始程序为cos余弦函数,我们把它改成了sin正弦函数;另外信号频率需要不断变化,因此在源程序基础上增加了一个变量m.具体程序如下所示: 初始程序:
修改后程序:
改变信号频率后,示波器上验证的图形如下: A、m=2时,T=5.3ms;
B、m=3时,T=3.6ms;
C、m=4时,T=2.65ms;
D、m=8时,T=1.32ms;
2、在实验过程中,由于实验进行的比较顺利,因此我们还利用数码显示管显示了其他内容,例如下面图形所示,寓意为“304C一生一世”(304C为宿舍号):
五、实验感想
在进行本实验时,由于我们之前对CCS这个集成开发环境有了一定的熟悉,因此做起来少了生疏感。主要出现的问题在于编程方面,在编写正余弦函数表达式上我们是通过了学习他人的方式完成的。
该实验让我学会了利用DSP的运算能力计算出波形的数值信息,在现有平台上实现任意波形的生成,还让我学会了通过改变程序来控制数码显示管的输出。总之,通过实验,我发现了许多以前不知道的DSP的用处,感谢实验带给我新的知识和领悟。