数字式相位差测量仪的设计说明_第1页
数字式相位差测量仪的设计说明_第2页
数字式相位差测量仪的设计说明_第3页
数字式相位差测量仪的设计说明_第4页
数字式相位差测量仪的设计说明_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录绪论11 系统设计方案21.1 设计任务的分析21.1.1 设计主要容与基本要求21.1.2 技术指标21.2 系统方案的选择21.3 系统的总体设计方案32 系统硬件电路的设计42.1 信号整形电路的设计42.1.1 LM339 的简介42.1.2 最简单的信号整形电路的设计42.1.3 采用了施密特触发器组成的信号整形电路的设计52.2 FPGA数据采集电路62.2.1 FPGA数据采集电路的功能分析62.2.2 FPGA数据采集电路的原理72.2.3 FPGA数据采集电路中各模块确定72.3 单片机数据运算控制电路的设计82.3.1 单片机数据运算控制电路的设计82.3.2 数据显

2、示电路的设计93 软件部分的设计123.1 FPGA数据采集电路的VHDL语言程序设计123.1.1 VHDL语言的简介123.1.2 VHDL语言程序设计123.2 单片机数据运算控制电路的程序设计123.2.1 数据处理的技巧分析123.2.2 软件设计思路134 系统的仿真与调试174.1 FPGA数据采集电路的调试174.1.1 软件调试174.1.2 程序下载194.1.3 调试中的问题204.2 单片机数据运算控制电路的软件制作与调试204.2.1 操作过程204.2.2 问题分析214.3 系统的联合调试与验证21结论22参考文献23附录一:元器件清单25附录二:程序清单26致4

3、7数字式相位差测量仪的设计摘 要本设计数字式相位差测量系统使用FPGA和单片机相结合,构成整个系统的测控主体。FPGA主要负责采集两个同频待测正弦信号的频率和相位差所对应的时间差,而两个同频待测正弦信号经过信号整形电路变成方波后送入FPGA数据采集电路中。而单片机负责读取FPGA所采集到的数据并根据这些数据计算待测正弦信号的频率和相位差,并同时通过功能键切换在八位七段共阳极数码管上显示出待测信号的频率和相位差,具有数字显示功能。此系统具有不易受外界干扰,可靠性好,测量精度高等优点。如在此设计基础上进一步从可靠性、稳定性等方面进行完善,便可应用于实际的工业系统之中。关键词相位差 测量 FPGA

4、单片机Design of Digital Phase Difference Measurement InstrumentAbstractThe design that digital phase difference measurement system combines FPGA with SCM which constitutes the main measuring and controlling system of this entire design. FPGA is used to collect the time differencesrespectively correspon

5、ding to the frequency and phase difference of the measured sine signals with the same frequency.Ahead of that ,the measured sine signals of the same frequency should be changed to the forms of square waves by the plastic circuit module.At the same time, SCM is used to accept the data signals collect

6、ed by FPGA , and then according to these data signals ,calculates the frequency and phase difference of the measured sine signals with the same frequency. And also on the meanwhile, SCM can switch the function buttons to show frequency and phase difference by the 8 Common Anode Seven-Segment LEDswhi

7、ch have the functions of digital display. This system can resist the outside interferences and has the advantages of reliability and high- precision measurement .If this design is further improved in stabilization and reliability , it can be used in the real industrial system . Keywordsphase differe

8、nce measurementFPGA SC47 / 51绪论 同频率正弦信号间的相位差测量在电工技术、工业自动化、智能控制与通讯、电子等许多领域都有着广泛的应用,如电工领域中的电机功角测试,介质材料损耗角的确定等。因此,相位差测量技术有着广泛的实用价值。故本项课题具有重要的学术价值和较大的社会效益。传统的硬件法测量,是纯粹地使用模拟电路的方法。由于其电路结构比较复杂、易受外界干扰影响以与准确度较差等缺点,限制了它的发展。而FPGA是20世纪90年代发展起来的大规模可编程逻辑器件,随着EDA(电子设计自动化)技术和微电子技术的进步,FPGA的时钟延迟可达到ns级,结合其并行工作方式,在超高速、

9、实时测控方面具有广阔的应用前景1;并且FPGA具有高集成度、高可靠性,I/O资源丰富,可以现场在线编程等优点,几乎可将整个设计系统下载于同一芯片中,实现所谓片上系统,从而大大缩小其体积。而单片机具有很好的人机接口和运算控制功能。根据以上芯片的特点,本设计大概可以分为三个部分进行:数据采集电路、数据运算控制电路和显示电路。鉴于FPGA具有集成度高,I/O资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,本系统采用FPGA完成数据采集,结合单片机进行数据处理以与键盘和显示的控制,从而构成一个完整的相位测量系统。其中,FPGA主要负责采集两个同频待测信号的频率和相位

