简易频率特性测试仪_第1页
简易频率特性测试仪_第2页
简易频率特性测试仪_第3页
简易频率特性测试仪_第4页
简易频率特性测试仪_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学校统一HEU-E-007学校名称:队长**:队员**:指导教师**:年月日简易频率特性测试仪〔E题〕【本科组】摘要:简易频率特性测试仪是以51单片机为控制核心的一种测量频率的仪器,具有较宽的可测试带宽。电路由正交扫频信号源、被测网络、混频器、低通滤波器、ADC以及液晶显示局部组成。正交扫频信号源AD9854采用DDS技术产生高稳定的频率、相位、幅度可编程调制的正弦和余弦信号。被测网络是一个RLC串联谐振电路,其前后分别添加电压跟随器和电阻网络使其与相邻电路电阻匹配。混频器采用性能高,功耗低的SA602A,将信号源输出的正余弦信号与经过被测网络出来的处理信号进一步处理,产生高频与低频两种信号。低通滤波器采用ma*274芯片过滤较高频信号,外接元件少,参数调节方便,也具有良好的抗干扰性。ADC选用AD8317外置,提高AD转换性能。整体电路实现了测量较高频率信号的频率测量及幅频特性与相频特性的显示。关键词:DDS技术、中频正交解调原理、RLC振荡电路。Abstract:Simplefrequencycharacteristictesterisametricalinstrumentwhichisoperatedby51singlechipputer,Ithasawidebandwidth.Thecircuitisposedoforthogonalfrequencysweepsignalsource,themeasurednetwork,mi*er,low-passfilter,ADCandliquidcrystaldisplaypart.OrthogonalfrequencysweepsignalsourceAD9854usingDDStechnologytoproducefrequency,phase,amplitudeandhighstabilityoftheprogrammablemodulationsineandcosinesignal.ThemeasurednetworkisaRLCseriesresonantcircuit,avoltagefollowerandtheresistornetworktomatchtheadjacentcircuitresistancerespectivelybeforeandafteraddingthe.Themi*eruseshighperformance,lowpowerSA602A,thesineandcosinesignalsourceoutputandtheprocessedsignalmeasurednetworkforfurtherprocessing,toproducehighandlowfrequencysignaltwo.LowpassfilterusingMA*274chipfilterhighfrequencysignals,lesse*ternalponents,easytoadjusttheparameters,andalsohasgoodanti-interferenceperformance.ADCuseAD8317e*ternal,enhanceADconversionperformance.Thewholecircuitofthedisplayfrequencymeasurementandtheamplitudefrequencycharacteristicmeasurementofhighfrequencysignalandthephasefrequencycharacteristic.Keywords:DDStechnology、Quadraturedemodulation,RLCoscillatingcircuit.目录摘要------------------------------------------------------------------------------------1设计任务------------------------------------------------------------------------31.根本要求-------------------------------------------------------------------------32.发挥局部-------------------------------------------------------------------------3方案论证------------------------------------------------------------------------31.信号源的选择--------------------------------------------42.放大器的选择--------------------------------------------43.混频器的选择--------------------------------------------44.阻抗匹配------------------------------------------------55.整体方案确定--------------------------------------------5理论分析与计算------------------------------------------5测试结果与误差分析--------------------------------------7结论、心得与体会----------------------------------------7附录--------------------------------------------------------9设计任务1.根本要求制作一个正交扫频信号源。〔1〕频率*围为1MHz~40MHz,频率稳定度≤10-4;频率可设置,最小设置单位100kHz。〔2〕正交信号相位差误差的绝对值≤5º,幅度平衡误差的绝对值≤5%。〔3〕信号电压的峰峰值≥1V,幅度平坦度≤5%。〔4〕可扫频输出,扫频*围及频率步进值可设置,最小步进100kHz;要求连续扫频输出,一次扫频时间≤2s。2.发挥局部〔1〕使用根本要求中完成的正交扫频信号源,制作频率特性测试仪。a.输入阻抗为50Ω,输出阻抗为50Ω;b.可进展点频测量;幅频测量误差的绝对值≤0.5dB,相频测量误差的绝对值≤5º;数据显示的分辨率:电压增益0.1dB,相移0.1º。〔2〕制作一个RLC串联谐振电路作为被测网络,如图2所示,其中Ri和Ro分别为频率特性测试仪的输入阻抗和输出阻抗;制作的频率特性测试仪可对其进展线性扫频测量。a.要求被测网络通带中心频率为20MHz,误差的绝对值≤5%;有载品质因数为4,误差的绝对值≤5%;有载最大电压增益≥-1dB;b.扫频测量制作的被测网络,显示其中心频率和-3dB带宽,频率数据显示的分辨率为100kHz;c.扫频测量并显示幅频特性曲线和相频特性曲线,要求具有电压增益、相移和频率坐标刻度。图1RLC串联谐振电路其他。方案论证信号源的选择方案一:采用反应型LC振荡原理,选择适宜的电容、电感就能产生相应的正弦信号。此方案器件比拟简单,但是难以到达高精度的程控调节,而且稳定度不高,故不采用。方案二:采用DDS技术的根本原理。DDS技术是基于奈奎斯特采样定理,将模拟信号进展采集,经量化后存入存储器中,通过CPLD或者FPGA进展寻址查表输出波形的数据,再经D/A转换滤波即可恢复原波形。根据奈奎斯特采样定理知,要使信号能够恢复,必须满足采样频率大于被采样信号最高频率的2倍,否则将产生混叠,经D/A不能恢复原信号。此方案产生的波形比拟稳定,在高频输出时会产生失真,而且电路比拟复杂,故不采用。方案三:直接采用DDS集成芯片。AD9854具有高达300MHz的系统时钟,通过并行总线将数据写入程序存放器,内含可编程DDS系统和高速比拟器,能实现全数字编程控制的频率合成。由于DDS集成芯片能到达要求,而且程控调节能够方便实现,本设计采用方案三,作为1M~40MHz正弦信号发生。放大器的选择方案一:由普通运放芯片搭建的运算放大器。这种方式计算简单,由电阻比值控制电压放大倍数。但缺点是工作频率*围为低频小信号,频率过高波形产生失真。故不采用。图2运算放大电路方案二:采用美信公司的ma*2650。这种芯片内部偏置,可在高频下工作并有较高的固定增益,除此之外工作电路外围元器件少,不需要连接电阻。基于以上方面的考虑,选择ma*2650。混频器的选择方案一:搭建混频电路。混频电路可分为模拟相乘混频器、二极管环形混频器、三极管混频器。图3模拟相乘混频器图4二极管环形混频器图5三极管混频器变频器的失真有频率失真和非线性失真。除此之外,还会产生各种非线性干扰,如组合频率、穿插调制和互相调制等干扰。自己动手搭建的电路不易完成准确条件,调试电路中比拟费时费力。所以不选择此方案。方案二:采用SA602A,是一个低功耗甚高频单片双平衡混频器输入放大器,频率特性好,而且变频器工作在非线性不太严重的区域,使之既能完成频率变换,又能抑制各种干扰。结合种种优点,选择使用SA602A作为混频器。4.阻抗匹配方案一:计算前一级的输出阻抗和后一级的输入阻抗,计算应该增加的元件参数,把电容或电感与负载串联起来,即可增加或减少负载的阻抗值。这种方法计算麻烦,容易算错,所以不选择这种匹配。方案二:在两极之间接入电压跟随器。由于电压跟随器的输出电压根本上等于输入电压,所以可以看成不改变信号值。而电压跟随器的输入电阻可以看成无限大,输出电阻可以看成无穷小,所以可以自动完成电阻匹配。选择这种方案。5.整体电路方案由以上各局部的讨论与选择,结合题中所给的框图,我们将简易频率特性测试仪的框图画在下面。图6整体框图理论分析与计算1.AD9854内部包括一个具有48位相位累加器、一个可编程时钟倍频器、一个反sinc滤波器、两个12位300MHzDAC,一个高速模拟比拟器以及接口逻辑电路。其主要性能特点如下:①高达300MHz的系统时钟;②能输出一般调制信号,FSK,BPSK,PSK,CHIRP,AM等;③100MHz时具有80dB的信噪比;④内部有4*到20*的可编程时钟倍频器;⑤两个48位频率控制字存放器,能够实现很高的频率分辨率。⑥两个14位相位偏置存放器,提供初始相位设置。带有100MHz的8位并行数据传输口或10MHz的串行数据传输口。用51单片机控制AD9854,由AD9854产生正交的两路信号由于频率*围在1MHz-40MHz,频率越高输出的信号幅度将会越小,所以我们利用AD9854芯片自身的功能,通过编写程序将不同频率段的幅度都限制到500mV以下。AD9854的模块电路如下列图:图7AD9854原理图信号由AD9854输出,幅度小于500mV,于是在DDS后面接一级放大,使其峰峰值≥1V,此时用到的放大器为美信公司的ma*2650低功耗低噪声甲类放大器,它的增益固定,不需要外围电路过多扩展,降低了噪声的引入途径和调试的难度。ma*2650用于从直流至900MHz,它有一个平坦的增益响应。单+5V供电。MA*2650的低噪声系数〔噪声系数3.9dB〕和高驱动能力〔输入、输出阻抗50Ω〕,使它非常适合用于各种传输接收、缓冲应用。该器件采用内部偏置,省去了外部偏置电阻或电感器。典型的应用,唯一需要的外部元件就是输入输出隔离电容。输入输出耦合电容1C、2C的取值:3.余弦信号的另一条分支流入被测网络。被测网络由一个电阻、一个电容和一个电感组成。图8被测网络原理图由题中要求,此电路的输入阻抗和输出阻抗分别为50欧。R的值应该尽可能小,假设它的值为10欧,Q=w0L/r0=2πf0/R将Q=4,f0=20MHz,R=10带入式,可以求得L=0.32uH又由w0=1/√LC将所得的L值带入上式,求得C,C=199pF峰峰值大于1V的信号与从被测网络出来的信号共同输入SA602A,SA602A将两个信号重新混频输出新频率的信号。这个过程是利用了三角函数的积化和差原理。假设信号Acocwt经过被测网络之后输出为KAcos〔wt+θ〕,也就是说混频器SA602A的两个输入端分别为Acocwt和KAcos〔wt+θ〕。三角形的积化和差公式为所以I路输出为〔1/2〕KA²[cos(2wt+θ)+cosθ],通过低通滤波器将高频局部滤掉,剩下一路直流量。Q路的根据积化和差公式同理进展计算。5.低通滤波器出来的直流量流入ADC,单片机再次采集数据控制液晶显示频显示频率及幅频特性曲线和相频特性曲线。测试结果与误差分析AD9854由于快递问题,结题当天才收到自制模块板,故没来得及调试成功。对被测网络局部进展测试,使用DDS函数信号发生器模拟输出1VPP信号,调试电路。最终的测试结果为:频率〔MHz〕输出幅度〔mV〕20.647618.2476*0.70723.5476*0.707测试得到当频率为20.6MHz时,输出的电压幅值最大,为476mV,所以中心频率为20.6MHz,误差为|20.6-20|/20*100%=3%,满足“要求被测网络通带中心频率为20MHz,误差的绝对值≤5%〞要求。当电压为中心频率时的电压值的0.707倍,即为337mV时,测得两个相对应的频率分别为18.2和23.5MHz,则实际带宽为23.5-18.2=5.3MHz.而理论值应为Bw=f0/Q=20.6/4=5.15MHz。误差为|5.3-5.15|/5.15&100%=2.9%,满足“有载品质因数为4,误差的绝对值≤5%〞要求。有载最大电压增益=20lg|476/500|=-0.43,满足“有载最大电压增益≥-1dB〞要求。结论、心得与体会今年,我们三个人组队参加了全国电子设计大赛,经过了初赛,校内选拔,并参加了学校组织的前期培训,在整个准备和比赛过程中,我们学到了很多。在实验室,我们感受到了前所未有的学习方式,从前的学习只限于在书本上的勾,记记概念,算算公式,如此而已,学了很多专业知识,却不知道能做什么、怎么做,学了很多原理,却不知道怎么去应用,在实验室,面对各种专业仪器设备,我们完全将理论投入到了实践,将书本上的知识变成了零件的组装、搭建的电路,将抽象的知识变为了具体的应用,但这是一个艰辛的过程,这个过程转化当中,遇到的很多问题,都需要由我们自己来解决,在这个过程,我们深切体会到了团队合作和分工的重要性,学到了许多知识,比方,电路的搭建,焊接、调试,一些芯片的使用和一些软件的使用等,最重要的是我们拥有了解决问题的能力。电子设计竞赛的组织为我们大学生提供了良好的科学研究和科技制作的时机,使我们收益非浅。衷心地感谢大赛评委,今后我们会更加努力,发挥潜能,培养团队精神,学会做人、做事、做学问。附录1:AD9854模块原理图被测网络原理图及PCBMA*2650、电压跟随器、SA602A混合电路被测网络测量过程附录2:AD9854程序://=====================================================================//AD9854驱动程序设计//硬件连接:P0——Data; //P2——Adr;//RESET——P3^7;//UDCLK——P3^6;//WR——P3.5; //RD——p3.4;//FDATA——P3^3;//OSK——P3^2;//VDD--逻辑电源(3.3V)//VSS--GND(0V)//AD9854.c//说明:本程序基于硬件的外接晶振为20MHZ//=====================================================================*include<STC89C51RC.h>//STC单片机头文件 *include<intrins.h>*defineuintunsignedint*defineucharunsignedchar*defineulongunsignedlongucharFreqWord[6]; //6个字节频率控制字//**********************以下为系统时钟以及其相关变量设置**************************/*此处根据自己的需要设置系统时钟以及与其相关的因子,一次需且只需开启一个CLK_Set为时钟倍频设置,可设置4~20倍倍频,但最大不能超过300MHZFreq_mult_ulong和Freq_mult_doulle均为2的48次方除以系统时钟,一个为长整形,一个为双精度型*//**defineCLK_Set4constulongFreq_mult_ulong=3518437;constdoubleFreq_mult_doulle=3518437.2088832;*//**defineCLK_Set5constulongFreq_mult_ulong=2814750;constdoubleFreq_mult_doulle=2814749.76710656;*/*defineCLK_Set6constulongFreq_mult_ulong=2345625;constdoubleFreq_mult_doulle=2345624.80592213;/**defineCLK_Set7constulongFreq_mult_ulong=2010536;constdoubleFreq_mult_doulle=2010535.54793326;*//**defineCLK_Set8constulongFreq_mult_ulong=1759219;constdoubleFreq_mult_doulle=1759218.6044416;*//**defineCLK_Set9constulongFreq_mult_ulong=1563750;constdoubleFreq_mult_doulle=1563749.87061476;*//**defineCLK_Set10constulongFreq_mult_ulong=1407375;constdoubleFreq_mult_doulle=1407374.88355328;*//**defineCLK_Set11constulongFreq_mult_ulong=1279432;constdoubleFreq_mult_doulle=1279431.712321164;*//**defineCLK_Set12constulongFreq_mult_ulong=1172812;constdoubleFreq_mult_doulle=1172812.402961067;*//**defineCLK_Set13constulongFreq_mult_ulong=1082596;constdoubleFreq_mult_doulle=1082596.064271754;*//**defineCLK_Set14constulongFreq_mult_ulong=1005268;constdoubleFreq_mult_doulle=1005267.773966629;*//**defineCLK_Set15constulongFreq_mult_ulong=938250;constdoubleFreq_mult_doulle=938249.9223688533;*///**************************修改硬件时要修改的局部*********************************defineAD9854_DataBusP0*defineAD9854_AdrBusP2sbitAD9854_RST=P3^7;//AD9854复位端口sbitAD9854_UDCLK=P3^6;//AD9854更新时钟sbitAD9854_WR=P3^5;//AD9854写使能,低有效sbitAD9854_RD=P3^4;//AD9854读使能,低有效sbitAD9854_FDATA=P3^3;//AD9854FSK,PSK控制sbitAD9854_OSK=P3^2;//AD9854OSK控制端//**************************以下局部为函数定义********************************staticvoidAD9854_WR_Byte(ucharaddr,uchardat); e*ternvoidAD9854_Init(void); staticvoidFreq_convert(longFreq); e*ternvoidAD9854_SetSine(ulongFreq,uintShape); staticvoidFreq_double_convert(doubleFreq); e*ternvoidAD9854_SetSine_double(doubleFreq,uintShape);e*ternvoidAD9854_InitFSK(void); e*ternvoidAD9854_SetFSK(ulongFreq1,ulongFreq2); e*ternvoidAD9854_InitBPSK(void); e*ternvoidAD9854_SetBPSK(uintPhase1,uintPhase2); e*ternvoidAD9854_InitOSK(void); e*ternvoidAD9854_SetOSK(ucharRateShape); e*ternvoidAD9854_InitAM(void); e*ternvoidAD9854_SetAM(uintShape); e*ternvoidAD9854_InitRFSK(void); e*ternvoidAD9854_SetRFSK(ulongFreq_Low,ulongFreq_High,ulongFreq_Up_Down,ulongFreRate); staticvoiddelay(uintus);//====================================================================================//函数名称:voidAD9854_WR_Byte(ucharaddr,uchardat)//函数功能:AD9854并行口写入数据//入口参数:addr6位地址//dat写入的数据//出口参数:无//====================================================================================voidAD9854_WR_Byte(ucharaddr,uchardat){ AD9854_AdrBus=(addr&0*3f)|(P2&0*c0); AD9854_DataBus=dat; AD9854_WR=0; AD9854_WR=1; }//====================================================================================//函数名称:voidAD9854_Init(void)//函数功能:AD9854初始化//入口参数:无//出口参数:无//====================================================================================voidAD9854_Init(void){ AD9854_WR=1;//将读、写控制端口设为无效AD9854_RD=1;AD9854_UDCLK=0;AD9854_RST=1;//复位AD9854AD9854_RST=0; AD9854_WR_Byte(0*1d,0*10); //关闭比拟器 AD9854_WR_Byte(0*1e,CLK_Set); //设置系统时钟倍频 AD9854_WR_Byte(0*1f,0*00); //设置系统为模式0,由外部更新 AD9854_WR_Byte(0*20,0*60); //设置为可调节幅度,取消插值补偿 AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0;}//====================================================================================//函数名称:voidFreq_convert(longFreq)//函数功能:正弦信号频率数据转换//入口参数:Freq需要转换的频率,取值从0~SYSCLK/2//出口参数:无但是影响全局变量FreqWord[6]的值//说明:该算法位多字节相乘算法,有公式FTW=(DesiredOutputFrequency×2N)/SYSCLK//得到该算法,其中N=48,DesiredOutputFrequency为所需要的频率,即Freq,SYSCLK//为可编程的系统时钟,FTW为48Bit的频率控制字,即FreqWord[6]//====================================================================================voidFreq_convert(longFreq){ulongFreqBuf;ulongTemp=Freq_mult_ulong; ucharArray_Freq[4]; //将输入频率因子分为四个字节 Array_Freq[0]=(uchar)Freq; Array_Freq[1]=(uchar)(Freq>>8); Array_Freq[2]=(uchar)(Freq>>16); Array_Freq[3]=(uchar)(Freq>>24); FreqBuf=Temp*Array_Freq[0];FreqWord[0]=FreqBuf;FreqBuf>>=8;FreqBuf+=(Temp*Array_Freq[1]);FreqWord[1]=FreqBuf;FreqBuf>>=8;FreqBuf+=(Temp*Array_Freq[2]);FreqWord[2]=FreqBuf;FreqBuf>>=8; FreqBuf+=(Temp*Array_Freq[3]);FreqWord[3]=FreqBuf;FreqBuf>>=8;FreqWord[4]=FreqBuf;FreqWord[5]=FreqBuf>>8; }//====================================================================================//函数名称:voidAD9854_SetSine(ulongFreq,uintShape)//函数功能:AD9854正弦波产生程序//入口参数:Freq频率设置,取值*围为0~(1/2)*SYSCLK//Shape幅度设置.为12Bit,取值*围为(0~4095),取值越大,幅度越大//出口参数:无//====================================================================================voidAD9854_SetSine(ulongFreq,uintShape){ ucharcount; ucharAdress; Adress=0*04;//选择频率控制字地址的初值 Freq_convert(Freq); //频率转换 for(count=6;count>0;) //写入6字节的频率控制字{ AD9854_WR_Byte(Adress++,FreqWord[--count]);} AD9854_WR_Byte(0*21,Shape>>8); //设置I通道幅度 AD9854_WR_Byte(0*22,(uchar)(Shape&0*ff)); AD9854_WR_Byte(0*23,Shape>>8); //设置Q通道幅度 AD9854_WR_Byte(0*24,(uchar)(Shape&0*ff)); AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0;}//====================================================================================//函数名称:voidFreq_doublt_convert(doubleFreq)//函数功能:正弦信号频率数据转换//入口参数:Freq需要转换的频率,取值从0~SYSCLK/2//出口参数:无但是影响全局变量FreqWord[6]的值//说明:有公式FTW=(DesiredOutputFrequency×2N)/SYSCLK得到该函数,//其中N=48,DesiredOutputFrequency为所需要的频率,即Freq,SYSCLK//为可编程的系统时钟,FTW为48Bit的频率控制字,即FreqWord[6]//注意:该函数与上面函数的区别为该函数的入口参数为double,可使信号的频率更准确//谷雨建议在100HZ以下用本函数,在高于100HZ的情况下用函数voidFreq_convert(longFreq)//====================================================================================voidFreq_double_convert(doubleFreq){ ulongLow32; uintHigh16;doubleTemp=Freq_mult_doulle; //23ca99为2的48次方除以120M Freq*=(double)(Temp);// 100000000000000000000000000000000=4294967295 High16=(int)(Freq/4294967295);//2^32=4294967295 Freq-=(double)High16*4294967295; Low32=(ulong)Freq;FreqWord[0]=Low32; FreqWord[1]=Low32>>8;FreqWord[2]=Low32>>16;FreqWord[3]=Low32>>24;FreqWord[4]=High16;FreqWord[5]=High16>>8; }//====================================================================================//函数名称:voidAD9854_SetSine_double(doubleFreq,uintShape)//函数功能:AD9854正弦波产生程序//入口参数:Freq频率设置,取值*围为0~1/2*SYSCLK//Shape幅度设置.为12Bit,取值*围为(0~4095)//出口参数:无//====================================================================================voidAD9854_SetSine_double(doubleFreq,uintShape){ ucharcount=0; ucharAdress; Adress=0*04; //选择频率控制字1地址的初值 Freq_double_convert(Freq); //频率转换 for(count=6;count>0;) //写入6字节的频率控制字{ AD9854_WR_Byte(Adress++,FreqWord[--count]);} AD9854_WR_Byte(0*21,Shape>>8); //设置I通道幅度 AD9854_WR_Byte(0*22,(uchar)(Shape&0*ff)); AD9854_WR_Byte(0*23,Shape>>8); //设置Q通道幅度 AD9854_WR_Byte(0*24,(uchar)(Shape&0*ff)); AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0;}//====================================================================================//函数名称:voidAD9854_InitFSK(void)//函数功能:AD9854的FSK初始化//入口参数:无//出口参数:无//====================================================================================voidAD9854_InitFSK(void){ AD9854_WR=1;//将读、写控制端口设为无效AD9854_RD=1;AD9854_UDCLK=0;AD9854_RST=1;//复位AD9854AD9854_RST=0; AD9854_WR_Byte(0*1d,0*10); //关闭比拟器 AD9854_WR_Byte(0*1e,CLK_Set); //设置系统时钟倍频 AD9854_WR_Byte(0*1f,0*02); //设置系统为模式1,由外部更新 AD9854_WR_Byte(0*20,0*60); //设置为可调节幅度,取消插值补偿 AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0;}//====================================================================================//函数名称:voidAD9854_SetFSK(ulongFreq1,ulongFreq2)//函数功能:AD9854的FSK设置//入口参数:Freq1FSK频率1//Freq2FSK频率2//出口参数:无//====================================================================================voidAD9854_SetFSK(ulongFreq1,ulongFreq2){ucharcount=6; ucharAdress1,Adress2; constuintShape=4000; //幅度设置.为12Bit,取值*围为(0~4095) Adress1=0*04; //选择频率控制字1地址的初值 Adress2=0*0a; //选择频率控制字2地址的初值 Freq_convert(Freq1);//频率转换1 for(count=6;count>0;) //写入6字节的频率控制字{ AD9854_WR_Byte(Adress1++,FreqWord[--count]);} Freq_convert(Freq2);//频率转换2 for(count=6;count>0;) //写入6字节的频率控制字{ AD9854_WR_Byte(Adress2++,FreqWord[--count]);} AD9854_WR_Byte(0*21,Shape>>8); //设置I通道幅度 AD9854_WR_Byte(0*22,(uchar)(Shape&0*ff)); AD9854_WR_Byte(0*23,Shape>>8); //设置Q通道幅度 AD9854_WR_Byte(0*24,(uchar)(Shape&0*ff)); AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0; }//====================================================================================//函数名称:voidAD9854_InitBPSK(void)//函数功能:AD9854的BPSK初始化//入口参数:无//出口参数:无//====================================================================================voidAD9854_InitBPSK(void){ AD9854_WR=1;//将读、写控制端口设为无效AD9854_RD=1;AD9854_UDCLK=0;AD9854_RST=1;//复位AD9854AD9854_RST=0; AD9854_WR_Byte(0*1d,0*10); //关闭比拟器 AD9854_WR_Byte(0*1e,CLK_Set); //设置系统时钟倍频 AD9854_WR_Byte(0*1f,0*08); //设置系统为模式4,由外部更新 AD9854_WR_Byte(0*20,0*60); //设置为可调节幅度,取消插值补偿 AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0;}//====================================================================================//函数名称:voidAD9854_SetBPSK(uintPhase1,uintPhase2)//函数功能:AD9854的BPSK设置//入口参数:Phase1调制相位1//Phase2 调制相位2//出口参数:无//说明:相位为14Bit,取值从0~16383,谷雨建议在用本函数的时候将Phase1设置为0,//将Phase1设置为8192,180°相位//====================================================================================voidAD9854_SetBPSK(uintPhase1,uintPhase2){ ucharcount; constulongFreq=60000;constuintShape=4000; ucharAdress; Adress=0*04;//选择频率控制字1地址的初值 AD9854_WR_Byte(0*00,Phase1>>8); //设置相位1 AD9854_WR_Byte(0*01,(uchar)(Phase1&0*ff)); AD9854_WR_Byte(0*02,Phase2>>8); //设置相位2 AD9854_WR_Byte(0*03,(uchar)(Phase2&0*ff)); Freq_convert(Freq);//频率转换 for(count=6;count>0;) //写入6字节的频率控制字{ AD9854_WR_Byte(Adress++,FreqWord[--count]);} AD9854_WR_Byte(0*21,Shape>>8); //设置I通道幅度 AD9854_WR_Byte(0*22,(uchar)(Shape&0*ff)); AD9854_WR_Byte(0*23,Shape>>8); //设置Q通道幅度 AD9854_WR_Byte(0*24,(uchar)(Shape&0*ff)); AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0; }//====================================================================================//函数名称:voidAD9854_InitOSK(void)//函数功能:AD9854的OSK初始化//入口参数:无//出口参数:无//====================================================================================voidAD9854_InitOSK(void){ AD9854_WR=1;//将读、写控制端口设为无效 AD9854_RD=1; AD9854_UDCLK=0; AD9854_RST=1;//复位AD9854 AD9854_RST=0;AD9854_WR_Byte(0*1d,0*10); //关闭比拟器 AD9854_WR_Byte(0*1e,CLK_Set); //设置系统时钟倍频 AD9854_WR_Byte(0*1f,0*00); //设置系统为模式0,由外部更新 AD9854_WR_Byte(0*20,0*70); //设置为可调节幅度,取消插值补偿,通断整形内部控制 AD9854_UDCLK=1;//更新AD9854输出 AD9854_UDCLK=0;}//====================================================================================//函数名称:voidAD9854_SetOSK(ucharRateShape)//函数功能:AD9854的OSK设置//入口参数:RateShapeOSK斜率,取值为4~255,小于4则无效//出口参数:无//====================================================================================voidAD9854_SetOSK(ucharRateShape){ ucharcount; constulongFreq=60000; //设置载频constuintShape=4000; //幅度设置.为12Bit,取值*围为(0~4095) ucharAdress; Adress=0*04;//选择频率控制字地址的初值 Freq_convert(Freq);//频率转换 for(count=6;count>0;) //写入6字节的频率控制字{ AD9854_WR_Byte(Adress++,FreqWord[--count]);} AD9854_WR_Byte(0*21,Shape>>8); //设置I通道幅度 AD9854_WR_Byte(0*22,(uchar)(Shape&0*ff)); AD9854_WR_Byte(0*23,Shape>>8); //设置Q通道幅度 AD9854_WR_Byte(0*24,(uchar)(Shape&0*ff)); AD9854_WR_Byte(0*25,RateShape); //设置OSK斜率 AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0; }//====================================================================================//函数名称:voidAD9854_InitAM(void)//函数功能:AD9854的AM初始化//入口参数:无//出口参数:无//====================================================================================voidAD9854_InitAM(void){ ucharcount; constulongFreq=60000; //设置载频 ucharAdress; Adress=0*04;//选择频率控制字地址的初值AD9854_WR=1;//将读、写控制端口设为无效AD9854_RD=1;AD9854_UDCLK=0;AD9854_RST=1;//复位AD9854AD9854_RST=0; AD9854_WR_Byte(0*1d,0*10); //关闭比拟器 AD9854_WR_Byte(0*1e,CLK_Set); //设置系统时钟倍频 AD9854_WR_Byte(0*1f,0*00); //设置系统为模式0,由外部更新 AD9854_WR_Byte(0*20,0*60); //设置为可调节幅度,取消插值补偿 Freq_convert(Freq);//频率转换 for(count=6;count>0;) //写入6字节的频率控制字{ AD9854_WR_Byte(Adress++,FreqWord[--count]);} AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0;}//====================================================================================//函数名称:voidAD9854_SetAM(ucharShape)//函数功能:AD9854的AM设置//入口参数:Shape12Bit幅度,取值从0~4095//出口参数:无//====================================================================================voidAD9854_SetAM(uintShape){ AD9854_WR_Byte(0*21,Shape>>8); //设置I通道幅度 AD9854_WR_Byte(0*22,(uchar)(Shape&0*ff)); AD9854_WR_Byte(0*23,Shape>>8); //设置Q通道幅度 AD9854_WR_Byte(0*24,(uchar)(Shape&0*ff)); AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0; }//====================================================================================//函数名称:voidAD9854_InitRFSK(void)//函数功能:AD9854的RFSK初始化//入口参数:无//出口参数:无//====================================================================================voidAD9854_InitRFSK(void){ AD9854_WR=1;//将读、写控制端口设为无效AD9854_RD=1;AD9854_UDCLK=0;AD9854_RST=1;//复位AD9854AD9854_RST=0; AD9854_WR_Byte(0*1d,0*10); //关闭比拟器 AD9854_WR_Byte(0*1e,CLK_Set); //设置系统时钟倍频 AD9854_WR_Byte(0*1f,0*24); //设置系统为模式2,由外部更新,使能三角波扫频功能 AD9854_WR_Byte(0*20,0*60); //设置为可调节幅度,取消插值补偿 AD9854_UDCLK=1;//更新AD9854输出AD9854_UDCLK=0;}//====================================================================================//函数名称:voidAD9854_SetRFSK(void)//函数功能:AD9854的RFSK设置//入口参数:Freq_LowRFSK低频率 48Bit//Freq_HighRFSK高频率 48Bit//Freq_Up_Down 步进频率 48Bit// FreRate斜率时钟控制20Bit//出口参数:无//注:每两个脉冲之间的时间周期用下式表示〔FreRate+1〕*〔SystemClock〕,一个脉冲,//频率上升或者下降一个步进频率//====================================================================================voidAD9854_SetRFSK(ulongFreq_Low,ulongFreq_High,ulongFreq_Up_Down,ulongFreRate){ ucharcount=6; ucharAdress1,Adress2,Adress3;constuintShape=4000; //幅度设置.为12Bit,取值*围为(0~4095) Adress1=0*04;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论