当前位置:文档之家› 信号发生器系统设计

信号发生器系统设计

信号发生器系统设计
信号发生器系统设计

信号发生器系统设计

摘要

本系统是基于AT89S52 单片机的数字式低频信号发生器。采用AT89S52 单片机作为控制核心,外围采用数字/ 模拟转换电路(DAC0832)、稳压电路(MC1403)、运放电路(UA741)、按键和液晶显示屏模块等。通过按键控制可产生方波、锯齿波、三角波、正弦波等,并能通过键盘的输入快速改变波的形状和频率,达到人机交互的目的,同时用液晶显示屏显示对应波形的名称和频率。其设计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。

关键词:单片机;信号发生器;D/A 转换

一、信号发生器现状

信号发生器又称函数发生器,指用于产生被测电路所需特定参数的电测试信号的仪器。作为当前科研、教学、制造业中一种最常见的通用仪器,市场上常见的信号发生器波形种类有限,输出波形一般固定为正弦波、三角波、锯齿波和方波,不能实现有时在实验或工程应用中需要的特殊信号,给用户使用带来不便。

传统的信号发生器作为一种实验用信号源设备,可以不采用单片机芯片,而完全利用 555 振荡电路由硬件搭接而成,但该结构产生的正弦波信号、矩形波信号和三角波信号却存在波形失真、操控难、频率范围小、结构复杂和体积大等缺陷。在生产实践和科技研究过程中,如工业、农业、通信、生物医学等领域常常要用到低频信号发生器。而由硬件电路构成的低频信号源因其所需的电阻和电容制作上较难,所以参数的精度难以保证;更因其存在体积大、损耗显著、漏电等弱点,在实际应用过程中,电路复杂程度会大大增加,性能往往难以令人满意。

二、单片机在低频信号发生器中的应用

单片机是将中央处理器、存储器、定时器/计数器、输入输出接口等主要计算机件集成在一块芯片上,它是在大规模集成电路技术的基础上发展起来的。因其独特的结构形式,单片机承担了许多大中型计算机无法完成的工作,被广泛的应用于工农业生产、科研、国防及日常生活的各个领域。单片机的制造商主要有荷兰的 Philip 公司、日本的 NEC 公司以及美国的 Intel、Motorola 公司等。和通用微型机相比,单片机主要有以下几个方面的优势:

(1)使用方便、可靠性高

(2)体积小、低功耗

(3)功能强大、扩展性强

(4)性价比较高、易于产品化

采用单片机和 DAC0832 数模转换器生成波形,由于是软件滤波,所以可以

有效的滤除高次谐波分量,生成的波形不失真。DAC0832 主要由 8 位 D/A 转换器、8 位DAC 寄存器、8 位输入寄存器以及输入控制电路四部分组成。它的特点是在低频范围内稳定性好、性能高,操作灵活、体积小、价格便宜。

三、基本原理

系统框图如图 3-1 所示

低频信号发生器系统主要由 CPU、D/A 转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下键盘上的不同按键时就会分别出现方波、锯齿波、三角波、正弦波,并且有液晶显示屏同步显示波的类型和频率。

3.1单片机的介绍

1.AT89S52 的引脚图如图 3-2 所示

2.管脚说明

低频信号发生器采用 AT89S52 单片机作为控制核心,其内部组成包括:一个 8 位的微处理器 CPU 及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器 RAM 低 128 字节,存放读/写数据;高 128 字节被特殊功能寄存器占用;片内程序存储器 4KB ROM;四个 8 位并行 I/O(输入/输出)接口 P3 -P0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工 UART(通用异步接收发送器)的串行 I/O 口。VCC:供电电压。

GND:接地。

RST:复位输入端。当 RST 端持续出现两个机器周期以上的高电平时,实现振荡器器件复位。

ALE/PROG:当访问外部程序存储器或数据存储器时, ALE (地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。通常,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可用于定时或对外输出时钟目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。该引脚在 FLASH 存储器编程期间,还用于输入编程脉冲(PROG)。应用中还可通过对特殊功能寄存器(SFR)区中的8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,单片机执行外部程序时,应设置 ALE 禁止位无效。/PSEN:程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89S52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。

/EA/VPP:外部访问允许,欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V 的编程允许电源 Vpp。

XTAL1:内部时钟工作电路的输入及反向振荡放大器的输入端。

XTAL2:振荡器反相放大器的输出端。

89S52 单片机外部有32 个端口可供用户使用,其功能如下:

P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动8个TTL逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 不具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能

驱动4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。

P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL),这是由于上拉的缘故。

3.AT89S52 的晶振及其连接方法

CPU 工作时都必须有一个时钟脉冲。有两种方式可以向 89S52 提供时钟脉冲:一是外部时钟方式,即使用外部电路向89S52 提供始终脉冲,见图3-3--(a);二是内部时钟方式,即使用晶振由 89S52 内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-3--(b)。

图 3-3 中:J 一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。

C1、C2:使用石英晶体时,C1=C2=30(±10)pF 使用陶瓷滤波器时,C1=C2=40(±10)pF

4.AT89S52 的复位

使 CPU 开始工作的方法就是给 CPU 一个复位信号,CPU 收到复位信号后将内部特殊功能寄存器设置为规定值,并将程序计数器设置为“0000H”。复位信号结束后,CPU从程序存储器“0000H”处开始执行程序。89S52 为高电平复位,一般有 3 种复位方法。

ⅰ上电复位。接通电源时

ⅱ手动复位。设置一个复位按钮,当操作者按下按钮时产生一个复位信号。

ⅲ自动复位。设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。

最简单的上电复位和手动复位方法如图 3-4 所示。

图 3-4 89S52 的复位电路

关于 CPU 的复位电路应当注意,在调试单片机程序时有两种工作方式。一是仿真器方式,主要用于调试程序。此时程序的执行由仿真器控制,复位电路不起作用,系统时钟也经常设置为仿真器产生,此时用户的晶振也不起作用。二是用户方式,即脱离仿真器的实际工作方式,用户的时钟振荡电路和复位电路都必须正常工作。因此,如果系统复位电路或晶振电路有故障,就会出现仿真器方式工作正常,而用户方式不工作的现象,这是许多初学者常遇到的问题。

5.芯片擦除

对 EPROM 进行程序固化时,先要用紫外灯照射擦除片内的信息,然后用万能编程器编程。EPROM 在芯片封装时顶部有一个石英玻璃窗口,要擦除片内信息时,将芯片放在专门的紫外灯下通过窗口照射 15-20 分钟,全部存储单元的 0 变为1,此时表示信息擦除正常,可以重新写入程序。

3.2资源分配

软、硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下:

1.晶振采用 12MHZ

2.内存分配

P1 口的 P1.0-P1.3 分别与四个按键连接,分别控制锯齿波、三角波、正弦波和方波,P1.4-P1.7 与四个发光二极管相连,按键一对应发光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。 P0 口与 DAC0832 的 DI0-DI7 数据输入端相连。 P2 口用来控制 DAC0832 的输入寄存器选择信号CS、输入寄存器写选通信号 WR1 及DAC 寄存器写选通信号 WR2 和数据传送信号 XFER。

3.3 各部分电路原理

1.DAC0832 芯片原理

(1) 管脚功能如图 3-5 所示

图 3-5 DAC0832 管脚图