10、差所对应的时间差,并把结果通过I/O口输出给单片机,而单片机负责读取来自FPGA的数据,并根据这些数据计算待测正弦信号的频率与两路同频正弦信号的相位差,同时通过功能键切换从数码管显示出待测信号的频率和相位差3。同时,在系统的前端,需要对被测正弦信号通过迟滞比较器进行整形,使正弦波变成方波信号,并送给FPGA进行处理,此外,考虑到对系统输入阻抗的要求,需在整形电路前加一级跟随器以提高输入阻抗,数字式相位差测量系统采用FPGA和单片机相结合,构成整个设计系统的测控主体。此系统具有不易受外界干扰,可靠性好,测量精度高等优点,具有一定的研究意义和开发价值。如在此设计基础上进一步从可靠性、稳定性等方面进

11、行完善,便可应用于实际的工业系统之中。1 系统设计方案1.1 设计任务的分析1.1.1 设计主要容与基本要求设计一个具有数字显示功能的简易低频数字式相位测量系统,要求采用FPGA、基于VHDL语言来实现系统中的关键技术,要求进行测量方法的分析比较并选择一种高精度测量方案加以实现。1.1.2 技术指标(1)信号频率围:20Hz20kHz。 (2)相位测量仪的输入阻抗100kW。 (3)相位测量绝对误差2°。 (4)相位差数字显示:相位读数为0°-359.9°,分辨力为0.1°。1.2 系统方案的选择传统的硬件法测量,是纯粹地使用模拟电路的方法。由于其电路结

12、构比较复杂、易受外界干扰影响以与准确度较差等缺点,限制了它的发展。且这种方法难以满足设计任务书的各项要求。如果仅仅用8051单片机因其填充计数脉冲的限制,也达不到设计任务书的各项要求。而FPGA是20世纪90年代发展起来的大规模可编程逻辑器件,随着EDA(电子设计自动化)技术和微电子技术的进步,FPGA的时钟延迟可达到ns级,结合其并行工作方式,在超高速、实时测控方面具有广阔的应用前景2;并且FPGA具有高集成度、高可靠性,I/O资源丰富,可以现场在线编程等优点,几乎可将整个设计系统下载于同一芯片中,实现所谓片上系统,从而大大缩小其体积。而单片机具有很好的人机接口和运算控制功能。本设计数字式相

13、位差测量系统拟用FPGA和单片机相结合,构成整个设计系统的测控主体。FPGA主要负责采集两个同频待测信号正弦信号的频率和相位差所对应的时间差,而单片机负责读取FPGA所采集到的数据并根据这些数据计算待测正弦信号的频率和相位差,并同时通过功能键切换显示出待测信号的频率和相位差,具有数字显示功能。此系统能够完全满足设计任务书的各项要求,且具有不易受外界干扰,可靠性好,测量精度高等优点,具有一定的研究意义和开发价值。如在此设计基础上进一步从可靠性、稳定性等方面进行完善,便可应用于实际的工业系统之中。因此由于以上的原因和条件的限制,我们选择了本设计方案。1.3 系统的总体设计方案根据系统的设计要求,本

14、系统可分为三大基本组成部分:数据采集电路、数据运算控制电路和显示电路。鉴于FPGA具有集成度高,I/O资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,本系统采用FPGA完成数据采集,结合单片机进行数据处理以与键盘和显示的控制,从而构成一个完整的相位测量系统。其中,FPGA主要负责采集两个同频待测信号的频率和相位差所对应的时间差,并把结果通过I/O口输出给单片机,而单片机负责读取来自FPGA的数据,并根据这些数据计算待测正弦信号的频率与两路同频正弦信号的相位差,同时通过功能键切换从数码管显示出待测信号的频率和相位差3。同时,在系统的前端,需要对被测正弦信号通过

15、迟滞比较器进行整形,使正弦波变成方波信号,并送给FPGA进行处理,此外,考虑到对系统输入阻抗的要求,需在整形电路前加一级跟随器以提高输入阻抗。系统总体框图如图1-1所示。图1-1 相位差测量系统总体框图2 系统硬件电路的设计2.1 信号整形电路的设计2.1.1 LM339 的简介LM339集成块部装有四个独立的电压比较器,该电压比较器的特点是:(1)失调电压小,典型值为2mV;(2)电源电压围宽,可单电源供电也可双电源供电。单电源为236V,双电源电压为±1V±18V;(3)对比较信号源的阻限制较宽;(4)共模围很大,为0 (Ucc-1.5V)Vo;(5)差动输入电压围较大

