1、 设计一台基于 PC 机的简易数字频率计软、硬件,信号为:矩形波、正弦波、三角波,信号峰幅范围: 1mV-10V,精度: 0.1 级,频率范围:愈宽愈好! 2 目录 第一章 总体方案设计 . 3 1.1 背景与概述 . 3 1.2 频率计主要指标 . 3 1.3 测量方法设计 . 3 第二章 硬件部分信号调理设计 . 7 2.1 信号调理流程设计 . 7 2.2 信号调理部分各个模块设计 . 7 第三章 软件部分频率测量设计 . 11 3.1 分频模块设计 . 11 3.2 计数模块设计 . 12 3.3 控制模块设计 . 12 3.4 频率测量软件整体设计 . 15 3.5 FPGA 控制
2、LCD 显示 . 17 第四章 串口传输及上位机 软件设计 . 18 4.1 串口传输设计 . 18 4.2 上位机软件设计 . 19 第五章 设计总结 . 22 5.1 设计总结 . 22 附录 1:部分模块 Verilog 代码 . 23 附录 2:上位机软件主要 C#代码 . 30 3 第一 章 总体方案设计 1.1 背景与概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数
3、显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。 在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速的跟踪捕 捉到被测信号频率的变化。正是由于频率计能够快速准确的捕捉到被测信号频率的变化,因此,频率计拥有非常广泛的应用范围。在传统的生产制造企业中,频率计被广泛的应用在产线的生产测试中。频率计能够快速的捕捉到晶体振荡器输出频率的变化,用户通过使用频率计能够迅速的发现有故障的晶振产品,确保产品质量。在计量实验室中,频率计被用来对各种电子测量设备的本地振荡器进行校准。在无线通讯测试中,频率计既可
4、以被用来对无线通讯基站的主时钟进行校准,还可以被用来对无线电台的跳频信号和频率调制信号进行分析。 1.2 频率计主要指标 频率 计可以测量的信号包括 矩形波、正弦波、三角波,信号峰幅范围 为1mV-10V,精度 为 0.1 级 ,可测量频率为 1Hz-10MHz。 1.3 测量方法设计 频率测量主要使用 FPGA 来实现。输入原始信号首先当输出方波信号后,利用 FPGA 来 测量频率 。 在测量时 主要考虑到两种情况。一种是所测量的频率较高时,采用计数测频法,测量时对原始信号进行分频,而计数周期也要根据信号的大致范围来选择,信号频率越高,计数周期也越短。这样做主要是防止计数值超过计数器的最大计
5、数值而导致测量 错误 。而当原始信号频率较低时,需要采用计时测周法,此时也要进行适当的分频,并根据所测信号频率的大致范围选择合适的高频时钟。 具体分析如下:首先应选择较高的分频系数以及较短的计数周期来测量频率的大致范围,在根据范围选择合适的分频系数及计数周期。先对所测信号进行1/64 分频,计数周期选为 1/64 秒,然后根据计数值对应如 表 1-1 所示关系选择合适的分频系数及计数周期。 4 表 1-1 第一次尝试测量后状态选择 计数值 对应的频率范围 状态 分频系数选择 计数周期选择 8192 以上 8.4MHz 以上 0 1/64 1/16 秒 1024-8191 1.05MHz-8.4
6、MHz 1 1/16 1/8 秒 128-1023 131KHz-1.05MHz 2 1/4 1/4 秒 64-127 16KHz-131KHz 3 1/2 1 秒 64 以下 16KHz 以下 - 测出范围改用计时测周法测量 当测出频率在 16KHz 以下时, 进行第二次尝试,选 1/2 的分频系数和 1 秒的计数周期,根据所测出的频率范围对照 表 1-2,选择合适的分频系数和高频时钟周期,再用计时测周法进行测量。 表 1-2 第二次尝试测量后状态选择 计数值 对应的频率范围 状态 分频系数选择 高频时钟周期 1024-8192 2048Hz-16KHz 4 1/128 2M 128-102
7、4 128Hz-1024Hz 5 1/32 2M 16-128 16Hz-128Hz 6 1/2 2M 16 以下 16Hz 以下 7 1/2 200K 通过上述方法,就可以将信号的频率精确地测量出来。 流程图如图 1-1。 为分析 测量的精度,将测量中各种情况的测量方法总结如表 1-3。从表中可分析看出,在进行精确计算时,计数器的计数值最小为 6250,因此测量过程中的误差可以保证在 0.02%以内,满足 0.1 级的精度。 5 图 1-1 频率测量流程图 6 表 1-3 测量中遇到的各种情况分析 序号 第一次测量计数值 第二次测量 计数值 原始信号频率 测量方法 精确测量时参数选择 精确测
8、量时计数值范围 最终频率计算 公式 分频系数 测量周期 高频时钟 0 8192 以上 - 8.4MHz 以上 计 数 测 频 法 1/64 1/16 秒 - 8192 以上 N*1028 (N*64*16) 1 1024-8191 - 1.05MHz-8.4MHz 1/16 1/8 秒 - 8192-65536 N*128 (N*16*8) 2 128-1023 - 131KHz-1.05MHz 1/4 1/4 秒 - 8192-65536 N*16 (N*4*4) 3 127 以下 8192 以上 16KHz-131KHz 1/2 1 秒 - 8192-65536 N*2 4 127 以下
9、1024-8192 2048Hz-16KHz 计 时 测 周 法 (改 进 ) 1/128 - 2M 7812-62500 256000000/N (2000000*128/N) 5 127 以下 128-1024 128Hz-1024Hz 1/16 - 2M 7812-62500 32000000/N (2000000*16/N) 6 127 以下 16-128 16Hz-128Hz 1/2 - 2M 7812-62500 4000000/N (2000000*2/N) 7 127 以下 16 以下 16Hz 以下 1/2 - 200K 6250 以上 400000/N (200000*2/
10、N) 7 第二章 硬件部分 信号调理 设计 2.1 信号调理流程设计 信号调理部分的 主要目的即将待测信号转换成能输入 FPGA 进行频率测量的方波信号。在设计过程中,信号的上限频率为 10M。首先,需要将输入信号进行隔直。考虑到信号幅值范围较大,对峰幅值较大的信号首先要进行限幅,对峰幅值较小的信号要放大,考虑到需要将信号放大不同的倍数,因此采用程控放大器来实现,由于放大倍数较高,采用多级放大。然后将放大结果进行峰值检测和A/D 转换,根据转换结果来调整放大倍数,直到信号大小满足要求后经过电压比较后输入 FPGA 进行频率测量。如图 2-1 所示。 图 2-1 信号处理流程图 2.2 信号调理
11、部分各个模块设计 1.隔直、限幅 该部分电路图如图 2-2 所示。首先串接电容隔直,并用并联双限幅电路进行限幅,将信号大小限制在 -1V 到 1V 之间,并加一个直流分量,使 系统单电源供电,简化电源 ,并加一个信号跟随器以增加后级电路输入阻抗。 8 图 2-2 隔直、限幅部分电路图 2.放大部分 由于信号最小的峰幅值只有 1mV,需要至少放大 1000 倍,而信号的最高频率为 10M,因此采用程控多级放大。考虑采用增益带宽积较大的放大器,这里选择了 OPA656N,其增益带宽积达到500MHz。由于最小信号 1mV,采用两级放大各放大 40 倍,即能将信号放大到 1.6V,这样即使对最高的频
12、率 10MHz,每个放大器的增益带宽积为 400MHz,满足要求。如图 2-3 所示。 当放大倍数在 40 倍以内时,只需采用一级程控放大,在 40 倍以上时,需要两级程控放大。在程控放大时,由于很少有程控可变电阻能达到 10M 的带宽,因而采用 8 选一模拟开关 CD4051,其带宽可以达到 50M。 图 2-3 放大部分 9 3.电压比较 当信号经过合适的放大倍数放大之后,经过电压比较环节,可以得到方波信号,送入 FPGA,作为原始信号进行频率测量。电压比较器选用 LM119, LM119 每个封装内有两个独立 的 比较器,可由5V 单电源供电。其转换速度快,输入偏置电流小,输出部分具有独立的地线引出端,输出与 TTL 相容 且 灵敏度高,能对弱小信号进行比较 。如图 2-4。 图 2-4 电压比较环节 4.峰值检测和 A/D 转换 图 2-4 峰值检测电路 10 经过放大电路的信号首先经过峰值检测电路,然后经过 A/D,最后输入 FPGA,可以测 出信号经过放大电路后的峰幅值, FPGA 就可以调整程控可变电阻改变放大倍数,直到满足放大要求。如图2-4。 模数转换选用芯片 ADC0832,并将转换结果送入 FPGA 进行处理。