毕业设计低频数字相位测量仪.doc_第1页
毕业设计低频数字相位测量仪.doc_第2页
毕业设计低频数字相位测量仪.doc_第3页
毕业设计低频数字相位测量仪.doc_第4页
毕业设计低频数字相位测量仪.doc_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

攀枝花学院本科毕业设计(论文) 摘要低频数字相位测量仪摘 要设计了一个基于现场可编程门阵列(fpga)和at89s51单片机相结合的低频数字相位测量仪。本系统可分为三大基本组成部分:数据测量电路、数据运算控制电路和数据显示电路。fpga数据测量电路的功能就是实现将待测正弦信号的周期、相位差转变为19位的数字量。单片机数据运算控制电路的功能就是负责读取fpga测量到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。数据显示电路的设计采用静态显示方式,显示电路由8片1位串入8位并出的74ls164芯片组成。本系统拟用fpga和单片机相结合,构成整个系统的测控主体。整个系统发挥了fpga和单片机各自的优势,具有高速而可靠的测控能力,具有比较强的数据处理能力,键盘输入及显示控制比较灵活,系统可扩展性比较好,整个系统性能价格比比较好。关键词 fpga,单片机,频率,相位差,相位测量仪ii 攀枝花学院本科毕业设计(论文) abstractabstractthe paper has designed a low frequency digital phase measuring instrument based on the system which communicates fpga and the microcontroller (at89s51). this system includes three modules: data measuring electric circuit, data operation control circuit and data display electric circuit. the function of the fpga data measuring electric circuit is transforms the cycle, phase difference of the two input sine signals to be 19 bit of digital data. the function about microcontroller data operation control circuit is to read the data which fpga has measured, and according to these data computations the frequency and the phase difference between two group sine signals which have same frequencies, simultaneously through the function key switch, displaying the frequency and phase difference of the two group sine signals. the data display electric circuits design adopting the static state display mode, the display circuit is composed by 8 pieces of 74ls164 chip (8-bit serial-input/parallel-output shift register).this system plans with fpga and the microcontroller, framing the phase measuring instruments dominant measurement and control system. the overall system has displayed fpga and the microcontroller respective superiority, has high speed and the reliable measurement and control ability, and has the quite strong capacity of deal with data, the keyboard entry and the display control also quite flexible. the systems extension is quite good. all the superiorities make the good performance price ratio of this low frequency digital phase measuring instrument. keywords fpga, microcontroller, frequency, phase difference, phase measurement system目 录目 录摘 要iabstractii1 绪论11.1 课题背景11.1.1 研究意义11.1.2 研究现状、水平及发展趋势11.2 课题核心32 系统设计42.1 设计要求42.2 总体设计思想42.3 总体测量思路53 设计方案63.1 测量方案63.1.1频率测量63.1.2 相位差测量83.2 正弦波信号发生器设计93.3 信号整形电路的设计93.3.1 方案论证93.3.2 关于四电压比较器lm339113.4 移相网络设计113.4.1 性能要求113.4.2 方案论证114 fpga数据测量电路的设计144.1 设计原理144.1.1 设计思路144.1.2 fpga数据测量电路的测量原理144.1.3 精度分析144.2 fpga概述154.3 设计平台164.3.1 软件设计平台164.3.2 硬件设计平台174.4 具体软件设计184.4.1 quartus应用184.4.2 软件设计方法194.4.3 模块功能描述和系统原理图194.4.4 运行监测程序204.4.5 程序中端口及引脚定义204.5 具体硬件连接214.5.1 与单片机的连接214.5.2其它连接225 单片机数据运算控制电路的设计235.1 设计思路235.1.1 硬件电路和原理图235.1.2 精度分析245.2 at89s51概述245.2.1 at89s51单片机245.2.2 at89s51特性245.2.3 引脚排列255.2.4 引脚功能265.2.5 低功耗运行模式285.3 设计平台295.3.1 软件设计平台295.3.2 硬件设计平台295.4 软件设计思路295.4.1 主程序设计295.4.2 数据读取模块305.4.3 频率计算模块305.4.4 相位差计算模块315.4.5 显示模块316 数据显示部分336.1 显示电路的设计336.1.1 设计思路336.1.2 led显示器接口原理336.1.3 显示电路图346.2 关于74ls164346.2.1 74ls164概述346.2.2 连接说明346.2.3 数码管的编码357 系统仿真和硬件验证367.1 系统的仿真367.1.1 系统调试的方法367.1.2 系统调试的软/硬件367.1.3 系统的有关仿真367.1.4 仿真分析377.2 系统的硬件验证397.2.1 单元电路的调试397.2.2 系统的联合调试407.2.3 系统的硬件验证407.3 数据测试407.3.1 数据记录407.3.2 数据分析41结 论42附录a:本设计fpga的vhdl源代码45附录b:单片机的汇编语言源程序清单51附录c:适合于quartus的部分器件引脚对照表67附录d:系统总图67参考文献69致 谢70671 绪论1 绪论1.1 课题背景1.1.1 研究意义在电子测量技术中,频率测量是最基本的测量之一。频率是信号的重要参数之一,如何获得这一准确数据已经在信息领域显得越来越重要了。相位测量在信号提取、检测、处理等方面有着重要的应用。随着相位测量技术广泛应用于国防、科研、生产等各个领域,对相位测量的要求也逐步向高精度、高智能化方向发展,在低频范围内,相位测量在电力、机械等部门有着尤其重要的意义,对于低频相位的测量,用传统的模拟指针式仪表显然不能够满足所需的精度要求,随着电子技术以及微机技术的发展,数字式仪表因其高精度的测量分辨率以及高度的智能化、直观化的特点得到越来越广泛的应用。相位差是工业测控领域经常需要测量的参数,如电力系统中功率因数的测量、铁路系统中相敏轨道电路相位差的测量以及科氏质量流量计中的相位差测量等等。1而相位差的测量又不同于传统的电压、电流信号或物位、温度量的测量。首先,相位差信号依附于电压、电流信号中,如何剔除电压、电流、频率变化对相位差测量的影响是相位差测量中很重要的一个方面;其次相位差是一个比较量,测量两路信号之间的相位差不仅需要保证两路信号的频率相同,而且要排除由于两路信号的幅值等其它因素不一致而对测量造成的影响。因此,如何准确可靠地测量相位差是值得研究的课题。1.1.2 研究现状、水平及发展趋势本设计采用eda(electronic design automation)技术,将fpga与单片机相结合来实现的。eda技术就是依赖功能强大的计算机,在eda工具软件平台上,对以硬件描述语言hdl(hardware description language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。eda工程在我国尚未普及,电子行业的专业人员、电子和计算机专业的大学生以及研究生亟需掌握eda工程的理论、方法和技术。2测频常用的测频法和测周期法在实际应用中具有较大的局限性,并且对被测信号的计数存在1个字的误差。而在直接测频方法的基础上发展起来的等精度测频方法消除了计数所产生的误差,实现了宽频率范围内的高精度测量,但是它不能消除和降低标频所引入的误差。采用相检宽带测频技术,不仅实现了对被测信号的同步,也实现了对标频信号的同步,大大消除了一般测频系统中的1个字的计数误差,并且结合了现场可编程门阵列(fpga),具有集成度高、高速和高可靠性的特点,使频率的测量范围可达到1hz2.4ghz,测频精度在1s闸门下达到1011数量级。频率测量是电子测量中经常遇到的问题,如何提高频率测量的准确度是关键。通常采用的方法有如下两种:低频端测周期高频端测频和多周期同步测量频率。采用低频端测周期高频端测频时存在中界频率测量误差很大即测量死区问题,也就是说不论低端和高端测量准确度有多高,中界频率测量误差总是最大。因此从理论上讲频率的测量准确度很难提高到某个数量级;多周期同步测频法则不存在这样的问题,只要周期数足够大,测量的准确度总可以提高到一定程度。但多周期同步测量实际上只是对被测信号进行同步,对时钟信号并未同步,因此它只是一种准同步。根据多周期同步测频原理及测量误差,目前已提出完全同步频率测量的新方法,最后使用单片机实现这种测量,使测量频率的准确度大大提高。完全同步测量就是门控信号与被测信号和标准晶振信号都相关,测量开始和结束时门控信号与被测信号和标准晶振信号都同步,也就是门控时间既是被测信号周期的整数倍又是晶振信号周期的整数倍。这样在门控时间内被测信号和标准晶振信号都没有量化误差,从而实现两信号的完全双同步。利用相位检测技术控制同步触发即可实现。当两路信号在某点相位相同,经过若干周期后它们在同一相位点相位又相同,那么这段时间两路信号一定都经过整数个周期(但周期数不一定相同),用它作为同步门控时间控制两个主门的开启,两个计数器都不会产生1误差,从而实现真正意义上的同步测量。测相位差两种常见的基于过零检测的相位差测量方法1)基于异或门的测量方法:两路同频信号经过零比较后,得到两路同周期的方波。该两方波经异或后得到的脉冲宽度与信号周期的比值(占空比)即对应为两信号的相位差。这里的异或门相当于鉴相器。对脉宽信号的处理有两种方法:a.电压测量法。这种方法需要把脉冲宽度转换成积分电容上的电压信号,然后再通过a/d转换成数字量。由于采用电容充放电的测量形式,故不能用于较高分辨率的测量。这种模拟测量法现已被下述数字法代替。b.数字计数法。通过微处理器或定时、计数器对脉冲宽度计数,这种方法比电压测量法的精度有了一定的提高,但仍存在一些问题,如需要同步地获取异或后脉冲宽度和信号的周期并测量它们,这对于大多数微处理器来说是比较困难的。2)直线近似法:此方法用于双极性信号的测量,故不能用于方波的相位差测量。传统相位差测量方法的测量误差主要来自于对模拟信号的处理过程中,如模拟滤波器在滤除干扰的同时由于元件参数的离散性,测量元件受环境的影响以及元件老化带来的影响都会引入测量误差;又如信号经过比较器时由于比较器门限电压的存在而造成测量误差,这些误差都很难准确估量,也很难消除。目前较准确的测量以基于dsp的相位差的测量为代表,如基于函数计算的测量方法,基于傅立叶变换的测量方法等。1.2 课题核心本设计采用单片机和现场可编程门阵列(fpga)作为低频数字相位测量仪的核心部分。考虑到fpga具有集成度高,i/o资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,本系统拟用fpga和单片机相结合,构成整个系统的测控主体。其中,fpga主要负责测量两个同频待测正弦信号的频率和相位差所对应的时间差,而单片机则负责读取fpga测量到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差,同时通过功能键切换显示出待测信号的频率和相位差。整个系统发挥了fpga和单片机各自的优势,具有高速而可靠的测控能力,具有比较强的数据处理能力,键盘输入及显示控制比较灵活,系统可扩展性能比较好,整个系统性能价格比比较好。2 系统设计2 系统设计2.1 设计要求设计并制作一个低频数字相位测量仪,其设计要求如下:(1) 频率范围:20hz20khz。(2) 相位测量仪的输入阻抗100k。(3) 允许两路输入正弦信号峰-峰值可分别在15v范围内变化。(4) 相位测量绝对误差2。(5) 具有频率测量及数字显示功能。相位差数字显示:相位读数为0359.9,分辨力为0.1。2.2 总体设计思想根据系统的设计要求,本系统可分为三大基本组成部分:数据测量电路、数据运算控制电路和数据显示电路。考虑到fpga具有集成度高,i/o资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,本系统拟用fpga和单片机相结合,构成整个系统的测控主体。其中,fpga主要负责测量两个同频待测正弦信号的频率和相位差所对应的时间差,而单片机则负责读取fpga测量到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差,同时通过功能键切换显示出待测信号的频率和相位差。同时,由于fpga对脉冲信号比较敏感,而被测信号是周期相同、相位不同的两路正弦波信号,为了准确地测出两路正弦波信号的相位差及其频率,我们需要对输入波形进行整形,使正弦波变成方波信号,并输入fpga进行处理。综上所述,整个系统的总体原理框图如图2.1所示。整形电路整形电路ainbinfpga或cpld数据采集电路单片机数据运算控制电路数据显示电路binsains图2.1 系统原理框图2.3 总体测量思路测量原理图如图2.2所示。clkaa、clkbb为两路频率相同、相位不同的正弦波信号整形后得到的方波信号;clkf为fpga数据采样信号(频率为10mhz);ena为时间检测使能信号,它是在fpga内部根据clkaa、clkbb产生的(例如图示是根据clkaa产生的)。图2.2 测量原理示意图fpga测量原理:在ena有效期间,当任意一路待测信号的下降沿来时(例如图中所示为clkaa),fpga开始对clkf周期(tc)进行计数,计至另一路信号的下降沿来时(例如图中为clkbb),此时得到一个19位的计数值,该计数值我们设它为n1,即为对两个同频正弦信号的时间差计数得到的计数值;ena还在有效期间,fpga继续对clkf周期进行计数,计至第一路信号(例如图示中为clkaa)的又一个下降沿来时,此时得到一个19位的计数值,该计数值我们设它为n2,即为对被测正弦信号的周期计数得到的计数值。单片机计算原理:单片机从fpga读取信号的周期和a、b信号相位差所对应的时间差,为了达到系统所要求的精度,在计算时为了保证不丢失数据,采用扩大数据倍数,定点取数的方法。在计算频率和相位差f和相位差时,f和分别扩到了10 000 000倍和10倍,即 式(2.1) 式(2.2)然后定点取数值,在单片机完成的计算中,当,时,数据位数位,因此采用了多字节乘法,保证了数据的计算准确。3 设计方案3 设计方案3.1 测量方案3.1.1频率测量方案一:采用测周期法。需要有标准信号的频率f0,在待测信号的一个周期tx内,记录标准频率的周期数ns,则被测信号的频率为 式(3.1)如图3.1所示。这种方法的计数值会产生个脉冲误差,并且测试精度与计数器中记录的数值ns有关。为了保证测试精度,测周期法适合于低频信号的测量。图3.1 测周期法测量频率示意图方案二:采用测频法。测频法就是在确定的闸门时间tw内,记录被测信号的变化周期数(或脉冲个数)nx(如图3.2所示),则被测信号的频率为 式(3.2)这种方法的计数值会产生个脉冲误差,并且测试精度与计数器中记录的数值nx有关。图3.2 测频法测量周期频率示意图方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的现场可编程门阵列fpga为实现高速,高精度的测频提供了保证。等精度测频法:其实现方式可用图3.3来说明。图3.3 等精度测频法原理框图图中,预置门控信号是宽度为tpr的一个脉冲,cnt1和cnt2是两个可控计数器。标准频率信号从cnt1的时钟输入端clk输入,其频率为fs,经整形后的被测信号从cnt2的时钟输入端clk输入,设其实际频率为fx;当预置门控信号为高时,经整形后的被测信号的上升沿通过d触发器的q端同时启动计数器cnt1和cnt2。cnt1和cnt2分别对被测信号(频率为fs)和标准频率信号(频率为fx)同时计数。当预置门信号为低时,随后而至的被测信号的上升沿将两个计数器同时关闭。设在一次预置门时间tpr内对被测信号的计数值为nx,对标准信号的计数值为ns。则下式成立: 式(3.3)由此推得: 式(3.4)若所测频率值为fx,其真实值为fxe,标准频率为fs,一次测量中,由于fx计数的起停时间都是该信号的上跳沿触发的,因此在tpr时间内对fx的计数nx无误差,在此时间内的计数ns最多相差一个脉冲,即et1,则下式成立: 式(3.5) 式(3.6)可分别推得 式(3.7) 式(3.8)根据相对误差的公式有 式(3.9)经整理可得到 式(3.10)因et1,故et/ns1/ns,即 式(3.11) 式(3.12)根据以上分析,我们可知等精度测频法具有三个特点:相对测量误差与被测频率的高低无关;增大tpr或fs可以增大ns,减少测量误差,提高测量精度;测量精度与预置门宽度和标准频率有关,与被测信号的频率无关,在预置门和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。经过综合考虑,结合设计需求,选用第三种方案,即用等精度测频法来实现本设计频率测量。3.1.2 相位差测量方案一:将被测的两路正弦波信号整成方波信号,利用异或门电路进行鉴相处理,将得到的脉冲序列经过rc平滑滤波取出其直流分量,该直流电平的幅值与两路信号的相位差成正比,将此信号送入a/d转换器由单片机进行运算处理从而计算出相位差值。方案二:采用脉冲填充计数法,将正弦波信号整成方波信号,其前后沿分别对应于正弦波的正相过零点与负相过零点,对两路方波信号进行异或操作之后输出脉冲序列的脉宽可以反映两列信号的相位差,以输入信号所整成的方波信号作为基频,经锁相环倍频得到的高频脉冲作为闸门电路的计数脉冲,由单片机对获取的计数值进行处理得到两路信号的相位差。方案三:将两路被测正弦波信号整成方波信号,在一路信号的上升沿来时鉴相部分同方案二,将两路方波信号异或后与晶振的基准频率进行与操作,得到一系列的高频窄脉冲序列。通过两片计数器同时对该脉冲序列进行计数,一路方波信号送入单片机外部中断口,作为控制信号控制两片计数器。得到的两路计数值送入单片机进行处理得到相位差值。对以上三种方案进行比较,方案一在低频段时,rc滤波电路的输出波动很大,难以达到要求的相位精度,而方案二在所测频率较高时,受锁相环工作频率等参数的影响会造成相位差测量的误差,极大地影响测量的精度,采用方案三由高精度的晶振产生稳定的基准频率,可以满足系统高精度、高稳定度的要求。3.2 正弦波信号发生器设计方案一:采用模拟分立元件或单片机控制函数发生器完成设计。通过调整外部元件可以改变输出频率,产生正弦波。但是采用模拟器件分散性大,产生的频率稳定性较差、精度低、抗干扰能力差、成本也比较高。方案二:采用直接数字频率合成,用单片机作为核心控制部件,能达到较高的要求,实现各种波形输出,但受限于运算位数及运算速度,产生的波形往往需通过滤波器才能达到满意效果,并且频率可调范围小,很难得到较高频率。方案三:采用直接数字频率合成,用fpga器件作为核心控制部件,精度高稳定性好,得到波形平滑,特别是由于fpga的高速度,能实现较高频率的波形,且控制上更方便,可得到较宽频率范围的波形输出,步进小。第三种方案具有更大的优越性、灵活性,所以采用第三种方案进行设计。3.3 信号整形电路的设计3.3.1 方案论证方案一:最简单的信号整形电路就是用一块集成的施密特触发器,例如mc1422、cc/cd40106、ha4900等,如图3.3所示为40106的内部结构及引脚图。图3.3 cd40106的内部及引脚图方案二:采用一个单门限电压比较器(如图3.4所示),当输入信号没通过一次零时触发器的输出就要产生一次突然的变化。当输入正弦波时,每过一次零,比较器的输出端将产生一次电压跳变,它的正负向幅度均受到供电电源的限制,因此输出电压波形是具有正负极性的方波,这样就完成了电压波形的整形工作。但该信号整形电路抗干扰能力差:由于干扰信号的存在,将导致信号在过零点时会产生多次触发的现象,从而影响本系统中fpga计数,使单片机无法计算出正确数值。图3.3 采用单门限触发器的整形电路 方案三:为了避免过零点多次触发的现象,我们使用施密特触发器组成的整形电路。施密特触发器在单门限电压比较器的基础上引入了正反馈网络。由于正反馈的作用,它的门限电压随着输出电压uo的变化而改变,因此提高了抗干扰能力。权衡以上三种方案,本设计选用第三种方案。本系统中我们使用两个施密特触发器对两路信号进行整形,电路如图3.4所示。图中比较器lm339连接成施密特触发器的门限电平相等(通过调节电位器r8使得两个施密特触发器的门限电平相等)。图3.4 采用施密特触发器的整形电路3.3.2 关于四电压比较器lm339lm339集成块内部装有四个独立的电压比较器,该电压比较器的特点是:1)失调电压小,典型值为2mv;2)电源电压范围宽,单电源为(236)v,双电源电压为(118)v;3)对比较信号源的内阻限制较宽;4)共模范围很大,为0(ucc-1.5)v;5)差动输入电压范围较大,大到可以等于电源电压;6)输出端电位可灵活方便地选用。集成电压比较器是一种专用的运算放大器,用于模拟信号的比较。此时,运算放大器在开环状态下工作,由于开环放大倍数很大,所以比较器的输出往往不是高电平就是低电平,常用比较器都是开路输出,故要在输出端和电源间接一个10k左右的电阻器。lm339集成块采用c-14型封装,图3.5为外型及管脚排列图。图3.5 lm339的引脚排列图3.4 移相网络设计3.4.1 性能要求(一) 输入信号频率:100 hz、1 khz、10 khz;(二) 连续相移范围:-45+45;(三) a、b输出的正弦信号峰-峰值可分别在0.3v5 v范围内变化。3.4.2 方案论证方案一:直接对模拟信号移相,如阻容移相,变压器移相等。采用这种方式设计的移相器有许多不足之处,如:输出波形受输入波形的影响,移相操作不方便,移相角度随所接负载和时间等因素的影响而产生漂移等。采用rc电路的原理可知,阻容移相网络在不同频率的正弦波电压通过rc电路时,输出端的电压幅度和相位与输入不同。两种简单的移相电路如图3.6所示。图3.6 阻容移相网络在图3.6中,图(a)的模和相角分别为: 式(3.13) 式(3.14)图(b)的模和相角分别为: 式(3.15) 式(3.16)显然,两种移相网络都是随着频率的改变,单字节rc电路中所产生的移相在090之间变化。为满足基本部分连续移相范围:-45+45的要求,需采用一个相位超前的移相网络和一个相位滞后的移相网络。有源移相原理图如图3.7所示。图3.7 移相网络通过调整电路的电阻、电容等参数,电路可以实现对特定频率信号的移相,但在被移相信号频率发生变化时,模拟移相电路的相应参数势必要随之调整。如图3.8所示为移相电路矢量图,由其矢量图可知,当电阻、电容的等效阻抗相等时,移相范围可以满足90要求,即,。当频率f变化时,经理论计算结合pspice仿真,得到r、c的具体参数如下:f=100hz,r=160k、c=10nf;f=1khz,r=16k、c=10nf;f=10khz,r=1.6k、c=10nf;通过改变r3、r4的阻值来改变输出信号的幅值。图3.8 移相电路矢量图对于题目要求给出的100hz、1khz、10khz的三个频率,还可以用fpga通过四选一模拟开关cd4025 来选择对应的三路模拟移相电路,可以满足基本要求。但要在各个频率范围内实现高精度的移相,硬件电路将会很复杂。方案二:采用模拟锁相环(pll)的方式,将360hz方波信号通过锁相环电路倍频到360*(20hz20khz)的频率上,然后通过地址计数器寻址360个点的正弦表,得到20hz20khz的正弦信号。由于该方法使采用模拟方式对基频信号倍频产生地址信号,其频率稳定度差,且频率值不够精确。方案三:采用直接数字频率合成方式。直接数字频率合成的输出频率为: 式(3.17)其中f为外部时钟信号,n为相位累加值,n为累加器位数。按照公式,若要使步进值为整数,则f应为2n的整数倍。这种晶振比较难找。由于正弦表360个点,采用18.432mhz的时钟信号正好为360hz的整数,为了使步进值为整数,可改变的相位累加器的满计数值。取累加计数器计满值25600,每计满25600输出一个脉冲,则脉冲的频率 式(3.18)频率步进值为720hz时,若寻址360个点的正弦波形表,则输出正弦波的步进值为2hz。n的最大值为12800,输出频率最大值为128002hz=25.6khz,预置地址计数器的数据可改变两路正弦信号的相位差。该方案中大部分采用fpga实现,具有设计灵活、外围电路简单的优点。综合以上三种方案,本设计采用方案三。4 fpga数据采集电路的设计4 fpga数据测量电路的设计4.1 设计原理4.1.1 设计思路fpga数据测量电路的功能就是实现将待测正弦信号的周期、相位差转变为19位的数字量。fpga数据测量的硬件电路我们可采用fpga下载板来实现,该下载板包含fpga芯片、下载电路和配置存储器。本电路主要是进行fpga的硬件描述语言(hdl)程序设计。根据系统的总体设计方案,fpga数据测量电路的输入信号有:clk系统工作用时钟信号输入端;clkaa,clkbb两路被测信号输入端;en单片机发出的传送数据使能信号,在en的上升沿,fpga向单片机传送数据;rsel单片机发出的传送数据类型信号,当rsel=0时,fpga向单片机传送被测信号的频率数据;当rsel=1时,fpga向单片机传送被测信号相位差数据。fpga数据采集电路的输出信号有:data18.0fpga到单片机的数据输出口,由输出控制信号en和rsel控制。其应实现的功能就是负责对被测信号频率数据和相位差数据的实时测量。4.1.2 fpga数据测量电路的测量原理fpga数据测量电路测量正弦波信号频率的原理是:在正弦波信号整形后得到的方波信号的一个周期内对周期为tc秒的数据采样信号进行计数,其计数结果乘以1/tc,就是被测正弦波信号的频率,单位为hz。测量正弦波信号周期的原理是:在正弦波信号整形后得到方波信号的一个周期内对周期为tc秒的数据采样信号进行计数,其计数结果乘以tc秒,就是被测正弦信号的周期,单位为秒。测量两个同频正弦波信号的相位差,关键是要测出两个同频正弦波信号起点之间的时间差t,若t测出,则根据=t360/t即可求出相位差,因此其测量原理与测量正弦波信号周期的原理相似。4.1.3 精度分析本数字式相位测量仪的要求是测试并显示输入信号频率范围在20hz20khz,测试并显示信号a、b的相位差,相位差的变化范围为=0359.9,相位差的显示分辨力为0.1,要求测量相位的绝对误差2。由此可知: 由以上分析可知,要保证系统要求的精度,必须采用低于1/0.27s=3.7mhz的采集速度对信号周期进行计数,为进一步提高测量精度,同时便于计算,我们采用了10mhz方波信号作为fpga数据采样信号,fpga在10mhz时钟信号作用下对待测信号周期计数,并对两个同频正弦信号的相位差所对应的时间差进行计数,分别得到19位数字量的物理单位是0.1s。本设计采用20mhz的高频晶体振荡源,由fpga内部的分频模块对20mhz信号进行二分频,得到10 mhz的数据采样信号,其采样周期为0.1s。为了实现中低频测量精度的要求,我们可采用10mhz的信号来循环计数被测信号的周期和两个同频正弦波信号的相位差所对应的时间差值,时间单位为0.1s。也就是说,计数周期和相位差所对应的时间差值的精度是0.1s。利用被测信号来刷新采样计数,在20hz时,刷新频率可以精确到10hz,20khz时达到10khz,可以实现高频多测量,低频少测量的效果,时间计数精确可靠,为后面单片机的数据处理提供了稳定、可靠的数据源。4.2 fpga概述fpga采用了cmos_sram工艺,其内部结构是由多个独立的可编程逻辑模块(clb)组成,逻辑模块之间可以通过连线灵活地互连。fpga需要从外部加载配置数据,配置数据一般存储在片外存储器或是计算机上。设计者可以控制加载过程,在现场修改器件的逻辑功能,故称为现场可编程门阵列。fpga由许多小的逻辑功能块clb组成,clb包括一个可编程查找表和寄存器。fpga具有规模大,状态寄存器多、编程灵活的优点,适合于多状态逻辑,被广泛应用于各类数字逻辑及数字通信系统电路中。fpga芯片以操作灵活著称,可以重复擦写无限次,而微处理器均采用固定电路,只能进行一次设计。设计人员可通过改变fpga中晶体管的开关状态对电路进行重写,即重配置。从而,尽管fpga芯片的时钟频率要低于奔腾处理器,但是由于fpga芯片可并行处理各种不同的运算,所以可完成许多复杂的任务。随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中,现场可编程(fpga)技术含量正以惊人的速度上升。电子类的新技术项目的开发也更多地依赖于fpga技术的应用,特别是随着vhdl等硬件描述语言综合工具功能和性能的提高,计算机中许多重要的元件,包括cpu都用硬件描述语言来设计和表达,许多cpu(如8051单片机、8086等),硬核嵌入式系统(如arm、excalibur系列fpga)、软核嵌入式系统(如nios),微机cpu,乃至整个计算机系统都用fpga来实现,即所谓的单片系统:soc和sopc(system on a chip、system on a programmable chip )。计算机和cpu的设计技术及其实现方法进入了一个全新的时代!4.3 设计平台本测频系统中fpga芯片是采用altera公司cyclone系列的ep1c3t144,该器件采用tpfq封装,拥有100个i/o口和2910个逻辑单元。本系统采用vhdl和blockdiagram/schematic相结合的方法来对各功能模块进行逻辑描述,然后通过eda开发平台,对设计文件自动地完成逻辑编译、逻辑化简、综合及优化、逻辑布局布线、逻辑仿真,最后对fpga芯片进行编程,实现系统的设计要求。fpga配置采用了专用配置芯片epcs1,用byteblaster ii对其进行下载编程。4.3.1 软件设计平台本系统fpga开发软件采用altera公司开发的quartus ii 软件。界面如图4.1所示。图4.1 quartus 操作界面4.3.2 硬件设计平台gw48-pk2(gw系列sopc/eda试验开发系统)altera公司cyclone系列的ep1c3t144c8芯片gw系列sopc/eda试验开发系统的实验电路结构是可控的。即可通过控制接口键,使之改变连接方式以适应不同的实验需要。从物理结构上看,实验板的电路结构是固定的,但其内部的信息流在主控器的控制下,电路结构将发生变化重配置。这种“多任务重配置”设计方案的目的有3个:(1)适应更多的实验与开发项目;(2)适应更多的pld公司的器件;(3)适应更多的不同封装的fpga和cpld器件。由于该系统具有以上优越性,故为本课题设计带来诸多方便。现就本课题涉及的主要部件做相关说明。1)“模式选择键”:按动该按键能使实验板产生12种不同的实验电路结构。2)byteblaster编程配置口:该口主要用于对cyclone系列as模式专用配置器件epcs4和epcs1等编程。3)混合工作电压源:系统不必通过切换即可为cpld/fpga目标器件提供5v、3.3v、2.5v、1.8v和1.5v工作电源。4)jp5编程模式选择跳线:如果要对cyclone的配置芯片进行编程,应该将跳线接于“bybt”端,在将标有“byteblaster”编程配置口同适配板上epcs4/1的as模式下载口用10芯线连接起来,通过quartus进行编程。当短路“others”端时,可对其它所有器件编程。5)数码管18/发光管d1d16:受“多任务重配置”电路控制。6)“时钟频率选择”:通过短路帽的不同接插方式,使目标芯片获得不同的时钟频率信号。7)单片机接口器件:它与目标板的连接方式也已标于主系统板上。若开关向“to-fpga”拨,将rs232通信接口直接与fpga相连;若开关向“to-mcu”拨,则与89s51单片机的p30和p31端口相接。于是通过此开关可以进行不同的通信实验。平时此开关应该向“to-mcu”拨,这样可不影响fpga的工作。8)系统复位键:此键是系统板上负责监控的微处理器的复位控制键,同时也与接口单片机和lcd控制单片机的复位端相连。因此兼作单片机的复位键。以上只粗略介绍了一些主要的功能,以用于说明在设计中的应用。其余功能不再赘述。ep1c3t144c8的相关性能及说明1)封装形式:tqfp2)引脚个数:1443)speed grade:84)les:29105)memory bits:599046)pll:14.4 具体软件设计4.4.1 quartus应用quartus是著名的cpld制造商之一的altera公司新近开发的eda工具,是一个集成的设计环境。该软件可以实现设计输入、逻辑综合、功能仿真、时序分析、器件编程。这实现了可编程项目设计开发的全部过程。quartus也支持许多第三方的设计工具。quartus支持多种设计输入方法:1) 原理图式图形设计输入;2) 文本编辑,支持ahdl、vhdl、verilog多种硬件描述语言;3) 内存编辑,支持hex、mif文件格式。项目设立的方法:接到一个新的设计项目,着手进行项目设计,新项目的设立有7个步骤。1) 打开新建项目指南(file/new project wizard);2) 选择工作目录;3) 项目名称可以是任何名字,一般使用和顶层设计名相同的名字;4) 顶层设计,名称必须和顶层文件名称相同;5) 加入设计文件:并不是该目录下的所有文件都要被加入,假如顶层设计和顶层文件的名字不一样的,一定要加入顶层文件的名字;_graphic(.bdf,.gdf)_ahdl_vhdl_verilog_edif6) 加入用户自己定义的库函数的路径和文件名;7) 检查结果然后按结束。设计项目的下载编程操作:1) 打开下载窗口(processing/open programmer);2) 下载设置,设置下载电缆(hardware setup),设置jtag键(新建一个jtag键,然后设置jtag模式,再加入文件)3) 开始下载,被编程器件与下载电缆连接正确,加上合适的电压(2.5v或3v),即可对器件编程。4.4.2 软件设计方法本程序的设计方法采用的是多个模块(blocks)描述复杂结构体的方法。在该结构下,在描述复杂功能块时又采用多进程(process)的子结构方式,这样的结构使整个程序思路显得更清晰。具体源代码见附件a第一部份。4.4.3 模块功能描述和系统原理图根据以上设计思想,fpga数据测量电路可设计成五个模块,它们分别是:时钟信号分频模块fpq,测量控制信号发生模块kzxh,被测信号有关时间检测模块sjjc,数据锁存模块sjsc和输出选择模块scxz。其中时钟信号分频模块fpq的作用是:将输入的20mhz的信号分频成10mhz的测控基准时钟信号clkf。测量控制信号发生模块kzxh的作用是:根据两路被测信号整形后的方波信号clkaa和clkbb,产生有关测控信号,包括时间检测使能信号ena,时间检测清零信号clra,锁存频率数据控制信号loada,锁存两被测信号相位差数据控制信号clb。被测信号频率和相位差数据检测模块sjjc的作用是:在控制信号ena和clra的控制下,对测控基准时钟信号clkf进行计数和清零,以便获取有关频率和相位差数据。数据锁存模块sjsc的作用是:在loada的上升沿将频率数据锁存在dataa中,在clb的下降沿时将相位差数据锁存在datab中,输出选择模块scxz的作用是:根据单片机发出的控制信号数据传送使能信号en和输出数据类型选择信号rsel,将被测信号频率数据或相位差数据输出。本设计fpga数据测量电路的系统组成原理图如图4.2所示。图4.2 fpga数据测量电路系统组成

温馨提示

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

评论

0/150

提交评论