16、,大到可以等于电源电压;(6)输出端电位可灵活方便地选用。LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择LM339输入共模围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此把LM339用在弱信号检测等场合

17、是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻(称为上拉电阻)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用。2.1.2 最简单的信号整形电路的设计最简单的信号整形电路就是一个单门限电压比较器,如图2-1所示,当输入信号每通过一次零时,触发器的输出就会产生一次突然的变化。当输入正弦波时,每跳过一次零时,比较器的输出端将产生一次电压跳变,它的正负向幅度均受供电电源的限制,因此输出电压波形是具有单极性的方波,这样就完成了波形

18、的整形工作。但该整形电路抗干扰能力差;由于干扰信号的存在,将导致信号在过零点时会产生多次触发的现象,从而影响本系统中计数,使单片机无法计算出正确的数值。图2-1 采用单门限电压触发器的整形电路2.1.3 采用了施密特触发器组成的信号整形电路的设计考虑到单门限的电压比较器抗干扰能力差,容易造成误触发,为避免此缺点,应采用迟滞比较器来实现整形。由于本系统只需完成2020kHz的低频信号相位差测量,故本系统中采用性价比较高的集成电压比较器构成迟滞比较器便可较好地完成整形功能。具体使用了施密特触发器组成的整形电路。施密特触发器引入了正反馈,由于正反馈的作用,它的门限电压随着输出电压Uo的变化而变化,因

19、此提高了抗干扰能力。本系统中使用了两个施密特触发器对两路信号进行整形,电路图如图2-2所示。图中比较器LM339连接成的施密特触发器对两路信号进行整形,为了保证输入电路对相位测量不带来误差。必须保证两个施密特触发器的门限电平相等(通过调节电位器R8使得两个施密特触发器的门限电平相等)。在后面的FPGA数据采集电路中需要鉴别的是其整形后的方波的上升沿或下降沿,因此没有必要需要双极性的方波,只需要单极性即可。又因为实验电源的限制,采用了单极性电源供电,得到了仅有正极性的方波,同时经过了实践的证明,这样取得了良好的效果。又因为采用了5V的稳压源,则在LM339的2脚和1脚处得到的是幅度为5V的方波。

20、而FPGA芯片只能接受3.3V幅度的电压,因此在2脚和1脚处采用电阻分压的方式进行分压,将5V幅度的正极性方波降为幅度为3.3V的正极性方波在AIN、BIN处输出到FPGA芯片对应的输入端CLKAA和CLKBB,保证了FPGA芯片的安全性4。图2-2采用施密特触发器的整形电路2.2 FPGA数据采集电路2.2.1 FPGA数据采集电路的功能分析FPGA数据采集电路的功能就是实现将待测正弦信号的周期和相位差转变为19位的数字量。FPGA数据采集的硬件电路我们采用了FPGA下载电路来实现,具体使用了康芯公司的GW48系列SOPC/EDA实验箱系统,该实验箱包含FPGA芯片,下载电路和配置存储器,其

21、电路结构可参照其说明书5。本电路主要是进行FPGA的硬件描述语言VHDL程序设计。根据系统的总体设计方案,FPGA数据采集电路的输入信号有:CLK系统工作时钟输入端;CLKAA,CLKBB两路被测信号的输入端; EN 单片机的传送数据使能信号,在EN 的上升沿,FPGA向单片机传送数据;RSEL单片机发出的传送数据类型信号,当RSEL=0时,FPGA向单片机传送被测信号的频率数据,当RSEL=1时,FPGA向单片机传送被测信号的相位差数据。FPGA的输出信号有:DATA180FPGA到单片机的数据输出口,由输出控制信号EN和 RSEL控制。其应当实现的功能就是负责对被测信号的频率数据和相位差数

22、据进行实时的测量。2.2.2 FPGA数据采集电路的原理该数据采集电路的基本原理就是计数法的原理,测量误差较小,能满足任务书中对精度的要求。在正弦波信号整形后得到的方波信号的一个周期对周期为Tc秒的数据采样信号进行计数,其计数结果乘以1/Tc,就是被测正弦波信号的频率,单位是Hz。测量正弦波信号周期的原理是:在正弦波信号整形后得到的方波信号的一个周期对周期为Tc秒的数据采样信号进行计数,其计数结果乘以Tc秒,就是被测正弦波信号的周期,单位是秒。测量两个同频正弦波信号的相位差,关键是要测出两个同频正弦波信号起点之间的时间差t,若t测量出,则根据=t*360°/ t即可求出相位差,因此其

