综合测试仪

上传人:pu****.1 文档编号:513832287 上传时间:2024-01-06 格式:DOCX 页数:17 大小:282.84KB
返回 下载 相关 举报
综合测试仪_第1页
第1页 / 共17页
综合测试仪_第2页
第2页 / 共17页
综合测试仪_第3页
第3页 / 共17页
综合测试仪_第4页
第4页 / 共17页
综合测试仪_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《综合测试仪》由会员分享,可在线阅读,更多相关《综合测试仪(17页珍藏版)》请在金锄头文库上搜索。

1、综合测试仪毛伟 张良 周旭摘要:本次设计是由以数字频率直接合成芯片AD9851为核心的电平发生器和采 用真有效值转换集成电路 AD637 的电平测量仪两部分组成的综合测试仪器。电平 发生器合成的正弦信号带宽可达0.2Hz30MHz,分辨率为0.2Hz,幅值可数控调 节。电平测量仪通过真有效值变换测量交流信号的有效值,测量精确度达0.02V。 本测试仪还具有幅频特性测试和数据采集存储回放的功能。关键词:频率合成,真有效值转换,程控增益,高精度一、系统方案根据题目要求,本次设计可分为电压表部分和正弦波发生部分,因此我们可 以分开来做。1、方案的选择与比较(1)电压表方案一:通过高速 A/D 转换器

2、对被测交流信号直接采样,再通过数据 处理得到信号的电平值。方案二:通过峰峰值检波,由高速的 AD 采样,再由单片机读取计算 得出结果。方案三:先采用真有效值/直流转换器将被测的交流信号电压转换为与 其有效值相等的直流电压,然后通过 A/D 转换器对该电压进行采样,即可 得到被测交流信号的电平值。比较:方案一对直接采样的 AD 芯片要求很高,要想达到对 1MHz 的采样, 每周期采样64个点,采样速率必须达到64MHz,对芯片要求苛刻;方案 二存在较大的误差;方案三适合各种形状的波形,且相对误差较小。经比 较,选择方案三。(2)电平发生器 方案一:采用分立元件,利用锁相环产生频率可控的时钟信号驱

3、动地 址计数器读取 EPROM 钟的波形数据,然后经 D/A 转换器转化为模拟信 号输出。图 1-1 采用锁相环的系统框图方案二:采用模拟乘法器 14527 进行数控分频,产生的寻址信号 EPROM 中存储的波形数据。方案三:采用专用的直接数字频率合成集成电路 AD9851 直接合成号。 比较: 方案一系统较复杂,且输出高频信号比较困难,如要求输出 1MHz 信号,如果存储的波形数据为每周期 64 个点,则要求驱动地址计数器的 锁相环输出信号频率达到64MHz,同样D/A转换器的转换速率也要达到64MHz,而普通的锁相环和D/A转换器都难以达到这样的要求;方案二 精度高,但很难产生1MHz以上

4、的信号。方案三频率转换快,一般在纳 秒级;分辨率高,一般在1Hz的数量级上或者更高;合成频率范围广, 一般为070MHz。经比较,选择方案三。2 、理论分析及整体实现1. 电平发生器电平发生器以直接数字频率合成器AD9851作为核心,该芯片由32位 相位累加器、正弦函数功能查找表、D/A变换器以及低通滤波器集成到。 这种高速 DDS 芯片时钟内部最高工作频率可达 180MHz, 最大输出频率 可达70 MHz,最大分辨率为0.04Hz。由于内部集成了时钟6倍频器和一 个高速比较器,要达到180MHz的参考频率仅需一个30MHz晶振,减小了 高频辐射,提高了系统的电磁兼容能力。图 2-1 电平发

5、生器结构框图(1)合成频率值的控制:本设计中参考频率选用 20MHz 有源晶振,则经AD9851内部倍频器6倍频后的系统时钟为120MHz,由频率直接合成公式:f = f /2N = 120 X106/232 = 0.03Hz0r因此在 20MHz 晶振产生的参考频率下的最大分辨率可达 0.03Hz。 AD9851 内 部有5 个输入寄存器,储存来自外部数据总线的 32 位频率控制字,单片机 通 过对32位控制字的赋值则可精确控制最终合成的信号频率。最终合成 信号的频率为:f = f X FSW /2Nout r由于DDS的最大输出频率受奈奎斯特抽样定理限制,所以:f = f /2,max r

6、本设计的f = ZOMHz*6 = 120MHz。AD9851集成的正弦函数表位数N值为 r32 ,其中fsw 为单片机所输入到AD9851的二进制32位频率控制字。(2)合成幅值的控制:将DDS输出的交流信号输入VCA810中,通过单片机对 vca810 的程控可实现六个步进的控制。后级幅值控制电路是固定增益的线性放大电路,此放大电路采用宽频带运 算放大器 AD637 减小幅频响应引起的非线性误差。前级数控衰减和后级固定 增益放大的设计使得电路可对信号幅值进行大范围地数控调节,达到了题目 所要求 的电平可控的要求。2、电平表电平振荡器主要由进行真有效值变换的AD637部分和对直流电压信号采样

