函数信号发生器的使用
一、实验名称:典型电信号的观察与测量
二、实验任务及目的 1.基本实验任务
学习函数信号发生器、示波器和交流毫伏表的使用方法。2.实验目的
掌握函数信号发生器、示波器和交流毫伏表的使用方法。
三、实验原理
用函数信号发生器产生信号,然后用示波器观测信号。
四、实验仪器
函数信号发生器1台,使用正常;示波器1台,使用正常;交流毫伏表1台,使用正常。
五、实验方案与步骤 1.观测示波器自检信号。
2.结合使用交流毫伏表和函数信号发生器,用示波器观测正弦波信号。3.使用函数信号发生器,用示波器观测方波信号。
六、实验数据 1.观测示波器自检信号
示波器自检multism10仿真图
如上图所示,用通道1和通道2同时监测示波器自检信号,同样一个信号源,而两通道得到的波形却不同。这是由于通道1的耦合方式选择的是“DC”耦合(即直接耦合,通道2的耦合方式选择的是“AC”耦合(即交流耦合。通道2的波形是被滤除直流分量,加工处理过了的,因此,示波器的自检信号应为图2.3.2,是1kHz/5V的矩形脉冲信号,平均值为2.5V。
若耦合采用AC耦合,则图示如下
示波器自检波形
2.用示波器观察和测量交流电压
3.用示波器的游标测量方法测量交流信号
4.用示波器测量直流电压
Vx=偏移格数·(V/DIV=2.81·2=5.62V 5.观察频率为1kHz、幅值为0-3.5V、占空比(脉宽为30%的脉冲信号
七、测量数据的分析
仿真与实际测量有小误差,主要由人眼估算格数不准确,仪器本身存在误差等原因造成八、思考题
用示波器观察信号时,分析出现下列情况的主要原因,应如何调节? 1.波形不稳定:当输入信号为小信号时,波形极易受干扰,应调V/DIV和T/DIV至波形稳
定;心愿选择不合适,按触发键选择正确信源;三角标不在峰峰值之间,转动level键到合适位置
2.示波器屏幕上可视波形的周期太多:转动TIME/DIV,使每格代表的时间增大,减小周期
数
3.示波器屏幕上所示波形的幅度过小:转动VOLTS/DIV增大每格所代表电压 4.看不到信号的直流量:讲耦合方式改为直流耦合
九、心得体会
信号发生器分类信号发生器是指产生所需参数的电测试信号的仪器。在通信、广播、电视系统, 在工业、农业、生物医学领域内, 函数信号发生器在实验室和设备检测中都具有十分广泛的用途[1]。目前市场上大多数函数信号发生器都是非单片机控制的, 但是这种电路存在波形质量差, 功能简单, 控制难, 可调范围小, 电路复杂和体积大等缺点。采用单片函数发生器可产生正弦波、方波等, 操作简单易行, 用D/A转换器的输出来改变调节电压, 可以实现数控调整频率, 满足设计要求[2]。
2系统总体设计
采用的是AT89C51单片机用软件实现信号的输出。该单片机是一个微型计算机, 包括中央处理器CPU, RAM, ROM、I/O接口电路、定时计数器、串行通讯等, 是波形设计的核心[3]。其信号发生器构成系统框图如下图所示:
利用AT89C51单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形, 再通过D/A转换器DAC0832将数字信号转换成模拟信号, 滤波放大, 最终由示波器显示出来, 通过键盘来控制四种波形的类型选择、频率变化, 最终通过数码管输出显示其各自的类型以及数值[4]。
3硬件系统设计
3.1 主控电路
AT89C51是片内4k FlashROM的单片机, 因此这种芯片构成的最小系统简单﹑可靠[5]。用AT89C51单片机构成最小应用系统时, 只要将单片机接上时钟电路和复位电路即可。由于集成度的限制, 最小应用系统只能用作一些小型的控制单元。其应用特点:有可供用户使用的大量I/O口线;内部存储器容量有限;应用系统开发具有特殊性。
AT89C51单处机内部设置两个16位可编程的定时器/计数器T0和T1, 它们可以工作在计数器和定时两种模式并且有4种工作方式[6]。在波形发生器中, 将其作定时器使用, 通过计算来精确地确定波形的两个采样点输出之间所需的延迟时间。其中模式1采用的是16位计数器计数方式, 当T0或T1被允许计数后, 从设定的初值开始加计数, 最高位产生溢出时向发中断CPU请求, 从而完成波形的输出与频率调节。
3.2 D/A转换
DAC0832是采用CMOS工艺制成的8分辨率的D/A转换集成芯片, 由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成[7]。根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式, DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。其原理图为:
其中D/A转换结果采用电流形式输出。若需要相应的模拟电压信号, 可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻, 也可外接。DAC0832逻辑输入满足TTL电平, 可直接与TTL电路或微机电路连接。
3.3 放大与低通滤波电路
由单片机采用编程方法产生四种波形、通过DA转换模块DAC0832在进过滤波放大之后输出[8]。其电路图如下:
其中第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1, 第二级运算放大器的作用是将V1通过反向放大电路- (R2/R1) 倍, 从而通过调节R2的大小来调整输出幅值在0-5V之间变化。
3.4 显示电路设计
显示电路是用来显示波形信号的频率, 使得整个系统更加合理, 从经济的角度出发, 所以显示器件采用LED数码管显示器。而且LED数码管是采用共阳极接法, 当主控端口输出一个低电平后, 与其相对应的数码管即变亮, 显示所需数据。
4软件系统设计
根据设计的要求, 对各种波形的频率和幅度进行程序的编写, 并将所写程序装入单片机的程序存储器中。在程序运行中, 当接收到来自外界的命令, 需要输出某种波形时再调用相应的中断服务子程序和波形发生程序, 经电路的数/模转换器和运算放大器处理后, 从信号发生器的输出端口输出。其中程序应包含以下几个模块:初始化程序;键盘扫描程序与处理程序;定时器0服务程序;正弦波发生程序及其服务程序;三角波发生程序;锯齿波发生程序;方波发生程序。主程序流图如下所示:
系统值子程序的调用是通过按键的选择来实现, 在取得按键相应的键值后, 然后对参数值进行计算得到相应的频率值与应当输出的波形, 启动计时器和相应的中断服务程序, 并同时用数码管显示输出的波形与频率, 再直接查询程序中预先设置的数据值, 通过转换输出相应的电压与定时器的延时获得不同频率值, 从而形成所需的各种波形。其中三角波部分程序:
if (P1_0==0&&P1_1==1) //三角波
{
if (s2==255) ss2=1;
if (ss2==0) s2++;
if (ss2==1)
{
s2--;
if (s2==0) ss2=0;
}
P0=s2;
tp=1;
}
5结论
通过程序的控制, 可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。最终能够满足设计要求, 产生锯齿波、三角波、正弦波、方波波形, 并且可在一定范围内调节其频率和幅值大小。本设计具有体积小、价格低廉、性能稳定、实现方便、功能齐全的特点, 通过不同的程序编程, 系统还将得到更多的波形输出。
参考文献
[1]任为民.电子技术基础课程设计[M].北京:中央广播电视大学出版社, 1997
[2]童诗白.模拟电路技术基础[M].北京:高等教育出版社, 2000.
[3]韩全立, 王建明.单片机控制技术及应用[M].北京:电子工业出版社, 2004
[4]高吉祥, 全国大学生电子设计竞赛培训系列教程[M].北京:电子工业出版社, 2007
[5]李叶紫.MCS-51单片机应用教程[M].北京:清华大学出版社, 2004
[6]韩全立, 王建明.单片机控制技术及应用[M].北京:电子工业出版社, 2004
[7]张毅刚.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社, 1990
关键词:ExcelCONCATENATE函数MIDB函数 IF函数
1引言
Excel是一款得到广泛应用的优秀电子表格软件,在Excel的“分析工具库”中包括了许多非常实用的函数,利用这些函数可以帮助我们方便地解决许多Excel实际应用中的难题。但它的疑难和奥妙也一直困扰着无数用户,致使许多用户尽管使用了多年仍不能熟练掌握该软件的某些具体功能,下面详细介绍Excel的几个函数的使用方法和技巧,希望能对使用者有所帮助。
2利用身份证号码获取公民出生日期
在单位上整理人事信息时,常常即需要输入身份证号码,又要输入出生年月日,这样即工作量较大而且易出现错误。由于身份证号码内含有相关信息,我们可以使用Excel函数从身份证号号码中直接提取出生年月日,这样即减少工作量又可提高准确度。
从图1中我们可以发现我国现行的身份证号码的规律,从左起第7—14个字符代表了公民的出生年月日,我们可以使用MIDB函数从身份证号码的特定位置,提取出生年月日,再使用CONCATENATE函数将所提出来的文字合并起来,就可以得到相对应的出生年月日。
在图2中是已经制作好的一张人员信息表,所需的三个MIDB函数操作对象存放在D3单元格中,分别从左起第7个字符开始提取,即第7个字符开始连续取4个字符即得到“年”,第11个字符开始连续取2个字符得到“月”,第13个字符开始连续取2个字符得到“日”,最后由CONCATENATE函数将所有字符合并起来。即得到我们所需要的信息。
从以上分析可以得出公式:=CONCATENATE(MIDB(D3,7,4),"年", MIDB(D3,11,2),"月", MIDB(D3,13,2),"日")
CONCATENATE是将若干个文字项合并至一个文字项中的函数。其语法格式是:CONCATENATE(text1,text2……)。
MIDB从一个文本字符串的指定位置开始,返回指定个数的子字符串。其语法格式是:MIDB(text,start_num, mum_bytex)
用户要注意的是:CONCATENATE函数和MIDB函数的操作对象均为文本,所以存放身份证号码的单元格必须设置为文本格式,然后再输入身份证号。
3用IF函数计算成绩等级
在教师的日常工作中,会遇到要将学生的考试成绩按实际考试分数转换成相应成绩等级的情况。利用IF函数就能够迅速完成对学生的考试分数转换成相应成绩等级的工作。
成绩等级评定一般的标准为:考试分数大于或等于85分为优,分数大于或等于80分为良,分数大于或等于70分为中,分数大于或等于60分为及格,低于60分为不及格,没有参加考试的不划等级。
从图3中可以看出分数存放在D列,计算结果存入E列。用Excel的IF函数计算公式如下:
=IF(D3>=85,"优",IF(D3>=80,"良",IF(D3>=70,"中",IF(D3>=60,"及格",IF(ISNUMBER(D3),"不及格",IF(ISBLANK(D3),"未考试"))))))
上面的公式中主要是利用IF条件函数的嵌套。IF函数是根据对指定条件的逻辑判断的真假结果,返回相对应的内容的条件函数。利用此函数逻辑计算出真假值,会返回不同的结果,从而可达到筛选数据的目的。其语法格式是:IF(logical_test,value_if_true,value_if_false), logical_test:表示计算结果为TRUE或者FALSE的任意值或表达式,该参数可使用任何比较运算符 ;value_if_true:表示logical_test为TRUE(也就是真或正确)时返回的值;value_if_false:表示logical_test为FALSE(也就是假或错误)时返回的值。
公式中的第二个IF语句是第一个IF语句的参数,第三个IF语句则是第二个IF语句的参数,以此类推。如果第一个逻辑判断表达式D3>=85为TRUE(真),则E3单元格被填入“优”;如果第一个逻辑判断表达式D3>=85不成立,则计算第二个IF语句IF(D3>=70,以此类推直到计算结束。公式中ISNUMBER函数在D3为空时返回FALSE(假),接着执行最后一个IF語句,否则在D3单元格中填入“不及格”。ISBLANK函数D3为空时返回TRUE(真),D3单元格被填入“未考试”。使用ISNUMBER函数和ISBLANK函数,可防止某个未参加考试的学生(成绩为空时)给他评定为“不及格”的情况。
4结束语
本文通过实例,详细介绍了CONCATENATE函数、MIDB函数以及IF函数的使用技巧。对使用者熟练掌握理解这几个函数有所帮助。
参考文献:
[1]施威铭研究室著,完全掌握OFFICE XP中文版标准教程,中国青年出版社,2002年。
[2][美]John Walkenback著,尚红昕,刘玲等译,Excel应用技巧宝典,电子工业出版社,2006年。
实验报告
院 系:电子工程学院
班 级:2012211209 姓 名:陈炳文 班内序号:
学 号:
0
实验目的:
设计一个设计制作一个可输出方波、三角波、正弦波信号的函数信号发生器。
1,输出频率能在1—10KHz范围内连续可调,无明显失真;
2,方波输出电压Uopp = 12V,上升、下降沿小于10us(误差<20%); 3,三角波Uopp = 8V(误差<20%); 4,正弦波Uopp≥1V。
设计思路:
1,原理框图:
2,系统的组成框图:
分块电路和总体电路的设计:
函数发生器是指能自动产生方波、三角波和正弦波的电压波形的电路或者仪器。电路形式可以采用由运放及分离元件构成;也可以采用单片集成函数发生器。根据用途不同,有产生三种或多种波形的函数发生器,本课题采用由集成运算放大器与晶体差分管放大器共同组成的方波—三角波、三角波—正弦波函数发生器的方法。
本课题中函数信号发生器电路组成如下:
第一个电路是由比较器和积分器组成方波—三角波产生电路。单限比较器输出的方波经积分器得到三角波;第二个电路是由差分放大器组成的三角波—正弦波变换电路。
差分放大器的特点: 工作点稳定,输入阻抗高,抗干扰能力较强等。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波波形变换的原理是利用差分放大器的传输特性曲线的非线性。传输特性曲线越对称,线性区域越窄越好;三角波的幅度Uim应正好使晶体接近饱和区域或者截至区域。
Ⅰ、方波—三角波产生电路设计
方波输出幅度由稳压管的稳压值决定,即限制在(Uz+UD)之间。方波经积分得到三角波,幅度为Uo2m=±(Uz+UD)
方波和三角波的震荡频率相同,为f=1/T=āRf/4R1R2C,式中ā为电位器RW的滑动比(即滑动头对地电阻与电位器总电阻之比)。即调节RW可改变振荡频率。
根据两个运放的转换速率的比较,在产生方波的时候选用转换速率快的LM318,这样保证生成的方波上下长短一致,用LM741则会不均匀。产生三角波的时候选用LM741。其中R1、Rf的值根据实验要求设定在20K和30K,根据计算可设定R2=5KΩ,C=0.01uF。根据运放两端电阻要求的电阻平衡,选择R4的阻值和R2的相等,即R4=5K欧姆。根据所需要输出方波的幅度选择合适的稳压管和限流电阻R0的大小。稳压管为给定的2DW232,其稳压幅度已经给定。选择限流电阻R0为2Ω。为使ā的变化范围较大,信号的频率范围达到要求,电位器RW选择为1K欧姆范围内可调。
Ⅱ、三角波—正弦波产生电路设计
差动放大器具有很大的共模抑制比,被广泛应用于集成电路中,常作为输入级或中间级。
差动放大器的设计:
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=20KΩ,Re4=2KΩ。由于镜像电流源要求电阻对称,故取Re3=2KΩ。2,差模特性
差动放大器的输入和输出各含有单端和双端输入两种方式,因此,差 动放大器的输入输出共有四种不同的连接方式。不同的连接方式,电路的特性不同。Rp 的取值不能太大,否则反馈太强,一般取 100Ω左 右的电位器,用来调整差动放大器的对称性。3,三角波—正弦波变换电路
三角波—正弦波变换电路的种类很多,有二极管桥是电路,二极管可变分压器电路和差分放大器等。利用差分放大器传输特性曲线的非线性,实现三角波—正弦波的变换。
图中RP1调节三角波的幅度,RP2调整电路的对称性,并联电阻RE用来 减小差分放大器传输特性曲线的线性区。电容C1,C2,C3为隔直流电容,用单向的大电容不但很好的滤除直流分量,还能避免双向耦合,使输出地波形清晰稳定。C4为滤波电容,以滤除高频信号干扰,改善输出正弦波的波形,减少不确定的信号干扰。
电解电容C1、C2、C3为隔直流电容,为达到 良好的隔直流、通交流的目的,其容值应该取的相对较大,故取 C1=10uF C2=10uF C3=10uF。Rp1调节三角波的幅度,为满足实验要求,其可调 范围应该比较大,故取Rp1=22kΩ。Rb1与Rb2为平衡电阻,取值为Rb1= Rb2=6.8KΩ。流进T1,T2集电极电流约为0.5mA,为满足其正弦波的幅 度大于1mA,取Rc1= Rc2=5.1kΩ,使得电流流经Rc2的电压降不至于很大。C4为滤波电容,其值应该满足要求的正弦电压幅度与频率,其值 不能取太大,否则会是幅度太小无法达到要求,故取C4=0.01uF。至 此,电路的设计基本完成,需要在实验中进一步调试电路。
电路的安装与调试:
一,三角波---正弦波转换电路的安装与调试: 安装三角波——正弦波变换电路
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。
实验结果:
方波的输出:
输出方波在±7v之间,基本满足实验要求,上升、下降沿9us,满足要求,频率可以通过电位器RP调节,在1-10KHz内输出稳定。
三角波的输出: 输出三角波:
三角波Uopp=8.1V,满足要求
正弦波的输出:
正弦波Uopp≥1v 三种输出波形的输出频率均可在1-10KHz内可调。
故障及问题分析
测试前的电路检验:
1.电路是否正确,对照实验原理图仔细检查。2.测量仪器是否有问题,仪器显示是否正确。3.电源供电(包括极性)、信号源连线是否正确检查直流极性是否正确,信号线是否连接正确。并且用电压表测试保证直流电源输出符合要求。
4.检查元器件引脚之间有无短路,连接处有无接触不良,二极管、集成电路和电解电容极性等是否连接有误。
测试出现的故障:
1.整个电路比较复杂,连接电路时出现的问题比较多,需要仔细的检查,反复的测试才能得到需要的实验结果。
2.在实验之前需要检查电路的正确性,避免电路连接错误而造成的烧毁电路或是不出波形。
3.实验过程中,面包板可能短路,由于电阻的接线比较长,完全插入后可能错综在一起,造成短路,此时就应利用万用表,挨个检查,更换面包板,插线时不宜过深。
4.在三角波—正弦波转换电路中,即使在调节了电路平衡之后,输出波形也会存在一个偏斜。这时就需要调节RP1使波形变得正常。这个过程就需要调一会才会变化,所以需要有耐心。5.失真问题
在调试过程中,正弦波出现了以下失真,产生失真的原因及采 取的措施如下: 1)钟形失真,传输特性曲线的线性区太宽,应减小 Re。从而减 小了线性区的放大效应。
2)非线性失真,三角波传输特性区线性度差引起的失真,主 要是受到运放的影响。可在输出端加滤波网络改善输出波形。本次试 验中可以通过增加 C4 的大小来减小波形的非线性失真。
3)截止失真或饱和失真。这可是由于电路设计时工作点选的不好。也可能是因为,在实际连电路时选取了与设计时的不同值近似。导致工作点的错误。检查电路修改数据是解决的方法。
6.布线以及排版问题 对于可以输出稳定波形的电路,需要简化电路,让电路看起来更美观,更简洁,更清楚,这样有利于检查错误和更改。
实验总结及结论:
本次实验是我第一次将所学的知识很好的用在实验里解决了问题的一个。虽然以前也做过模电实验,但都是按部就班。另外当时模电学的也不是特别明白有些实验对于很多结果都还不清楚。这次虽然有一些设计原理我依然没有完全吃透。但是对于我真正掌握所学知识并应用在实践中是非常有帮助的。
在设计过程中我也查阅了一些资源,对于实验器材以及实验的惯例和常识有了更多的了解。方便自己根据实验需要来选择器材。
在试验中我不仅学会了最基本的面包板的搭建与布线。器材的识别和检测。还在试验中基本解了函数信号发生器电路的组成及设计原理,初步了解了电路设计的方法,熟悉了电路仿真软件protel dxp的使用。利用软件仿真来对搭建电路很有帮助,有事半功倍的效果。而且这些工具都是我们将来在从事相关工作中不可或缺的东西。
总的来说,充分理解实验原理是做好一个实验的最重要的一环,如果不理解电路的原理,就不知道如何去更改参数,去调试电路板,除了原理,还要了解各个器件的特性和用法,比如电源的连线的方式。另外,这次实验培养了我们动手能力。在搭建电路板的时候,需要细心耐心,布局以及连线都很有讲究,不仅要求电路的通畅,还要注意电路板上各个元器件的布局,还有所使用的导线的颜色以及长度,通过这次试验我可以锻炼我们的电路版的搭建能力。这次实验,熟悉了测量仪表的用法,熟悉了电阻,二极管等器件的测量和极性判断方法,这些经验都是宝贵的。后本次实验在耐心与细心上面对我给予启示,在电路搭好以后却出不了波形的时候,要戒骄戒躁,耐心细心的去寻找,去排查,去测试,经过4周的努力拼搏,自己的实验技能有了很大的提高,对于之后完成更加困难的实验增强了信心。俗话说:“读万里书,行万里路。”这样的实践就是一种“行走”的过程。让我们在实践中将知识融会贯通,而不仅仅是纸上谈兵的呆书生。最后,感谢老师对我们实验的悉心讲解和指导。
电路仿真图:
所用仪器及元器件:
仪器:直流稳压电源,示波器,万用表 元器件:电位器、电阻、电容
相关元件参数: 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 基础与应用教程》 高明制作 《电子电路综合设计实验教程》 北邮出版社
简易函数信号发生器
姓 名:李**,马** 班 级:********** 学 号:**********
**********
日 期:2016.12.28
简易信号发生器设计
摘要:
函数信号发生器是一种能能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。现在我们通过对函数信号发生器的原理以及构成设计一个能变换出三角波、正弦波、方波的简易发生器。我们通过对电路的分析,参数的确定选择出一种最适合本课题的方案。在达到课题要求的前提下保证最经济、最方便、最优化的设计策略。按照设计的方案选择具体的原件,焊接出具体的实物图,并在实验室对焊接好的实物图进行调试,观察效果并与课题要求的性能指标作对比。最后分析出现误差的原因以及影响因素。
关键字:
方案确定、参数计算、调试、误差分析。
一.设计目的:
设计构成正弦波、三角波、方波函数信号发生器
二.函数发生器总方案:
函数发生器的总方案 函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等 电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件(如低频信号函数发生器 S101 全部采用晶体管),也可以采用集成电路(如单片函数发生器模块 8038)。为进一步掌握电路的基本理 论及实验调试技术,本课题采用由集成运算放大器与RC振荡电路的方式形成正弦波—方波—三角波函数发生器的设计方法。产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过比较器,整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生正弦波—方波—三角波,再调整方波的占空比进而实现产生锯齿波的电路设计方法,本课题中函数发生器电路组成框图如下所示:
由比较器和积分器组成方波—三角波产转换电路,比较器输出的方波经积分器得到三角波,三角波到锯齿波的变换电路主要由调节占空比来完成。
三.设计任务与实验原理 实际任务:
所选为题目2:函数信号发生器
输出正弦波、占空比可调的矩形波(含方波)、锯齿波(含三角波)。
实验原理:
(一)RC振荡电路——正弦波发生电路
(二)滞回比较器——正弦波—矩形波转换电路
滞回比较器特性如图,实验中希望通过改变UT阈值改变比较器对于正弦波的运算过程,进而改变矩形波的占空比。
因此我们在滞回比较器的接地端接入一个电压可调电压源,反馈支路加入了一个可调电阻的电位器,进而达到可调同名端电位的目的。
实际电路图设计如下:
(三)积分电路——矩形波—锯齿波转换电路
积分电路定义
输出信号与输入信号的积分成正比的电路,称为积分电路。
积分电路原理
从图中可以看出,Uo=Uc=(1/C)∫icdt,因Ui=UR+Uo,当t=to时,Uc=Oo.随后C充电,由于RC≥Tk,充电很慢,所以认为Ui=UR=Ric,即ic=Ui/R,故 Uo=(1/c)∫icdt=(1/RC)∫icdt 这就是输出Uo正比于输入Ui的积分(∫icdt)RC电路的积分条件:RC≥Tk
电路结构如图J-1,积分电路可将矩形脉冲波转换为锯齿波或三角波,还可将锯齿波转换为抛物波。电路原理很简单,都是基于电容的冲放电原理,这里就不详细说了,这里要提的是电路的时间常数R*C,构成积分电路的条件是电路的时间常数必须要大于或等于10倍于输入波形的宽度。
积分电路特点1:积分电路可以使输入方波转换成三角波或者斜波 2:积分电路电阻串联在主电路中,电容在干路中
3:积分电路的时间常数t要大于或者等于10倍输入脉冲宽度
4:积分电路输入和输出成积分关系
积分电路的设计方法与步骤积分电路的设计可按以下几个步骤进行:
1. 选择电路形式积分电路的形式可以根据实际要求来确定。
若要进行两个信号的求和积分运算,应选择求和
积分电路。若只要求对某个信号进行一般的波形变换,可选用基本积分电路。基本积分电路如图1
所示:
2.确定时间常数τ=RC
τ的大小决定了积分速度的快慢。由于运算放大器的最大输出电压 Uomax为有限值(通
常 Uomax=±10V 左右),因此,若τ的值太小,则还未达到预定的积分时间 t 之前,运放已经
饱和,输出电压波形会严重失真。所以τ的值必须满足:
当 ui为阶跃信号时,τ的值必须满足:
因此,当输入信号为正弦波时,τ的值不仅受运算放大器最大输出电压的限制,而且与 输入信号的频率有关,对于一定幅度的正弦信号,频率越低τ的值应该越大。
3.选择电路元件
1)当时间常数τ=RC 确定后,就可以选择 R 和 C 的值,由于反相积分电路的输入电阻Ri=R,因此往往希望 R 的值大一些。在 R 的值满足输入电阻要求的条件下,一般选择较大的C 值,而且 C 的值不能大于 1μF。
2)确定 RP
RP 为静态平衡电阻,用来补偿偏置电流所产生的失调,一般取 RP=R。
3)确定 Rf
在实际电路中,通常在积分电容的两端并联一个电阻 Rf。Rf 是积分漂移泄漏电阻,用来防止积分漂移所造成的饱和或截止现象。为了减小误差要求 Rf ≥ 10R。
4.选择运算放大器
为了减小运放参数对积分电路输出电压的影响,应选择:输入失调参数(UIO、IIO、IB)小,开环增益(Auo)和增益带宽积大,输入电阻高的集成运算放大器。
四.电路框图:
五.单元电路的计算
在习题中偶然见到改变UT的值,便设计了如是电路,通过叠加定理可算得 V=U*Rp2/(R4+Rp2)(+/-)Uz*R4/(R4+Rp2)六.问题及解决:
实践表明,一个电子装置,即使按照设计的电路参数进行安装往往也难于达到预期效果。这是因为人们在设计时,不可能周全地考虑各种复杂的客观问题,必须通过安装后的测试和调整,来发现和纠正设计方案的不足。然后采取措施加以改
进,使装置达到预定的技术指标。因此调整电子电路的技能对从事电子技术及有关领域工作的人员来说,是不应缺少的。调试的常用仪器有:万用表、示波器、信号发生器。
1、调试前的检查
在电子元器件安装完毕后,通常不宜急于通电,要形成这种习惯,先要仔细检查。其检查内容包括: *检查连线是否正确
检查的方法通常有两种方法:
(1)按照电路图检查安装的线路。这种方法的特点是根据电路图连线,按一定顺序安装好的线路,这样比较容易查出哪里有错误。
(2)按照实际线路来对照原理图电路进行查线。这是一种以元件为中心进行查线的方法。把每个元件引脚的连线一次查清,检查每个去处在电路图上是否存在,这种方法不但可以查出错线和少线,还容易查出多线。为了防止出错,对于已查过的线通常应在电路图上做出标记,最好用指针式万用表“欧姆1”挡,或数字万用表“欧姆挡”的蜂鸣器来测量,可直接测量元、器件引脚,这样可以同时发现接触不良的地方。*检查元器件的安装情况
检查元器件引脚之间有无短路和接触不良,尤其是电源和地脚,发光二极管“+”、“-”极不要接反。2、调试方法与原则(1)通电观察
把经过准确测量的电源接入电路。观察有无异常现象,包括有无元件发热,甚至冒烟有异味电源是否有短路现象等;如有此现象,应立即断电源,待排除故障后才能通电。(2)静态调试
交流和直流并存是电子电路工作的一个重要组成部分。一般情况下,直流为交流服务,直流是电路工作的基础。因此,电子电路的调试有静态和动态调试之分。静态调试过程:如,通过静态测试模拟电路的静态工作点,数字电路和各输入端和输出端的高低电平值及逻辑关系等,可以及时发现已损坏的元器件,判断电路工作情况,并及时调整电路参数,使电路工作状态符合设计要求。(3)动态调试
调试的方法是在电路的输入端接入适当频率和幅值的信号,并循着信号流向来检测各有关点的波形,参数和性能指标。发现故障应采取各种方法来排除。通过调试,最后检查功能块和整机的各种指标是否满足设计要求,如必要再进一步对电路参数提出合理的修正。
七.电路与实验结果图
八.误差分析:
a.测得输出电流时接触点之间的微小电阻造成的误差;b.电流表内阻串入回路造成的误差;c.测得纹波电压时示波器造成的误差;d.示波器, 万用表本身的准确度而造成的系统误差;
九.实验心得:
实验箱的接触不良,示波器的故障都是磨练我们心智的一道道门槛,跨过去,就像从幽寂的冷夜投入曜阳的拥抱。课程设计中的“命运多舛”从来都不曾组织我们的脚步,我们能做的就是迈向最终的清风与花香。对我来讲,这就是一步,而在这一步中,我们收获良多良多: 一个人做不到的,你还有队友;不懂的,你还有文献„„这个世界上有太多困难,也有太多克服困难的方法,关键在于是否有前进的心。
十.参考文献:
关键词:CPLD;直接数字频率合成;函数发生器;VHDL
1 引言
直接数字频率合成 ?Direct Digital Synthesis ,DDS?是20世纪60年代末出现的第三代频率合成技术。该技术从相位概念出发,以Nyquist时域采样定理为基础,在时域中进行频率合成。DDS频率转换速度快,频率分辨率高,并在频率转换时可保持相位的连续,因而易于实现多种调制功能。DDS是全数字化技术,其幅度、相位、频率均可实现程控,并可通过更换波形数据灵活实现任意波形。此外,DDS易于单片集成,体积小,价格低,功耗小,因此DDS技术近年来得到了飞速发展,其应用也越来越广泛。
基于CPLD和DDS技术的函数发生器可以实现信号波形的多样化,而且方便可靠,简单经济,系统易于扩展,同时可大大提高输出信号的带宽。
2 系统原理
2.1 CPLD内部设计
CPLD的内部结构框图如图1所示,图中,首先由控制寄存器将外部控制器(如单片机)送入的数据转换为频率和幅度控制字;然后再由分频器根据频率控制字进行分频并将输出作为寻址计数器的时钟;寻址计数器的寻址空间为360字节,可对ROM中的查找表进行寻址;而通过模360加法器可以产生120°的相位差。
(本网网收集整理)
2.2 CPLD的外围电路
图2所示是CPLD的外围电路连接图。图中,CPLD幅度控制字经D/A转换输出后,可作为查找表输出DAC的参考电压,该参考电压可通过改变幅度控制字来进行改变,从而改变输出信号的幅度。
3 CPLD各模块的设计
3.1 控制寄存器的设计
控制寄存器设计主要是将外部控制器输入的.数据转换为频率和幅度控制字。其程序代码如下:
--////////////调库////////////--
entity controller is
port(clk:in std_logic;
datain:in std_logic;
ad:out std_logic_vector(16 down to 0);
freq:out std_logic_ vector(16 down to 0));
end;
architecture dataflow of controller is
signal out1:std_logic_vector(16 down to 0);
begin
s2p:process(clk,datain)
variable temp:std_logic_vector(16 down to 0);?
begin
if clk'event and clk=‘1’ then
temp:=temp(15 down to 0)&datain;
end if;
out1<=temp;
end process s2p;
mux:process(out1(16))
begin
if out1(16)=‘1’ then
ad<=out1(15 down to 0); --1号寄存器为幅度控制字
else
freq<=out1(15 downto 0); --0号寄
存器为频率控制字
end if;
end process mux;
end;
图3
3.2 分频比可变的分频器模块设计
该设计主要是根据频率控制字决定分频倍数,从而输出与频率控制字相对应的频率时钟,此模块的输出可作为寻址计数器的时钟。具体代码如下:
process?clk? --clk为外部时钟(如晶振)
variable temp,fen:std_logic_vector(15 down to 0);?
constant temp1:std_logic_vector(15 down to 0):=“1111111111111111”;
variable a:std_logic;
begin
fen:=temp1-fen_in; --使分频后的频率正比于频率控制字
if clk=‘1’ and clk'event then
if temp=(‘0’&fen(15 down to 1)) then --相当于除2运算
a:=not a;
temp:=temp+1;
elsif temp=fen then
a:=not a;
temp:=“0000000000000000”;
else
temp:=temp+1;
end if;
end if;
fen out<=a; --fen out 为输入时钟的频率fen倍分频
end process;
3.3 寻址计数器设计
寻址计数器主要用于产生对ROM寻址输出波形数据的寻址信号,寻址空间为360字节,具体的程序代码如下:
process(clk)
variable temp:integer range 0 to 359;
begin
if clk=‘1' and clk'event then
if temp<359 then
temp:=temp+1;
else
temp:=0;
end if;
end if;
adress<=temp;
end process;
3.4 模360加法器设计
此模块用来产生120°的相移,以形成三相相差为120°的输出波形。由于寻址空间为360字节,故在输出寻址数大于360时,须对360取模。程序如下:
process(adress_in)
variable temp?integer range 0 to 511;
begin
temp:=adress in+120;--相移120°
if temp<360 then;
adress out<=temp?
else
adress_out<=temp-360;--综合工具不支持取模运算,故采用减法器来实现
end if;
end process;
3.5 查找表ROM设计
此模块主要用于存储各种波形数据,以便通过寻址计数器寻址输出并经D/A转换来输出各种波形,其中包括正弦波、三角波、方波以及锯齿波。代码如下:
process(adress,sel)
begin
if sel=“00” then --sel为波形选择端口,选择输出波形,00为正弦波
case adress is
when 000=>data<=0; when 001=>data<=4; ......--正弦波查找表
when others=>null;
end case;
else if sel=“01” then --01输出方波,
if adress<180 then
data<=255;
else
data<=0;
end if;
else if sel=“10” then --锯齿波
data<=adress/2;
else --三角波
if adress<180 then
data<=adress;
else
data<=adress-180;
end if;
end if;
end process;
由以上各模块组成的三相波形发生器原理图如图3所示。
4 结束语
1 系统设计
根据设计要求, 信号发生器通过外围电路的设计能够产生多种波形, 包括三角波、方波、正弦波等;可以独立实现频率与占空比微调及信号的放大;便于携带, 且具有可调范围大、精度高、信号稳定的优点, 可应用在各种需要产生信号源的场合。整体系统设计系统方案如图1所示。
系统设计包括ARM处理器模块电路、上位机控制界面模块、电平转换模块电路、信号产生模块电路、信号放大模块电路等五大部分。
2 系统实现
ARM处理器LPC2103作为系统控制中心, 处理上位机发来的数据及指令, 并做出响应将指令传送给信号产生芯片;MAX038作为函数发生器核心, 一方面接收ARM处理器传送的数据, 一方面将产生三角波、方波、正弦波传送给信号放大电路, 而且频率及占空比的控制可通过相应管脚进行独立的微调;电平转换部分采用MAX232芯片, 提供+5v电源, 提供给RS-232串口电平需要。并给ARM处理器及上位机提供两个数据转换通道;上位机操作界面, 在Delphi环境下完成软件操作界面制作并编写上位机程序控制信号产生模块。信号放大电路对信号进行放大处理, 通过高速型放大器AD811实现, 实现信号峰值指标要求。
2.1 处理器电路设计
处理器电路设计包括LPC2103芯片所用外围管脚连接, 晶振电路、去耦电路、复位电路、JTAG电路以及电源转换电路的设计。处理器LPC2103是系统的控制核心, 适用于工业控制和医疗系统[1]。它具有尺寸小、功耗低、价格便宜等明显优点。处理器及外围电路设计如图2所示。
2.2 系统软件设计
软件系统结合集成函数信号产生芯片、ARM处理器及软件编程工具完成函数信号发生。整个软件系统的主要功能就是控制波形信号发生模块的工作, 分为上位机软件和下位机软件两个部分:
(1) 上位机使用Delphi7.0软件编写, 实现信号产生模块的控制。运行操作界面程序, 提供用户界面, 提供对各模块的操作接口, 根据各种接口协议, 控制发出的各种操作指令, 控制程序的主要功能是对MAX038、CD4051、TLC5618、LM324等端口进行控制产生所需要的波形信号。
(2) 下位机通过在ADS的集成开发环境下, 利用C语言编写数据接收程序, 通过串口将程序烧进芯片LPC2103中, 控制MAX038等模块共同协作产生波形。下位机负责识别对应的响应控制程序, 实时读取设备状态数据 (一般模拟量) , 转化成数字信号反馈给上位机, 协调整个软硬件系统的工作[2]。
2.3 信号产生电路设计
信号产生电路的芯片采用MAX038芯片, 是一种高频率、高精度、能产生准确的三角波、锯齿波、正弦波、方波、脉冲波的信号发生器, 输出频率范围可以控制在0.1Hz到20MHz[3]。占空比的调节范围宽, 占空比和频率控制均可单独调节两者互不影响。当MAX038芯片A1端口为高电平、A0端口为任意时, 输出波形为正弦波;当A1、A0端口同时为低电平时, 输出波形为方波;当A1端口为低电平、A0端口为高电平时, 输出波形为三角波。A0端口接处理器LPC2103的P0.5端口, A1端口接处理器LPC2103的P0.6端口。端口COSC用于调节频段, 端口IIN用于调节频率。信号产生电路设计如图2 (2) 所示。
2.4 频段选择电路设计
利用八选一模块CD4051芯片选择连接不同的电容量Cf, 从而确定频率范围 (即频段) 。本系统共有8个频段供切换, 电路设计如图2 (3) 所示。
2.5 频率微调电路设计
MAX038输出波形的频率由输入引脚IIN的电流IIN、引脚COSC接人的电容量Cf以及引脚FADJ的电压VFADJ决定, 其中输出波形的基频由电流IIN和Cf决定。通过TLC5618和四运放器件LM324控制信号发生器的FADJ管脚实现频率微调。频率微调电路设计如图2 (4) 所示。
2.6 占空比微调电路设计
通过D/A转换TLC5618芯片和四运放器件LM324芯片控制信号发生器的DADJ管脚的电压实现波形占空比调节。占空比微调电路设计如图2 (5) 所示。
2.7 信号放大电路设计
AD811芯片是一个宽带高速电流反馈型运算放大器, MAX038产生的各种波形的输出幅度均为2 V (P-P) 。AD811的电压放大增益为2, 主要起功率放大的作用。信号功率放大电路设计如图2 (6) 所示。
2.8 电平转换电路设计
电平转换模块选用MAX232芯片, 是款兼容RS232标准的芯片。实现微处理器5V TTL信号和电脑的RS232信号电平转换, 可以实现上位机和下位机之间的通信。电平转换电路设计如图2 (7) 所示。
2.9 电源选择电路设计
系统电源采用USB 5V供电, 利用B0505芯片来获得MAX038芯片与AD811芯片所需的-5V电压, B0505是一个压差输出, 如图B0505的输出+VO接地, 输出就是-5V。其电路原理设计如图2 (8) 所示。
3 结语
本文以信号发生器为研究对象, 基于ARM处理器、ADS1.2开发环境、面向对象编程环境Delphi7.0及EDA技术等完成了一套功能多样、携带方便且操作简单的函数信号产生器的设计及实现。所设计的函数信号发生器能够产生多种波形, 包括三角波、方波、正弦波等;产生的信号的频率为0.1Hz~20MHz (八个频段) ;信号幅度为0~5V, 信号占空比与频率可连续调节;具有信号放大作用。是一款实用性强、可调范围大、精度高、信号稳定、便于携带的函数信号发生器, 可用于各种需要信号源的场合。
参考文献
[1]ARM Inc.ARMv7-M Architecture Application Level Reference Manual.first beta release, 2008
[2]王媛婷, 杨耿杰.Delphi+MSComm控件开发串行通信程序[J].工业控制出版社, 2008 (7)
就上述问题,不由让笔者引起思考,倘若函数在x=0处有定义,一般的来说,定义在R上的奇函数难道就可以任性地使用
f(0)=0来求参吗?笔者认为,结合具体实例来研究这个问题不失为一个好办法.
例1 已知函数f(x)=a-为奇函数,求实数a的值.
解:因为函数f(x)是定义在R上的奇函数,所以有f(0)=0,即a=0,解得a=.
由此可知a=函数f(x)确实是奇函数.
通过例1,发现定义在R上的奇函数可以任性的使用f(0)=0来求出参数a,但是一个例子的佐证似乎显得有些苍白,因此笔者再选一例来讨论定义在R上的奇函数是否任性的使用f(0)=0来求参.
例2 已知函数y=为奇函数,求实数a的值.
解:显然函数f(x)是定义在R上的奇函数,所以有f(0)=0,即=0,解得a=±1.
当a=1时,函数f(x)=ex-e-x.
此时f(-x)=e-x-ex,显然f(x)+f(-x)=0.
当a=-1时,函数f(x)=e-x-ex,
此时f(-x)=ex-e-x,显然f(x)+f(-x)=0.
综上,a=±1都会使得函数f(x)为奇函数.
例2似乎进一步巩固了例1的说法,即定义在R的奇函数可利用f(0)=0来求解析式中的参数,讨论也仿佛到了尾声,结论好像已如磐石那般坚定,然而笔者却始终心存疑虑,并开始寻找定义域为R的反例,最终寻得一例,并予以说明:
例3 已知函数f(x)=ax2+(a-1)x+a2-a(a∈R)为奇函数,求实数a的值.
解法一:不难看出,函数f(x)是定义域为R的奇函数,利用
f(0)=0可得a2-a=0,解得a=0或a=1.
当a=0时,f(x)=-x,此时f(-x)=x,于是f(x)+f(-x)=0,
由奇函数的定义可知,函数f(x)为奇函数.
当a=1时,f(x)=x2,此时f(-x)=f(x),函数f(x)为偶函数,而并非奇函数.
此例是以简单的多项式函数来构造成功反例,推翻了定义在R的奇函数可任性使用f(0)=0来求解析式中的参数,例子虽然简单但是足以说明问题,即使是定义在R上的奇函数,也不可以任性地使用f(0)=0来求参数.
通过对三道例题的分析,例1和例2说明f(0)=0确实是为求定义域为R上的奇函数中的参数问题提供了便利,但同时例3警示此类做法的风险,同时也指出此类方法检验的必要性.
例3的风險说明奇函数求参的保险手段便是奇函数的定义,即f(x)+f(-x)=0.在具体问题中可利用赋值简化,如例3函数在x=1处有定义,令x=1,即f(1)+f(-1)=0可得a=0,避免了风险,而且此法还可利用到x=0处无定义的函数中,如文章开头的例子就可以用此法求出a=.
【函数信号发生器的使用】推荐阅读:
函数信号发生器设计01-03
函数信号发生器课程设计03-13
excel函数vlookup的使用方法10-18
在Excel中如何使用TEXT函数?07-05
测试信号的分析与处理02-11
任意波形信号发生器05-29
低频信号发生器设计12-10
虚拟信号发生器聂伟06-25
dsp任意信号发生器12-30
注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com