资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
绪论测频一直以来都是电子和通讯系统工作的重要手段之一。高精度的测频仪和频率发生器有着广泛的市场前景。以往的测频仪都是在低频段利用测周的方法、高频段用测频的方法,其精度往往会随着被测频率的下降而下降。该测频仪利用等精度的测频原理,保证了整个测试范围内恒定的测试精度。在器件选择上,该测频仪采用Atmel公司生产的AT89C51单片机和Altera公司所生产的MAX 7000系列中的EPM7128SLC84-15。AT89C51是一种低功耗、高性能的8位CMOS单片机。片内有4KB的闪烁可编程/擦除只读存储器(FPEROM),并且与MCS-51引脚和指令系统完全兼容。芯片上的FPEROM允许在线或采用通用的编程器对其重复编程,可循环写入/擦除1000次。并且有宽工作电压范围、存储数据保存时间长(10年)等优点。是一款性价比较高的单片机。EPM7128SLC84-15是在Altera公司的第二代MAX结构基础上,采用先进的氧化物半导体E2PROM技术制造的。可容纳各种各样、独立的组合逻辑和时序逻辑函数。可以快速而有效的重新编程,并保证可编程擦除100次。EPM7128SLC84-15包含128个宏单元。每16个宏单元组成一个逻辑阵列块,同时,每个宏单元有一个可编程的“与”阵和固定的“或”阵,以及一个具有独立可编程时钟、时钟使能、清除和置位功能的可配置触发器。单片机的软件采用汇编语言编写,CPLD的各种功能块用VHDL语言描述实现。测频仪器性能也各不相同。该测频仪将CPLD的高速高可靠性、单片机的灵活控制功能和等精度测频原理较高的测量精度相结合,具有速度快、功能全、精度高等特点,适合于教学及科研工作使用。第1章 等精度测频原理1.1等精度测频原理等精度测频的实现方法可以用图1-1来简化说明。图1-1 等精度测频原理框图图1-1中的门控信号是可预制的宽度为Tpr的一个脉冲。COUNT1和COUNT2是两个可控计数器。标准频率信号从COUNT1的时钟输入端CLK输入,其频率为Fs;经整形后的被测信号从COUNT2的时钟输入端CLK输入,设其实际频率为Fxe ,测量频率为Fx。当门控信号为高电平时,被测信号的上沿通过D触发器的Q端同时启动计数器COUNT1和COUNT2。对被测信号Fx和标准频率信号Fs同时计数。当门控信号为低电平时,随后而至的被测信号的上沿将使这两个计数器同时关闭。设在一次门控时间Tpr中对被测信号计数值为Nx。对标准频率信号的计数值为Ns。则:(标准频率和被测频率的门宽时间Tpr完全相同)就可以得到被测信号的频率值为:误差分析如下:在一次测量中,由于Fx计数的起停时间都是由该信号的上升沿触发的,在Tpr时间内对Fx的计数Nx无误差;在此时间内Fs的计数Ns最多相差一个脉冲,即,则下式成立:所以有: 根据相对误差公式有:代入整理得:又因为:所以:即:其中:由以上推导结果可得出下面结论:(1) 相对测量误差与频率无关。(2) 增大Tpr或提高Fs,可以增大Ns,减少测量误差,提高测量精度。(3) 标准频率误差为Fs/Fs,由于晶体的稳定度很高,标准频率误差可以进行校准。(4) 等精度测频方法测量精度与预置门宽度和标准频率有关,与被测信号的频率无关。在预置门时一间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度在整个测量范围内保持恒定不变,而常规的直接测频法(在低频时用测周法,高频时用测频法),其精度会随着被测信号频率的下降而下降。1.2 基本性能指标(1) 频率测试功能:测频范围0.1Hz60MHz,测频精度:测频全域相对误差恒为百万分之一(由LED的显示位数决定)。(2) 周期测试功能:信号测试范围与精度要求与测频功能相同。(3) 脉宽测试功能:测试范围0.11S1S,测试精度0.01S。(4) 占空比测试功能:测试精度1%99%。第2章 硬件电路设计2.1 系统原理框图系统组成原理框图如图2-1所示。由一片CPLD完成各种测试功能,对标准频率和被测信号进行计数。单片机对整个测试系统进行控制,包括对键盘信号的读入与处理;对CPLD测量过程的控制、测量结果数据的处理;最后将测量结果送LED显示输出。被测信号整形电路主要对被测信号进行限幅、放大、再经施密特触发器整形后送入CPLD。用50MHz的有源晶振作为CPLD的测试标准频率。电源部分采用220V交流电经变压、滤波、稳压后得到5V电压供整个系统使用。单片机由外接12MHz标准晶振提供时钟电路。图2-1 系统原理框图2.2 键控制模块图2-2为按键接口电路,因为按键数量较少,所以采用独立式按键结构。图2-2 键盘接口电路每个按键各接一根输入线,从而使一根线上按键的工作状态不会影响其它线上的工作状态。八个按键通过一片并入串出的74LS165接入单片机,单片机的P3.0口为串行数据输入线,P3.1口提供741.S165移位所需的时钟信号,P3.2口控制74LS165的并行置入和串行移位信号线。P3.5为信号封所线,防止按键按下时的强电流对显示造成影响。按键的消抖用软件延时的方法实现。八个键分别为测频、测周期、测占空比、测脉宽、自校五个功能键和0.1秒、1秒、10秒三个时间键。74LS165的8个I/0口通过3K的电阻接高电平,当扫描到某一位为低电平时表示有按键按下。2.3 显示模块测试结果输出显示模块如图2-3所示。8位8段LED采用共阳极接法,显示方式为静态显示,静态显示方式显示亮度较高,而且显示状态稳定。根据实际亮度需求每段LED接5K的限流电阻。AT89C51的P3.0口为数据输出线,数据经8片出入并处74LS164以串行方式送入LED(数据从最右端串行移入),每片74LS164驱动一只LED。P3.1为串行移位时钟线。P3.4为数据封锁线。图2-3 显示模块2.4 单片机主控模块如图2-4所示,该模块主要完成单片机对CPLD的控制。单片机P1口的8根口线为控制信号线,具体控制功能如下:Pl.0 (END):脉宽计数结束状态信号,END=1计数结束。Pl.1 (TF):TF=0时等精度测频,TF=1时测脉宽。P1.2 (CHOISE):自校/测频选择,CHOISE=1测频,CHOISE=0自校。P1.3 (START):当TF=0时,作为预置门闸,门宽由键盘输入值决定,START=1时预置门打开,START=0时关门;当TF=1时,START有第二功能,此时,当START=0时测负脉宽,当START=1时测正脉宽,利用此功能可分别获得脉宽和占空比数据。P1.4 (CLR/TRIG):当TF=0时系统全清零功能,当TF=1时CLR/TRIG的上跳沿将启动COUNT2,进行脉宽计数。P1.5 (EEND):等精度测频计数结束状态信号,EEND=0时计数结束。P1.6 (ADRA);P1.7 (ADRB):计数值读出选通控制。若令AD=ADRA, ADRB,则当AD=00、01、10、11时可从P0口和P2口由低8位至高8位分别读出两组4个8位计数值。单片机P0口的8根口线接CPLD的A0A7口,输出的是标准频率的计数值。单片机P2口的8根口线接CPLD的B0B7口,输出的是被测频率的计数值。图2-4 单片机主控模块2.5 输入信号整形模块图2-5为输入信号整形电路。被测信号经限幅电路(由两片IN4148组成)限幅后,由两级直接耦合放大器放大,最后再由施密特触发器整形,送入CPLD进行测频。该电路R,C参数根据实际所测信号的带宽确定,如频率较高(大于70MHz)则电路和PCB布线都需作较大改动。本测频仪调试阶段所用信号为信号发生器输出的标准信号,故对该电路部分未做深入分析,如果要做实际应用,该电路部分还需进一步研究。图2-5 输入信号整形模块2.6 CPLD实现模块该系统的测试功能都是由CPLD完成的。根据等精度的测频原理,利用VHDL语言编写各部分逻辑模块,实现框图如图2-6所示。图2-6 测试原理框图FCH模块为测频、测周、自校选择控制模块,CONTRL1控制标准频率和被测频率的计数装置,CONTRL2为脉宽和占空比测量的控制模块,COUNT1、COUNT2是两个32位的计数器,分别对标准频率和被测频率进行计数,并将计数结果由8位总线输出到单片机。2.6.1 测频/测周期的实现测频/测周期时,先由单片机给出控制信号,令TF=0,CHOISE=1,选择测频/测周,再由单片机将CLR端置高完成测试电路的初始化。接下来单片机将门控信号START置为高电平,由被测信号的上升沿将两个计数器同时打开,对被测频率和标准频率同时进行计数。定时结束后,单片机把CONTRL的START端置为低电平。在被测信号的下一个脉冲的上沿到来时,COUNT1停止计数,同时关断COUNT2对Fs的计数。计数结束后由EEND端输出的低电平来指示计数的结束,单片机即可通过ADRA、ADRB分别读回标准频率和被测频率的计数值。图2-7是控制部分电路。如图所示,当START为高电平时,紧接着FIN的下一个高电平使Q端置高,将标准频率由CLK2送入CONUT2进行计数,被测频率由CLK1送入COUNT1进行计数,同时将EEND置为高电平,作为结束状态标志。当START为低电平时,紧接着的FIN的下一个脉冲上升沿将两个计数器通道切断,并将EEND置为低电平,通知单片机计数已结束。图2-7 测频/测周期控制电路2.6.2 脉宽和占空比测量模块设计图2-8为脉宽测量电路图。在测量开始前先向电路的CLR端送一个正脉冲以便进行电路的工作状态初始化。然后将GATE的CNL端置为高电平,表示开始脉冲宽度的测量。在被测脉冲的上升沿到来时,CONTRL2的PUL端输出高电平,标准频率进入到COUNT2。在被测频率下降沿到来时,CONTRL2的PUL端输出低电平,计数器COUNT2被关断。最后山单片机读出计数结果,并通过测量原理中的计算公式得出脉冲宽度。CONTRL2子模块的主要特点是:电路的设计保证了只有CONTRL2被初始化过后才能工作,否则PUL输出始终为零。只有在先检测到上升沿后PUL才为高电平,然后在检测到下降沿时,PUL输出为低电平;ENDD输出高电平以便通知单片机计数已经结束;如果先检测到下降沿,PUL并无变化;在检测到上沿并紧接一个下沿后,CONTRL2不再发生变化直到下一个初始化信号到来。图2-8 脉宽测量电路图2.7 电源模块整个电路的供电电源如图2-6所示,220交流电经变压、滤波后,由一片7805将输出电压稳压在+5V。图2-9 电源模块第3章 软件部分设计3.1 单片机主程序图3-1表示单片机主程序流程图。各种测试功能流程如下:系统初始化后,由键盘扫描子程序读入要执行的功能键。比如要执行的功能为测频功能,那么读入键之后马上跳转到测频子程序,测频子程序先置测频控制位CLR(P1.4),TF(P1.1), CHOISE(P1.2),将CPLD内的计数器清零,然后通过键盘将顶置门的时间值读入单片机,打开预置门进行测频计数,等预置门时间到后,关断预置门,CPLD关断预置门后将给单片机一个结束信号,单片机读到结束信号后,通过置ADRA,ADRB的四个状态,分四次将测频结果的32位数据读入单片机,计算后将结果转换为BCD码送LED显示输出。测周期时只要将计算结果由频率值取倒转换为周期值即可。自校子程序与测频子程序相同。脉宽的测量子程序与周期测量子程序基本一致
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号