




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、设计任务和技术要求1.1 设计内容设计制作一个低频数字相位测量仪,要求使用单片机和FPGA来共同实现,FPGA完成测量时间差,而单片机完成数据的读取、键盘控制和显示等功能。1.2 设计要求 1)频率范围:20Hz20kHz。 2)相位测量仪的输入阻抗:100k。 3)允许两路输入正弦信号峰峰值可分别在15V变化。 4)相位测量绝对误差2。 5)具有频率测量及数字显示功能。 6)相位差数字显示,分辨力为0.1。 7)主芯片:Altera的FLEX10K10。 8)要求扩展键盘和显示接口电路,可以进行键盘控制以及显示等功能。二、系统设计方案2.1 方案论证 根据系统的设计要求,本系统可分为三大基本组成部分:1.数据采集电路数据采集电路主要是运用FPGA/CPLD采集两个同频待测正弦信号的频率和相位差所对应的时间差。2.数据运算控制电路 数据运算控制电路主要是运用单片机读取FPGA/CPLD采集到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差。3.数据显示电路 数据显示电路是通过功能键切换用LCD液晶模块显示出待测信号的频率和相位差。4.整形电路 由于FPGA对脉冲信号比较敏感,而被测信号是周期相同、相位不同的两路正弦波信号,为了准确地测出两路正弦波信号的相位差及其频率,我们需要对输入波形进行整形,使正弦波变成方波信号,并输入FPGA进行处理。整个系统的总体原理框图如图2.1所示。整形电路整形电路FPGA或CPLD 数据 采集 电 路单片机数 据运 算控 制电 路数 据显 示电 路 AINS AIN BINS BIN图2.1系统原理框图2.2程序设计框图图2.2 程序设计流程图三、硬件电路图的设计与分析3.1 FPGA数据采集电路 数据采集模块CLKABENRSELDATA 18.0图3.1 数据采集电路FPGA数据采集电路的功能就是实现将待测正弦信号的周期、相位差变为19位的数字量。 根据系统的总体设计方案,FPGA数据采集电路的输入输出信号有:CLK系统工作时钟信号输入端;A,B两路被测信号输入端;EN单片机发出的传送数据使能信号; RSEL单片机发出的传送数据类型信号;DATA18.0FPGA到单片机的数据输出口。 FPGA数据采集电路测量正弦波信号频率的原理是:在正弦波信号整形后得到的方波信号的一个周期为T秒的数据采样信号进行计数,其计数结果乘以1/T,就是被测正弦波信号的频率,单位为Hz。测量正弦波信号周期原理是:在正弦波信号整形后得到的方波信号的一个周期内对周期为T秒的数据采样信号进行计数,其计数结果乘以T秒,就是被测正弦波信号的周期,单位为秒。测量两个同频正弦波信号的相位差,关键是要测出两个同频正弦波信号起点之间的时间差t,若t测出,则根据=t360/t即可求出相位差,因此其测量原理与测量正弦波信号周期的原理相似。 本设计采用20MHz的高频晶体振荡源,由FPGA内部的分频模块对20MHz信号进行二分频,得到10MHz的数据采样信号,其采样周期为0.1us。为了实现中低频测量精度的要求,我们可采用10MHz的信号来循环计数被测信号的周期和两个同频正弦波信号的相位差所对应的时间差值,时间单位为0.1us。也就是说,计数周期和相位差所对应的时间差值的精度是0.1us。利用被测信号来刷新采样计数,在20Hz时,刷新频率可以精确到10Hz,20kHz时达到10kHz,可以实现高频多测量,低频少测量的效果,时间计数精确可靠,为后面单片机的数据处理提供了稳定、可靠的数据源。3.2 单片机数据运算控制单片机数据运算控制电路的功能就是负责读取FPGA/CPLD采集到的数据,并根据这些数据计算待测正弦信号的频率及同频正弦信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。为了达到系统所要求的精度,在计算时为了保证不丢失数据,我们采用了扩大数据倍数,定点取数的方法。在计算频率和相位差时,和分别扩到了10000000倍和10倍,即=10000000/t, =36010t/t。然后定点取数值,在单片机完成的计算中,当t= Tmax=T20kHz, tTmax时,数据位数20位,因此采用了多字节乘法,保证了数据的计算准确。单片机数据运算控制电路的软件设计思路是,单片机不断地从FPGA读取信号的周期和a、b信号相位差所对应的时间差,读取数据后进行有关计算,并通过转换后,送出给显示模块,实现频率和相位差的显示。3.3 数据显示电路整个系统硬件电路中,显示电路用LCD液晶显示,需要单片机提供三个控制管脚,分别是P3.5,P3.6,P3.7。用两个按键切换频率和相位差数据,分别是P1.6,P1.7。其中按键部分是用查询去抖的方式完成,LCD显示模块运用串口方式,这样节省了I/O口,三个控制管脚分别控制忙碌状态、串口片选、数据传输口。如图3.2。图3.2 数据显示电路四、程序设计与调试4.1 FPGA采集电路设计FPGA数据采集电路可设计成五个模块,他们分别是:时钟信号分频模块FPQ,测量控制信号发生模块KZXH,被测信号有关时间检测模块SJJC,数据锁存模块SJSC和输出选择模块SCXZ,整个系统组成框图如图4.1。1、时钟信号分频模块FPQ的作用是:将输入的20MHz的信号分频成10MHz的测控基准时钟信号CLKF。2、测量控制信号发生模块KZXH的作用是:根据两路被测信号整形后的方波信号CLKAA和CLKBB,产生有关测控信号,包括时间检测使能信号ENA,时间检测清零信号CLRA,锁存频率数据控制信号LOADA,锁存两路被测信号相位差数据控制信号CLB。3、被测信号频率和相位差数据检测模块SJJC的作用是:在控制信号ENA和CLRA的控制下,对测控基准时钟信号CLKF进行计数和清零,以便获取有关频率和相位差数据。4、数据锁存模块SJSC的作用是:在LOADA的上升沿将频率数据锁存在DATAA中,在CLB的下降沿时将相位差数据锁存在DATAB中。5、输出选择模块SCXZ的作用是:根据单片机发出的控制信号数据传送使能信号EN和输出数据类型选择信号RSEL,将被测信号频率数据或相位差数据输出。 图4.1 FPGA整个系统框图4.2 单片机程序设计单片机在获取FPGA的数据时,开始的是一般的读取指令MOV指令,从单片机的P0,P2,P3口分别读入数剧,组合为一个19位的二进制数据,通过控制口线P1.6、P1.7控制FPGA释放数据。经过多次测试,采用这种方式获得了比较好的效果。单片机读取FPGA数据的程序流程图如4.2。单片机从FPGA读取信息后,对信息进行计算,算出信号a的频率,其流程图如4.3。由于a、b信号是两路同频不同相的正弦波信号,因此经过整形电路后形成频率相同,时间上不重合的两路信号,这样,FPGA可以计数出两路信号的时间差从而可以计算出a、b信号的相位差,其流程图如4.4。图4.2图4.3 图4.4 最后单片机需要将信号送到输出端显示出来,即单片机通过显示子程序将信息送到显示电路显示出来,程序流程图如4.5图4.54.3 结果与分析1)FPGA数据采集电路波形仿真如图4.6所示图4.6 FPGA波形仿真图分析:仿真波形的CLK的周期是0.25us,A、B信号的周期都是5us,CLK经过2分频后,在A、B的一个周期内对CLK的方波脉冲计数应该是10,也就是16进制的0A。见图中的DATAA 恰好是0A,A、B信号是反相的,因此相位差计数应该是整个周期的一半,即图中的DATAB 为5。RSEL、EN为使能控制信号,当EN为高电平时才输出数据,RSEL是控制输出频率和相位差数据的,当其为低电平时输出频率数据,为高电平时输出相位差数据,见图中的DATA为最后的输出信号。2)单片机部分。在本系统的设计中,为了达到系统所要求的精度,必须保证数据计算处理时不丢失数据,我们采用了扩大数据倍数,定点取数的方法,在计算频率和相位差时,和分别扩大到了10000000倍和10倍,即=10000000/t,=36010t/t,然后定点取数值,在单片机完成的计算中,当t= Tmax= T20kHz,tTmax时,数据位数20位,因此采用了多字节乘法,保证了数据的计算准确。3)测量结果如表4.3表 4.3序号A、B实际频率AB实际相位差测量频率测量相位差120HZ180度20HZ179.5度2200HZ180度198HZ177.0度32000HZ90度1995HZ88.6度420000HZ90度19988HZ86.2度分析:由于整形电路的存在,输入的脉冲是高频信号,难免会产生误差,但本系统用FPGA采集数据,因此误差不大。4)系统扩展思路本次设计可以添加一个数字式移相信号发生器,用以产生相位测量仪所需的输入正弦信号,这样,输出频率可以预置。具体框图如4.8 图4.8 数字式移相信号发生器电路图五、总结低频数字相位检测仪是一个检测低频信号相位差和频率的系统,主要用FPGA进行数据采集,通过单片机的运算控制,最终在LCD液晶模块上显示结果。通过这次课程设计,我们收获了许多。首先,我们对FPGA有了更深的认识,在以前的课程设计中,我们主要采用人工布线的方法进行电子电路设计,这种方法不但麻烦,还容易出错,一旦出现错误特别不容易检查,最后只好重新连线,浪费了很多时间。而通过这次用 VHDL语言进行电路设计,不仅设计起来方便,而且通过波形仿真还可以验证结果是否正确,以及检查在哪出现错误。最后将程序下载到一个芯片中就可以完成设计内容。因此使用起来特别方便。并且对一些高频信号来说误差较小。其次,在对单片机控制程序的编写我们采用了汇编语言,由于采集的数据比较大,对其运算时用到了多字节乘除法,和BCD码的转换。其中,我们都采用子程序来编写,这样不但思路清晰,还有利于我们分工合作,节省了很多时间。不过程序代码很长。我们发现如果用C语言编程会十分方便,因为许多运算的程序如果用C编写只需要一条语句,而用汇编却用了一个很长的子程序。所以,通过这次试验我们也体会到了C语言的方便之处,这也是我们将要学习的地方。最后,键盘和显示部分,由于我们只用到两个键,所以编程时采用查询方式,十分简单。显示模块是液晶显示,不仅可以显示数字,还可以显示符号和汉字,通过使用这个模块,我们又学到了一个新的模块的用法,同时也增强了学习新东西的能力。这次实习,我们受益匪浅,并且对本专业更加喜欢,所以我们会在以后的学习中更加努力,争取学到更多的知识。参考文献1 谭会生EDA技术综合应用实例与分析西安电子科技大学出版社2004:248-265.2 潘 松EDA技术实用教程第二版科学出版社2005:293-298.附录一、程序清单1单片机程序DATA2H EQU 43H DATA3 EQU 44H DATA33 EQU 45H AD0 EQU 30H AD1 EQU 31H AD2 EQU 32H AD3 EQU 33H AD4 EQU 34H AD5 EQU 35H AD6 EQU 36H ADA EQU 4FH ADB EQU 5FH ADC EQU 4DH ADE EQU 5DH DSEL BIT P1.7 DSN BIT P1.6 KEY1 BIT P3.3 KEY2 BIT P3.4 E BIT P3.7 SID BIT P3.6 CS BIT P3.5 ORG 4000H LJMP START ORG 4100HSTART: LJMP MAIN MAIN: NOP LCALL DU ;从FPGA读入频率和相位差分别对应的数据 LCALL ZHUN1 ;调用除法准备周期 LCALL DIVVV ;调用除法程序 MOV 32H,#0H MOV 33H,4DH MOV 34H,4EH MOV 35H,4FH ;32H,33H,34H,35H存放频率数据,32H是高位 LCALL BCDST ;将频率数据转化为BCD码,便于显示 MOV 67H,3DH MOV 68H,3EH ;频率BCD码存放在67H,68H,69H中,67H是高位 MOV 69H,3FH LCALL ZHUN2 ;调用乘法准备周期 LCALL MULLL ;调用乘法程序 MOV 4AH,5AH MOV 4BH,5BH MOV 4CH,5CH MOV 4DH,5DH MOV 4EH,5EH MOV 4FH,5FH ;将进行乘法之后的数据暂存 MOV 5FH,DATAL MOV 5EH,DATAH MOV 5DH,DATA3 ;再取频率初始数据 LCALL DIVVV ;调用除法程序 MOV 32H,#0 MOV 33H,4DH MOV 34H,4EH MOV 35H,4FH ;33H,34H,35H存放相位差数据33H是高位 LCALL BCDST ;调用BCD码转换程序 MOV 70H,3EH MOV 71H,3FH ;相位差BCD码存放在70H,71H中,70H是高位 K1:JNB KEY1,KK1 K2:JNB KEY2,KK2 LJMP MAIN KK1:LCALL DELAY JNB KEY1,K11 LJMP K2 K11:LCALL XIAN1 LJMP K2 KK2:LCALL DELAY JNB KEY2,KK3 ;键盘扫描,看两个键是哪个键按下从而 LJMP MAIN 切换频率和相位差 KK3:LCALL XIAN2 LJMP MAIN DU:CLR DEN ;读数据子程序 CLR DSEL SETB DEN MOV A,P0 MOV DATAL,A MOV A,P2 MOV DATAH,A SETB DS1 MOV A,P3 ANL A,#00000111B MOV DATA3,A ;读频率数据 放到44H,41H,40H中 CLR DEN SETB DEN SETB DSEL MOV A,P0 MOV DATA2L,A MOV A,P2 MOV DATA2H,A MOV A,P3 ANL A,#00000111B MOV DATA33,A ;读相位差数据 放到45H,43H,42H中 CLR DSEL CLR DEN RET ;2N BYTE/N BYTE=N BYTE,HERE N=3IN 31H;(4A,4B,4C,4D,4E,4FH)/(5D,5E,5FH)=(4D,4E,4F)ZHUN1:MOV 5FH,DATAL ;除法准备周期 MOV 5EH,DATAH MOV 5DH,DATA3 MOV 4FH,#80H MOV 4EH,#96H MOV 4DH,#98H MOV 4CH,#00H MOV 4BH,#00H MOV 4AH,#00H ;10000000 RET NOP;N BYTES X M BYTES=N+M BYTES HERE N=3; M=3;(4D,4E,4FH)*(5D,5E,5FH)=(5A-5FH)ZHUN2:MOV 4DH,DATA33 ;乘法准备周期 MOV 4EH,DATA2H MOV 4FH,DATA2L MOV 5DH,#00H MOV 5EH,#0EH MOV 5FH,#10H ;3600 RET NOP NOP NOP ;2N BYTE/NBYTE=NBYTE,HEREN=3IN31H;(4A,4B,4C,4D,4E,4FH)/(5D,5E,5FH)=(4D,4E,4FH) SHIL1:MOV R2,AD0 MOV R0,#ADA SHIL1B:CLR C SHILL:MOV A,R0 RLC A MOV R0,A DEC R0 DJNZ R2,SHILL RET SUBMB:MOV R2,AD0 MOV R0,#ADA MOV R1,#ADB SUBMBB:CLR C SUBMB1:MOV A,R0 SUBB A,R1 MOV R0,A DEC R0 DEC R1 DJNZ R2,SUBMB1 RET NOP NOP NOP RET END2 EDA程序清单 -控制信号模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY KZXH IS PORT(A:IN STD_LOGIC; B:IN STD_LOGIC; ENA:OUT STD_LOGIC; CLRA:OUT STD_LOGIC; LOADA:OUT STD_LOGIC; CLB:OUT STD_LOGIC);END ENTITY KZXH;ARCHITECTURE SJCJ OF KZXH IS SIGNAL CLKA,CLKB:STD_LOGIC; SIGNAL CLA:STD_LOGIC; SIGNAL CB:STD_LOGIC; BEGIN CLKA=NOT A; CLKB=NOT B; PROCESS(CLKA) BEGIN IF CLKAEVENT AND CLKA=1 THEN CLA=NOT CLA; END IF; ENA=CLA; LOADA=NOT CLA; END PROCESS; PROCESS(CLKB) BEGIN IF CLKBEVENT AND CLKB=1 THEN CB=NOT CB; END IF; CLB=CB; END PROCESS; PROCESS(CLKA,CLA) BEGIN IF CLKA=0 AND CLA=0 THEN CLRA=1; ELSE CLRA=0; END IF; END PROCESS;END ARCHITECTURE SJCJ;-分频模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FPQ ISPORT(CLK:IN STD_LOGIC; CLKF:OUT STD_LOGIC);END ENTITY FPQ;ARCHITECTURE SJCJ OF FPQ ISBEGINPROCESS(CLK)VARIABLE TEMP:INTEGER RANGE 0 TO 2;VARIABLE CL:STD_LOGIC;BEGINIF CLKEVENT AND CLK=1 THEN IF TEMP=1 THEN TEMP:=0; CL:= 1; ELSE TEMP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高职复合型人才课程体系评估与反馈机制的构建与优化
- 学生情绪调节对课堂参与度的影响机制
- 专利授权费用合同(标准版)
- 《三月桃花水》课件
- 留守儿童购物申请报告(3篇)
- 领取棚改补偿款申请报告(3篇)
- Dmt1-DALDA-生命科学试剂-MCE
- Dimethyl-4-chloropyridine-2-6-dicarboxylate-生命科学试剂-MCE
- Desthiobiotin-PEG1-alkyne-生命科学试剂-MCE
- zy4道岔讲解课件
- Frenchay构音障碍评定
- 陈嘉庚生平介绍(中文+英文版)
- 建筑装饰施工技术-轻质隔墙工程施工课件(-)
- DB21T 3354-2020 辽宁省绿色建筑设计标准
- 我和我的祖国课件
- 德国工业4.0与数字化制造课件
- 肉制品加工技术完整版ppt课件全套教程(最新)
- 《基因组学》课程教学大纲(本科)
- 统编版一年级语文上册 第5单元教材解读 PPT
- GB∕T 11032-2020 交流无间隙金属氧化物避雷器
- DB51T 5036-2017 四川省屋面工程施工工艺规程
评论
0/150
提交评论