c DI7~DI0:8 位的数据输入端,DI7 为最高位。

d IOUT1:模拟电流输出端 1,当 DAC 寄存器中数据全为 1 时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。

e IOUT2:模拟电流输出端 2, IOUT2 与 IOUT1 的和为一个常数,即 IOUT1+IOUT2=常数。

f RFB:反馈电阻引出端,DAC0832 内部已经有反馈电阻,所以 RFB 端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。

g VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定 0 至 255 的数字量转化出来的模拟量电压值的幅度,VREF 范围为(+10~-10)V。VREF 端与D/A内部 T 形电阻网络相连。

h Vcc:芯片供电电压,范围为(+5~ 15)V。

i AGND:模拟量地,即模拟电路接地端。

j DGND:数字量地。当 WR2 和 XFER 同时有效时,8 位 DAC 寄存器端为高电平“1”,此时 DAC 寄存器的输出端 Q 跟随输入端 D 也就是输入寄存器 Q 端的电平变化;反之,当端为低电平“0”时,第一级 8 位输入寄存器 Q 端的状态则锁存到第二级 8 位 DAC 寄存器中,以便第三8位 DAC 转换器进行 D/A 转换。一般情况下为了简化接口电路,可以把 WR2 和 XFER 直接接地,使第二级 8 位DAC寄存器的输入端到输出端直通,只有第一级 8 位输入寄存器置成可选通、可锁存的单缓冲输入方式。特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片 DAC0832 芯片,构成多个 DAC0832 同步输出电路,程序简单化,但是电路线路连接比较复杂。

(2) 工作原理

DAC0832 主要由 8 位输入寄存器、8 位 DAC 寄存器、8 位 D/A 转换器以及输入控制路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字

量得到缓冲锁存,由加以控制;8 位 DAC 寄存器用于存放待转换的数字量,由加以控制;8 位转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控个寄存器的选通或锁存状态。

DAC0832 与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的性与参考电压的极性相反,数字量与模拟量的转换关系为

Vout1=-Vref×(数字码/256)

若 D/A 转换器输出为双极性,如图 3-6 所示

3-6 D/A 转换器双极性输出电路

运算放大器 A2 的作用是把运算放大器 A1 的单向输出电压转换成双向输出电压。其原理是将 A2 的输入端Σ通过电阻 R1 与参考电压 VREF 相连,VREF 经 R1 向 A2 提供一个偏流 I1,其电流方向与 I2 相反,因此运算放大器 A2 的输入电流为 I1、I2 之代数和。则 D/A 转换器的总输出电压为:

VOUT2= -[(R3/R2) VOUT1+(R3/R1)] VREF

设 R1=R3=2R R2=R,则

VOUT2= -(2VOUT1+VREF)

DAC0832 主要是用于波形的数据的传送,是本题目电路中的主要芯片。

(3) DAC0832 电路原理如图 3-7 所示

2.UA741 管脚图如图 3-8 所示

图 3-8 UA741 管脚图

3.MC1403 管脚功能如图 3-9 所示

MC1403 是低压基准芯片。一般用作 8 到 12bit 的 D/A 芯片的基准电压等一些

需要本精准的基准电压的场合。

输出电压:2.5V+/-25Mv

输入电压范围:4.5Vto40V

输出电流:10Ma

因为输出是固定的,所以电路很简单。就是 Vin 接电源输入,GND 接地,Vout 加个 0.1uf 到 1uf 的电容就可以了。Vout 一般用于 8 到 12bit 的 D/A 芯片的基准电压在此项目里 MC1403 起到了稳压的作用,它基准了 DAC0832 的

8 脚需要的 2.5V。其 DAC0832 能够正常工作。

四、软件设计

单片机技术比较成熟,开发过程可利用的资源和工具丰富,最大的优点是价格便宜,成本低。调试软件采用Keil51.keiluVison是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操作。在调试程序中,软件仿真 protues 功能也很强,软件调通,再通过编程器下载到 AT89S52 中,然后插到系统中即可独立完成所有的控制。根据功能不同,软件设计上分了主程序模块、延时子程序模块、正弦波模块、齿波模块、三角波模块、方波模块等几个模块编程。显示波形模块是利用 DAC0832 的 8 位特点,把波形的数据以 8 位数据的形势送进CPU中,只要一按键就能显示波形。

4.1主程序流程图

如图 4-1 所示

图 4-1 主程序流程图

本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键 1 按下时,函数发生器就输出锯齿波;当按键 2 按下时,函数发生器就输出三角波;当按键 3 按下时,函数发生器就输出正弦波;当按键 4 按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。

4.2 子程序流程图

1.锯齿波流程图

如图 4-2 所示

图 4-2 锯齿波流程图

锯齿波产生首先将 DAC0832 口地址至为 4000H,然后将 00H 送入寄存器 A 输出 A 中的内容,当 A 中的内容等于 F0H 返回开始,当 A 中的内容不为 0FH 内容累加,从而输出波形。

2.三角波程序流程图

如图 4-3 所示

三角波产生首先将 DAC0832 口地址至为 4000H,通过 A 中数值的加一递升,当 A 中的内容为 0 时,与 0FFH 相比,相等时 A 中的内容减一递减,从而循环产生三角波。

3.正弦波程序流程图

如图 4-4 所示

图 4-4 正弦波流程图4.方波程序流程图

如图 4-5 所示

图 4-5 方波流程图

方波产生首先将 DAC0832 口地址至为 4000H,当 A 中的内容为 0 时,输出对应模拟量,然后延时,当 A 中的内容为 0FFH 时,同样输出对应模拟量,再延时,从而得到方波。

5.延时子程序流程图

如图 4-6 所示

延时程序如下:

DELY: MOV R7,#10H

DLY0: MOV R6,#0EDH

NOP

DLY1: DJNZ R6,DLY1

DJNZ R7,DLY0

RET

方波的上限和下限的延时时间为:7ms

S=1+(1+1+2×237+2)×16+1=7648μS

参考文献

[1] 蔡美琴.MCS-51 系列单片机系统及其应用[M].北京:高等教育出版社,2000:5-7.

[2] 潘新民,王燕芳.微型计算机控制技术.北京:高等教育出版社,2004:10.

[3] 孙育才,孙华芳,王荣兴.单片机原理及应用[M].北京:电子工业出版社,2003:

[4] 李鸿.单片机原理及应用[M].湖南:湖南大学出版社,2004:

[5] 胡汉才.单片机原理及接口技术[M]. 北京:清华大学出版社,1996:66-78.

[6] 刘守义.单片机应用技术.西安:西安电子科技大学出版社,2002:

[7] 范立南.单片微机接口与控制技术[M].沈阳:辽宁大学出版社,1996:

[8] 李朝青.单片机原理及接口技术.北京:北京航空航天大学出版社,1994:

[9] 孙俊逸,盛秋林,张铮.单片机原理及应用[M].北京:清华大学出版社,2001:

[10] 陆子明,徐长根.单片机设计与应用基础教程.北京:国防工业出版社,2005:

[11] 杜华.任意波形发生器及应用[J].国外电子测量技术,2005,12(1):38-40.

[12] 张永瑞.电子测量技术基础[M].西安:西安电子科技大学出版社,2006:

[13] 童诗白.模拟电路技术基础[M]. 北京:高等教育出版社,2000:171-202.