23、测量原理和测量正弦波信号周期的原理相似6。本数字式相位测量仪的要测试并显示出输入信号围在20Hz20kHz,测试并显示信号a、b的相位差,相位差的变化围为=0°359.9°,相位差的显示分辨力为0.1°,要求测量相位的绝对误差2°。由此可知: Fmin=20Hz , Tmax= 1/ Fmin =50ms , t<TmaxFmax=20kHz , Tmin= 1/ Fmax =50us2° t=(2°/360°)*Tmin=0.27us由以上分析可知,要保证系统精度的要求,必须采用高于1/0.27 us=3.7MHz的

24、采集频率对周期进行计数,为进一步提高测量精度,同时便于计算,采用了10MHz方波信号作为FPGA数据采样信号,FPGA在10MHz时钟作用下对待测信号周期进行计数,并对两个同频正弦波信号起点之间的时间差进行计数,分别得到19位数字量,19位数字量的物理单位是0.1us。本设计采用50MHz的高频晶体振荡源,由FPGA部的分频模块对50MHz信号进行五分频,得到10MHz的数据采样信号,其采样周期为0.1us。为了实现低频测量精度的要求,可采用10MHz的数据采样信号来循环计数被测信号的周期和两个同频正弦波信号的 相位差所对应的时间差值,时间单位为0.1us。也就是说,计数周期和相位差所对应的时

25、间差值的精度为0.1us。利用被测信号来刷新采样计数,在20Hz时,刷新频率可以精确到10Hz,20kHz时达到10kHz,可以实现高频多测量,低频少测量的效果,时间计数精确可靠,为后面单片机的数据处理提供了稳定,可靠的数据源7。2.2.3 FPGA数据采集电路中各模块确定根据以上设计思想,FPGA数据采集电路可分为五个模块,它们分别是:时钟分频模块FPQ,测量控制信号发生模块KZXH,被测信号有关时间检测模块SJJC,数据锁存模块SJSC和输出选择模块SCXZ,整个系统框图如图2-3所示。其中时钟分频模块FPQ的作用是:将输入的50MHz的高频晶体振荡源信号分频成测控基准时钟信号CLKF。测

26、量控制信号发生模块KZXH的作用是:根据两路被测信号的整形后方波信号CLKAA和CLKBB,产生有关测控信号,包括时间检测使能信号ENA,时间检测清零信号 CLRA ,锁存频率数据控制信号LOADA 和锁存两路被测信号相位差数据 控制信号CLB。被测信号有关时间检测模块SJJC的作用是:在控制信号ENA和CLRA的控制下,对测控基准时钟信号CLKF进行计数和清零,以便获取相关频率和相位差数据。数据锁存模块SJSC的作用是:在LOADA的上升沿将频率数据锁存在DATAB中,在CLB下降沿将相位差数据锁存 DATAA中。输出选择模块SCXZ的作用是:根据单片机发出的控制信号数据传送使能信号EN和输

27、出数据类型选择信号RSEL,将被测信号频率和相位差数据输出。图2-3 FPGA数据采集电路系统组成框图2.3 单片机数据运算控制电路的设计2.3.1 单片机数据运算控制电路的设计1.单片机数据运算控制电路的功能分析单片机数据运算控制电路的功能就是负责读取FPGA/CPLD采集到的数据,并根据这些数据计算待测争先信号的频率与两路同频正弦信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。2.单片机数据运算控制电路的设计单片机数据运算控制电路的硬件可由单片机、晶振电路、按键与显示接口电路等组成。在设计中考虑到,单片机具有较强的运算能力和控制能力的特点,因此使用单片机的P0口,P2口

28、与P1.0、P1.2、P1.3接收FPGA送来的对应于被测信号的周期、相位差的19位数据信号,P1口的P1.7、P1.6接入两个轻触按键,完成功能选择与设置。该电路的工作原理是,单片机通过向FPGA发送数据传输指令,使FPGA按照单片机的要求发送数据,同时通过使用单片机的串口,将待显示的数据信息送给数据显示电路显示。其原理图如图2-4所示:图2-4 单片机系统原理2.3.2 数据显示电路的设计1. 74LS164芯片简介74LS164是一种8位高速串入/并出的移位寄存器,随着时钟信号的高低变化,串行数据通过一个2输入与门同步的送入,使用独立于时钟的主控复位端让寄存器的输出端变为低电平,并且采用

