相位差可调的双通道信号源
- 格式:pdf
- 大小:2.29 MB
- 文档页数:52
测控专业虚拟仪器课程设计说明书题目:多路信号发生器学生姓名:学号:专业:测控技术与仪器班级:指导教师:1.设计题目:多路信号发生器2. 设计目的:1.通过实验让我们更深入了解虚拟仪器的基本原理及观念,掌握利用相关的软、硬件平台完成虚拟仪器设计的方法和步骤。
2.了解虚拟仪器的具体的实际应用。
3. 将所学的知识通过设计信号发生器实验可产生各种波形如正弦波、方波、三角波、锯齿波等;来加深对虚拟仪器技术的深层理解。
3.设计要求:①可输出双路正弦波(方波、三角波)信号,其相位差可调②信号频率、幅值、占空比可调4.基本设计思路:在条件结构中运用“基本函数发生器”模块作为正弦波、方波、三角波信号的发生单元,通过其可设置频率、幅值、相位差及占空比的调节,且经过条件结构即可进行双路、单路等各信号输出的选择,然后用While循环使输出信号连续的动起来,所产生的信号通过波形图来显示,可用DAQ输入模块将信号送入数据采集卡PCI6221再用DAQ输出模块将信号采集回来用波形图显示,便可验证所产生的信号,或通过示波器来验证!5.程序流程图:图1.程序流程图6.设计实现过程:(1)通过“条件结构”来分配通道在程序框图中,右键在编程—结构中如图,即可拖出条件结构,,此条件结构通过设置条件分支来进行通道1、2各种波形信号的选择。
条件分支的设置可在前面板输入控件中选择“滑动杆”连入分支选择中,对其进行属性设置得到通道选择如下图作为所产生波形通道的选择。
在真假选择中通过右键增加输入分支分别为0、1、2、3,对应通道1、2、双通道及公式波形。
将基本函数发生器及其类型放条件结构内,其他输入控件放条件外,以供个条件连线方便使用。
(2)“基本函数发生器”模块及基本参数设置在程序框图中右键选择信号处理如下图(a),选中波形生成找到基本函图(a)数发生器共调用两个,此模块放条件结构内用于产生正弦波、方波、三角波等;“基本函数模块”基本参数设置:在前面板中,击右键,从Express中的数值输入控件中,选择旋钮输入控件,并将其拖入前面板中,之后,按住Ctrl键不放,一次拖动复制八个旋钮(如图(b)),并分别命名为“频率1”、“幅值1”、“幅值2”、“占空比1”、“相位1”,“相位2”、“偏移量1”、“偏移量2”(控制波形的上下平移)尤其是信号类型的输入控件,其中已经包含三角、方波、正弦波、锯齿波,若需要可通过属性中编辑项插入来添加各种波形。
正交编码器(又名增量式编码器或光电式编码器),用于检测旋转运动系统的位置和速度。
正交编码器可以对多种电机控制应用实现闭环控制,诸如开关磁阻(SR)电机和交流感应电机(ACIM)。
一. 功能概述典型的增量式编码器包括一个放置在电机传动轴上的开槽的轮子和一个用于检测该轮上槽口的发射器/ 检测器模块。
通常,有三个输出,分别为:A相、B相和索引(INDEX),所提供的信息可被解码,用以提供有关电机轴的运动信息,包括距离和方向。
A相(QEA)和B相(QEB)这两个通道间的关系是惟一的。
如果A相超前B相,那么电机的旋转方向被认为是正向的。
如果A相落后B相,那么电机的旋转方向则被认为是反向的。
第三个通道称为索引脉冲,每转一圈产生一个脉冲,作为基准用来确定绝对位置。
编码器产生的正交信号可以有四种各不相同的状态(00,01,10,11)。
请注意,当旋转的方向改变时,这些状态的顺序与此相反(11,10,01,00)。
正交解码器捕捉相位信号和索引脉冲,并将信息转换为位置脉冲的数字计数值。
通常,当传动轴向某一个方向旋转时,该计数值将递增计数;而当传动轴向另一个方向旋转时,则递减计数。
选择“x4”测量模式,QEI逻辑在A相和B相输入信号的上升沿和下降沿都使位置计数器计数,可以为确定编码器位置提供更高精度的数据(更多位置计数)。
正交编码器接口(QEI)模块提供了与增量式编码器的接口。
QEI由对A相和B相信号进行解码的正交解码器逻辑以及用于累计计数值的递增/ 递减计数器组成。
QEI 模块包括:• 三个输入引脚,即两个相位信号和一个索引脉冲• 提供计数器脉冲和计数方向的正交解码器• 16 位递增/递减位置计数器• 计数方向状态• X2和X4计数分辨率• 两种位置计数器复位模式• 通用16 位定时器/计数器模式• 由QEI或计数器事件产生的中断二. 词汇汇总Quadrature encoder:正交编码器incremental encoder:增量式编码器linear displacement:线性位移 position counter:位置计数器index signal:索引信号wheel:轮integrate position over time:位置对时间的积分velocity:速度velocity-timer expiration:速度定时器发生计满返回 gray co de:格雷码miswiring:错误接线 lead:超前于 forward:正向backward:反向RPM=revolutions per minute 转数/分divisor:除数(被除数÷除数=商)predivider:预分频器(用来对时钟进行分频,以得到目标频率的时钟)power of 2 =2的n次幂(求n个相同因数a的乘积的运算叫做乘方(Power),乘方的结果叫做幂(Power),a叫做底数(base number),n 叫做指数(exponent)。
双通道数字示波器原理
双通道数字示波器是一种用于测量和显示电信号波形的仪器,它具有两个输入通道,可以同时测量和显示两个信号。
双通道数字示波器的工作原理是通过将输入信号转换为数字信号,并将其存储在内存中进行进一步处理和显示。
首先,输入信号通过前置放大电路进行放大,然后通过采样电路将信号转换为数字信号。
采样电路将输入信号分成一系列离散的样本点,并使用模数转换器将其转换为对应的数字值。
转换完成后,数字信号会被存储在示波器内存中。
内存的大小决定了示波器可以存储的样本点数量,从而决定了示波器可以显示的时间范围。
在存储完成后,数字信号会通过数字信号处理单元进行进一步处理。
数字信号处理单元可以进行各种算法运算,如傅里叶变换、滤波等,以提取出信号的频率、幅度等特征。
最后,处理完成的信号会送到显示单元进行显示。
显示单元根据所选的设置,将存储的数字信号转换为波形并显示在示波器的屏幕上。
通过示波器的双通道功能,用户可以同时观察和比较两个信号的波形。
可以对比它们的相位差、幅度差等特征,以帮助分析和诊断电路问题。
总的来说,双通道数字示波器通过采样、转换、存储和处理输入信号,最终将其显示在屏幕上。
这种工作原理使得示波器成为了电子工程师和技术人员进行电信号分析和故障排除的重要工具。
附件1 数字存储示波器技术指标要求1、提供2个模拟通道,200MHz带宽2、2 GSa/s实时采样率3、时基范围:2ns/div-50s/div4、垂直灵敏度:1mv-10v/div5、5.6英寸QVGA(320×240),64k色TFT彩色液晶显示屏6、高达2000wfms/s波形捕获率7、支持1mV/div垂直档位8、边沿、脉宽、斜率、视频、交替触发功能9、支持上升下降沿同时触发,可观看眼图10、丰富的接口配置:标配USB Host,USB Device,RS-232,P/F Out,选配USB-GPIB附件2 任意波形函数信号发生器技术指标要求1.双通道输出,最高输出频率20 MHz,最小输出幅度为2mVpp。
2.双通道任意波特性:最大输出频率5MHz,波形长度4kpts,双通道中每个通道都可单独输出任意波。
3.可以存储和输出示波器采集的波形。
4.垂直分辨率14 bits。
5.内置频率计,频率范围100 mHz-200 MHz。
6.点阵液晶屏显示。
7.调制波形:调幅(AM)、调频(FM)、调相(PM)、频移键控(FSK)、扫频(SWEEP)、突发(BURST)。
8.标配接口:USB Device 接口支持与电脑直接通讯;USB Host支持USB存储驱动器和系统直接升级。
9.负载匹配50Ω—10kΩ以及高阻可调。
附件3 低频函数信号发生器技术指标要求(一)、性能要求:1.由度盘调节和指示频率值。
2.由6位数字频率计指示频率值,并且该频率计能外接单独使用。
3.由3位数字电压表指示输出电压。
4.能产生正弦波、方波、三角波、正向及反向脉冲波、正向及反向锯齿波、TTL和CMOS脉冲波。
5.脉冲波的宽度入锯齿波的斜率可调。
6.有VCF功能。
7.有直流偏置功能。
8.有TTL和CMOS同步输出。
(二)、主要技术参数:1.频率范围:0.1Hz~3MHz2.方波边沿:小于100Ns3.正弦波失真;小于1%(10Hz~100KHz)4.VCF范围:1:1000直流偏置范围:0~±10V连续可调5.输出幅度:大于20Vpp6.输出阻抗:50Ω7.频率计测频范围:10Hz~10MHz8.280×255×100mm(三)、工艺要求:要求内部电路板全部采用波峰焊技术。
d江苏大学D题: 阻抗网络测试仪指导老师:徐雷钧参赛学生:顾世豪陈明明孟德华系院:电子信息工程学院专业:自动化电子科学技术电子信息科学技术 2012年8月网络阻抗测试仪(D题)摘要:本设计以 TI 公司 16 位超低功耗单片机 MSP430F169为核心,以矩阵键盘和12864液晶屏为人机交换界面。
利用两片AD9850芯片组成双路信号发生器,通过程序控制产生两路频率为1Hz-200KHz、相位差为90度的正弦波,经过低通滤波器滤除杂波,利用待测阻抗与基准阻抗分压电路和相敏检测器,检测出参考电压相量和阻抗电压向量在参考电压方向上的投影,并通过A/D芯片进行采样,将采样得到的电压信号送入单片机进行处理。
自由轴法的基本思想是:待测阻抗Zx和标准阻抗Zs串联,严格要求被测参数矢量在X、Y坐标轴上投影准确正交,然后分别测出待测阻抗、标准阻抗两端的矢量电压Ux和Us在直角坐标X、Y轴上的分量,最后送入单片机经过四则运算即可求出阻抗网络的阻抗值和阻抗角。
关键词:msp430;自由轴法;阻抗测量;AD9850目录一、系统方案 (3)1.1整体设计方案 (3)1.1.1主要模块方案比较与论证 (4)1.1.2信号发生器的设计方案 (4)1.1.3测量方法选择 (5)1.1.4程控放大器电路的设计方案 (6)二.主要模块硬件设计 (7)2.1单片机主控模块 (7)2.2按键输入与12864显示电路模块 (6)2.3 DDS双路正交正弦波产生电路模块 (7)2.4程控放大器电路模块 (7)2.5低通滤波电路模块 (8)2.6基准阻抗分压电路模块 (8)2.6相位检测电路和A/D转换电路模块 (9)2.7电源电路模块 (10)三、软件设计 (11)四、理论分析 (11)五、测量结果与分析 (12)六、测试仪器 (12)七、参考文献 (12)一、系统方案 1.1整体设计方案根据题目要求,系统可分为6个基本模块,包括单片机主控模块、DDS 模块、显示模块、按键输入模块、控制模块。
课程名称:大学物理实验(一)实验名称:示波器的使用二、实验原理1、示波器主要包括:电子枪、偏转系统和荧光屏三部分。
垂直偏转系统(待测信号一般加在这个系统上)水平偏转系统(内部扫描电压加在这个系统上)图1 电子枪示意图图2 内部扫描电压显示图图3 不加信号时显示图图4 双通道加正弦信号显示图2.扫描频率和信号频率之间的关系:当扫描频率和信号频率一致时,周期一样,示波器上正好显示一个周期的信号。
(数字示波器横轴有12格,所以显示的比一个周期多一点)如果信号为频率为1KHz的正弦波,要在屏幕上看到一个完整周期的信号,扫描周期要调到0.1ms/div。
如果扫描频率小于信号频率,在屏幕会看到扫描频率变小。
3.触发扫描图5 触发扫描稳定地显示一个周期性的信号图6 触发扫描示意图4.李萨如图形李萨如图形原理:两个相互垂直的振动的合成X=A cos(ωt+φ) (1)Y=B sin(ωt+φ) (2)(X/A)2+(Y/B)2=1 (3)其中:ω:振动的频率φ:振动的相位频率不同时:f x/f y=n y/n x (4)其中: f x\f y:两个相互垂直的振动各自的频率 n y\n x :x、y轴最多交点个数频率比与x、y轴最多交点个数成反比, 因此可以通过已知频率的正弦波信号去测未知频率的正弦波信号的频率。
图7 不同频率比下的李萨如图形图8 两个简谐运动的相位差90°时的李萨如图形图9 两个简谐运动的相位差45°时的李萨如图形图1 DS1052E双通道数字示波器示波器常用菜单(menu)介绍:1)measure(测量):信源选择、电压测量、时间测量、清除测量、全部测量、关闭。
2)Acquirer(获取方式):普通、平均、峰值检测。
3)storage(存储方式):存储类型、波形存储、内部存储。
4)Cursor(kɜ:sə)(光标方式):光标模式、光标类型、信源选择。
5)display(显示):显示类型、清楚显示、波形保持、波形亮度。
用示波器测量相位差的方法一、前言在电子技术领域中,相位差是非常重要的一个参数。
它可以用来描述两个信号之间的时间差,是许多电路和系统设计中必须考虑的因素。
而测量相位差的方法也是非常关键的,因为只有准确地测量了相位差,才能保证电路或系统的正常运行。
本文将介绍用示波器测量相位差的方法,包括仪器准备、接线方法、操作步骤等方面。
二、仪器准备1. 示波器:必须具有双通道功能,并且能够显示两个信号波形。
2. 信号源:提供两个相位不同但频率相同的信号。
信号源可以是任何可以输出正弦波或方波的设备,如函数发生器、信号发生器等。
3. 接线:需要一些连接线和探头来连接示波器和信号源。
三、接线方法1. 将示波器通道1和通道2分别与信号源输出端口连接。
通常情况下,通道1连接到主要信号源输出端口,而通道2连接到参考信号源输出端口。
2. 如果使用探头,则将探头插入示波器输入端口,并将另一端连接到信号源输出端口。
3. 确保连接正确无误,并且所有设备都已打开和调整好参数。
四、操作步骤1. 打开示波器,并将它设置为双通道模式。
确保通道1和通道2均已启用,并且它们的垂直灵敏度和时间基准已经调整好。
2. 设置示波器触发模式为“内部触发”,并选择一个适当的触发电平。
3. 调整信号源,使其产生两个相位不同但频率相同的信号。
可以使用正弦波或方波信号,但必须确保两个信号具有相同的频率。
4. 将通道1和通道2分别与两个信号源连接。
如果使用探头,则将其插入示波器输入端口,并将另一端连接到信号源输出端口。
5. 调整示波器水平扫描控制,使得两个信号在屏幕上能够清晰地显示出来,并且它们之间的时间差可以直观地看出来。
6. 测量相位差:在示波器屏幕上选择一个参考位置,如正弦波或方波的峰值位置。
然后测量第二个信号与参考位置之间的时间差。
这个时间差就是两个信号之间的相位差。
7. 重复以上步骤,直到得到准确的相位差测量结果。
五、注意事项1. 在进行测量时,必须确保两个信号具有相同的频率。
示波器使用方法和步骤及相关注意事项示波器常见问题解决方法示波器是一种用途特别广泛的电子测量仪器。
它能把肉眼看不见的电信号变换成看得见的图像,便于人们讨论各种电现象的变化过程。
示波器利用狭窄的、由高速电子构成的电子束,打在涂有荧光物质的屏面上,就可产生细小的光点(这是传统的模拟示波器的工作原理)。
在被测信号的作用下,电子束就相像一支笔的笔尖,可以在屏面上描绘出被测信号的瞬时值的变化曲线。
利用示波器能察看各种不同信号幅度随时间变化的波形曲线,还可以用它测试各种不同的电量,如电压、电流、频率、相位差、调幅度等等。
示波器使用方法用示波器能察看各种不同电信号幅度随时间变化的波形曲线,在这个基础上示波器可以应用于测量电压、时间、频率、相位差和调幅度等电参数。
下面介绍用示波器察看电信号波形的使用步骤。
1、示波管和电源系统(1)电源(Power):示波器主电源开关。
当此开关按下时,电源指示灯亮,表示电源接通。
(2)辉度(Intensity):旋转此旋钮能更改光点和扫描线的亮度。
察看低频信号时可小些,高频信号时大些。
(3)聚焦(Focus):聚焦旋钮调整电子束截面大小,将扫描线聚焦成清楚状态。
(4)标尺亮度(Illuminance):此旋钮调整荧光屏后面的照明灯亮度。
正常室内光线下,照明灯暗一些好。
室内光线不足的环境中,可适当调亮照明灯。
2、荧光屏依据被测信号在屏幕上占的格数乘以适当的比例常数(V/DIV,TIME/DIV)能得出电压值与时间值。
依据输入通道的选择,将示波器探头插到相应通道插座上,示波器探头上的地与被测电路的地连接在一起,示波器探头接触被测点。
示波器探头上有一双位开关。
此开关拨到“X1”位置时,被测信号无衰减送到示波器,从荧光屏上读出的电压值是信号的实际电压值。
此开关拨到“X10”位置时,被测信号衰减为1/10,然后送往示波器,从荧光屏上读出的电压值乘以10才是信号的实际电压值。
3、垂直偏转因数和水平偏转因数每个波段开关上往往还有一个小旋钮,微调每档垂直偏转因数。
/******************************************************************************主程序部分******************************************************************************/ #include<reg52.h>#include<intrins.h>#include<12864.h>#include<AD9850.h>#include<IR.h>#define uchar unsigned char#define uint unsigned intuchar h1[]={"CH1: Hz "};uchar h2[]={"CH2: Hz "};uchar h3[]={"Δφ: . ° "};uchar h4[]={"V1:2.3V V2:2.3V"};long int fa=1000,fb=1000,ph=0,f=0;//定义A、B通道初始频率,初始相位,频率中间变量long int ph_disp=0;//相位显示变量,实际相位增量为11.25时,控制字增量为8long int n=0;//Vol+或V ol-按下的次数,在相位显示时用uchar h=2;//定义行参数,初始显示为第二行bit H_ok=1;//行选择完成标志位bit Num_ok=1;//数字输入完成标志位bit Step_ok=1;//步进输入完成标志位bit Sel_ok=1;//选择成功标志位bit LCD_ok=1;//写LCD完成标志位bit AD9850_ok=1;//写AD9850完成标志位void change()//将实际数值在12864上显示进行要的处理{h1[7]='0'+fa/100000;h1[8]='0'+fa/10000%10;h1[9]='0'+fa/1000%10;h1[10]='0'+fa/100%10;h1[11]='0'+fa/10%10;h1[12]='0'+fa%10;if(h==1)if(Sel_ok==1) h1[15]='*';//显示当前所在行else h1[15]='-';//数字输入等待状态显示-else h1[15]=' ';//调整项不在此行显示为空h2[7]='0'+fb/100000;h2[8]='0'+fb/10000%10;h2[9]='0'+fb/1000%10;h2[10]='0'+fb/100%10;h2[11]='0'+fb/10%10;h2[12]='0'+fb%10;if(h==2)if(Sel_ok==1) h2[15]='*';else h2[15]='-';else h2[15]=' ';ph_disp=n*100*11.25;h3[6]='0'+ph_disp/10000;h3[7]='0'+ph_disp/1000%10;h3[8]='0'+ph_disp/100%10;h3[10]='0'+ph_disp/10%10;h3[11]='0'+ph_disp%10;if(h==3)if(Sel_ok==1) h3[15]='*';else h3[15]='-';else h3[15]=' ';}void LCD_Display()//12864整屏显示{change();DisplayListChar(0,0,h1);DisplayListChar(0,1,h2);DisplayListChar(0,2,h3);DisplayListChar(0,3,h4);}void H_sel()//行参数选择{switch(IRcord[2]){case 0x1b:h--;if(h<1) h=3;H_ok=1;break;//ch+ case 0x1f:h++;if(h>3) h=1;H_ok=1;break;//ch- default:break;}irpro_ok=0;}void Step_sel(void)//步进输入{switch(IRcord[2])//判断红外遥控用户码值{case 0x1a://*********************************vol+if(h==3) {ph+=8;if(ph>0xf8)ph=0;n++;if(n>31)n=0;Step_ok=1;}elseif(h==1){ph=0;n=0;fa++;if(fa>999999) fa=999999;Step_ok=1;}if(h==2){ph=0;n=0;fb++;if(fb>999999) fb=999999;Step_ok=1;}break;case 0x1e://**********************************vol-if(h==3) {ph-=8;if(ph<0)ph=0xf8;n--;if(n<0)n=31;Step_ok=1;}elseif(h==1){ph=0;n=0;fa--;if(fa<0) fa=0;Step_ok=1;}if(h==2){ph=0;n=0;fb--;if(fb<0) fb=0;Step_ok=1;}break;default:break;}irpro_ok=0;}void Num_sel()//数字输入,频率可直接数字输入,相位步进输入{switch(IRcord[2])//判断用户码值{case 0x01://****************************************1f=f*10+1;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=0;LCD_Display();}break;case 0x02://************************************2f=f*10+2;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();}break;case 0x03://************************************3f=f*10+3;if(f>999999) f=0;Num_ok=0;Sel_ok=1;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x04://************************************4 f=f*10+4;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x05://************************************5 f=f*10+5;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x06://************************************6 f=f*10+6;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x07://************************************7 f=f*10+7;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x08://************************************8 f=f*10+8;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x09://************************************9 f=f*10+9;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x00://************************************0f=f*10;if(f>999999) f=0;Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}//if(h==3){if(f>255) f=0;ph=f;LCD_Display();} break;case 0x5c:Num_ok=1;break;//********************确定case 0x57:f=f/10;if(f>999999) f=0;//***************取消Num_ok=0;Sel_ok=0;if(h==1){fa=f;ph=0;n=0;LCD_Display();}if(h==2){fb=f;ph=0;n=0;LCD_Display();}break;default:break;}irpro_ok=0;}void Num_process()//数字输入处理{if(Num_ok==1){AD9850_ok=0;Reset_AD9850();Write_AD9850(ph,0x00,fa,fb);Sel_ok=1;f=0;AD9850_ok=1;}}void Step_process()//步进输入处理{if(Step_ok==1){AD9850_ok=0;Reset_AD9850();Write_AD9850(ph,0x00,fa,fb);AD9850_ok=1;}}void IR_process(void)//红外综合处理{if(irok)//如果红外信号接收好了进行红外数据处理{Ircordpro();irok=0;}if(irpro_ok)//如果红外数据处理好后进行其他工作处理{H_sel();Step_sel();Num_sel();}}void main(){Port_init();//端口初始化TIM0init();//定时器0初始化EX0init();//外部中断0初始化LCDInit();//12864初始化LCDClear();//12864清屏LCDClear();LCD_Display();//12864显示初始内容Reset_AD9850();//AD9850复位Reset_AD9850();//AD9850复位Write_AD9850(ph,0x00,fa,fb);//AD9850写初始数据delay_1ms(10);while(1){if( (Num_ok||Step_ok)||H_ok){LCD_Display();H_ok=0;Num_ok=0;Step_ok=0;}/*只有在各项输入选择完成后才更新显示内容避免12864因写数据时受其他影响而白屏*/IR_process();Num_process();Step_process();}}/*****************************************************12864显示部分(12864.h)*****************************************************/#include <reg52.h>sfr P4=0xe8;//STC89C52RC(TQFP封装)有P4口,入口地址为0xe8sbit LCD_RS = P4^0;sbit LCD_RW = P4^1;sbit LCD_E = P4^2;sbit LCD_PSB = P3^7;#define LCD_Data P2//12864数据口,并行传送#define BUSY 0x80 //12864忙信号ReadStatusLCD()//读12864状态{LCD_RS = 0;LCD_RW = 1;LCD_E = 0;LCD_Data = 0xFF;LCD_E = 1;while (LCD_Data & BUSY);LCD_E = 0;return(LCD_Data);}void WriteCommandLCD(unsigned char WCLCD,BusyC)//写指令{if (BusyC) ReadStatusLCD();LCD_Data = WCLCD;LCD_RS = 0;LCD_RW = 0;LCD_E = 1;LCD_E = 1;LCD_E = 1;LCD_E = 0;}void WriteDataLCD(unsigned char WDLCD)//写数据{ReadStatusLCD(); //busy testLCD_RS = 1;LCD_RW = 0;LCD_Data = WDLCD;LCD_E = 1;LCD_E = 0;LCD_E = 0;LCD_E = 1;}void LCDClear(void)//清屏{WriteCommandLCD(0x01,1); //显示清屏WriteCommandLCD(0x34,1); //显示光标移动设置WriteCommandLCD(0x30,1); //显示开及光标设置}//显示一行字符,起始坐标为(X,Y)void DisplayListChar(unsigned char X, unsigned char Y, unsigned char *DData) {switch(Y){case 0:Y =0X80;break; //根据行数来选择相应地址case 1:Y=0X90;break;case 2:Y=0X88;break;case 3:Y=0X98;break;}WriteCommandLCD( Y+X , 1); //这里不检测忙信号,发送地址码X = X*2;Y = 0;while ( DData[Y] != 0 ) //若到达字符串尾则退出{if (X <= 0x0F) //X坐标应小于0xF{WriteDataLCD(DData[Y]);X++;Y++;//Delay5Ms();}else break;}}/****************************************************38KHz红外接收头部分(IR.h)东芝TC9012编码****************************************************/#include<reg52.h>#include<stdio.h>#include<intrins.h>#define TURE 1#define FALSE 0#define uchar unsigned char#define uint unsigned intsbit IR=P3^2; //红外接口,使用外部中断0unsigned char irtime;//红外用全局变量bit irok,irpro_ok;//红外接收成功标志,红外处理完毕标志unsigned char IRcord[4];32位数据码,共4个字节unsigned char irdata[33];//每个电平的持续时间void Ir_work(void);void Ircordpro(void);void tim0_isr (void) interrupt 1 using 1//定时器0中断服务函数{irtime++; //用于计数2个下降沿之间的时间}void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数{static unsigned char i; //接收红外信号处理static bit startflag; //是否开始处理标志位if(startflag){if(irtime<63&&irtime>=33)//引导码TC9012的头码,9ms+4.5msi=0;irdata[i]=irtime;//存储每个电平的持续时间,用于以后判断是0还是1irtime=0;i++;if(i==33){irok=1;i=0;}}else{irtime=0;startflag=1;}}void TIM0init(void)//定时器0初始化{TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x00; //重载值TL0=0x00; //初始化值ET0=1; //开中断TR0=1;}void EX0init(void){IT0 = 1; //外部中断0下降沿触发EX0 = 1; //使能外部中断EA = 1; //开总中断}void Ircordpro(void)//红外码值处理函数{unsigned char i, j, k;unsigned char cord,value;k=1;for(i=0;i<4;i++) //处理4个字节{for(j=1;j<=8;j++) //处理1个字节8位{cord=irdata[k];if(cord>7)//大于7值为1,和晶振有关系,12M{value=value|0x80;}else{value=value;}if(j<8){value=value>>1;}k++;}IRcord[i]=value;value=0;} irpro_ok=1;//处理完毕标志位置1}void Port_init()//端口初始化{P0=0xff;P1=0xff;P2=0xff;P3=0xff;}/***********************************************AD9850部分(AD9850.h)时钟源为12M有源晶振***********************************************/#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define Data__A P0//数据口,并行模式#define Data__B P1sbit WCLK_A= P3^0;//控制字装载时钟sbit FQUD_A= P3^1;//频率更新sbit REST_A= P3^3;//复位sbit WCLK_B= P3^4;sbit FQUD_B= P3^5;sbit REST_B= P3^6;/********************************AD9850的40位控制字(5字节)第一字节:高5位为相位控制字,低三位为电源和其他控制字,低3位一般取000********************************/uchar word_a[5]={0x00,0x00,0x00,0x00,0x00};uchar word_b[5]={0x00,0x00,0x00,0x00,0x00};void CHF_A(unsigned long int a)//将想要的频率和相位转为40位控制字{unsigned long int j;j=357.9139413*a; //a是A通道要输出的频率值,单位Hz,12M除以2的32次方等于357.9139413word_a[1]=j>>24;word_a[2]=j>>16;word_a[3]=j>>8;word_a[4]=j;}void CHF_B(unsigned long int b){unsigned long int k;k=357.9139413*b; //b是B通道要输出的频率值,单位Hzword_b[1]=k>>24;word_b[2]=k>>16;word_b[3]=k>>8;word_b[4]=k;}void delay_1ms(uint t){uint i,j;for(i=0;i<t;i++)for(j=0;j<120;j++);}void Reset_AD9850()//复位,并行模式{WCLK_A=0;WCLK_B=0;FQUD_A=0;FQUD_B=0;REST_A=0;REST_B=0;REST_A=1;REST_B=1;REST_A=0;REST_B=0;}//以并行方式同时向两个AD9850写控制字void Write_AD9850(uchar PH_A,uchar PH_B,unsigned long int FQ_A,unsigned long int FQ_B) {uint i;REST_A=1;REST_B=1;delay_1ms(100);WCLK_A=0;WCLK_B=0;FQUD_A=0;FQUD_B=0;REST_A=1;REST_B=1;CHF_A(FQ_A);CHF_B(FQ_B);word_a[0]=PH_A;word_b[0]=PH_B;for(i=0;i<5;i++){Data__A=word_a[i];Data__B=word_b[i];WCLK_A=1;_nop_();WCLK_B=1;_nop_();WCLK_A=0;_nop_();WCLK_B=0;_nop_();}FQUD_A=0;_nop_();FQUD_B=0;_nop_();FQUD_A=1;_nop_();FQUD_B=1;_nop_();Data__A=0x00;Data__B=0x00;}。
双通道测向接收机原理双通道测向接收机的原理基于多普勒效应和相位差测量。
当一个信号从一个入射角度到达接收机时,由于接收到的信号在两个通道上的传播路径不同,所以在两个通道上的接收信号的频率和相位会有差异。
利用多普勒效应的原理,可以通过测量这些差异来确定信号的入射角度。
首先,双通道测向接收机会将接收到的信号分别输入到两个通道中进行处理。
每个通道包括一个接收天线、一个放大器、一个频率混频器和一个低通滤波器。
接收到的信号经过放大器放大后,会被频率混频器降频,并通过低通滤波器滤除高频噪声。
然后,两个通道的输出信号会被分别传入到差分相位检测器中进行相位差测量。
差分相位检测器通过计算两个通道的信号之间的相位差值来确定信号的差异。
相位差可以通过测量两个通道输出信号的相位值,并计算相位差得到。
接下来,测向接收机会将相位差信号输入到一个运算单元中。
运算单元会对相位差信号进行处理,并通过数学运算来计算信号的入射角度。
具体的计算方法可以根据不同的测向算法进行选择,例如泰勒级数展开法、最小二乘法等。
最后,测向接收机会将计算出的入射角度输出给用户或其他系统。
用户可以根据测向接收机提供的信号入射角度信息来调整天线的方向,以实现信号的正确接收和通信的可靠性。
双通道测向接收机的优点是可以提高测向的准确性和稳定性。
通过利用两个通道接收信号并比较差异,可以消除多路径效应和噪声对测向结果的影响。
此外,双通道测向接收机还可以进行自适应信道估计和抗干扰处理,提高系统的抗干扰能力和性能。
总之,双通道测向接收机是一种用于无线通信系统中信号测向的设备,通过利用信号在两个通道上的差异来确定信号的入射角度。
它的原理基于多普勒效应和相位差测量,通过对两个通道输出信号的相位差进行处理和计算来确定信号的入射角度。
双通道测向接收机具有测向准确性高、稳定性好和抗干扰能力强等优点,适用于无线通信系统中信号测向的需求。
RIGOL 数据手册DG1000系列双通道函数/任意波形发生器2015年11月RIGOL TECHNOLOGIES, INC.应用领域● 模拟传感器 ● 实际环境信号 ● 电路功能测试● IC 芯片测试产品综述RIGOL DG1000系列双通道函数/任意波形发生器采用直接数字合成(DDS )技术设计,能够产生精确、稳定、低失真的输出信号。
主要特色● 采用先进的DDS 技术,双通道输出,100MSa/s 采样率,14 bits 垂直分辨率 ● 输出5种标准波形,内置48种任意波形 ● 丰富的调制功能:AM 、FM 、PM 、FSK ● 输出线性/对数扫描和脉冲串波形● 丰富的输入输出:波形输出,同步信号输出,外接调制源,外接基准10MHz 时钟源,外触发输入● 通道耦合和通道复制功能 ● 内置高精度、宽频带频率计,可测量范围:100 mHz ~ 200 MHz (单通道) ● 标准配置接口:USB Device ,USB Host● 可与DS1000系列数字示波器无缝互联● 配置功能强大的任意波编辑软件UltraWave ● 支持远程命令控制人性化设计● 多种显示模式 ● 清晰的图形化界面● 支持中英文菜单及输入法● 内置帮助系统,方便获取帮助信息● 文件管理(将文件存储至U 盘或内部存储器)双通道输出、内置任意波、可编辑任意波丰富的调制功能、扫频输出、脉冲串输出双通道耦合、复制功能内置频率计双通道输出:可分别设置两个通道的波形和参数及输出开关。
操作菜单“同相位”可使能双通道输出时相位同步。
任意波形输出:仪器内置48种任意波形(含直流),包括常用、数学、工程、窗函数及其他常见波形。
可编辑任意波:可编辑输出14bits ,4kpts 的任意波形。
仪器内部提供10个非易失性存储空间以存储用户自定义的任意波形。
通过上位机软件Ultrawave 可编辑和存储更多任意波形。
双通道耦合:设定基准通道和耦合频率/相位差后,另一通道的频率/相位将随基准通道的改变而改变,并且始终保持所设定的耦合频率/相位差。