[14] 王新贤.通用集成电路速查手册.济南:山东科学技术出版社,2002:

[15] 马忠梅.单片机的 C 语言应用程序设计[M].北京:北京北航出版社,2003:

[16] 张毅刚,彭喜元,姜守达.新编 MCS-51 单片机应用设计[M].哈尔滨:哈尔滨工业大学出版

社,2003:153-168.

[17] 朱清慧.proteus 电子线路设计与仿真.北京:清华大学出版社,2008:

[18] 江世明.基于 proteus 的单片机应用技术.北京:电子工业出版社,2009:

[19] 刘红兵.电子 EDA.北京:中国劳动社会保障出版社,2009:

[20] 高建国.电子技术应用专业 proteus 仿真软件应用.上海:华中科技大学出版社,2010:

附录

附录 1 电路原理图

附录 2 程序清单

#include

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit lcden=P3^6;

sbit lcdrs=P3^7;

sbit dula=P2^6;

sbit wela=P2^7;

uchar code table1[]="0123456789HZPinLv:";

uchar code table2[]="Zheng Xian Bo ";

uchar code table3[]= " Fang Bo ";

uchar code table4[]= " Jv Chi Bo ";

uchar code table5[]= "San Jiao Bo ";

uchar tab[2];

uchar val, sec, t_50ms;

uint a;

uchar code

table[]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2, 0xa5,0

xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5

,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe

5,

0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5

,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xf f,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd

,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xe e,

0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda

,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb 7,

0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99

,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6 f,

0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51

,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2 b,

0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16

,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x0 4,

0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0 x06,0x07

,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15

,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x3 3,

0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e

,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0 x76,0x79

,0x7c,0x80 };

void delay(uint z)