29、肖特基钳位电路以达到高速运行的目的。并且还具有以下的特点: (1)典型的35MHz移位频率 (2)异步主控复位(3)门控串行输入(4)同步数据传输(5)采用钳位二极管限制高速的终端(6)静电放电值大于3500V2. 数码管简介(七段LED显示器)七段LED显示器由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字与部分英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器,如图2-5所示。图2-5八

30、段LED显示器共阴和共阳结构的LED显示器各笔划段名和安排位置是一样的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为01110011时,显示器显示“P”字符,即对于共阴极LED显示器,“P”字符的字形码是73H;如果是共阳极LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。发光二极管组成的显示器是单片机

31、应用产品中最常用的廉价的输出设备。它由若干个发光二极管按一定的规律排列而成,当某一个发光二极管导通时,响应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显示出各种字符。点亮显示器有静态和动态两种方法。所谓动态显示就是一位一位地轮流点亮显示器各个位(扫描),对于显示器的每一位来说,每个一段时间点亮一次.利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不会闪烁。而静态显示则是每个显示器的段码线分别与一个8位的锁存器输出口相连。各位的显示字符一经确定,相应锁存的输出将维持不变。因此,静态显示器的亮度较高,编程也简单,但占用的I/O口线较多,适用于显示位数不多的情况。这里

32、的8位锁存器可以直接采用并行口,也可采用串入/并出的移位寄存器或其他具有三态功能的锁存器。静态显示接口通常采用串行口2为方式0输出方式,再外接74LS164串入/并出的移位寄存器构成显示接口电路。在此次设计中即采用了这种方式8。3. 数据显示电路的设计整个系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此数据显示电路的设计采用静态显示的方式,显示电路由8个共阳极七段数码管和8片1位串入8位并出的74LS164芯片组成。数据显示电路如图2-6所示。 图2-6 显示电路图这种显示方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编

33、程,在实验过程中,也体现出较高的可靠性。在本系统中,74LS164的连接方式为:74LS164的输出Q0Q7分别接LED数码管的dp、g、f、e、d、c、b、a,并且Q7连接下一个74LS164的A,B端,时钟CLK连接单片机的TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC8。在这种状态下,数码管的编码如表2-1所示。表2-1数码管的编码表显示数码段 码显示数码段 码00c0hA88h10f9hB83h20a4hC0c6h30b0hD0a1h499hE86h592hF8eh682h0bfh70f8h.7fh880h熄灭ffh990hP8ch3 软

34、件部分的设计3.1 FPGA数据采集电路的VHDL语言程序设计3.1.1 VHDL语言的简介VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部

35、分,与端口)和部(或称不可视部分),既涉与实体的部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成外部分的概念是VHDL系统设计的基本点。与其他硬件描述语言相比,VHDL具有以下特点:(1)功能强大、设计灵活;(2) 支持广泛、易于修改; (3)强大的系统硬件描述能力;(4) 独立于器件的设计、与工艺无关;(5)很强的移植能力;(6) 易于共享和复用93.1.2 VHDL语言程序设计在此设计中,采用了自顶向下的设计方法、自底而上的实现方法10。在确定了FPGA数据采集电路可分为五个模块,它们分别是:时钟分频

36、模块FPQ,测量控制信号发生模块KZXH,被测信号有关时间检测模块SJJC,数据锁存模块SJSC和输出选择模块SCXZ。先编写这五个模块,而后再采用顶层连接的方法将其构成一个完整的整体,从而实现了数据采集电路的设计。当然也可采用模块法编程的方法,但那样出了问题不易于检查和解决,因此采用了顶层连接的方法,这样结构明朗、思路清晰,易于理解和检查解决可能出现的种种问题。具体的程序清单见附录2中。3.2 单片机数据运算控制电路的程序设计3.2.1 数据处理的技巧分析由2.2.3可知,FPGA在10MHz数据采集信号作用下对待测信号周期计数,并对两个同频正弦信号的相位差所对应的时间差进行计数,分别得到1

