存储示波器设计
❶ 数字存储示波器的技术指标如何计算,设计
一、硬件设计
基于GPIB的数字示波器自动检定系统的硬件由GPIB控制器、FLUKE5500A、被检定数字示波器和PC机以及打印机等外围设备组成。
控制器
GPIB是惠普公司于20世纪60年代末、70年代初开发的实用仪器接口系统。由于对测试仪器的控制很方便,并且具有较高的传输速度(1Mbps),GPIB于1975年被定为IEEE488标准,1987年修定为IEEE488.1—1987。GPIB总线是数字化的24脚并行总线,有8根线是地线和屏蔽线,另外16根线是TTL电平信号传输线,包括8根数据线、5根接口管理线和3根数据传输控制线。GPIB使用8位并行、字节串行、异步通讯方式,所有字节通过总线顺序传送。
GPIB系统设备有控者、讲者和听者三种属性。实际设备具有其中的一种、两种或三种。作为控者,它可以通过寻址指定
连接到总线上具有讲者属性的器件成为讲者和具有听者属性的器件作为听者,包括指定它自己。讲者能通过总线向其他器件发送数据。听者能从总线上接收讲者发送
的数据。一般来说在GPIB系统中计算机是控者,具有讲、听、控三种属性。为避免总线冲突,IEEE488规定一次只能有一个讲者,但可以同时有几个听
者。由于GPIB系统中各器件的工作速度可能相差悬殊,为了保证多线消息能够双向、异步、可靠地传输,GPIB母线中设置了三条握手线,分别为数据有效
线、未准备好接收线和未收到数据线。
在本系统中采用的GPIB控制器是贝卡科
技公司开发的BC-1401-2型USB-GPIB接口控制器,它带有USB接口,把USB总线转换成GPIB总线,操作GPIB仪器。其特点是:完全符
合IEEE488.1和IEEE488.2国际标准,支持PCI、USB、Ethernet工业标准;数据传输率为900kbps,适合PC机与仪器之间
的高速数据传输;提供了一套I/O GPIB操作函数库,其函数与ISA总线的ES1400系列接口控制器相同;提供了一套符合VPP规范的虚拟仪器软件架构VISA(Virtual Instrument Software Architecture)函数库,实现了凡是采用VISA函数开发的应用程序,在更换不同厂家的不同型号的GPIB接口控制器时,应用程序不需要作任何修改;该接口控制器可以用C/C++、VC++、VB、LabView、LabWindows/CVI、HP-VEE、Delphi等多种语言编制测试程序,方便而灵活。
主控PC
PC作为系统的“主控者”,通过发布命令给GPIB接口控制器实现对FLUKE5500A和被检定示波器的控制,主要包括以下几个方面的内容:仪器的初始化、复位、仪器参数设置;命令FLUKE5500A产生标准信号,同时被检示波器显示;读取/保存仪器数据并传给PC等。
二、软件设计
平台选择
软件是本数字示波器自动检定系统的核心,软硬件能否稳定、协调地工作是系统能够对数字示波器快
速、可靠检定的基础。本系统采用性能稳定的Windows2003 Server操作系统、SQL
Sever2005(开发版)数据库以及Visual.
NET2005作为开发平台,以C/C++作为编程语言,同时在驱动程序方面选用NI公司的Lab
Windows/CVI7.0做部分程序的驱动开发。同时采用MAX(Measurement&Automation)作为IVI驱动配置程序。
VISA和IVI
VISA是VXI plug&play联盟制定的I/O接口软件标准。制定VISA的目的是确保不同厂商、不同接口标准的仪器能相互兼容、可以通讯和进行数据交换。其显着特点是:VISA是采用了先进的面向对象编程思
想来实现的;它是当前所有仪器接口类型功能函数的超集成,而且十分简洁,只有90多个函数;VISA作为标准函数,与仪器的I/O接口类型无关,方便程序
移植。对于驱动程序、应用程序开发者而言,VISA库函数是一套可以方便调用的函数,可以控制各种设备如GPIB、VXI、PXI等。
IVI(Interchangeable Virtual Instrument)是IVI基金会为了进一步提高仪器驱动程序的可执行性能,达到真正意义上的仪器互换,实现应用程序完全独立于硬件而推出的仪器驱动程序编程接口。IVI系统由
IVI类驱动程序、具体驱动程序、IVI引擎、IVI配置实用程序、IVI配置信息文件五部分组成。类驱动程序实现了上层统一功能的封装,面对的是操作
者,而具体驱动程序完成与具体仪器的通信。测试程序是调用类驱动程序,用类驱动程序调用具体驱动程序来实现测试程序和硬件的无关性。IVI引擎完成状态缓
存、仪器属性跟踪、分类驱动程序到具体驱动程序的映射功能。IVI配置实用程序是采用软件MAX创建和配置IVI逻辑名,在测试程序中通过传送逻辑名给一
个分类驱动程序初始化函数,将操作映射到具体仪器及仪器驱动程序。IVI配置信息文件记录了所有逻辑名和从类驱动程序到具体仪器驱动程序的映射信息。其结
构如图2所示。
测试架构
测试软件模块:
测试软件分为测试数据管理模块、测试参数管理模块、测试程序模块三部分。测试数据管理模块是管理对仪器的检定日期、
检定人员、对具体仪器的已检定项目、检定的数据等。测试参数管理是在数据库中管理具体仪器的各检定项、检定项的标准值等。测试程序模块是根据用户在软面板
上选定的测试参数,调用相应的测试仪器进行测试,把测试数据和数据库中的标准相比较,判断是否合格。
测试软件结构化流程:
在开机系统自检后,
检定操作员在软件界面上选择/输入需要检定的仪器型号,程序由仪器型号在数据库中调出相应的检定项目、被检项目的标准值、被检仪器与FLUKE5500A
和GPIB控制器的连接图。检定员按连接图(FLASH动画)连接仪器,在确认连接正确后,检查是否有IVI驱动程序,在安装驱动程序后运行MAX配置工
具,完成配置后即可运行相应的测试程序,把测试结果保存到数据库,并打印相应的合格/不合格报告。其流程图见图3。
开发IVI驱动程序:
对于IVI仪器,厂家会提供IVI驱动程序只需要编写少量代码即可实现对仪器的检定,主程序简单,便于管理。IVI基金会的目标是支持95%的仪器。基于IVI技术的数字仪器的检定将会是仪器检定的必然之路。
但是并不是所有的仪器都支持IVI。对于非IVI仪器,使用LabWindows/CVI中的IVI驱动开发向导把
仪器程控命令树中所有底层命令封装成一系列带有图像面板的高层函数,完成IVI驱动程序的开发,使它成为IVI仪器。其特点是前期开发IVI驱动程序工作
量大,但是后期测试程序开发和维护工作量少。
数据库
数据库管理主要包括用户管理、被检仪器型号管理、检定项目管理、检定报告管理、检定项目指标管理以及数据查询6个模块。
数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。数字示波器一般支持多级菜单,能提供给用户多种选择,多种分析功能。
还有一些示波器可以提供存储,实现对波形的保存和处理。
目前高端数字示波器主要依靠美国技术,对于300MHz带宽之内的示波器,目前国内品牌的示波器在性能上已经可以和国外品牌抗衡,且具有明显的性价比优
势。
❷ 基于PLD的简易数字存储示波器设计的毕设论文和开题报告
别的我不知道
1016442790
这个百分之90是坑 虽然态度似乎不错但 及时给你 也是不对题的
❸ 急!基于单片机的数字示波器设计
首先根据输出波形的频率和幅值进行编码,存储在单片机的ROM里,
然后以一定的时间间隔依次将这些数字量送往D/A进行转换输出,这样,只要循环送数,在D/A的双极性输出端就可以得到波形波形。
采用单片机片内的振荡器、上电复位和外部硬件看门狗电路。
至于波形编码,网上资料很多,下面是硬件电路设计的描述(这个是网上找的):
输出两路幅值相等相位相差90°的正弦波形作为物体偏转测量的基准波形;另一路输出测角波形,该波形相对基准波形的相位反映角偏差的方向、幅值反映角偏差量。专用波形发生器就是模拟角位移输出波形的装置,用来进行后续解调电路以及功放电路的检测。它以单片机为核心,经过D/A转换和放大电路的处理,最后输出反应弹体姿态的基准波形和测角波形。
软件方面的编程:
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //共阴极0~9对应16进制数
//=============正弦波数据====================
uchar code sin_tab[256]=
{
0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae,
0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4, 0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8,
0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xed, 0xef, 0xf0, 0xf2, 0xf3, 0xf4,
0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7,
0xf6, 0xf5, 0xf3, 0xf2, 0xf0, 0xef, 0xed, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe1, 0xde, 0xdc,
0xda, 0xd8, 0xd6, 0xd3, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb4,
0xb1, 0xae, 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c, 0x99, 0x96, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83,
0x80, 0x7d, 0x79, 0x76, 0x73, 0x70, 0x6d, 0x6a, 0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52,
0x4f, 0x4c, 0x49, 0x46, 0x43, 0x41, 0x3e, 0x3b, 0x39, 0x36, 0x33, 0x31, 0x2e, 0x2c, 0x2a, 0x27,
0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x14, 0x12, 0x10, 0xf, 0xd, 0xc, 0xb ,
0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x3, 0x2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0 ,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x3, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 ,
0x9, 0xa, 0xc, 0xd, 0xe, 0x10, 0x12, 0x13, 0x15, 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x23,
0x25, 0x27, 0x29, 0x2c, 0x2e, 0x30, 0x33, 0x35, 0x38, 0x3b, 0x3d, 0x40, 0x43, 0x46, 0x48, 0x4b,
0x4e, 0x51, 0x54, 0x57, 0x5a, 0x5d, 0x60, 0x63, 0x66, 0x69, 0x6c, 0x6f, 0x73, 0x76, 0x79, 0x7c,
};
//三角波信号数据表
uchar code thr_tab[32]=
{
0x00,0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0x8f,0x9f,0xaf,0xbf,0xcf,0xdf,0xef,
0xff,0xef,0xdf,0xcf,0xbf,0xaf,0x9f,0x8f,0x7f,0x6f,0x5f,0x4f,0x3f,0x2f,0x1f,0x0f
};
//-------------------------------------------------------------------------------------------------------
//锯齿波信号数据表
uchar code jc_tab[33]=
{
0x00,0x08,0x0f,0x18,0x1f,0x28,0x2f,0x38,0x3f,0x48,0x4f,0x58,0x5f,0x68,0x6f,0x78,
0x7f,0x88,0x8f,0x98,0x9f,0xa8,0xaf,0xb8,0xbf,0xc8,0xcf,0xd8,0xdf,0xe8,0xef,0xf8,0xff
};
//数码管位选控制口定义
sbit LED4=P2^7;
sbit LED3=P2^6;
sbit LED2=P2^5;
sbit LED1=P2^4;
//按键口申明
sbit S1=P2^3;
sbit S2=P2^2;
sbit S3=P2^1;
unsigned char tabArry[4]; //保存显示数据
char flag=1; //按键标志,当flag=1时表示没有按下,当flag=0时表示有按键按下
int keycount=0; //按键计数
unsigned char waveth,wavetl; //用于对定时器付值
unsigned int frecount=100; //频率计数
unsigned int mbjs; //码表计数,共采32个点
//毫秒延时程序
void delayms(int ms)
{
uchar i;
while(ms--)
{
for(i=250;i>0;i--);
}
}
//键盘扫描
void keyscan()
{
if(flag==1)
{
if(S3==0) //用S3切换波形
{
delayms(2); //延时去抖
if(S3==0) //按键计数,便于切换波形
{
flag=0;
keycount++;
if(keycount>=4) keycount=0; //四种波形计数4次
}
}
if(S2==0) //频率加1 处理
{
delayms(2);
if(S2==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 1: //三角波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 2: //锯齿波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 3: //方波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
}
waveth=(65536-57603/frecount)/256; //重新计算初值
wavetl=(65536-57603/frecount)%256;
}
}
if(S1==0) //频率减1 处理
{
delayms(2);
if(S1==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
case 1: //三角波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
case 2: //锯齿波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
case 3: //方波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
}
waveth=(65536-57603/frecount)/256; //重新计算初值
wavetl=(65536-57603/frecount)%256;
}
}
}
if(S1!=0 && S2!=0 && S3!=0) flag=1; //判断按键是否弹起
}
//数据分位
void change(char wavetype,unsigned int frequency)
{
tabArry[0]=wavetype; //显示字母,表示波形类型
tabArry[1]=frequency%1000/100; //百位
tabArry[2]=frequency%100/10; //十位
tabArry[3]=frequency%10; //个位
}
//显示函数
void display()
{
switch(keycount)
{
case 0: //显示A和正弦波的频率
change(0x0a,frecount);
break;
case 1: //显示b和三角波的频率
change(0x0b,frecount);
break;
case 2: //显示C和锯齿波的频率
change(0x0c,frecount);
break;
case 3: //显示d和方波的频率
change(0x0d,frecount);
break;
}
P0 = table[tabArry[0]]; //送最高位段码
LED1=0; //打开对应的位选控制口
delayms(2); //显示延时
LED1=1; //关闭对应的位选控制后显示下一位
P0 = table[tabArry[1]];
LED2=0;
delayms(2);
LED2=1;
P0 = table[tabArry[2]];
LED3=0;
delayms(2);
LED3=1;
P0 = table[tabArry[3]];
LED4=0;
delayms(2);
LED4=1;
}
void Timerinit()
{
TMOD=0x01; //定时器0方式1
//定时器初值计算公式:X=65536-(T/T0)=65536-(f0/f/32)
TH0=waveth=(65536-57603/frecount)/256; //定时器初值 22.1184MHz
TL0=wavetl=(65536-57603/frecount)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //定时器0开始计数
}
//主函数
void main()
{
Timerinit(); //定时器初始化
while(1)
{
keyscan(); //扫描按键
display(); //显示程序
}
}
void Timer0() interrupt 1
{
TH0=waveth; //重新赋初值
TL0=wavetl;
if (keycount==0) //输出正弦波
{
P1 = sin_tab[mbjs];
mbjs+=8; //256点,每隔8点输出一个数据
if(mbjs>=256)
{
mbjs=0;
}
}
else if(keycount==1) //输出三角波
{
P1 = thr_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
else if(keycount==2) //输出锯齿波
{
P1 = jc_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
else if(keycount==3) //输出方波
{
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
else if(mbjs<16) P1=0xff;
else P1=0x00;
}
}
摘 要
函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。
本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波—正弦波函数发生器的设计方法,先通过比较器产生方波,再通过积分器产生三角波,最后通过差分放大器形成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。
经过仿真得出了方波、三角波、正弦波、方波——三角波转换及三角波——正弦波转换的波形图。
关键字:函数信号发生器、集成运算放大器、晶体管差分放
设计目的、意义
1 设计目的
(1)掌握方波—三角波——正弦波函数发生器的原理及设计方法。
(2)掌握迟滞型比较器的特性参数的计算。
(3)了解单片集成函数发生器8038的工作原理及应用。
(4)能够使用电路仿真软件进行电路调试。
2 设计意义
函数发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。
在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都学要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波等,因而广泛用于通信、雷达、导航、宇航等领域。
设计内容
1 课程设计的内容与要求(包括原始数据、技术参数、条件、设计要求等):
1.1课程设计的内容
(1)该发生器能自动产生正弦波、三角波、方波。
(2)函数发生器以集成运放和晶体管为核心进行设计
(3)指标:
输出波形:正弦波、三角波、方波
频率范围:1Hz~10Hz,10Hz~100Hz
输出电压:方波VP-P≤24V,三角波VP-P=8V,正弦波VP-P>1V;
(4)对单片集成函数发生器8038应用接线进行设计。
1.2课程设计的要求
(1)提出具体方案
(2)给出所设计电路的原理图。
(3)进行电路仿真,PCB设计。
2 函数波形发生器原理
2.1函数波形发生器原理框图
图2.1 函数发生器组成框图
2.2函数波形发生器的总方案
函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件 (如低频信号函数发生器S101全部采用晶体管),也可以采用集成电路(如单片函数发生器模块8038)。为进一步掌握电路的基本理论及实验调试技术,本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波—正弦波函数发生器的设计方法。
产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波—三角波,再将三角波变换成正弦波的电路设计方法[3]。
由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。
2.3函数波形发生器各组成部分的工作原理
2.3.1方波发生电路的工作原理
此电路由反相输入的滞回比较器和RC电路组成。RC回路既作为延迟环节,又作为反馈网络,通过RC充、放电实现输出状态的自动转换。设某一时刻输出电压Uo=+Uz,则同相输入端电位Up=+Ut。Uo通过R3对电容C正向充电,如图2.3中实线箭头所示。反相输入端电位n随时间t的增长而逐渐增高,当t趋于无穷时,Un趋于+Uz;但是,一旦Un=+Ut,再稍增大,Uo从+Uz跃变为-Uz,与此同时Up从+Ut跃变为-Ut。随后,Uo又通过R3对电容C反向充电,如图中虚线箭头所示。Un随时间逐渐增长而减低,当t趋于无穷大时,Un趋于-Uz;但是,一旦Un=-Ut,再减小,Uo就从-Uz跃变为+Uz,Up从-Ut跃变为+Ut,电容又开始正相充电。上述过程周而复始,电路产生了自激振荡[4]。
2.3.2方波——三角波转换电路的工作原理
图2.2方波—三角波产生电路
工作原理如下:
若a点断开,整个电路呈开环状态。运算发大器A1与R1、R2及R3、RP1组成电压比较器,C1为加速电容,可加速比较器的翻转。运放的反相端接基准电压,即U-=0,同相输入端接输入电压Uia,R1称为平衡电阻。比较器的输出Uo1的高电平等于正电源电压+Vcc,低电平等于负电源电压-Vee(|+Vcc|=|-Vee|), 当比较器的U+=U-=0时,比较器翻转,输出Uo1从高电平跳到低电平-Vee,或者从低电平Vee跳到高电平Vcc。设Uo1=+ Vcc,则
(2.1)
将上式整理,得比较器翻转的下门限单位Uia_为
(2.2)
若Uo1=-Vee,则比较器翻转的上门限电位Uia+为
(2.3)
比较器的门限宽度:
(2.4)
由以上公式可得比较器的电压传输特性,如图2.3所示。
a点断开后,运放A2与R4、RP2、C2及R5组成反相积分器,其输入信号为方波Uo1,则积分器的输出Uo2为:
(2.5)
时,
(2.6)
时,
(2.7)
可见积分器的输入为方波时,输出是一个上升速度与下降速度相等的三角波,其波形关系如图2.4所示。
a点闭合,即比较器与积分器形成闭环电路,则自动产生方波-三角波。三角波的幅度为:
(2.8)
方波-三角波的频率f为:
(2.9)
由以上两式(2.8)及(2.9)可以得到以下结论:
(1) 电位器RP2在调整方波-三角波的输出频率时,不会影响输出波形的幅度。若要求输出频率的范围较宽,可用C2改变频率的范围,PR2实现频率微调。
(2) 方波的输出幅度应等于电源电压+Vcc。三角波的输出幅度应不超过电源电压+Vcc。
电位器RP1可实现幅度微调,但会影响方波-三角波的频率[3]。
图2.3比较器的电压传输特性
图2.4方波与三角波波形关系
2.3.3三角波---正弦波转换电路的工作原理
如图2.5三角波——正弦波的变换电路主要由差分放大电路来完成。
差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器,可以有效的抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性[1]。
图2.5 三角波——正弦波的变换电路
分析表明,传输特性曲线的表达式为:
(2.10)
(2.11)
式中
——差分放大器的恒定电流;
——温度的电压当量,当室温为25oc时, ≈26mV。
如果Uid为三角波,设表达式为
(2.12)
式中 Um——三角波的幅度;
T——三角波的周期。
为使输出波形更接近正弦波,由图2.6可见:
(1)传输特性曲线越对称,线性区越窄越好。
(2)三角波的幅度Um应正好使晶体管接近饱和区或截止区。
(3)图2.7为实现三角波——正弦波变换的电路。其中RP1调节三角波的幅度,RP2调整电路的对称性,其并联电阻RE2用来减小差分放大器的线性区。电容C1,C2,C3为隔直电容,C4为滤波电容,以滤除谐波分量,改善输出波形[2]。
图2.6三角波—正弦波变换原理
图2.7三角波—正弦波变换电路
2.4电路的参数选择及计算
2.4.1方波-三角波中电容C1变化(关键性变化之一)
实物连线中,我们一开始很长时间出不来波形,后来将C2从10uf(理论时可出来波形)换成0.1uf时,顺利得出波形。实际上,分析一下便知当C2=10uf时,频率很低,不容易在实际电路中实现。
2.4.2三角波—正弦波部分的计算
比较器A1与积分器A2的元件计算如下:
由式(2.8)得
即
取 ,则 ,取 ,RP1为47KΩ的点位器。取平衡电阻
由式(2.9)
即
当 时,取 ,则 ,取 ,为100KΩ电位器。当 时 ,取 以实现频率波段的转换,R4及RP2的取值不变。取平衡电阻 。
三角波—正弦波变换电路的参数选择原则是:隔直电容C3、C4、C5要取得较大,因为输出频率很低,取 ,滤波电容 视输出的波形而定,若含高次斜波成分较多, 可取得较小, 一般为几十皮法至0.1微法。RE2=100欧与RP4=100欧姆相并联,以减小差分放大器的线性区。差分放大器的静态工作点可通过观测传输特性曲线,调整RP4及电阻R*确定。
2.5 总电路图
先通过比较器产生方波,再通过积分器产生三角波,最后通过差分放大器形成正弦波。如图2.5.1所示,
图2.5.1三角波-方波-正弦波函数发生器实验电路
2.6 8038单片集成函数发生器
2.6.1 8038的工作原理
8038由恒流源I1、I2,电压比较器C1、C2和触发器①等组成。其内部原理电路框图和外部引脚排列分别如图2.8和图2.9所示。
图2.8 8038原理框图
图2.9 8038管脚图(顶视图)
1. 正弦波线性调节;2. 正弦波输出;3. 三角波输出;4. 恒流源调节;5. 恒流源调节;6. 正电源;7. 调频偏置电压;8. 调频控制输入端;9. 方波输出(集电极开路输出); 10. 外接电容;11. 负电源或接地;12.正弦波线性调节;13、14. 空脚
在图2.8中,电压比较器C1、C2的门限电压分别为2VR/3和VR/3( 其中VR=VCC+VEE),电流源I1和I2的大小可通过外接电阻调节,且I2必须大于I1。当触发器的Q端输出为低电平时,它控制开关S使电流源I2断开。而电流源I1则向外接电容C充电,使电容两端电压vC随时间线性上升,当vC上升到vC=2VR/3 时,比较器C1输出发生跳变,使触发器输出Q端由低电平变为高电平,控制开关S使电流源I2接通。由于I2>I1 ,因此电容C放电,vC随时间线性下降。当vC下降到vC≤VR/3 时,比较器C2输出发生跳变,使触发器输出端Q又由高电平变为低电平,I2再次断开,I1再次向C充电,vC又随时间线性上升。如此周而复始,产生振荡。若I2=2I1 ,vC上升时间与下降时间相等,就产生三角波输出到脚3。而触发器输出的方波,经缓冲器输出到脚9。三角波经正弦波变换器变成正弦波后由脚2输出。当I1<I2<2I1 时,vC的上升时间与下降时间不相等,管脚3输出锯齿波。因此,8038能输出方波、三角波、正弦波和锯齿波等四种不同的波形。
图2.8中的触发器,当R端为高电平、S端为低电平时,Q端输出低电平;反之,则Q端为高电平。
2.6.2 8038构成函数波形发生器
由图2.9可见,管脚8为调频电压控制输入端,管脚7输出调频偏置电压,其值(指管脚6与7之间的电压)是(VCC+VEE/5) ,它可作为管脚8的输入电压。此外,该器件的方波输出端为集电极开路形式,一般需在正电源与9脚之间外接一电阻,其值常选用10k左右,如图2.10所示。当电位器Rp1动端在中间位置,并且图中管脚8与7短接时,管脚9、3和2的输出分别为方波、三角波和正弦波。电路的振荡频率f约为0.3/[C(R1+RP1/2)] 。调节RP1、RP2可使正弦波的失真达到较理想的程度。
在图2.10中,当RP1动端在中间位置,断开管脚8与7之间的连线,若在+VCC与-VEE之间接一电位器,使其动端与8脚相连,改变正电源+VCC与管脚8之间的控制电压(即调频电压),则振荡频率随之变化,因此该电路是一个频率可调的函数发生器。如果控制电压按一定规律变化,则可构成扫频式函数发生器。
图2.10 8038接成波形产生器阿
3电路仿真
3.1电路仿真
3.1.1方波——三角波发生电路的仿真
图3.1 方波
图3.2 三角波
图3.3 方波——三角波
3.1.2三角波---正弦波转换电路的仿真
图3.4 三角波——正弦波
参考文献
[1]王 远.模拟电子技术(第二版)[M].北京:机械工业出版社,2000
[2]谢自美.电子线路设计实验测试(第二版)[M].武昌:华中科技大学出版社,2000
[3]路 勇.电子电路实验及仿真[M].清华大学出版社,2003
[4]胡宴如.模拟电子技术[M].北京:高等教育出版社,2000
[5]周跃庆.模拟电子技术基础教程[M].天津大学出版社, 2001
[6]曾建唐.电工电子实践教程[M].北京:机械工业出版社,2002
❹ 示波器的原理及应用
示波器是一种用途十分广泛的电子测量仪器。俗话说,电是看不见摸不着的。但是示波器可以帮我们“看见”电信号,便于人们研究各种电现象的变化过程。所以示波器的核心功能,就和他的名字一样,是显示电信号波形的仪器,以供工程师查找定位问题或评估系统性能等等。
而波形,也有多种定义,比如时域或者频域的波形,对于示波器而言,大多数时候测量的是电压随时间的变化,也就是时域的波形。因此,示波器可以分析被测点电压变化情况,从而被广泛的应用于各个电子行业及领域中。
一般我们业内对示波器的分类只按模拟示波器和数字示波器来分,有些厂家可能为了突出其示波器的某项功能给其命名为其他名字,比如数字荧光示波器等。但其本质原理依然逃不出这2大示波器类别。
模拟示波器是属于早期的示波器,主要基于阴极射线管(也叫显像管,曾广泛应用于早期的电视机、显示器)打出的电子束通过水平偏转和垂直偏转系统,打在屏幕的荧光物质上显示波形。
③ARM处理器控制FPGA调节ADC模数转换器采样率,示波器软件上表现为调节时基,由于存储深度为固定值,采样率 = 存储深度 ÷ 波形记录时长,通常时基设置的改变是通过改变采样率来实现的。因此厂家标注的采样率往往是在特定时基设置之下才有效的,在大时基下受存储深度的影响,采样率不得不降低。ADC模数转换器和RAM高速存储器影响着示波器的另外两大指标:采样率和存储深度。
④接下去,由FPGA驱动ADC同步采样,ADC将采集到的数据进行二进制数据化并写入高速缓存。存储器缓存即存储深度,一般存储器的大小是示波器标识存储深度大小的四倍,因为FPGA无法控制示波器的触发,因此采集的信号必定先是标识存储深度的2倍,然后再来根据触发筛选其中的一段波形,所以示波器可以看到触发位置之前的波形。又由于示波器在筛选之前采集的波形的时候,采集不能停,否则就会导致波形捕获率太低,因此同时还需要继续采集同样长度的采样点,如此反复,这样一来就是四倍了。
⑤收到触发指令后,存储器再把数据交给ARM处理器处理
⑥ARM处理器将数据处理后通过显示接口将数据输出至显示屏展示给使用者。通过计算,示波器还能模仿出类似模拟示波器的多级辉度显示,以及数字示波器特有的色温显示效果,余晖显示效果。
⑦示波器处理完数据后,可以把当前的波形图像或者是数据保存到存储器中,要注意这里的存储完全不同于存储深度的高速存缓,大多数示波器采用外部存储器如U盘,SD卡,电脑等,现在一些现代化的示波器会内置大存储可以直接保存在示波器里。
这个过程中,②③④都是并行处理的。
由于数字示波器处理速度的制约,所以它并不能保证被测信号的波形能连续不断地实时显示在屏幕上,显示的两个波形之间会有波形数据丢失,也即所说的死区时间,这也是数字示波器相比较于模拟示波器的最大缺点了。不过,随着示波器运算能力的增强,波形捕获率的不断上升,这一缺点也在被慢慢弥补。
❺ 数字示波器设计 要求如下
首先根据输出波形的频率和幅值进行编码,存储在单片机的ROM里,
然后以一定的时间间隔依次将这些数字量送往D/A进行转换输出,这样,只要循环送数,在D/A的双极性输出端就可以得到波形波形。
采用单片机片内的振荡器、上电复位和外部硬件看门狗电路。
至于波形编码,网上资料很多,下面是硬件电路设计的描述(这个是网上找的):
输出两路幅值相等相位相差90°的正弦波形作为物体偏转测量的基准波形;另一路输出测角波形,该波形相对基准波形的相位反映角偏差的方向、幅值反映角偏差量。专用波形发生器就是模拟角位移输出波形的装置,用来进行后续解调电路以及功放电路的检测。它以单片机为核心,经过D/A转换和放大电路的处理,最后输出反应弹体姿态的基准波形和测角波形。
软件方面的编程:
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
unsigned char code table[]=; //共阴极0~9对应16进制数
//=============正弦波数据====================
uchar code sin_tab[256]=
{
0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae,
0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4, 0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8,
0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xed, 0xef, 0xf0, 0xf2, 0xf3, 0xf4,
0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7,
0xf6, 0xf5, 0xf3, 0xf2, 0xf0, 0xef, 0xed, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe1, 0xde, 0xdc,
0xda, 0xd8, 0xd6, 0xd3, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb4,
0xb1, 0xae, 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c, 0x99, 0x96, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83,
0x80, 0x7d, 0x79, 0x76, 0x73, 0x70, 0x6d, 0x6a, 0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52,
0x4f, 0x4c, 0x49, 0x46, 0x43, 0x41, 0x3e, 0x3b, 0x39, 0x36, 0x33, 0x31, 0x2e, 0x2c, 0x2a, 0x27,
0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x14, 0x12, 0x10, 0xf, 0xd, 0xc, 0xb ,
0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x3, 0x2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0 ,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x3, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 ,
0x9, 0xa, 0xc, 0xd, 0xe, 0x10, 0x12, 0x13, 0x15, 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x23,
0x25, 0x27, 0x29, 0x2c, 0x2e, 0x30, 0x33, 0x35, 0x38, 0x3b, 0x3d, 0x40, 0x43, 0x46, 0x48, 0x4b,
0x4e, 0x51, 0x54, 0x57, 0x5a, 0x5d, 0x60, 0x63, 0x66, 0x69, 0x6c, 0x6f, 0x73, 0x76, 0x79, 0x7c,
};
//三角波信号数据表
uchar code thr_tab[32]=
{
0x00,0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0x8f,0x9f,0xaf,0xbf,0xcf,0xdf,0xef,
0xff,0xef,0xdf,0xcf,0xbf,0xaf,0x9f,0x8f,0x7f,0x6f,0x5f,0x4f,0x3f,0x2f,0x1f,0x0f
};
//-------------------------------------------------------------------------------------------------------
//锯齿波信号数据表
uchar code jc_tab[33]=
{
0x00,0x08,0x0f,0x18,0x1f,0x28,0x2f,0x38,0x3f,0x48,0x4f,0x58,0x5f,0x68,0x6f,0x78,
0x7f,0x88,0x8f,0x98,0x9f,0xa8,0xaf,0xb8,0xbf,0xc8,0xcf,0xd8,0xdf,0xe8,0xef,0xf8,0xff
};
//数码管位选控制口定义
sbit LED4=P2^7;
sbit LED3=P2^6;
sbit LED2=P2^5;
sbit LED1=P2^4;
//按键口申明
sbit S1=P2^3;
sbit S2=P2^2;
sbit S3=P2^1;
unsigned char tabArry[4]; //保存显示数据
char flag=1; //按键标志,当flag=1时表示没有按下,当flag=0时表示有按键按下
int keycount=0; //按键计数
unsigned char waveth,wavetl; //用于对定时器付值
unsigned int frecount=100; //频率计数
unsigned int mbjs; //码表计数,共采32个点
//毫秒延时程序
void delayms(int ms)
{
uchar i;
while(ms--)
{
for(i=250;i>0;i--);
}
}
//键盘扫描
void keyscan()
{
if(flag==1)
{
if(S3==0) //用S3切换波形
{
delayms(2); //延时去抖
if(S3==0) //按键计数,便于切换波形
{
flag=0;
keycount++;
if(keycount>=4) keycount=0; //四种波形计数4次
}
}
if(S2==0) //频率加1 处理
{
delayms(2);
if(S2==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 1: //三角波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 2: //锯齿波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
case 3: //方波频率加1
frecount++;
if(frecount>1000) frecount=0;
break;
}
waveth=(65536-57603/frecount)/256; //重新计算初值
wavetl=(65536-57603/frecount)%256;
}
}
if(S1==0) //频率减1 处理
{
delayms(2);
if(S1==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
case 1: //三角波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
case 2: //锯齿波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
case 3: //方波频率减1
frecount--;
if(frecount<0) frecount=999;
break;
}
waveth=(65536-57603/frecount)/256; //重新计算初值
wavetl=(65536-57603/frecount)%256;
}
}
}
if(S1!=0 && S2!=0 && S3!=0) flag=1; //判断按键是否弹起
}
//数据分位
void change(char wavetype,unsigned int frequency)
{
tabArry[0]=wavetype; //显示字母,表示波形类型
tabArry[1]=frequency%1000/100; //百位
tabArry[2]=frequency%100/10; //十位
tabArry[3]=frequency%10; //个位
}
//显示函数
void display()
{
switch(keycount)
{
case 0: //显示A和正弦波的频率
change(0x0a,frecount);
break;
case 1: //显示b和三角波的频率
change(0x0b,frecount);
break;
case 2: //显示C和锯齿波的频率
change(0x0c,frecount);
break;
case 3: //显示d和方波的频率
change(0x0d,frecount);
break;
}
P0 = table[tabArry[0]]; //送最高位段码
LED1=0; //打开对应的位选控制口
delayms(2); //显示延时
LED1=1; //关闭对应的位选控制后显示下一位
P0 = table[tabArry[1]];
LED2=0;
delayms(2);
LED2=1;
P0 = table[tabArry[2]];
LED3=0;
delayms(2);
LED3=1;
P0 = table[tabArry[3]];
LED4=0;
delayms(2);
LED4=1;
}
void Timerinit()
{
TMOD=0x01; //定时器0方式1
//定时器初值计算公式:X=65536-(T/T0)=65536-(f0/f/32)
TH0=waveth=(65536-57603/frecount)/256; //定时器初值 22.1184MHz
TL0=wavetl=(65536-57603/frecount)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //定时器0开始计数
}
//主函数
void main()
{
Timerinit(); //定时器初始化
while(1)
{
keyscan(); //扫描按键
display(); //显示程序
}
}
void Timer0() interrupt 1
{
TH0=waveth; //重新赋初值
TL0=wavetl;
if (keycount==0) //输出正弦波
{
P1 = sin_tab[mbjs];
mbjs+=8; //256点,每隔8点输出一个数据
if(mbjs>=256)
{
mbjs=0;
}
}
else if(keycount==1) //输出三角波
{
P1 = thr_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
else if(keycount==2) //输出锯齿波
{
P1 = jc_tab[mbjs];
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
}
else if(keycount==3) //输出方波
{
mbjs++;
if(mbjs>=32)
{
mbjs=0;
}
else if(mbjs<16) P1=0xff;
else P1=0x00;
}
}
摘 要
函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。
本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波—正弦波函数发生器的设计方法,先通过比较器产生方波,再通过积分器产生三角波,最后通过差分放大器形成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。
经过仿真得出了方波、三角波、正弦波、方波——三角波转换及三角波——正弦波转换的波形图。
关键字:函数信号发生器、集成运算放大器、晶体管差分放
设计目的、意义
1 设计目的
(1)掌握方波—三角波——正弦波函数发生器的原理及设计方法。
(2)掌握迟滞型比较器的特性参数的计算。
(3)了解单片集成函数发生器8038的工作原理及应用。
(4)能够使用电路仿真软件进行电路调试。
2 设计意义
函数发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。
在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都学要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波等,因而广泛用于通信、雷达、导航、宇航等领域。
设计内容
1 课程设计的内容与要求(包括原始数据、技术参数、条件、设计要求等):
1.1课程设计的内容
(1)该发生器能自动产生正弦波、三角波、方波。
(2)函数发生器以集成运放和晶体管为核心进行设计
(3)指标:
输出波形:正弦波、三角波、方波
频率范围:1Hz~10Hz,10Hz~100Hz
输出电压:方波VP-P≤24V,三角波VP-P=8V,正弦波VP-P>1V;
(4)对单片集成函数发生器8038应用接线进行设计。
1.2课程设计的要求
(1)提出具体方案
(2)给出所设计电路的原理图。
(3)进行电路仿真,PCB设计。
2 函数波形发生器原理
2.1函数波形发生器原理框图
图2.1 函数发生器组成框图
2.2函数波形发生器的总方案
函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件 (如低频信号函数发生器S101全部采用晶体管),也可以采用集成电路(如单片函数发生器模块8038)。为进一步掌握电路的基本理论及实验调试技术,本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波—正弦波函数发生器的设计方法。
产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波—三角波,再将三角波变换成正弦波的电路设计方法[3]。
由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。
2.3函数波形发生器各组成部分的工作原理
2.3.1方波发生电路的工作原理
此电路由反相输入的滞回比较器和RC电路组成。RC回路既作为延迟环节,又作为反馈网络,通过RC充、放电实现输出状态的自动转换。设某一时刻输出电压Uo=+Uz,则同相输入端电位Up=+Ut。Uo通过R3对电容C正向充电,如图2.3中实线箭头所示。反相输入端电位n随时间t的增长而逐渐增高,当t趋于无穷时,Un趋于+Uz;但是,一旦Un=+Ut,再稍增大,Uo从+Uz跃变为-Uz,与此同时Up从+Ut跃变为-Ut。随后,Uo又通过R3对电容C反向充电,如图中虚线箭头所示。Un随时间逐渐增长而减低,当t趋于无穷大时,Un趋于-Uz;但是,一旦Un=-Ut,再减小,Uo就从-Uz跃变为+Uz,Up从-Ut跃变为+Ut,电容又开始正相充电。上述过程周而复始,电路产生了自激振荡[4]。
2.3.2方波——三角波转换电路的工作原理
图2.2方波—三角波产生电路
工作原理如下:
若a点断开,整个电路呈开环状态。运算发大器A1与R1、R2及R3、RP1组成电压比较器,C1为加速电容,可加速比较器的翻转。运放的反相端接基准电压,即U-=0,同相输入端接输入电压Uia,R1称为平衡电阻。比较器的输出Uo1的高电平等于正电源电压+Vcc,低电平等于负电源电压-Vee(|+Vcc|=|-Vee|), 当比较器的U+=U-=0时,比较器翻转,输出Uo1从高电平跳到低电平-Vee,或者从低电平Vee跳到高电平Vcc。设Uo1=+ Vcc,则
(2.1)
将上式整理,得比较器翻转的下门限单位Uia_为
(2.2)
若Uo1=-Vee,则比较器翻转的上门限电位Uia+为
(2.3)
比较器的门限宽度:
(2.4)
由以上公式可得比较器的电压传输特性,如图2.3所示。
a点断开后,运放A2与R4、RP2、C2及R5组成反相积分器,其输入信号为方波Uo1,则积分器的输出Uo2为:
(2.5)
时,
(2.6)
时,
(2.7)
可见积分器的输入为方波时,输出是一个上升速度与下降速度相等的三角波,其波形关系如图2.4所示。
a点闭合,即比较器与积分器形成闭环电路,则自动产生方波-三角波。三角波的幅度为:
(2.8)
方波-三角波的频率f为:
(2.9)
由以上两式(2.8)及(2.9)可以得到以下结论:
(1) 电位器RP2在调整方波-三角波的输出频率时,不会影响输出波形的幅度。若要求输出频率的范围较宽,可用C2改变频率的范围,PR2实现频率微调。
(2) 方波的输出幅度应等于电源电压+Vcc。三角波的输出幅度应不超过电源电压+Vcc。
电位器RP1可实现幅度微调,但会影响方波-三角波的频率[3]。
图2.3比较器的电压传输特性
图2.4方波与三角波波形关系
2.3.3三角波---正弦波转换电路的工作原理
如图2.5三角波——正弦波的变换电路主要由差分放大电路来完成。
差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器,可以有效的抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性[1]。
图2.5 三角波——正弦波的变换电路
分析表明,传输特性曲线的表达式为:
(2.10)
(2.11)
式中
——差分放大器的恒定电流;
——温度的电压当量,当室温为25oc时, ≈26mV。
如果Uid为三角波,设表达式为
(2.12)
式中 Um——三角波的幅度;
T——三角波的周期。
为使输出波形更接近正弦波,由图2.6可见:
(1)传输特性曲线越对称,线性区越窄越好。
(2)三角波的幅度Um应正好使晶体管接近饱和区或截止区。
(3)图2.7为实现三角波——正弦波变换的电路。其中RP1调节三角波的幅度,RP2调整电路的对称性,其并联电阻RE2用来减小差分放大器的线性区。电容C1,C2,C3为隔直电容,C4为滤波电容,以滤除谐波分量,改善输出波形[2]。
图2.6三角波—正弦波变换原理
图2.7三角波—正弦波变换电路
2.4电路的参数选择及计算
2.4.1方波-三角波中电容C1变化(关键性变化之一)
实物连线中,我们一开始很长时间出不来波形,后来将C2从10uf(理论时可出来波形)换成0.1uf时,顺利得出波形。实际上,分析一下便知当C2=10uf时,频率很低,不容易在实际电路中实现。
2.4.2三角波—正弦波部分的计算
比较器A1与积分器A2的元件计算如下:
由式(2.8)得
即
取 ,则 ,取 ,RP1为47KΩ的点位器。取平衡电阻
由式(2.9)
即
当 时,取 ,则 ,取 ,为100KΩ电位器。当 时 ,取 以实现频率波段的转换,R4及RP2的取值不变。取平衡电阻 。
三角波—正弦波变换电路的参数选择原则是:隔直电容C3、C4、C5要取得较大,因为输出频率很低,取 ,滤波电容 视输出的波形而定,若含高次斜波成分较多, 可取得较小, 一般为几十皮法至0.1微法。RE2=100欧与RP4=100欧姆相并联,以减小差分放大器的线性区。差分放大器的静态工作点可通过观测传输特性曲线,调整RP4及电阻R*确定。
2.5 总电路图
先通过比较器产生方波,再通过积分器产生三角波,最后通过差分放大器形成正弦波。如图2.5.1所示,
图2.5.1三角波-方波-正弦波函数发生器实验电路
2.6 8038单片集成函数发生器
2.6.1 8038的工作原理
8038由恒流源I1、I2,电压比较器C1、C2和触发器①等组成。其内部原理电路框图和外部引脚排列分别如图2.8和图2.9所示。
图2.8 8038原理框图
图2.9 8038管脚图(顶视图)
1. 正弦波线性调节;2. 正弦波输出;3. 三角波输出;4. 恒流源调节;5. 恒流源调节;6. 正电源;7. 调频偏置电压;8. 调频控制输入端;9. 方波输出(集电极开路输出); 10. 外接电容;11. 负电源或接地;12.正弦波线性调节;13、14. 空脚
在图2.8中,电压比较器C1、C2的门限电压分别为2VR/3和VR/3( 其中VR=VCC+VEE),电流源I1和I2的大小可通过外接电阻调节,且I2必须大于I1。当触发器的Q端输出为低电平时,它控制开关S使电流源I2断开。而电流源I1则向外接电容C充电,使电容两端电压vC随时间线性上升,当vC上升到vC=2VR/3 时,比较器C1输出发生跳变,使触发器输出Q端由低电平变为高电平,控制开关S使电流源I2接通。由于I2>I1 ,因此电容C放电,vC随时间线性下降。当vC下降到vC≤VR/3 时,比较器C2输出发生跳变,使触发器输出端Q又由高电平变为低电平,I2再次断开,I1再次向C充电,vC又随时间线性上升。如此周而复始,产生振荡。若I2=2I1 ,vC上升时间与下降时间相等,就产生三角波输出到脚3。而触发器输出的方波,经缓冲器输出到脚9。三角波经正弦波变换器变成正弦波后由脚2输出。当I1<I2<2I1 时,vC的上升时间与下降时间不相等,管脚3输出锯齿波。因此,8038能输出方波、三角波、正弦波和锯齿波等四种不同的波形。
图2.8中的触发器,当R端为高电平、S端为低电平时,Q端输出低电平;反之,则Q端为高电平。
2.6.2 8038构成函数波形发生器
由图2.9可见,管脚8为调频电压控制输入端,管脚7输出调频偏置电压,其值(指管脚6与7之间的电压)是(VCC+VEE/5) ,它可作为管脚8的输入电压。此外,该器件的方波输出端为集电极开路形式,一般需在正电源与9脚之间外接一电阻,其值常选用10k左右,如图2.10所示。当电位器Rp1动端在中间位置,并且图中管脚8与7短接时,管脚9、3和2的输出分别为方波、三角波和正弦波。电路的振荡频率f约为0.3/[C(R1+RP1/2)] 。调节RP1、RP2可使正弦波的失真达到较理想的程度。
在图2.10中,当RP1动端在中间位置,断开管脚8与7之间的连线,若在+VCC与-VEE之间接一电位器,使其动端与8脚相连,改变正电源+VCC与管脚8之间的控制电压(即调频电压),则振荡频率随之变化,因此该电路是一个频率可调的函数发生器。如果控制电压按一定规律变化,则可构成扫频式函数发生器。
图2.10 8038接成波形产生器阿
3电路仿真
3.1电路仿真
3.1.1方波——三角波发生电路的仿真
图3.1 方波
图3.2 三角波
图3.3 方波——三角波
3.1.2三角波---正弦波转换电路的仿真
图3.4 三角波——正弦波
参考文献
[1]王 远.模拟电子技术(第二版)[M].北京:机械工业出版社,2000
[2]谢自美.电子线路设计实验测试(第二版)[M].武昌:华中科技大学出版社,2000
[3]路 勇.电子电路实验及仿真[M].清华大学出版社,2003
[4]胡宴如.模拟电子技术[M].北京:高等教育出版社,2000
[5]周跃庆.模拟电子技术基础教程[M].天津大学出版社, 2001
[6]曾建唐.电工电子实践教程[M].北京:机械工业出版社,2002
❻ 帮我做毕业设计:基于LabVIEW的数字示波器的设计,我要做出来的源程序
uvihlhibl;
❼ 示波器如何使用
示波器入门 - 什么是示波器?
对于如今的模拟和数字电路来说,示波器是进行电压和定时测量的重要工具。当您最终从电子工程学校毕业,进入电子行业工作时,您可能会发现在测试、验证和调试设计方面,使用示波器这一测量工具的频率要比任何其他仪器都要高得多。即使是在特定大学里学习电子工程或物理专业的课程期间,示波器这一测量工具也是在各个电路实验中用来测试和验证实验作业及设计的最常用仪器。遗憾的是,许多学生永远都不能完全掌握如何使用示波器。他们的使用模式通常是某个随机旋钮和按钮,直到示波器显示屏上奇幻般出现一个与他们要寻找的效果接近的图片。但愿在完成这一系列简短的实验后,您会对示波器是什么以及如何更有效地使用它有了更好的了解。
那么,什么是示波器?示波器是一种电子测量仪器,可以在无干扰的情况下监控输入信号,随后以图形方式采用简单的电压与时间格式显示这些信号。您的教授在其学生时代使用的这类示波器可能就是完全基于模拟技术的示波器。这些采用早期技术的示波器通常称为模拟示波器,具有限定的带宽 (在附录 B 中论述),不执行任何种类的自动测量,而且要求输入信号是重复的 (连续出现并重复输入信号)。
您将在这一系列实验中 (可能会贯穿大学及研究生学习的其余时间)使用的这类示波器称为数字存储示波器,有时仅称为 DSO。或者,您可以使用混合信号示波器,该示波器将传统的 DSO 测量模拟与逻辑分析测量相结合,有时称为 MSO。请注意,所有的数字实时示波器基本上只有DSO和MSO之分。其它的叫法都是在这两种示波器的基础上增加某些功能而已。今天的 DSO 和 MSO 可以捕获并显示重复信号或单冲信号,它们通常包括一系列自动测量和分析功能,借助这些功能您可以比您的教授在学生时代更快速、更准确地体现设计和学生实验的特征。
快速了解如何使用示波器以及示波器有何功能的最佳方式是首先了解示波器上的一些最重要的控件,然后只需开始使用其中一个测量一些基本的信号,如正弦波。
❽ plc课程设计
1. 基于FX2N-48MRPLC的交通灯控制
2. 西门子PLC控制的四层电梯毕业设计论文
3. PLC电梯控制毕业论文
4. 基于plc的五层电梯控制
5. 松下PLC控制的五层电梯设计
6. 基于PLC控制的立体车库系统设计
7. PLC控制的花样喷泉
8. 三菱PLC控制的花样喷泉系统
9. PLC控制的抢答器设计
10. 世纪星组态 PLC控制的交通灯系统
11. X62W型卧式万能铣床设计
12. 四路抢答器PLC控制
13. PLC控制类毕业设计论文
14. 铁路与公路交叉口护栏自动控制系统
15. 基于PLC的机械手自动操作系统
16. 三相异步电动机正反转控制
17. 基于机械手分选大小球的自动控制
18. 基于PLC控制的作息时间控制系统
19. 变频恒压供水控制系统
20. PLC在电网备用自动投入中的应用
21. PLC在变电站变压器自动化中的应用
22. FX2系列PCL五层电梯控制系统
23. PLC控制的自动售货机毕业设计论文
24. 双恒压供水西门子PLC毕业设计
25. 交流变频调速PLC控制电梯系统设计毕业论文
26. 基于PLC的三层电梯控制系统设计
27. PLC控制自动门的课程设计
28. PLC控制锅炉输煤系统
29. PLC控制变频调速五层电梯系统设计
30. 机械手PLC控制设计
31. 基于PLC的组合机床控制系统设计
32. PLC在改造z-3040型摇臂钻床中的应用
33. 超高压水射流机器人切割系统电气控制设计
34. PLC在数控技术中进给系统的开发中的应用
35. PLC在船用牵引控制系统开发中的应用
36. 智能组合秤控制系统设计
37. S7-200PLC在数控车床控制系统中的应用
38. 自动送料装车系统PLC控制设计
39. 三菱PLC在五层电梯控制中的应用
40. PLC在交流双速电梯控制系统中的应用
41. PLC电梯控制毕业论文
42. 基于PLC的电机故障诊断系统设计
43. 欧姆龙PLC控制交通灯系统毕业论文
44. PLC在配料生产线上的应用毕业论文
45. 三菱PLC控制的四层电梯毕业设计论文
46. 全自动洗衣机PLC控制毕业设计论文
47. 工业洗衣机的PLC控制毕业论文
48. 《双恒压无塔供水的PLC电气控制》
49. 基于三菱PLC设计的四层电梯控制系统
50. 西门子PLC交通灯毕业设计
51. 自动铣床PLC控制系统毕业设计
52. PLC变频调速恒压供水系统
53. PLC控制的行车自动化控制系统
54. 基于PLC的自动售货机的设计
55. 基于PLC的气动机械手控制系统
56. PLC在电梯自动化控制中的应用
57. 组态控制交通灯
58. PLC控制的升降横移式自动化立体车库
59. PLC在电动单梁天车中的应用
60. PLC在液体混合控制系统中的应用
61. 基于西门子PLC控制的全自动洗衣机仿真设计
62. 基于三菱PLC控制的全自动洗衣机
63. 基于plc的污水处理系统
64. 恒压供水系统的PLC控制设计
65. 基于欧姆龙PLC的变频恒压供水系统设计
66. 西门子PLC编写的花样喷泉控制程序
67. 欧姆龙PLC编写的全自动洗衣机控制程序
68 景观温室控制系统的设计
69. 贮丝生产线PLC控制的系统
70. 基于PLC的霓虹灯控制系统
71. PLC在砂光机控制系统上的应用
72. 磨石粉生产线控制系统的设计
73. 自动药片装瓶机PLC控制设计
74. 装卸料小车多方式运行的PLC控制系统设计
75. PLC控制的自动罐装机系统
76. 基于CPLD的可控硅中频电源
77. 西门子PLC编写的花样喷泉控制程序
78. 欧姆龙PLC编写的全自动洗衣机控制程序
79. PLC在板式过滤器中的应用
80. PLC在粮食存储物流控制系统设计中的应用
81. 变频调速式疲劳试验装置控制系统设计
82. 基于PLC的贮料罐控制系统
83. 基于PLC的智能交通灯监控系统设计
1.基于labVIEW虚拟滤波器的设计与实现
2.双闭环直流调速系统设计
3.单片机脉搏测量仪
4.单片机控制的全自动洗衣机毕业设计论文
5.FPGA电梯控制的设计与实现
6.恒温箱单片机控制
7.基于单片机的数字电压表
8.单片机控制步进电机毕业设计论文
9.函数信号发生器设计论文
10.110KV变电所一次系统设计
11.报警门铃设计论文
12.51单片机交通灯控制
13.单片机温度控制系统
14.CDMA通信系统中的接入信道部分进行仿真与分析
15.仓库温湿度的监测系统
16.基于单片机的电子密码锁
17.单片机控制交通灯系统设计
18.基于DSP的IIR数字低通滤波器的设计与实现
19.智能抢答器设计
20.基于LabVIEW的PC机与单片机串口通信
21.DSP设计的IIR数字高通滤波器
22.单片机数字钟设计
23.自动起闭光控窗帘毕业设计论文
24.三容液位远程测控系统毕业论文
25.基于Matlab的PWM波形仿真与分析
26.集成功率放大电路的设计
27.波形发生器、频率计和数字电压表设计
28.水位遥测自控系统 毕业论文
29.宽带视频放大电路的设计 毕业设计
30.简易数字存储示波器设计毕业论文
31.球赛计时计分器 毕业设计论文
32.IIR数字滤波器的设计毕业论文
33.PC机与单片机串行通信毕业论文
34.基于CPLD的低频信号发生器设计毕业论文
35.110kV变电站电气主接线设计
36.m序列在扩频通信中的应用
37.正弦信号发生器
38.红外报警器设计与实现
39.开关稳压电源设计
40.基于MCS51单片机温度控制毕业设计论文
41.步进电动机竹竿舞健身娱乐器材
42.单片机控制步进电机 毕业设计论文
43.单片机汽车倒车测距仪
44.基于单片机的自行车测速系统设计
45.水电站电气一次及发电机保护
46.基于单片机的数字显示温度系统毕业设计论文
47.语音电子门锁设计与实现
48.工厂总降压变电所设计-毕业论文
49.单片机无线抢答器设计
50.基于单片机控制直流电机调速系统毕业设计论文
51.单片机串行通信发射部分毕业设计论文
52.基于VHDL语言PLD设计的出租车计费系统毕业设计论文
53.超声波测距仪毕业设计论文
54.单片机控制的数控电流源毕业设计论文
55.声控报警器毕业设计论文
56.基于单片机的锁相频率合成器毕业设计论文
57.基于Multism/protel的数字抢答器
58.单片机智能火灾报警器毕业设计论
59.无线多路遥控发射接收系统设计毕业论文
60.单片机对玩具小车的智能控制毕业设计论文
61.数字频率计毕业设计论文
62.基于单片机控制的电机交流调速毕业设计论文
63.楼宇自动化--毕业设计论文
64.车辆牌照图像识别算法的实现--毕业设计
65.超声波测距仪--毕业设计
66.工厂变电所一次侧电气设计
67.电子测频仪--毕业设计
68.点阵电子显示屏--毕业设计
69.电子电路的电子仿真实验研究
70.基于51单片机的多路温度采集控制系统
71.基于单片机的数字钟设计
72.小功率不间断电源(UPS)中变换器的原理与设计
73.自动存包柜的设计
74.空调器微电脑控制系统
75.全自动洗衣机控制器
76.电力线载波调制解调器毕业设计论文
77.图书馆照明控制系统设计
78.基于AC3的虚拟环绕声实现
79.电视伴音红外转发器的设计
80.多传感器障碍物检测系统的软件设计
81.基于单片机的电器遥控器设计
82.基于单片机的数码录音与播放系统
83.单片机控制的霓虹灯控制器
84.电阻炉温度控制系统
85.智能温度巡检仪的研制
86.保险箱遥控密码锁 毕业设计
87.10KV变电所的电气部分及继电保护
88.年产26000吨乙醇精馏装置设计
89.卷扬机自动控制限位控制系统
90.铁矿综合自动化调度系统
91.磁敏传感器水位控制系统
92.继电器控制两段传输带机电系统
93.广告灯自动控制系统
94.基于CFA的二阶滤波器设计
95.霍尔传感器水位控制系统
96.全自动车载饮水机
97.浮球液位传感器水位控制系统
98.干簧继电器水位控制系统
99.电接点压力表水位控制系统
100.低成本智能住宅监控系统的设计
101.大型发电厂的继电保护配置
102.直流操作电源监控系统的研究
103.悬挂运动控制系统
104.气体泄漏超声检测系统的设计
105.电压无功补偿综合控制装置
106.FC-TCR型无功补偿装置控制器的设计
107.DSP电机调速
108.150MHz频段窄带调频无线接收机
109.电子体温计
110.基于单片机的病床呼叫控制系统
111.红外测温仪
112.基于单片微型计算机的测距仪
113.智能数字频率计
114.基于单片微型计算机的多路室内火灾报警器
115.信号发生器
116.基于单片微型计算机的语音播出的作息时间控制器
117.交通信号灯控制电路的设计
118.基于单片机步进电机控制系统设计
119.多路数据采集系统的设计
120.电子万年历
121.遥控式数控电源设计
122.110kV降压变电所一次系统设计
123.220kv变电站一次系统设计
124.智能数字频率计
125.信号发生器
126.基于虚拟仪器的电网主要电气参数测试设计
127.基于FPGA的电网基本电量数字测量系统的设计
128.风力发电电能变换装置的研究与设计
129.电流继电器设计
130.大功率电器智能识别与用电安全控制器的设计
131.交流电机型式试验及计算机软件的研究
132.单片机交通灯控制系统的设计
133.智能立体仓库系统的设计
134.智能火灾报警监测系统
135.基于单片机的多点温度检测系统
136.单片机定时闹钟设计
137.湿度传感器单片机检测电路制作
138.智能小车自动寻址设计--小车悬挂运动控制系统
139.探讨未来通信技术的发展趋势
140.音频多重混响设计
141.单片机呼叫系统的设计
142.基于FPGA和锁相环4046实现波形发生器
143.基于FPGA的数字通信系统
144.基于单片机的带智能自动化的红外遥控小车
145.基于单片机AT89C51的语音温度计的设计
146.智能楼宇设计
147.移动电话接收机功能电路
148.单片机演奏音乐歌曲装置的设计
149.单片机电铃系统设计
150.智能电子密码锁设计
151.八路智能抢答器设计
152.组态控制抢答器系统设计
153.组态控制皮带运输机系统设计
154..基于单片机控制音乐门铃
155.基于单片机控制文字的显示
156.基于单片机控制发生的数字音乐盒
157.基于单片机控制动态扫描文字显示系统的设计
158.基于LMS自适应滤波器的MATLAB实现
159.D功率放大器毕业论文
160.无线射频识别系统发射接收硬件电路的设计
161.基于单片机PIC16F877的环境监测系统的设计
162.基于ADE7758的电能监测系统的设计
163.智能电话报警器
164.数字频率计 课程设计
165.多功能数字钟电路设计 课程设计
166.基于VHDL数字频率计的设计与仿真
167.基于单片机控制的电子秤
168.基于单片机的智能电子负载系统设计
169.电压比较器的模拟与仿真
170.脉冲变压器设计
171.MATLAB仿真技术及应用
172.基于单片机的水温控制系统
173.基于FPGA和单片机的多功能等精度频率计
174.发电机-变压器组中微型机保护系统
175.基于单片机的鸡雏恒温孵化器的设计
176.数字温度计的设计
177.生产流水线产品产量统计显示系统
178.水位报警显时控制系统的设计
179.红外遥控电子密码锁的设计
180.基于MCU温控智能风扇控制系统的设计
181.数字电容测量仪的设计
182.基于单片机的遥控器的设计
183.200电话卡代拨器的设计
184.数字式心电信号发生器硬件设计及波形输出实现
185.电压稳定毕业设计论文
186.基于DSP的短波通信系统设计(IIR设计)
187.一氧化碳报警器
188.网络视频监控系统的设计
189.全氢罩式退火炉温度控制系统
190.通用串行总线数据采集卡的设计
191.单片机控制单闭环直流电动机的调速控制系统
192.单片机电加热炉温度控制系统
193.单片机大型建筑火灾监控系统
194.USB接口设备驱动程序的框架设计
195.基于Matlab的多频率FMICW的信号分离及时延信息提取
196.正弦信号发生器
197.小功率UPS系统设计
198.全数字控制SPWM单相变频器
199.点阵式汉字电子显示屏的设计与制作
200.基于AT89C51的路灯控制系统设计
200.基于AT89C51的路灯控制系统设计
201.基于AT89C51的宽范围高精度的电机转速测量系统
202.开关电源设计
203.基于PDIUSBD12和K9F2808简易USB闪存设计
204.微型机控制一体化监控系统
205.直流电机试验自动采集与控制系统的设计
206.新型自动装弹机控制系统的研究与开发
207.交流异步电机试验自动采集与控制系统的设计
208.转速闭环控制的直流调速系统的仿真与设计
209.基于单片机的数字直流调速系统设计
210.多功能频率计的设计
211.18信息移频信号的频谱分析和识别
212.集散管理系统—终端设计
213.基于MATLAB的数字滤波器优化设计
214.基于AT89C51SND1C的MP3播放器
215.基于光纤的汽车CAN总线研究
216.汽车倒车雷达
217.基于DSP的电机控制
218.超媒体技术
219.数字电子钟的设计与制作
220.温度报警器的电路设计与制作
221.数字电子钟的电路设计
222.鸡舍电子智能补光器的设计
223.高精度超声波传感器信号调理电路的设计
224.电子密码锁的电路设计与制作
225.单片机控制电梯系统的设计
226.常用电器维修方法综述
227.控制式智能计热表的设计
228.电子指南针设计
229.汽车防撞主控系统设计
230.单片机的智能电源管理系统
231.电力电子技术在绿色照明电路中的应用
232.电气火灾自动保护型断路器的设计
233.基于单片机的多功能智能小车设计
234.对漏电保护器安全性能的剖析
235.解析民用建筑的应急照明
236.电力拖动控制系统设计
237.低频功率放大器设计
238.银行自动报警系统
❾ 基于Labview 的数字示波器设计
都已经过期了。现在是14号了。