信号波形合成实验电路

上传人:沈*** 文档编号:80201735 上传时间:2022-04-25 格式:DOC 页数:18 大小:2.70MB
返回 下载 相关 举报
信号波形合成实验电路_第1页
第1页 / 共18页
信号波形合成实验电路_第2页
第2页 / 共18页
信号波形合成实验电路_第3页
第3页 / 共18页
点击查看更多>>
资源描述
信号波形合成实验电路黄冈师院 汪祥、池玉辰、王颖摘要:本设计采用高精度MAX038波形发生器产生300kHz的方波信号,经过30分频、10分频和6分频后分别得到频率为10kHz、30kHz和50kHz占空比为50%的3路脉冲信号,通过由OPA842运算放大器组成的带通滤波器进行滤波后,产生频率为10kHz、30kHz和50kHz的幅度分别为6伏、2伏和0.6伏的正弦波信号,然后利用单片机MSP430F149和有效值检测芯片AD637对3路正弦信号的幅值进行了检测并显示。3路正弦波信号通过移相电路后相位调整到相同,然后通过加法电路合成为10kHz的近似方波信号。另外3路正弦波信号还通过变换和合成电路得到成10kHz的近似三角波信号。结果表明,利用谐波分解和合成原理产生的近似方波信号和三角波信号,效果理想,达到了题目的设计要求。关键字:分频;带通滤波;移相;有效值检测;方波合成;三角波合成一系统方案论证1.1 方案比较与选择1.1.1方波振荡电路 方案一:用555定时器组成多谐振荡电路,经过施密特触发器整形,该波的频率可以通过调节555定时器电路的放电电阻来进行调节。该电路具有成本低廉,频率可调,上升沿陡的特点,但波形输出不稳定,容易失真。 方案二:由UA741集成运算放大器构成的方波信号发生器具有结构简单,调试方便,但它产生方波信号的可靠性差。 方案三:用MAX038精密、高频波形发生器来产生方波信号,电路结构简单,能产生0.1Hz20MHz的方波信号,波形的频率和占空比可以由电流、电压或电阻控制。MAX038构成的电路低失真、低漂移、外围元件少、可靠性和稳定性好,但相对于上面的方案而言,价格会稍高一点。综合以上的分析可知,MAX038是波形发生器领域中的理想器件,因此选择方案三。1.1.2带通滤波电路 方案一:由无源元件(R、L 和C)组成的带通滤波电路是利用电容和电感元件的电抗随频率的变化而变化的原理构成的。这类滤波器的优点是:电路比较简单,不需要直流电源供电,可靠性高;缺点是:通带内的信号有能量损耗,负载效应比较明显,使用电感元件时容易引起电磁感应,当电感L较大时滤波器的体积和重量都比较大。方案二:由有源器件OPA842和无源元件RC组成的带通滤波电路。这类滤波器的优点是:通带内的信号不仅没有能量损耗,而且还可以放大,负载效应不明显,多级相联时相互影响很小,利用级联的简单方法很容易构成高阶滤波器,并且滤波器的体积小、重量轻、不需要磁屏蔽;缺点是:需要直流电源供电,可靠性不如无源滤波器高,在高压、高频、大功率的场合不适用。综合以上的分析,由TI公司生产的宽带低失真单位增益稳定的电压反馈运算放大器OPA842组成的滤波电路满足本次设计的要求,因此选择方案二。1.1.3移相电路 方案一:用双极性运算放大器OP07组成的移相电路,由于OP07具有非常低的输入失调电压,所以在很多应用场合不需要额外的调零措施。OP07是一种低噪声,非斩波稳零的双极性运算放大器,由它组成的移相电路具有电路简单、工作可靠、成本低、波形好、适应性强,而且可以提供180的相移。方案二:由R-C串联电路构成的移相电路,相位差最大只有90,而且电阻的选择非常重要,当电阻选择相对较小时,会出现较大的误差,即相位差小于90,或者几乎没有相位差。综合以上的分析可知,选用OP07组成的移相电路不仅相位差大,而且效果好,操作简单,因此选择方案一。1.2 系统框图及方案描述1.2.1 系统框图 图1为信号波形合成电路的系统框图。1.2.2 方案描述如图1所示,MAX038波形发生器产生300KHz的方波信号经过30分频、10分频、6分频后分别得到10KHz、30KHz、50KHz的脉冲信号,这三种脉冲信号分别经过带通滤波器后形成10KHz、30KHz、50KHz的正弦波信号,再经过移相电路进行变换后分别得到:峰峰值为6V、频率为10KHz的正弦波;峰峰值为2V、频率为30KHz的正弦波信号;峰峰值为1.2V、频率为50KHz的正弦波信号。这三路信号通过反相加法电路合成后得到10KHz的方波,与此同时,移相后的三路信号通过三角波产生电路得到频率为10KHz的三角波。电路中应用到AD637芯片来读取移相后的正弦波信号的有效值,然后送给单片机进行AD转换得到正弦波的峰峰值并通过液晶显示器进行显示。 图1. 信号波形合成电路的系统框图二理论分析与计算2.1 方波信号的分解与合成周期信号是由一个或几个、乃至无穷多个不同频率的谐波叠加而成的,因此,周期信号可以分解成多个乃至无穷多个谐波信号。方波信号的傅里叶分解函数: (2-1)在理想情况下,方波的偶次谐波应该无输出信号,始终为零电平,奇次谐波中的一、三、五次谐波的幅度比为1:(1/3):(1/5)。信号源输出300KHz的方波信号经过分频滤波电路后可以得到10KHz、30KHz、50KHz的方波,其计算公式表示如下: (2-2)频率为10KHz的正弦波信号的峰峰值为6V;、频率为30KHz的正弦波信号的峰峰值为2V;频率为50KHz的正弦波信号的峰峰值为1.2V。图2所示分别为1、3、5次谐波的分解与合成图。各次谐波合成方波的幅值为5V。 图2. 1、3、5次谐波的分解与合成图2.2 三角波信号的合成三角波信号的傅里叶变换公式如下: (2-2)将产生的10KHz、30KHz、50KHz的合成方波信号的正弦信号,经过变换和合成得到一个近似的三角波形信号。采用公式(2-1)变换取1、3、5次谐波分量可以得到近似三角波,即: (2-3)经过计算三角波信号的幅度为5V。2.3 反相加法电路 把3个输入信号(Vi1、Vi2、Vi3)同时加到运放的反相端,其输入输出电压的关系为:当R1=R2=R3=10K时,则有若令Rf=10K,则若输出端再接一级反相器则可消去负号,使 (2-4) 三电路与程序设计3.1 电路设计3.1.1 方波振荡电路方波振荡电路如图附录图2所示,该电路是以单片高频精密函数波形发生器MAX038芯片为核心,外接电容电阻和74LS14芯片组成的。 MAX038的10脚所接的电阻要求为高精度、低温漂电阻;5脚所接的电容同样要求为高稳定度的优质电容。MAX038的频率范围从0.1Hz20MHz,最高可达40MHz,能精密地产生三角波、方波、正弦波信号,占空比调节范围宽。芯片内设有2.5V电压基准,利用控制端FADJ、DADJ实现频率微调和占空比调节。编码表如下: 表一:信号编码表 A0 A1 波形 X 1 正弦波 00 方波 1 0三角波 A0、A1表示波形设定端;X表示任意状态;1为高电平;0为低电平。74LS14非门对输出的信号进行整形,使输出的波形更加的理想。3.1.2 分频电路分频电路如附录图3所示,由74LS90、74LS00、CD4013三片芯片组成。先将300KHz的方波信号进行3分频、5分频、15分频,再通过D触发器二分频,最终得到50KHz、30KHz、10KHz的正弦波信号。 74LS90不仅可以用于计数,还能用于分频,一片74LS90可构成最大进制计数器是十进制,若分频数大于10,则要用两片或多片级联,级联后高位的周期即为分频后的周期,但占空比并非50%,这就需要用D触发器对分频后的方波进行整形。74LS00是四集成与非门,在电路中起缓冲隔离的作用。CD4013是由两个相同的、相互独立的数据型触发器构成。每个触发器有独立的数据、置位、复位、时钟输入和Q及Q输出,电路中CD4013的接法是将R、S都接地并让接到D上,置位和复位与时钟无关,而分别由置位或复位线上的高电平完成。由D触发器构成的二分频电路,能够在分频的同时对波形整形。3.1.3 带通滤波电路 滤波电路如附录图4所示,以TI公司的宽带低失真单位增益稳定的电压反馈运算放大器OPA842为核心,外接电阻、电容构成二阶巴特沃斯带通滤波器。 电路由两片OPA842串联组成带通滤波器,对分频后的脉冲信号进行整容滤波,得到10KHz、30KHz、50KHz的正弦信号。3.1.4 移相电路移相电路如附录图5所示,分频滤波后的正弦信号需要进行移相,形成同相的正弦信号。OP07具有非常低的输入失调电压,在很多应用场合不需要额外的调零措施,用OP07组成移相电路,在负输入端与输出端间接一个电位器,通过调节电位器的阻值,来实现移相。3.1.5 方波变换和合成电路 方波变换合成电路如附录图6所示,加法电路实际上是利用虚短和虚断的原理,通过电流相加来实现电压相加,所以加法电路的输出电压取决于输入电压之和。对于反相加法电路,输出端需再接一级反相器来消去负号,实现符合常规的算术加法。本次设计是利用TI公司的电压反馈放大器THS4001组成加法电路,其电路原理图如图6所示:在进行电压相加时,能保证各Vi 及 Vo间有公共的接地端。输出vo分别与各个 Vi间的比例系数仅仅取决于Rf与各输入回路的电阻之比,而与其它各路的电阻无关。因此 ,参数值的调整比较方便。3.1.6 三角波变换和合成电路 三角波变换合成电路如附录图7所示,利用高速运算放大器OP37将产生的10KHz、30KHz、50KHz的正弦信号经过傅里叶变换合成,形成近似的三角波形。电源的两端的电容起滤波的作用,防止信号的干扰,这样可以使结果更准确。一、三、五次谐波合成的三角波信号的幅度为5V。3.1.7 正弦波幅度测量和显示电路正弦波幅度测量和显示电路如附录图8所示,电路原理为:AD637输入正弦信号,输出直流信号,直流信号的大小就是正弦信号的有效值。峰峰值与有效值的转换公式为:占空比为1的方波的有效值=峰峰值0.5。 AD637的外部电容C1的选择至关重要,是影响测量准确度和响应时间的重要参数,尽管增加电容的容量可以减少纹波电压产生的交流误差,但稳定时间也会按比例增加,使测量时间大为延长。外围电路可通过第9脚和第6脚设置一可调电阻来调节,但难以达到高准确度要求。四实验测试及测试结果分析4.1 测试仪器 数字示波器TDS2012B;数字万用表DT890;函数信号发生器EE1641B1;双路输出直流稳压电源EM1715A。4.2 测试结果及分析图3中CH1信号为方波信号源输出的电压波形,脉冲频率为300KHz,占空比为50%,幅值为1V。CH1作为分频电路的输入信号。CH2为方波信号源输出的双极性的方波信号,频率为300KHz,占空比为50%,幅度为2V。图4、图5和图6中的CH1均为信号源输入的方波信号,CH2分别为6分频、10分频和30分频后的输出脉冲信号,幅值均为5V,频率分别为50KHz、30KHz和10KHz。可见,利用300KHz的方波脉冲通过分频电路,获得了符合要求的频率为50KHz、30KHz和10KHz的方波信号。 图3. 方波信号源输出的电压波形 图4. 方波信号3分频输出的电压波形 图5. 方波信号5分频输出的电压波形 图6.方波信号15分频输出的电压波形 图7. 50KHz正弦波信号与合成方波信号 图8.30KHz正弦波信号与合成方波信号 图9. 50KHz正弦波信号与合成方波信号 图10.利用正弦波信号合成的三角波信号 利用图5、图6和图7中50KHz、30KHz和10KHz脉冲信号,通过滤波电路和移相电路,获得了符合要求的3路正弦波信号。从图7、图8和图9中可以看出,实验获得了符合设计要求50KHz、30KHz和10KHz正弦波信号(3副图中的CH2通道信号),其幅度分别为1.2V、2V和6V,相位相同,还通过加法器电路合成产生了比较理想的近似方波信号(CH1通道信号)。方波信号的幅度近似为5V,与理论分析和计算的结果一致。图10 为利用50KHz、30KHz和10KHz正弦波信号合成的近似三角波信号波形。三角波信号的幅度为5V,符合设计要求,与理论分析计算值一致。 利用AD637有效值测量芯片和MSP430F149单片机,搭建了3路正弦波信号的有效值测量电路,并进行了实验。将液晶显示器显示数据和示波器测量数据相比较,测量得到50KHz、30KHz和10KHz正弦波信号的幅度峰峰值分别为5.90V、2.05和1.19V,测量误差小于5%,测量精度高。五总结 综合上述部分的测试结果,本设计较完满的完成了题目基本部分的要求,还较好的完成题目发挥部分的要求。采用TI公司提供的运算放大器和单片机等部分芯片,完成了300KHz方波信号源电路,30分频电路、10分频电路和6分频电路,10KHz带通滤波电路、30KHz带通滤波电路、50KHz带通滤波电路,10KHz移相电路、30KHz移相电路、50KHz移相电路,方波和三角波合成电路,正弦波有效值单片机测量电路等单元电路的设计和制作,制作工作量饱满,体现了团队合作精神。通过测试,获得了符合设计要求的正弦波信号和合成方波信号、三角波信号。 附录附录I 图 附录图1. 制作电路的实物图 附录图2. 方波振荡电路 附录图3. 分频电路原理图 附录图4. 滤波电路 附图5. 移相电路原理图 附录图6. 加法电路原理图 附图7. 三角波变换电路原理图附录图8. 正弦波幅度测量和显示电路原理图附录II 程序代码#include msp430x14x.h#define uint unsigned int#define uchar unsigned char#define ulong unsigned long#define RS_HIGH P4OUT|=BIT0 /指令数据选择信号#define RS_LOW P4OUT&=BIT0 #define RW_HIGH P4OUT|=BIT1 /读写信号#define RW_LOW P4OUT&=BIT1#define E_HIGH P4OUT|=BIT2 /使能信号#define E_LOW P4OUT&=BIT2#define BUSY_OUT P2DIR|=BIT7#define BUSY_IN P2DIR&=BIT7#define BUSY_DATA P2IN&BIT7uchar DATA9=Vpp:0.00V;uchar Bit19=0,0,0,0,0,0,0,0,0; uint Bit29=0,0,0,0,0,0,0,0,0;uchar Bit39=0,0,0,0,0,0,0,0,0;uchar Bit49=0,0,0,0,0,0,0,0,0;uchar Bit59=0,0,0,0,0,0,0,0,0;uint ADCBuf120=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;/保存采集到的数据uint ADCBuf220=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;uint ADCBuf320=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;uint ADCBuf420=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;uint ADCBuf520=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;ulong Sum1=0; /20个数据的和ulong Sum2=0;ulong Sum3=0;ulong Sum4=0;ulong Sum5=0;ulong VBuf1=0; /电压扩大10000000的值ulong VBuf2=0;ulong VBuf3=0;ulong VBuf4=0;ulong VBuf5=0;uchar Count=0;/延时子程序DelayMS(uint ms) uint i; while(ms-) for(i=0; i800;i+); /ms级延时子程序void DelayMs(uint ms) while(ms-) for(uint i=0;i800;i+); void InitPort(void) P6SEL=0x00;/P2口所有引脚设置为一般的IO口 P6DIR=0xFF;/P2口所有引脚设置为输出方向 P6OUT=0XFF; P2SEL=0x00;/P2口所有引脚设置为一般的IO口 P4SEL=0x00;/P4口所有引脚设置为一般的IO口 P2DIR=0xFF;/P2口所有引脚设置为输出方向 P4DIR=0xFF;/P4口所有引脚设置为输出方向/ADC12初始化void InitADC12(void) P6SEL=0x1F;/P6.0P6.4为模拟输入 P6DIR|=0x1F; ADC12CTL0&=ENC;/ENC设置为0从而修改ADC12寄存器 ADC12CTL0=MSC+ADC12ON;/采样信号由SHI仅首次触发,打开ADC12模块 ADC12MCTL0=INCH_0+SREF_2; /输入通道A0 ADC12MCTL1=INCH_1; /A1 ADC12MCTL2=INCH_2; /A2 ADC12MCTL3=INCH_3;/A3 ADC12MCTL4=INCH_4+SREF_2+EOS;/A4 ADC12CTL1=CSTARTADD_0+SHP+CONSEQ_3+ADC12SSEL_0+ADC12DIV_0;/起始地址ADCMEM0,采样脉冲由采样定时器产生,单通道多次转换,内部时钟源不分频 ADC12IE=0x10; ADC12CTL0|=ENC+ADC12SC;/开始新一轮转换void Delayus(uint us) while(us-) for(uint i=0;i8;i+); void InitClock(void) uchar i; BCSCTL1&=XT2OFF; BCSCTL2|=SELM1+SELS; do IFG1&=OFIFG; for(i=0;i100;i+); _NOP(); while(IFG1&OFIFG)!=0); IFG1=OFIFG;/计算电压值void GetV(void) for(uchar i=0;i20;i+) Sum1+=ADCBuf1i; Sum2+=ADCBuf2i;Sum3+=ADCBuf3i;Sum4+=ADCBuf4i;Sum5+=ADCBuf5i; VBuf1=(Sum1+20.39)/20.0*1.414*2*(2.5*10000000)/4095);/计算电压并扩大10000000倍 2.5为外部参考电压 可用R4调节 Sum1=0; /计算数码管各位要显示的数值 Bit10=VBuf1/10000000; DATA4=Bit10+0; Bit12=VBuf1%10000000/1000000; DATA6=Bit12+0; Bit13=VBuf1%1000000/100000; DATA7=Bit13+0; Bit14=VBuf1%100000/10000; Bit15=VBuf1%10000/1000; Bit16=VBuf1%1000/100; Bit17=VBuf1%100/10; Bit18=VBuf1%10; VBuf2=Sum2/20.0*(2.5*10000000)/4095.0);/计算电压并扩大10000000倍 2.5为外部参考电压 可用R4调节 /计算数码管各位要显示的数值 Sum2=0; Bit20=VBuf2/10000000; Bit22=VBuf2%10000000/1000000; Bit23=VBuf2%1000000/100000; Bit24=VBuf2%100000/10000; Bit25=VBuf2%10000/1000; Bit26=VBuf2%1000/100; Bit27=VBuf2%100/10; Bit28=VBuf2%10; VBuf3=Sum3/20.0*(2.5*10000000)/4095.0);/计算电压并扩大10000000倍 2.5为外部参考电压 可用R4调节 /计算数码管各位要显示的数值 Sum3=0; Bit30=VBuf3/10000000; Bit32=VBuf3%10000000/1000000; Bit33=VBuf3%1000000/100000; Bit34=VBuf3%100000/10000; Bit35=VBuf3%10000/1000; Bit36=VBuf3%1000/100; Bit37=VBuf3%100/10; Bit38=VBuf3%10; VBuf4=Sum4/20.0*(2.5*10000000)/4095.0);/计算电压并扩大10000000倍 2.5为外部参考电压 可用R4调节 /计算数码管各位要显示的数值 Sum4=0; Bit40=VBuf4/10000000; Bit42=VBuf4%10000000/1000000; Bit43=VBuf4%1000000/100000; Bit44=VBuf4%100000/10000; Bit45=VBuf4%10000/1000; Bit46=VBuf4%1000/100; Bit47=VBuf4%100/10; Bit48=VBuf4%10; VBuf5=Sum5/20.0*(2.5*10000000)/4095.0);/计算电压并扩大10000000倍 2.5为外部参考电压 可用R4调节 /计算数码管各位要显示的数值 Sum5=0; Bit50=VBuf5/10000000; Bit52=VBuf5%10000000/1000000; Bit53=VBuf5%1000000/100000; Bit54=VBuf5%100000/10000; Bit55=VBuf5%10000/1000; Bit56=VBuf5%1000/100; Bit57=VBuf5%100/10; Bit58=VBuf5%10; /中断#pragma vector=ADC_VECTOR_interrupt void ADC12ISR(void) ADCBuf1Count=ADC12MEM0; ADCBuf2Count=ADC12MEM1; ADCBuf3Count=ADC12MEM2; ADCBuf4Count=ADC12MEM3; ADCBuf5Count=ADC12MEM4; Count+; if(Count=20) GetV(); Count=0; / 测试LCD忙碌状态void LcdBusy() RS_LOW; RW_HIGH; E_HIGH; _NOP();_NOP(); BUSY_IN; while(BUSY_DATA); BUSY_OUT; E_LOW;/写入指令到LCDWriteCommand(uchar Command) LcdBusy(); RS_LOW; RW_LOW; E_HIGH; _NOP();_NOP(); P2OUT=Command; _NOP();_NOP(); E_LOW;/写入字符数据到LCDWriteData(uchar Data) LcdBusy(); RS_HIGH; RW_LOW; E_HIGH; _NOP();_NOP(); P2OUT=Data; _NOP();_NOP(); E_LOW;/LCD初始化设定LcdInit() WriteCommand(0x38);/8位数据端口,2行显示,5*7点阵 DelayMs(5); WriteCommand(0x0c);/开启显示, 无光标 DelayMs(5); WriteCommand(0x06);/AC递增, 画面不动 DelayMs(5); WriteCommand(0x01);/清屏 DelayMs(5);int main(void) WDTCTL=WDTPW+WDTHOLD; InitClock(); InitPort(); /原来为P2口 OUT 7口 _EINT(); InitADC12(); LcdInit();/Lcd初始化 while(1) WriteCommand(0x80);/定位在第一行第一个位置 for(uchar i=0;i9;i+) WriteData(DATAi); 17
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!