37、9位数字量,19位数字量的物理单位是0.1us。单片机从FPGA分别读取表示频率和相位差的19位数字量,并将这些数字量进行计算,然后分别得到待测信号的频率和相位差。为了达到系统所要求的精度,在计算时为了保证不丢失数据,我们采用了扩大数据倍数,定点取数的方法,在计算频率f和相位差时分别扩大了10 000 000倍和10倍,即f=10000000/t,=(360*10* t) /t 。然后定点取数值,在单片机完成的计算中,当 t=Tmax=T(20khz), tTmax 时,数据位数20位,因此采用了多字节乘法,保证了数据的计算准确。3.2.2 软件设计思路 在硬件设计完成之后,根据硬件的设计进行

38、软件设计是一项重要的工作。它关系到设计的成败与否。只有软件完全按照硬件的设计而相应地设计和编写,系统功能才能实现,设计才会达到各个指标的要求。1.主程序单片机数据运算控制电路的软件设计思路是:单片机不断从FPGA读取信号的周期和a、b信号相位差所对应的时间差,读取数据后进行有关计算,并通过转换后,送出给显示模块,通过功能键切换实现频率和相位差的显示12。单片机数据运算控制电路的工作过程也是编辑主程序流程图以与相应程序的参考依据:根据此依据,可以画出单片机数据运算控制电路进行数据运算与相应的控制过程的主程序流程图。而后可以再根据流程图编辑汇编程序,经过编译仿真、调试,从而实现上述的过程与功能。主

39、程序流程图如图3-1所示。具体程序见附录2程序清单。图3-1主程序流程图2.单片机读数据单片机在获取FPGA的数据时,开始的是一般的读取命令MOV指令,分别从单片机的P0口、P2口、P1口的低3位读入数据,组合为一个19位的二进制数据,通过控制口线P1.3、P1.5控制FPGA释放数据。经过多次测试,采用这种方式获得了比较好的效果。单片机读取FPGA数据的程序流程图如图3-2所示。具体程序见附录2中程序清单13。根据流程图的指示,先选通信号的周期时间,打开闸门FPGA释放数据,P0口、P2口、P1口分别读入数据并送入周期数据缓存区,关闭闸门,禁止释放数据;再选通两信号的时间差数据,打开闸门FP

40、GA释放数据,P0口、P2口、P1口分别读入数据并送入时间差数据缓存区,关闭闸门,禁止释放数据。图3-2 读FPGA数据程序流程图3.计算频率和相位差单片机从FPGA读取信息后,对信息进行计算,算出信号a的频率,其流程图如图3-3所示。具体程序见附录2中程序清单。由于a、b信号是两路频率一样、相位不同的正弦信号,因此经过整形电路后形成频率一样,时间上不重合的两路信号,这样,FPGA可以计数出两路信号的时间差从而可以计算出a、b信号的相位差14。其程序流程图如图3-4所示。具体程序见附录2中程序清单。图3-3计算a的频率程序流程图 图3-4 计算相位差的程序流程图4.显示程序最后单片机需要将信号

41、送到输出端显示出来,即单片机通过显示子程序将信息送到显示电路显示出来。在编写此数码管静态显示程序时,应根据电路的具体接法先建立一个字形段码表TAB,表中存放所能显示的字形段码。而在区开辟一个显示缓冲区,它对应各位数码管07要显示的容。当需要显示程序或更新显示容时,先向缓冲区存入要显示的容,再调用显示子程序15。程序流程图如图3-5所示,具体程序见附录2中程序清单。图3-5显示程序流程图4 系统的仿真与调试4.1 FPGA数据采集电路的调试4.1.1 软件调试在软件制作时,采用了自顶向下的设计方法、自底向上的实现方法。在编写完各个模块之后,进行各个模块的单独编译调试仿真。待各个模块都正确之后,再

42、进行顶层的元器件例化,将其构成一个有机的整体,再进行编译调试仿真。(1) FPQ模块的仿真结果如图4-1所示:clk是输入,clkf是输出,很明显分频的效果已达到。图4-1 FPQ模块的仿真波形图(2) scxz模块的仿真结果如图4-2所示:当en为1且rsel为0时 , dataa 值赋给 data;当en为1且rsel为1时, datab的值赋给data 。完全符合当初的预期成果。图4-2 scxz模块的仿真波形图(3) kzxh模块的仿真结果如图4-3所示:输入信号为clkbb 、clkaa,输出信为clb 、clra 、ena 、loada,将clkbb二分频得到了clb;将clkaa