7、的 maxl97部分构成maxl97采集来的数据经单片机处理计算得输入交流信号的真有 效值。图 2-2 电压表流程图3、电路设计(1)程控放大器模块如图3-1所示:题中要求电压测量显示范围为0.001-9.99V,有效值转换 模块要求输入电压范围为0.7 7V,因而需要进行量程转换。根据被测信号的 大小把量程分为10V、1V和0.1V三档,相应放大倍数为1倍、10倍和100倍。2)Hi(IFKl一=真有效值转换模块Z2+RAD63715SVin NC +VS-VSNfi 3-2真有效值转换71610 I I|2二-2BUFFIN BUffOUT NCCOMMONOUTPUTCSDENIN RM

8、SOUT DB OUT CavIf1413Rib|9IIO.luf:题目要求有效值测量误差小于0飞阻,1选用专 片AD637,其内部由硬件实现高精度的真有效值算法。当输,lkLJ用真有效值测量芯 入电压100mV时,戈irr吝如呼目早带宽标称值600KHz;输入电压为2V时,带宽标称值8MHz。经实际测量,其在输入信号为2MHz以下、有效值为0.77V范围内能保证测量误差 0.2% + 0.5mV。当被测信号的有效值远小于1V时,会出现较大的测量误差,所以当被测信号幅值较小时,须在前级对被测信号进行放大,以保证测量精度。(3)电平振荡器设计D3D4D2D5D1D6(LSB) D0D7 (MSB

9、)PGNDDGNDPVCCDVDDW_CLKRESETFQ_UDIOUTREFCLOCKIOUTEAGNDAGNDA7DDA7DDRSETDACEPVOUTN7INPVOUTP7INNAlD9S51如图3-4电平振荡器要求输出频率范围为20Hz1 MHz,为了简化电路的设计, 选用了直接频率合成芯片AD9851,它内部包含高速、高性能D/A转换器和高速 比较器,以及 6 倍参考时钟倍乘器,可作为全数字编程控制的频率合成器和时钟 发生器。外接精密时钟源时, AD9851 可以产生一个频谱纯净、频率和相位都可 以编程控制且稳定性很好的模拟正弦波。AD9851的最高工作频率为180MHz,最 高输出

10、频率为系统时钟的一半,四十位控制字(其中 5 位为相位控制, 32 位为 频率控制)输入控制输出信号的相位频率,输出频率的计算公式为fout = (Phase X System Clock) / 232通过计算,在外部时钟源为30M时,使用该芯片系统时钟6倍频的功能使系 统时钟达到180M,输出信号的最高频率可以达到70M,完全可以满足1MHz输出 频率的要求,且步进精度高于 1Hz。(4)总体电路图:电压表:图 3-5 电压表总体电路图2,信号发生器:图 3-6 信号发生器总电路4、程序设计1 电压表程序流程图 -电压表模块电平表模块/f、幅频测试模块厂、:波形回放模块,预读7135的数据Y

11、esi :是否大于上限电AYes减小增益增大增益1读7135数据一NoLCD显示调用电压表模块电压换算为电平LCD显示通过UART中断接受频率值测量各对应频 率点的电平并 存储-率点的电压调出各个已 存储的各频存储各频率值显示当前情侣点的幅频图 4-1 电压表流程图有键按下+键按下键按下1 i1 r取出后一点的幅频值1取出前一点的幅频值1LCD显示2 电平发生器流程图开始运行系统初始化键值处理模块显示开机画面键盘设置频率频率步进幅频测试更改频率图 4-2 电平发生器程序流程图附件:程序:#include #include #include #define LCD_CW XBYTE0xFB00

12、#define LCD_DW XBYTE0xFB01 #define LCD_CR XBYTE0xFB02#define KEY_H XBYTE0xFC00#define KEY_L XBYTE0xFE00#define CS0 XBYTE0x8000 /cs0#define cs5 XBYTE0xD000 /cs5#define uchar unsigned char#define uint unsigned int#define WHILE_BUSY while(LCD_CR & 0x80)double frequency; unsigned long freq;double a,data

13、_ad,dy; uint m,DaDate,vol=0,da=0;uchar w0,w1,w2,w3,w4,d,date_h,date_l;sbit CS =P1A0;输出片选信号sbit CLK=P1T;输出时钟sbit SDI=P1A2; 输出数据sbit LD=P1A3;输出数/模转换过程启动信号sbit s0=P1A4;sbit s1=P1A5;sbit ga=P1A6;sbit hben=P1A7;void nint_LCD()LCD_CW=0x0c;WHILE_BUSY;LCD_CW=0x38;void print(uchar *str,uchar addr)WHILE_BUSY;LCD_CW = 0x80 | addr; while(*str!=0) WHILE_BUSY; LCD_DW=*str; str+;void dis_LCD(ucha

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号