{ uint i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

void write_com(uchar com)

{lcdrs=0;

P0=com;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

void write_data(uchar date)

{lcdrs=1;

P0=date;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

void init()

{lcden=0;dula=0;

wela=0;

write_com(0x38);write_com(0x08);write_com(0x01); write_com(0x06); write_com(0x0c);

}

void Display(uchar k)

{ //tab[0]=sec/1000;

// tab[1]=sec%1000/100;

// uchar code table[]=

///{0xc0,0xf9,0xa4,0xb0,

// 0x99,0x92,0x82,0xf8,

//0x80,0x90,0x88,0x83,

//0xc6,0xa1,0x86,0x8e};

// P0 = 0; dula=1; //消隐

// P0 =table[k / 10]; //dula=0;wela=1;

// //P0 = 0xfe; wela=0;delay(5); //显示 5ms 十位 // P0 = 0; dula=1; //消隐

// P3 =table[k % 10];//;dula=0;wela=1;

// P0 = 0xfd; wela=0; delay(5); //显示 5ms 个位 tab[0]=sec%100/10;

write_com(0x80+0x40);

for(a=12;a<18;a++)

{write_data(table1[a]);

delay(1);}

for(a=0;a<2;a++)

{write_data(table1[tab[a]]);

delay(1);}

write_data(table1[10]);

write_data(table1[11]);delay(100);

tab[1]=sec%10;

write_com(0x80+0x40);

for(a=12;a<18;a++)

{write_data(table1[a]);

delay(1);}

for(a=0;a<2;a++)

{write_data(table1[tab[a]]);

delay(1);}

write_data(table1[10]);

write_data(table1[11]);

}

/********************************************************

* 名称: Keyscan()

* 功能: P1 外接 4×4 按键, 按照扫描法读出键值

* 输出:按键值 0~15/如无键按下, 返回 16

***************************************************************/ uchar Keyscan(void)

{

uchar i, j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};

for(j = 0; j < 4; j++) { //循环四次

P1 = Buffer[j]; //在 P1 高四位分别输出一个低电平

temp = 0x01; //计划先判断 P1.0 位

for(i = 0; i < 4; i++) { //循环四次

if(!(P1 & temp)) //从 P1 低四位,截取 1 位

return (i + j * 4); //返回取得的按键值

temp <<= 1; //判断的位,左移一位

} }

return 16; //判断结束,没有键按下,返回 16

}

/************************************************************** * 名称: GetKey()

* 功能:读出按键、消抖、等待按键释放

* 输出:按键值 0~15/如无键按下, 返回 16

***************************************************************/ uchar GetKey(void)

{

uchar Key_Temp1, Key_Temp2; //两次读出的键值

P1 = 0xff;

Key_Temp1 = Keyscan(); //先读入按键

if(Key_Temp1 == 16) return 16; //没有键按下,返回 16

// Display(sec); //用显示代替延时

Key_Temp2 = Keyscan(); //再读一次按键

if(Key_Temp1 != Key_Temp2) return 16; //不同,返回 16

while(Keyscan() < 16) //等待按键释放

// Display(sec); //等待期间显示

return Key_Temp1;

}

void fang(){

P2=0X00;delay(500/sec);

P2=0xff;delay(500/sec);

}

void jvchi(){

uchar k;

for(k=0;k<255;k++)

{P2=k;delay(1000/(256*sec));}

}

void sanjiao(){

uchar k;

for(k=0;k<128;k++) {P2=k;delay(500/(256*sec));}

for(k=128;k>0;k--) {P2=k;delay(500/(256*sec));}

}

void zhengxian(){

uchar k;

for(k=0;k<255;k++){P2=table[k];delay(1000/(256*sec));}

}

/************************************************************** * 名称 : Main()

* 功能 : 主函数

***************************************************************/ void Main(void)

{

uchar num, Key_Value; //读出的键值

//int temp; ;

sec = 20;

init();

// tab[0]=sec/1000;

// tab[1]=sec%1000/100;

tab[0]=sec%100/10;

tab[1]=sec%10;

write_com(0x80+0x40);

for(a=12;a<18;a++)

{write_data(table1[a]);

delay(1);}

for(a=0;a<2;a++)

{write_data(table1[tab[a]]);

delay(1);}

write_data(table1[10]);

write_data(table1[11]);

while(1) { //主循环 ==

// Display(sec); //不停的显示

// if(GetKey==11){

// m=500/sec;

/// temp=(int)m;

// P2=0x00;delay(temp);

// P2=0xff;delay(temp ); }

// P2=0x00;delay(500/sec); // Display(sec);

// P2=0xff;delay(500/sec );

if (GetKey() == 10) { //如果按下了'A'键

num = 0; //停止计时

while (num== 0) {

Key_Value = GetKey();//再次输入键值

if (Key_Value < 10) {//如果按下了 0~9

sec %= 10;

sec = sec * 10 + Key_Value;//修改秒数

}

Display(sec);

if (Key_Value == 11) num = 2;

if (Key_Value == 12) num = 3;

if (Key_Value == 13) num = 4;

if (Key_Value == 14) num = 5;

}

}

if(num==2)

{ write_com(0x80);

for(a=0;a<8;a++)

{write_data(table3[a]);}

while(num==2) { if (GetKey() == 10) { num = 0;

while (num== 0) {

Key_Value = GetKey();

if (Key_Value < 10) {

sec %= 10;

sec = sec * 10 + Key_Value;

}

}

Display(sec);

if (Key_Value == 11) num = 2;

if (Key_Value == 12) num = 3;

if (Key_Value == 13) num = 4;

if (Key_Value == 14) num = 5;

}

fang();

} }

if(num==3)

{ write_com(0x80);

for(a=0;a<9;a++)

多功能信号发生器设计报告.doc

重庆大学城市科技学院电气学院EDA课程设计报告 题目:多功能信号发生器 专业:电子信息工程 班级:2006级03班 小组:第12组 学号及姓名:20060075蒋春 20060071冯志磊 20060070冯浩真 指导教师:戴琦琦 设计日期:2009-6-19

多功能信号发生器设计报告 一、设计题目 运用所掌握的VHDL语言,设计一个信号发生器,要求能输出正弦波、方波、三角波、锯齿波,并且能改变其输出频率以及波形幅度,能在示波器上有相应波形显示。 二、课题分析 (1).要能够实现四种波形的输出,就要有四个ROM(64*8bit)存放正弦波、方波、三角波、锯齿波的一个周期的波形数据,并且要有一个地址发生器来给ROM提供地址,ROM给出对应的幅度值。 (2).因为要设计的是个时序电路,所以要实现输出波形能够改变频率,就必须对输入的信号进行分频,以实现整体的频率的改变。 (3).设计要求实现调幅,必须对ROM输出的幅度信息进行处理。最简单易行的方法是对输出的8位的幅度进行左移(每移移位相当于对幅度值行除以二取整的计算),从而达到幅度可以调节的目的。同时为了方便观察,应再引出个未经调幅的信号作为对比。 三、设计的具体实现 1、系统概述 系统应该由五个部分组成:分频器(DVF)、地址发生器(CNT6B)、四个ROM 模块(data_rom_sin、data_rom_sqr、data_rom_tri、data_rom_c)、四输入多路选择器mux、幅度调节单元w。 2、单元电路设计与分析 外部时钟信号经过分频器分频后提供给地址发生器和ROM,四个ROM的输出接在多路选择器上,用于选择哪路信号作为输出信号,被选择的信号经过幅度调节单元的幅度调节后连接到外部的D/A转换器输出模拟信号。 (1)分频器(DVF) 分频器(DVF)的RTL截图

信号基础知识

目录 1相关概念及基础知识 (2) 1.1相关概念 (2) 1.2基础知识 (6) 1.2.1警冲标位置计算 (6) 1.2.1.1道岔尖轨至警冲标距离的计算 (6) 1.2.1.2道岔相关尺寸表 (6) 1.2.1.3警冲标计算举例及举例站场 (8) 1.2.2侵限绝缘 (10) 1.2.2.1侵限绝缘3.5米标准由来 (10) 1.2.2.2双边侵限 (11) 1.2.2.3单边侵限 (12) 1.2.2.4侵限绝缘的几种情况 (13) 1.2.3接近轨延长 (15) 1.2.46‰化简坡度的计算 (18) 1.2.5道岔位置及长度 (19)

摘要:在做数据设计与测试之前很重要的一步工作是对信号平面图和联锁表的审核,只有信号平面图和联锁表是正确的,才能更有效地进行设计、审核、确认等工作,否则输入文件出错,后续工作跟着出错,部分工作走了弯路。为了指导对信号平面图的审核和对特殊联锁的测试工作,编制此文。 1 相关概念及基础知识 1.1相关概念 【道岔】:道岔是列车从一股道转向另一股道的转辙设备,它是铁路线路中最关键的特殊设备,也是铁路信号设备的主要控制对象之一。 【联锁】:为了保证安全,在进路、道岔、信号机之间存在着某些互相制约的关系,我们把这种互相制约关系叫做联锁。 【进路】:列车或调车车列在站内运行使所经由的路径称为进路。 【抵触进路】:能由同一组道岔位置进行区分的不能同时建立的进路称为抵触进路。抵触进路不需要进行联锁处理,联锁表中不体现。 【敌对进路】:不能由道岔位置进行区分,且存在敌对关系的进路称为敌对进路。【顺向道岔】:列车顺着道岔尖轨运行时,该道岔就叫顺向道岔。如果道岔处于非进路开通方向时,列车强行驶过,最多造成道岔挤岔,挤断挤切销或造成道岔挤脱,列车不会发生脱线或颠覆事故,故称为顺向道岔。 【对向道岔】:列车迎着道岔尖轨运行时,该道岔就叫对向道岔。当列车迎着岔尖运行时,如果道岔位置扳错了,则列车就被接向另一条线路上了,如果这条线路已停留有车辆,就会造成列车冲撞。如果该道岔仍处于转换状态,前后轮对可能走得不是一条路线,不仅会造成道岔挤岔,甚至可能发生列车脱线或颠

(完整word版)信号发生器的发展过程及现状

信号发生器的发展过程及现状 1信号发生器的发展 信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验等领域。它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。因此,信号发生器和示波器、电压表、频率计等仪器一样是最普通、最基本的,也是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要用到信号发生器。 自六十年代以来,信号发生器有了迅速的发展,出现了函数发生器、扫频信 号发生器、合成信号发生器、程控信号发生器等新种类。各类信号发生器的主要 性能指标也都有了大幅度的提高,同时在简化机械结构、小型化、多功能等各方 面也有了显著的进展。 近年来随着GSM、GPRS、3G、B1ueTooth乃至己经被提出的标准的4G等移动通信以及LMDS、无线本地环路等无线接入的发展,同时加上合成孔径雷达、多普勒冲雷达等现代军事、国防、航空航天等在科技上的不断创新与进步,世界各国非常重视频率合成器的发展。所有的这些社会需求以及微电子技术、计算机技术、信号处理技术等本身的不断进步都极大刺激了频率合成器技术的发展。可以预料,随着低价格、高时钟频率、高性能的新一代DDS芯片的问世,DDS的应用前景将不可估量! 2 频率合成技术发展过程 频率合成技术起源于二十世纪30年代,至今己有六十多年的历史。所谓频率合成就是将具有低相位噪声、高精度和高稳定度等综合指标的参考频率源经过电路上的混频、倍频或分频等信号处理以便对其进行数学意义上的加、减、乘、除等四则运算,从而产生大量具有同样精确度的频率源。实现频率合成的电路叫频率合成器,频率合成器是现代电子系统的重要组成部分。在通信、雷达和导航等设备中,频率合成器既是发射机的激励信号源,又是接收机的本地振荡器;在电子对抗设备中,它可以作为干扰信号发生器;在测试设备中,可作为标准信号源,因此频率合成器被人们称为许多电子系统的“心脏”。 直接数字频率合成(DDS: Digital Direct Frequency Synthesis)E2]技术是一种新频率合成方法,是频率合成技术的一次革命,Joseph Tierney等3人于1971年提了直接数字频率合成的思想,但由于受当时微电子技术和数字信号处理技术的限制,DDS技术没有受到足够重视,随着电子工程领域的实际需要以及数字集成电路和微电子技术的发展,DDS技术日益显露出它的优越性。 3 直接频率合成技术的现状 直接数字频率合成技术发展到现在,合成信号频率的精确度和频谱的纯度仍然是其今后发展的主要方向。而这方而性能指标的提高,可以从两个方而进行,一是提出更加先进的设计思想和设计理论,发展更加先进的生产工艺,由芯片厂家开发、生产出性能更完善的DDS芯片;二是对于已有成品的DDS芯片,设计

简易信号发生器设计制作

简易信号发生器设计制作 一、训练目的 (1)掌握正弦波、三角波、矩形波和方波发生电路的工作原理; (2)学会正弦波、三角波、矩形波和方波发生电路的设计方法; (3)进一步熟悉电子线路的安装、调试、测试方法。 二、工作原理 正弦波、三角板、矩形波是电子电路中常用的测试信号,如测试放大器的增益、通频带等均要用到正弦信号作为测试信号。下面分别介绍产生这三种信号电路结构和工作原理。 1.正弦信号发生器 正弦信号的产生电路形式比较多,频率较低时常用文氏电桥振荡器,图7-1为实用文氏电桥振荡电路。图中R 1、R 2、R 3、RW 2构成负反馈支路,二极管D 1、D 2构成稳幅电路,C 2、R 11(或R 12或R 13)、C 1、R 21(或R 22或R 23)串并联电路构成正反馈支路,并兼作选频网络。调节电位器RW 2可以改变负反馈的深度,以满足振荡的振幅条件和改善波形。二极管D 1、D 2要求温度稳定性好,特性匹配以确保输出信号正负半周对称,R 4接入用以消除二极管的非线性影响,改善波形失真。如K1接电阻R 11、K2接R 21,并且R 11= R 21=R ,C 1= C 2=C ,则电路的振荡频率为: 1 2f RC π= (7-1) 起振的幅值条件: 1 1f v R A R =+ (7-2) 图7-1 正弦信号发生器 通过调整RW 2可以改变电路放大倍数,能使电路起振并且失真最小。该电路可通过开关K1、K2选择不同的电阻以得到不同频率的信号输出。 2.方波和矩形波发生器

方波发生电路如图7-2,其基本原理是在滞回比较器的基础上增加了由R 4和C 1构成的积分电路,输出电压通过该积分电路送人到比较器的反相输入端。其中R 3 、D Z1和D Z2构成双向限幅电路,这样就构成了方波发生器电路,其工作原理如下: 假设在接通电源瞬间,输出电压o v 为Z V +(稳压二极管D Z1、D Z2额定工作时的稳压值),这时比较器同相端的输入电压为 2 12 Z R v V R R +≈ + (7-3) 同时输出电压o v 会通过电阻R 4给C 1充电,反相端的输入电压v -就会逐步升高,当反向输入端的电压v -略大于同相端输入电压v +时,比较器输出电压立即从Z V +翻转为Z V -,这时输出端电压o v 为Z V -,比较器同相端输入电压v +'为 2 12 Z R v V R R +'≈- + (7-4) 这时输出的电压o v 会通过R 4对C 1进行反向充电,当反相输入端的电压略低于v +'时,输出状态再翻转回来,如此反复形成方波信号。所产生方波信号的频率为 41 1 2f R C = 方波 (7-5) R 4 o 图7-2 方波发生电路

函数信号发生器课程设计报告书

信号发生器 一、设计目的 1.进一步掌握模拟电子技术的理论知识,培养工程设计能力 和综合分析问题、解决问题的能力。 2.基本掌握常用电子电路的一般设计方法,提高电子电路的 设计和实验能力。 3.学会运用Multisim10仿真软件对所作出的理论设计进行 仿真测试,并能进一步完善设计。 4.掌握常用元器件的识别和测试,熟悉常用仪表,了解电路 调试的基本方法。 二、设计容与要求 1.设计、组装、调试函数信号发生器 2.输出波形:正弦波、三角波、方波 3.频率围:10Hz-10KHz围可调 4.输出电压:方波V PP<20V, 三角波V PP=6V, 正弦波V PP>1V 三、设计方案仿真结果 1.正弦波—矩形波—三角波电路 原理图:

首先产生正弦波,再由过零比较器产生方波,最后由积分电路产生三角波。正弦波通过RC串并联振荡电路(文氏桥振荡电路)产生,利用集成运放工作在非线性区的特点,由最简单的过零比较器将正弦波转换为方波,然后将方波经过积分运算变换成三角波。 正弦—矩形波—三角波产生电路: 总电路中,R5用来使电路起振;R1和R7用来调节振荡的频率,R6、R9、R8分别用来调节正弦波、方波、三角波的幅值。左边第一个运放与RC串并联电路产生正弦波,中间部分为过零比较器,用来输出方波,最好一个运放与电容组成积分电路,用来输出三角波。

仿真波形: 调频和调幅原理 调频原理:根据RC 振荡电路的频率计算公式 RC f o π21 = 可知,只需改变R 或C 的值即可,本方案中采用两个可变电阻R1和R7同时调节来改变频率。 调幅原理:本方案选用了最简单有效的电阻分压的方式调幅,在输出端通过电阻接地,输出信号的幅值取决于电阻分得的电压多少。其最大幅值为电路的输出电压峰值,最小值为0。 RC 串并联网络的频率特性可以表示为 ) 1(311112 1 2 RC RC j RC j R C j R RC j R f Z Z Z U U F ωωωωω-+=++++=+= = ? ? ? 令,1 RC o =ω则上式可简化为) ( 31 ω ωωωO O j F -+ = ? ,以上频率特性可 分别用幅频特性和相频特性的表达式表示如下:

信号源基础知识

信号源基础知识

信号源基础知识 1、认识函数信号发生器 信号发生器一般区分为函数信号发生器及任意波形发生器,而函数波形发生器在设计上又区分出模拟及数字合成式。众所周知,数字合成式函数信号源无论就频率、幅度乃至信号的信噪比(S/N)均优于模拟,其锁相环( PLL)的设计让输出信号不仅是频率精准,而且相位抖动(phase Jitter)及频率漂移均能达到相当稳定的状态,但毕竟是数字式信号源,数字电路与模拟电路之间的干扰,始终难以有效克服,也造成在小信号的输出上不如模拟式的函数信号发生器。 谈及模拟式函数信号源,结构图如下: 这是通用模拟式函数信号发生器的结构,是以三角波产生电路为基础经二极管所构成的正

弦波整型电路产生正弦波,同时经由比较器的比较产生方波。 而三角波是如何产生的,公式如下: 换句话说,如果以恒流源对电容充电,即可产生正斜率的斜波。同理,右以恒流源将储存在电容上的电荷放电即产生负斜率的斜波,电路结构如下: 当I1 =I2时,即可产生对称的三角波,如果I1 > >I2,此时即产生负斜率的锯齿波,同理I1 < < I2即产生正斜率锯齿波。 再如图二所示,开关SW1的选择即可让充电速度呈倍数改变,也就是改变信号的频率,这也就是信号源面板上频率档的选择开关。同样的同步地改变I1及I2,也可以改变频率,这也就是

信号源上调整频率的电位器,只不过需要简单地将原本是电压信号转成电流而已。 而在占空比调整上的设计有下列两种思路: 1、频率(周期)不变,脉宽改变,其方法如下: 改变电平的幅度,亦即改变方波产生电路比较器的参考幅度,即可达到改变脉宽而频率不变的特性,但其最主要的缺点是占空比一般无法调到20%以下,导致在采样电路实验时,对瞬时信号所采集出来的信号有所变动,如果要将此信号用来作模数(A/D)转换,那么得到的数字信号就发生变动而无所适从。但不容否认的在使用上比较好调。 2、占空比变,频率跟着改变,其方法如下:

基于AD9850的信号发生器的设计与实现

信号源是电子产品测量与调试、部队设备技术保障等领域的基本电子设备。随着科学技术的发展和测量技术的进步,普通的信号发生器已无法满足目前日益发展的电子技术领域的生产调试需要。而DDS技术是一种新兴的直接数字频率合成技术,具有频率分辨率高、频率切换速度快、切换相位连续、输出信号相位噪声低、可编程、全数字化易于集成、体积小、重量轻等优点,因而在雷达及通信等领域具有广泛的应用前景。 1系统设计方案 本文提出的采用DDS作为信号发生核心器件的全数控函数信号发生器设计方案,根据输出信号波形类型可设置、输出信号幅度和频率可数控、输出频率宽等要求,选用了美国A/D公司的AD9850芯片,并通过单片机程序控制和处理AD9850的32位频率控制字,再经放大后加至以数字电位器为核心的数字衰减网络,从而实现了信号幅度、频率、类型以及输出等选项的全数字控制。该函数信号发生器的结构如图1所示。 本系统主要由单片机、DDS直接频率信号合成器、数字衰减电路、真有效值转换模块、A/D转换模块、数字积分选择电路等部分组成。 2 DDS的基本原理 直接数字频率合成器(Derect Digital Synthesizer)是从相位概念出发直接合成所需波形的一种频率合成技术。一个直接数字频率合成器通常由相位累加器、加法器、波形存储ROM、D/A转换器和低通滤波器(LPF)组成。DDS的组成结构如图2所示。其中,K为频率控制字(也叫相位增量),P为相位控制字,W为波形控制字,fc为参考时钟频率,N为相位累加器的字长,D为ROM数据位及D/A转换器的字长。相位累加

器在时钟fc的控制下以步长K累加,输出的N位二进制码与相位控制字P、波形控制字W相加后作为波形ROM的地址来对波形ROM进行寻址,波形ROM输出的D位幅度码S(n)经D/A转换变成阶梯波S(t)后,再经过低通滤波器平滑,就可以得到合成的信号波形。由于合成的信号波形取决于波形ROM中存放的幅度码,因此,用DDS可以合成任意波形。 3硬件电路设计 3.1 DDS信号产生电路 考虑到DDS具有频率分辨率较高、频率切换速度快、切换相位连续、输出信号相位噪声低、可编程、全数字化、易于集成、体积小、重量轻等优点,该方案选用美国A/D公司的AD9850芯片,并采用单片机为核心控制器件来对DDS输送频率控制字,从而使DDS输出相应频率和类型的信号,其DDS信号产生电路如图3所示。

(完整版)数字信号发生器的电路设计_(毕业课程设计)

1 引言 信号发生器又称信号源或者振荡器,它是根据用户对其波形的命令来产生信号的电子仪器,在生产实践和科技领域有着广泛的应用。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其他仪表测量感兴趣的参数。信号发生器在通信、广播、电视系统,在工业、农业、生物医学领域内,在实验室和设备检测中具有十分广泛的用途。 信号发生器是一种悠久的测量仪器,早在20年代电子设备刚出现时它就产生了。随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的测试仪器发展成定量分析的测量仪器。自60年代以来信号发生器有了迅速的发展,出现了函数发生器,这个时期的信号发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形。到70年代处理器出现以后,利用微处理器、模数转换器和数模转换器,硬件和软件使信号发生器的功能扩大,产生比较复杂的波形。这时期的信号发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。随着现代电子、计算机和信号处理等技术的发展,极大地促进了数字化技术在电子测量仪器中的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点,数字信号发生器随之发展起来。

信号发生器作为电子领域不可缺少的测量工具,它必然将向更高性能,更高精确度,更高智能化方向发展,就象现在在数字化信号发生器的崛起一样。但作为一种仪器,我们必然要考虑其所用领域,也就是说要因地制宜,综合考虑性价比,用低成本制作的集成芯片信号发生器短期内还不会被完全取代,还会比较广泛的用于理论实验以及精确度要求不是太高的实验。因此完整的函数信号发生器的设计具有非常重要的实践意义和广阔的应用前景。 2 数字信号发生器的系统总述 2.1 系统简介 信号发生器广泛应用于电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域。 本设计以AT89C52[1]单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统主要包括CPU模块、显示模块、键盘输入模块、数模转换模块、波形输出模块。系统电路原理图见附录A,PCB (印制电路板)图见附录B。其中CPU模块负责控制信号的产生、变化及频率的改变;模数转换模块采用DAC0832实现不同波形的输出;显示模块采用1602液晶显示,实现波型和频率显示;键盘输入模块实

函数信号发生器设计报告

函数信号发生器设计报告 一、 设计要求 设计制作能产生正弦波、方波、三角波等多种波形信号输出的波形发生器,具体要求: (1) 输出波形工作频率范围为2HZ ~200KHZ ,且连续可调; (2) 输出频率分五档:低频档:2HZ ~20HZ ;中低频档:20HZ ~200HZ ; 中频档:200HZ ~2KHZ ;中高频档:2KHZ ~20KHZ ;高频档:20KHZ ~200KHZ 。 (3) 输出带LED 指示。 二、 设计的作用、目的 1. 掌握函数信号发生器工作原理。 2. 熟悉集成运放的使用。 3. 熟悉Multisim 软件。 三、 设计的具体实现 3.1函数发生器总方案 采用分立元件,设计出能够产生正弦波、方波、三角波信号的各个单元电路,利用Multisim 仿真软件模拟,调试各个参数,完成单元电路的调试后连接起来,在正弦波产生电路中加入开关控制,选择不同档位的元件,达到输出频率可调的目的。 总原理图:

3.2单元电路设计、仿真 Ⅰ、RC桥式正弦波振荡电路 图1:正弦波发生电路 正弦波振荡器是在只有直流供电、不加外加输入信号的条件下产生正弦波信号的电路。 正弦波产生电路的基本结构是:引入正反馈的反馈网络和放大电路。其中:接入正反馈是产生振荡的首要条件,它又被称为相位条件;产生振荡必须满足幅度条件;要保证输出波形为单一频率的正弦波,必须具有选频特性;同时它还应具有稳幅特性。因此,正弦波产生电路一般包括:放大电路、反馈网络、选频网络、稳幅电路四个部分。根据选频电路回路的不同,正弦波振荡器可分为RC正弦波振荡器、LC正弦波振荡器和石英晶体振荡器。其中,RC正弦波振荡器主要用于产生中低频正弦波,振荡频率一般小于1MHz,满足本次设计要求,故选用RC 正弦波振荡器。

虚拟信号发生器的设计

虚拟信号发生器的设计 (巢湖学院物理与电子科学系王乐07037022) 摘要:虚拟仪器是由一些必要的硬件获取调理信号,并以通用计算机为平台,实现不同测量软件对采集获得信号进行分析处理及显示。它改变了传统电子测量仪器的概念和模式,用户完全可以自己定义仪器的功能和参数,即“软件既是仪器”。计算机技术与网络技术的飞速发展,使得虚拟仪器已经成为现代电子测量仪器发展的趋势。 本文介绍了一种以LabVIEW为开发平台,能够产生正弦波、三角波、方波、锯齿波和任意波测试信号发生器,其平率、幅值、相位、电压偏置等参数可以设置,不但输出波形参数可调、而且可同步显示。本系统通过采用TCP/IP技术来实现远程数据传输功能,当两台计算机设置好端口后,就可以进行数据传输。 与传统仪器相比,本系统具有高效、开放、使用灵活、功能强大、性价比高、可操作性好等明显优点,可用于医疗,工程等精密仪器的测试,具有较强的实用性和开发价值。 关键词:虚拟仪器,Labview,函数信号发生器,网络通信。 The design of virtual signal generator and remotereslization Abstract:The virtual instrument which conditioning signals isgained by some essential hardware.It takes the general-purposecomputer as a platform and the signal is realized through thedifferent measurement software,such as signal’s analyze,processand display etc.The concept and mode of traditional measuringinstruments are changed,the parameters and functions can betransformed by the user,namely,"software is the instrument".Withthe rapid development of computer and network technology,thevirtual instrument has become a developing trend of modernelectronic measuring instruments. In this paper development platform LabVIEW is introduced firstly,then the test signals of Sine,triangle,square sawtooth andarbitrary waveform is described in the virtual signal generator.The functions of signal generator are set,such as frequency,amplitude,phase,voltage bias etc.Not only output parameters canbe adjusted but also the corresponding wave is acquiredsimultaneously in this system. The function of remote datatransmission is performed by TCP/IP technology.Data is transportedwhen the port parameters between two computers areset. Compared with traditional machines,advantages of the virtualinstrument are showed in efficiency,opening,easy using,strongfunction,cost-effective and operation etc.It can be used fortesting of medical and engineering precision instruments. Key words:Virtual instrument,LabVIEW,Function generator,NetworkCommunication 第1章绪论 在有关电参量的测量中,我们需要用到信号源,而信号发生器则为我们提供

PWM信号发生器的设计程序(veriloghdl)

PWM信号发生器的设计程序 module pwmgen(clk,rst,ce,addr,write,wrdata,read,bytesel,rddata,pwm); input clk,rst,ce; input [1:0]addr; input write,read; input[31:0]wrdata; output[31:0]rddata; input[31:0]bytesel; output pwm; reg[31:0]clk_div_reg,duty_cycle_reg; reg control_reg; reg clk_div_reg_sel,duty_cycle_reg_sel,control_reg_sel; reg[31:0]pwm_cnt,rddata; reg pwm; wire pwm_ena; always@(addr) begin clk_div_reg_sel<=0;duty_cycle_reg_sel<=0;control_reg_sel<=0; case(addr) 2'b00:clk_div_reg_sel<=1; 2'b01:duty_cycle_reg_sel<=1; 2'b10:control_reg_sel<=1; default: begin clk_div_reg_sel<=0; duty_cycle_reg_sel<=0; control_reg_sel<=0; end endcase end always@(posedge clk or negedge rst) begin if(rst==1'b0) clk_div_reg=0; else begin if(write & ce & clk_div_reg_sel) begin if(bytesel[0]) clk_div_reg[7:0]=wrdata[7:0]; if(bytesel[1]) clk_div_reg[15:8]=wrdata[15:8];

信号发生器设计---实验报告

信号发生器设计 一、设计任务 设计一信号发生器,能产生方波、三角波和正弦波并进行仿真。 二、设计要求 基本性能指标:(1)频率范围100Hz~1kHz;(2)输出电压:方波U p-p≤24V,三角波U =6V,正弦波U p-p>1V。 p-p 扩展性能指标:频率范围分段设置10Hz~100Hz, 100Hz~1kHz,1kHz~10kHz;波形特性方波t r<30u s(1kHz,最大输出时)用仪器测量上升时间,三角波r△<2%,正弦波r <5%。(计算参数) ~ 三、设计方案 信号发生器设计方案有多种,图1是先产生方波、三角波,再将三角波转换为正弦波的组成框图。 图1 信号发生器组成框图 主要原理是:由迟滞比较器和积分器构成方波——三角波产生电路,三角波在经过差分放大器变换为正弦波。方波——三角波产生基本电路和差分放大器电路分别如图2和图4所示。 图2所示,是由滞回比较器和积分器首尾相接形成的正反馈闭环系统,则比较器A1输出的方波经积分器A2积分可得到三角波,三角波又触发比较器自动翻转形成方波,这样即可构成三角波、方波发生器。其工作原理如图3所示。

图2 方波和三角波产生电路 图3 比较器传输特性和波形 利用差分放大器的特点和传输特性,可以将频率较低的三角波变换为正弦波。(差模传输特性)其基本工作原理如图5所示。为了使输出波形更接近正弦波,设计时需注 应接近晶体意:差分放大器的传输特性曲线越对称、线性区越窄越好;三角波的幅值V m 管的截止电压值。 图4 三角波→正弦波变换电路

图5 三角波→正弦波变换关系 在图4中,RP 1调节三角波的幅度,RP 2调整电路的对称性,并联电阻R E2用来减小差分放大器的线性区。C 1、C 2、C 3为隔直电容,C 4为滤波电容,以滤除谐波分量,改善输出波形。取Ic2上面的电流(看输出) 波形发生器的性能指标: ①输出波形种类:基本波形为正弦波、方波和三角波。 ②频率范围:输出信号的频率范围一般分为若干波段,根据需要,可设置n 个波段范围。(n>3) ③输出电压:一般指输出波形的峰-峰值U p-p 。 ④波形特性:表征正弦波和三角波特性的参数是非线性失真系数r ~和r △;表征方波特性的参数是上升时间t r 。 四、电路仿真与分析 实验仿真电路图如图

函数通用信号发生器历史发展

历史发展 信号发生器是一种最悠久的测量仪器,早在20年代电子设备刚出现时它就产生了。随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的测试仪器发展成定量分析的测量仪器。同时还出现了可用来测量脉冲电路或用作脉冲调制器的脉冲信号发生器。由于早期的信号发生器机械结构比较复杂,功率比较大,电路比较简单,因此发展速度比较慢。直到1964年才出现第一台全晶体管的信号发生器。 自60年代以来信号发生器有了迅速的发展,出现了函数发生器,这个时期的信号发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形,由于模拟电路的漂移较大,使其输出的波形的幅度稳定性差,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形则电路结构非常复杂。自从70年代微处理器出现以后,利用微处理器、模数转换器和数模转换器,硬件和软件使信号发生器的功能扩大,产生比较复杂的波形。这时期的信号发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。软件控制波形的一个最大缺点就是输出波形的频率低,这主要是由CPU的工作速度决定的,如果想提高频率可以改进软件程序减少其执行周期时间或提高CPU的时钟周期,但这些办法是有限度的,根本的办法还是要改进硬件电路。 随着现代电子、计算机和信号处理等技术的发展,极大促进了数字化技术在电子测量仪器中的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点,数字信号发生器随之发展起来。 信号发生器的应用非常广泛,种类繁多。首先,信号发生器可以分通用和专用两大类,专用信号发生器主要为了某种特殊的测量目的而研制的,如电视信号发生器、脉冲编码信号发生器等。这种发生器的特性是受测量对象的要求所制约的。其次,信号发生器按输出波形又可分为正弦波信号发生器、脉冲波信号发生器、函数发生器和任意波发生器等。再次,按其产生频率的方法又可分为谐振法和合成法两种。一般传统的信号发生器都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。但也可以通过频率合成技术来获得所需9-率。利用频率合成技术制成的信号发生器,通常被称为合成信号发生器。 signal is a generator with the longest measuring instruments, as early as the 1920s when the emerging electronic equipment it has. As the communications and radar technology development, 40 in a major test for a variety of standard receiver signal generator so that the signal generator from the qualitative analysis of the test equipment developed into a quantitative analysis of the measuring instruments. At the same time there also can be used to measure pulse circuit or pulse modulator for the pulse generator. Since the early signal generator mechanical structure more complicated, more power, the circuit is relatively simple, relatively slow pace of development. Until 1964 there was the first all-transistor signal generator.

基于运放的信号发生器设计

北京工业大学课程设计报告 模电课设题目基于运放的信号发生器设计 班级:1302421 学号:13024219 姓名:吕迪 组号:7 2015年 6月

一、设计题目 基于运放的信号发生器设计 二、设计任务及设计要求 (一)设计任务 本课题要求使用集成运算放大器制作正弦波发生器,在没有外加输入信号的情况下,依靠电路自激震荡而产生正弦波输出的电路。经过波形变换可以产生同频三角波、方波信号。(二)设计要求 基本要求:使用LM324,采用经典振荡电路,产生正弦信号,频率范围,360Hz~100kHz。输出信号幅度可调,使用单电源供电以及增加功率。 (三)扩展要求 (1)扩大信号频率的范围; (2)增加输出功率 (3)具有输出频率的显示功能。 三、设计方案 (一)设计框图 (二)设计方案选择思路 我们在模电课上学过几种正弦波振荡器的基本电路,包括RC串并联正弦波振荡器、电容三点式正弦波振荡器以及电感三点式正弦波振荡器。因为题目要求设计基于运放的正弦波发生器,我们就确定将RC串并联网络正弦波振荡器作为我们设计的基础电路,因为此振荡器适用于频率在1MHz一下的低频正弦波振荡器而且频率调节方便,我们打算先通过计算搭建RC 正弦波振荡电路,测试基本电路达到的频率及幅值范围,再在这一基础上进行放大,使频率及幅值与设计要求相符合,因此设计出了二级反向放大这一模块。最后,为了提高电路的输出功率,减小电路的输出阻抗,再设计电压跟随器这一模块来完善整个电路。由此,我们确定出三个模块:RC正弦波振荡电路,二级反向放大电路,电压跟随器,并准备从基础模块入手,分模块实现,并根据实际情况不断调整改进原先的设计方案。 (三)元器件清单 芯片:LM324*2 40106*1 二极管:1N4148*2 电容:10μF*1、10nf *4 电阻:2k*1 、10k*4、51k*1 、82k*1 、91k*1 、100k滑动变阻器*1、220k*1 电位器:50k双联*1、10k*2、50k*1 (四)芯片资料

信号发生器课程设计报告

目录 一、课题名称 (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)多用信号源产生电路,分别产生正弦波、方波、三角波,频率范围

深度解读信号源所涉及的相关基础知识

深度解读信号源所涉及的相关基础知识 信号源是四大通用电子测量仪器之一,其他三种是:网络分析仪,频谱分析仪和示波器。这篇介绍信号源所涉及的相关基础知识。信号源的最常用的功能是用来产生一个正弦波,所以先从介绍正弦波的特征开始本篇文章。 一、正弦波的信号特性通过正弦波信号的表达等式,可以反映其信号所包含的参数为:信号幅度;频率;初始相位。信号的频率和初始相位可以包含在信号的相位信息中。 对于理想的正弦波信号而言,其幅度和频率及初始相位应该为确定参数,所以正弦波信号是比较简单的信号。定义一个连续波信号只需要幅度和频率两方面指标。 图1 正弦波信号特性 信号源产生正弦波的典型幅度参数有如下几项: 图2 信号源输出正弦波的典型幅度参数 信号源要考虑幅度精度,以提高测试的可重复性,降低测试不确定度。 信号源的典型频率参数有如下几项: 图3 信号源输出正弦波的典型频率参数 信号源的频率精度与参考振荡器的年老化率及校准之后经历的时间有关。实际正弦波的信号特征比理想信号要复杂的多,需要考虑相位噪声,寄生调频,杂散,如图4所示。相位噪声在频域反映为噪声边带,在时域上反映为随机的相位抖动,可理解为有随机的噪声对理想正弦信号进行调相。 图4 实际正弦波的信号特征 正弦波或连续波信号质量好坏的评估主要在频域上进行,频域上的杂散包含连续和离散成份,它们都对应时域上的失真。连续的噪声边带称为相位噪声,离散的杂散根据其与基波的频率关系分为谐波和杂波。 相位噪声主要由振荡器内部噪声带来,而谐波杂波的形成与器件的非线性有关: vo(t)=a1vi(t)+ a2vi2(t)+ a3vi3(t)+ ... 若输入为理想正弦信号,通过非线性作用输出为:

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)时钟信号通过分频器后,由输入开关量控制占空比可调。

多功能信号发生器课程设计

《电子技术课程设计》 题目:多功能信号发生器 院系:电子信息工程 专业:xxxxxxxx 班级:xxxxxx 学号:xxxxxxxx 姓名:xxx 指导教师:xxx 时间:xxxx-xx-xx

电子电路设计 ——多功能信号发生器目录 一..课程设计的目的 二课程设计任务书(包括技术指标要求) 三时间进度安排(10周~15周) a.方案选择及电路工作原理; b.单元电路设计计算、电路图及软件仿真; c.安装、调试并解决遇到的问题; d.电路性能指标测试; e.写出课程设计报告书; 四、总体方案 五、电路设计 (1)8038原理, LM318原理, (2)性能\特点及引脚 (3)电路设计,要说明原理 (4)振动频率及参数计算 六电路调试 要详细说明(电源连接情况, 怎样通电\ 先调试后调试,频率调试幅度调试波行不稳调试 七收获和体会

一、课程设计的目的 通过对多功能信号发生器的电路设计,掌握信号发生器的设计方法和测试技术,了解了8038的工作原理和应用,其内部组成原理,设计并制作信号发生器能够提高自己的动手能力,积累一定的操作经验。在对电路焊接的途中,对一些问题的解决能够提高自己操作能力随着集成制造技术的不断发展,多功能信号发射器已经被制作成专用的集成电路。这种集成电路适用方便,调试简单,性能稳定,不仅能产生正弦波,还可以同时产生三角波和方波。它只需要外接很少的几个元件就能实现一个多种波、波形输出的信号发生器。不仅如此,它在工作时产生频率的温度漂移小于50×10-6/℃;正弦波输出失真度小于1%,输出频率范围为0.01Hz~300kHz;方波的输出电压幅度为零到外接电源电压。因此,多功能信号发生器制作的集成电路收到了广泛的应用。 二、课程设计任务书(包括技术指标要求) 任务:设计一个能产生正弦波、方波、三角波以及单脉冲信号发生器。 要求: 1.输出频率为f=20Hz~5kHz的连续可调正弦波、方波和三角波。 2.输出幅度为5V的单脉冲信号。 3.输出正弦波幅度V o= 0~5V可调,波形的非线性失真系数γ≤

相关主题
文本预览
相关文档 最新文档