43、二分频得到了ena;将ena取反得到loada;当clkaa为1并且ena为0时,clra为1,其他情况则为0。完全符合当初设计时的预期成果。图4-3 kzxh模块的仿真波形图(4) sjjc 模块的仿真结果如图4-4所示:当clra为0时且ena为1时,da自加1;当clra为1时, da变为0;当ena为0时,不执行任何操作。 完全符合当初的预期成果。图4-4 sjjc 模块的仿真波形图(5) sjsc 模块的仿真结果如图4-5所示:在clb 下降沿时,da 值赋给datab ; 在loada上升沿时, da 值赋给 dataa。完全正确。图4-5 sjsc 模块的仿真波形图(6) 总体系

44、统szxwy仿真图a. 同相如图4-6所示,当两信号同相时,相位差计数值和周期计数值一样。图4-6 总体系统szxwy在两输入信号同相时的仿真波形图b. clkaa滞后如图4-7所示,当clkaa滞后时.,相位差计数值和周期计数值不一样。图4-7 clkaa滞后时总体系统szxwy的仿真波形图c. Clkaa 超前如图4-8所示,当clkaa超前时,相位差计数值和周期计数值一样。图4-8 clkaa超前时,总体系统szxwy的仿真波形图注:因此当我们在测量相位差时,如果显示的是360°,则应将两信号交换,如果还是360°,则两信号同相。否则为后来那不是360°的值

45、。4.1.2 程序下载 在程序调试仿真都正确之后,应把程序下载到实验箱中,引脚锁定如下,图4-9所示。图4-9 引脚锁定图 下载的流程按照Quartus使用方法中的步骤。4.1.3 调试中的问题 在调试的过程中, 因不了解Quartus和FPGA的特性而产生了一系列的问题.如: (1)FPGA的时钟延迟只能达到ns级,可在设置时钟延迟时,只设置了ps级.结果达不到预期成果。(2)在仿真时,因没设置结束时间而导致不能仿真后将结束时间设置为100us后,能正常仿真。(3)在仿真时,没设置好输入输出引脚等等。(4)在打开工程文件时,由于操作不正确而打不开文件。(5)在程序下载时,由于没按软件流程操作

46、,而不能下载。(6)在程序下载时,由于实验箱没设置好,不能下载等等。4.2 单片机数据运算控制电路的软件制作与调试4.2.1 操作过程进入LCA51,按照相应的操作流程,进行程序的编写、编译、调试。在其中仍采用自上而下的设计方法、自底向上的实现和调试方法:先按照流程图的指示编写各个子程序,然后进行编译、调试,在设置的观察窗口中观察结果,直到结果完全正确为止;在各个子程序都正确之后,最后采用对子程序进行调用的方式进行主程序的编写,当然也要根据流程图的指示,还要根据需要,在程序中加一些赋值语句。因为还没进行联合调试,需人为地设置一些数据。然后接入接入仿真机进行编译、调试,在硬件电路板上观察软件和硬

47、件相结合的成果,直到结果完全正确为止。4.2.2 问题分析在制作调试的过程,不可避免地会遇到许许多多的问题。但经认真研究分析,都一一解决。在此,就列举一个比较突出的问题:在数码管显示的过程中,显示总不稳定。根据研究分析和尝试,应该是显示程序中延时太短,导致显示数据重叠而给观察的人一种不稳定的感觉。将其延长之后,虽然显示稳定了,但在通过功能键切换进行频率和相位差交换显示时。按键的时间也要延长。4.3 系统的联合调试与验证在各个单元电路都调好之后,在各个模块都调好之后,即可进行系统的联调。在系统联调成功之后,将相应的程序固化到单片机和FPGA中。然后通过接插键将输入的相关信号连接到信号整形电路的输

48、入端,将信号整形电路的输出信号也通过插线的方式输入FPGA,且FPGA和单片机的信号连接也通过插线连接。在调试的时候要注意各个信号与各个模块的“共地” ,本次调试过程中,就因为输入信号与后面的电路未“共地”,导致后面的电路无法判别检测信号,单片机接受不到正确的输入数据信号。在将其“共地”之后,再解决了其他的问题,毕业设计出成果,完全符合设计任务书的指标要求。以与由于信号源的不稳定而导致显示不稳定,改变延时之后,显示稳定了。但相应的频率和相位显示之间的切换时间也延长了。结论本次毕业设计的容是数字式相位差测量仪的设计。这其中既要用到以前的低频电路、电路原理、数字电路所学的硬件电路的知识,包括元器件

49、的选择、使用和维护,又要用到89C51单片机中程序与汇编语言的编写、调试等容,以与FPGA的相关知识和VHDL语言的编写。因此这就要求我们对以前所学的知识不仅要懂,而且会用,特别是要能把其结合起来使用。将单片机AT89C51和FPGA相结合,制作完成了低频数字式相位差测量仪。在实验过程中,我自制了整形电路、显示电路和按键等,力求精度更高,并且进行了多组数据的分析和总结,最终得到了相对满意的效果。毕业设计的过程虽然不顺利,但在经过老师精心的指导和自己的认真研究分析,遇到的问题都得到了解决,完成了设计任务书的要求。通过本次毕业设计,对本专业的知识有了更好的认识和掌握,例如对硬件和软件的设计思想有了

50、深刻的理解,另外了解了电子产品开发的全过程。且我们了解到,毕业设计不是对单一的某一门课的知识的应用,而是对大学里所学的多门课的知识的综合应用;也不是对各门课的理论知识的简单组合,而是将这些知识运用到实践中去。这次毕业设计将我们在大学四年里所学的知识联贯复习一遍,使我将知识在应用中更加深刻地理解和掌握,更重要的是,它为我能将各学科相互联系和结合应用打下了一定的基础,同时更深刻理解了严谨的科学学习态度是设计的根本,并锻炼了我们查阅文献的能力。毕业设计是对我们大学四年中所学知识的一个全面的考察。在这次毕业设计中我将大学四年来所学的理论知识在毕业设计中很好地应用到实践,使自己理论联系实践的能力提高了,

51、为我们即将走向工作岗位奠定了一定的基础。在以后的工作岗位上我将以更加努力的姿态来迎接新的挑战,为实现自己的人生价值而努力奋斗。参考文献1 谭会生,瞿遂. EDA 技术综合应用实例与分析M. :电子技大学出版,2004.2 谭会生. EDA 技术与应用J株洲工学院学报,2001,(5):78-893 王树昆,胡光鲁,晓巍,王树民. EDA仿真环境的研究与应用J. 省青年管理干部学院学报, 2006,(1):231-245.4 松. CPLD/FPGA在电子设计中的应用前景J.电子技术应用, 1999,(7):78-82.5 硕,吴娜,余吉,朱茂镒. 2003年全国大学生电子设计竞赛一等奖 低频数

52、字式相位测量仪(C题)J. 电子世界, 2004,(4):221-234.6 凌玉华单片机原理与应用系统设计M:中南大学,2006.47 光禹现代电子测试技术M :国防工业,2000 8白跃彬,卢华斌,庆绵,玉明.硬件描述语言VHDLJ.微机发展, 1996,(6):67-72.9A.M.Gladkin.Statistical characteristics of phase measurement errors caused by harmonic noiseJ.Measurement Techniques,1992,35(2):207-210. 10A.M.Gladkin.signal f

53、iltration in phase measurementsJ. Measurement Techniques , 2003,46(7):710-712. 11Ryohei Hanayama,Kenichi,Hibino,Shinichi Warisawa and Mamoru Mitsuishi. Phase Measurement Algorithm in Wavelength Scanned Fizeau Interferometer J.Optical Review, 2004, 11(5):337-343.12Soo- Hwan Choi. A Implementation of

54、Wireless Sensor Network for Security System using BluetoothJ. IEEE Transactions on Consumer Electronics, 2004,50(1):106-108.13 Harris R ,Chaberies D ,Bishop F A. A Variable Step (VS) Adaptive Filter Algorithm J . IEEE Trans. On Acoust , Speech ,Signal Processing ,1986 ,34 (2) :309 -316.14 侯伯亨,顾新.VHD

55、L硬件描述语言与数字逻辑电路设计M.电子科技大学,199715 常青,辉煌.可变成专用集成电路与其应用与设计实践经验M.国防工业,1998附录一:元器件清单器件要求数量单 片 机89C51一片;晶 振12M Hz一只电 容30pf瓷片电容两只10uF电解电容 一只数 码 管共阳极八只按 钮 开关无三个电 阻10k电位器 一只510二只100二只10k四只75k二只36k二只排 阻1k一只10 k一只导线与插线无若干焊锡丝0.8mm若干通用板无两块芯片74LS164八只LM339一只附录二:程序清单1.单片机源程序DATAH EQU 40H ;周期的时间DATAL EQU 41H DATA2L EQU 42H ;时间差DATA2H EQU 43HDATA3 EQU 44HDATA33 EQU 45HAD0 EQU 30H ;除法占用 乘法占用AD1 EQU 31HAD2 EQU 32HAD3 EQU 33HAD4 EQU 34HAD5 EQU 35HAD

温馨提示

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

评论

0/150

提交评论