基于fpga和mcu的相位测量仪的设计-毕业设计(编辑修改稿)内容摘要:

FPGA 和 MCU的相位测量仪的设计 11 MCU 要完成的任务有 3个:一是从 FPGA 中获得 19位的二进制数据,并控制FPGA 的工作;二 是对时所获得的数据进行处理(完全由软件实现);三是将处理后的数据送给 LED 数码管显示。 由于送到 LED 数码管显示的数据有频率和相位差两种,所以应设置一个按键开关,以便实现显示内容的切换。 两个设计方案的 比较 上述所提出的以 MCU 为核心的系统可以实现对频率的测量和对相位差的测量。 但是,该系统不一定该设计所要求的技术指标。 而且在同一个单片机应用程序中实现频率和相位差的测量,程序设计也相当复杂。 根据设计要求,输入信号频率范围是 20HZ— 20KHZ, 相位测量绝对误差≤ 2176。 在采用以 MCU 为核心的设计相 位测量仪时,令单片机的外接晶振为 12MHZ,则定时器 /计数器 的计数误差为正负一个机器周期 ,即 177。 1μ S。 当输入信号频率 kHzf 20 时,输入周期则为 sT 50 ,可以认为定时器 /计数器 的计数误差为 177。 1个字。 此时的相位绝对误差为 176。 ,其计算过程如下:   :13 6 0:50 ss ( 22) 由公式( 22)可以推导出  )13 6 0( ss  ( 23) 同理,若外接晶振为 24MHZ 时,相位差绝对误差为  。 这不满足 相位测量绝对误差≤ 2176。 的要求。 所以以单片机为核心的设计方案当待测信号频率较高时很难满足设计要求。 以 FPGA 和 MCU 相结合的设计方案中, 让 FPGA 实现 两 路 待测信号 的 相位差所对应的时间差 的采集 ,而 MCU 则负责读取 FPGA 采集到的数据,并根据这些数据计算待测信号的相位差,同时 把得到的信号频率和相位差送到 LED 数码管显示。 FPGA 在采集相位差对应的时间差 T 时,至少要能分辨出 s 的时间间隔。 为了兼顾 MCU计算的方便和时标信号获得的方便,我们采用的是 sT   ,即 MHzf 100  的时钟脉冲作为时标信号。 XX 大学本科生毕业设计 基于 FPGA 和 MCU的相位测量仪的设计 12 MCU 要完成的任务有 3个:一是从 FPGA 中获得 19位的二进制数据,并控制FPGA 的工作;二是对时所获得的数据进行处理(完全由软件实现);三是将处理后的数据送给 LED 数码管显示。 这种设 计方案发挥了 单片机控制运算能力强的特点,同时也充分的利用了FPGA 数据采样速度快、资源丰富的特点。 将数据采集交 FPGA 完成,可以准确的采集到两个同频正弦信号的相位差所对应的时间差以及信号的周期,从而提高了系统的可靠性。 由于单片机具有较强的运算、控制能力,因此,我们 使用单片机最小系统完成读取 FPGA 的数据,并根据所读取的数据计算待测信号的频率及两路同频信号之间的相位差,同时通过功能键切换,由显示模块可以显示待测信号的频率和相位差。 所以,我们最终采用 以 FPGA 和 MCU 相结合的设计方案。 XX 大学本科生毕业设计 基于 FPGA 和 MCU的相位测量仪的设计 13 3 系统 硬件设计 本设计 采用 FPGA 和 MCU 相结合的方案来完成低频数字式相位测量仪的设计。 单片机与 FPGA 相结合的方案,将系统的硬件部分分为数据采样处理和单片机最小系统两部分。 输入 模块 设计 而被测信号是周期相同,幅度和相位不同的两路正弦信号,所以为了准输入电路起到波形变换及整形的作用。 由于 FPGA 对脉冲信号比较敏感, 为了准 确的测量出 两路正弦信号的相位差及其频率,需要对输入波形进行整形,使输入信号变成矩形波信号,并送给 FPGA 进行处理。 我们知道,通常情况下,输入信号往往会含有干扰,这样 单门限电压比较器的整 形电路整形就不太准确。 由于有干扰信号,导致单门限电压比较器在输入信号过零点时会产生多次触发翻转的现象,这样就会导致 FPGA 采集数据(计数)不准确,从而使单片机无法计算出正确的被测信号的频率和相位差的数值。 在相位差测量过程中,不允许两路被测信号在整形后 发生相对相移,或者应该使得两路被测信号在整形输入电路中引起的附加相移是相同的。 因此,我们在对 A、 B 两路信号整形时要采用相同的整形电路。 为了避免被测输入信号在过零点时多次触发翻转的现象,我们决定采用由施密特触发器组成的整形电路。 施密特触发器在单门限电压比较器的 基础上引入了正反馈网络。 因为正反馈的作用,它的门限电压随着输出电压 0U 的变化而改变。 因为施密特触发器有两个门限电压,所以可以提高输入电路的抗干扰能力 ,其电路原理图如图 31所示。 电路中使用两个施密特触发器对两路被测输入信号进行整行,在图中,比较器LM339 连接成施密特触发器的形式,为了保证输入电路在相位差测量的时候不会有误差,必须保证两个施密特触发器的两个门限电平对应相等, 这可以通过调节电位器 8R 来使得两个施密特触发器的门限 电平对应相等 [3]。 XX 大学本科生毕业设计 基于 FPGA 和 MCU的相位测量仪的设计 14 1 2 3 4 5 6ABCD654321DCBAT i t l eN um be r R e v i s i onS i z eBD a t e : 1 J un 20 1 1 S he e t of F i l e : D : \ P R O T E L _9 9 _S E _C N \ E X A M P L E S \M yD e s i gn .dd bD r a w n B y :U I AL M 33 9L M 33 9R110 K ΩR910 K ΩR310 K ΩR410 0 ΩR510 K Ω123J4C O N 3A I N SGNDB I N SR651 0 ΩR710 0 ΩR251 0 ΩR810 K ΩU I BGNDGNDGNDGND+ 5V+ 5V+ 5V+ 5VB I NA I N 图 31 由施密特触发器构成的整形电路 由上图分析计算有: VURRR RUU KPN 4  ( 31) 则其阀值电压 VUVU TT ,  。 当输入的正弦信号电压大于NU 时,输出电压等于 TU ;当输入的正弦信号电压小于 NU 时,输出电压等于TU。 基于 FPGA 的 数据采集模块 设计 设计中,我们选择的是 Altera 公司的 FPGA,芯片型号为 EPF10K10LC844。 本设计充分利用了 FPGA 可编程资源多、速度快、口线多、实时采样性好等特点。 该芯片特点 如下 [5]: 1. 高密度 典型门为 30000 个,可用门为 119000 个,逻辑单元为 1728 个,嵌入式阵列XX 大学本科生毕业设计 基于 FPGA 和 MCU的相位测量仪的设计 15 块( EAB)为 6 个, 24576 个内部 RAM,可用 I/O 为 102个。 2. 低功耗和多电压 I/O 接口 该器件的核心电压为 供电,功耗小,支持高电压 I/O 接口,引脚可以与 、 、 5V 电压器件兼容,并且可以进行摆率控制和 漏极开路输出。 3. 增强型嵌入式结构 每个 EAB 有以 256 1 512 1024 2048 2 位任意组合的 RAM,可做单口 RAM,也可以设计成双口 RAM。 4. 时钟锁定和时钟自举 该器件为设计人员提供了可供选择的时钟锁定( clock lock)和时钟自举(clock boost)电路。 这两种电路都含有锁相环( PLL),时钟锁定电路为一个同步的 PLL, 可以减小器件内的时钟延迟和偏移。 时钟自举电路提供了一个时钟乘法器,可以很容易的实现时域逻辑乘法,并减少资 源的使用。 EPF10K10LC844 能够满足多功能、低功耗、低成本、高性能的系统设计。 FPGA 电路的设计我们采用实验室已有的 FPGA 适配板来实现,该适配板包含芯片EPF10K10LC84下载电路、 FPGA 配置存储器、 FPGA 内部所需电源模块等。 当FPGA 配置存储器中下载配置文件后,该适配板只需要接入 +5V 电源就可以正常工作与用户应用系统中。 为了进一步提高测量精度,同时便于计算,我们采用 10MHZ 的矩形波信号作为 FPGA 数据采样的信号。 FPGA 在 10MHZ 时钟信号作用下对待测信号周期进行计数,并对 两个同频率的正弦波信号的相位差所对应的时间差进行计数,分别得到19位数字量,其物理单位是 S。 FPGA 的时钟信号 clk 采用 40MHZ 四引脚石英晶体多谢振荡器信号源,由 FPGA 内部的分频模块对 40MHZ 信号进行四分频,得到 10MHZ 的数据采样时标信号,采样周期为 S。 FPGA 与单片机的连接框图如图 32所示。 XX 大学本科生毕业设计 基于 FPGA 和 MCU的相位测量仪的设计 16 图 32 FPGA与单片机的连接图 从 FPGA 中获得的数据要通过 19位 数据 接口送到单片机中,其引脚端口对应的关系如表 31所示。 表 31 引脚端口对应关系 P0 口 AT89C51 FPGA引脚名称 P28 P53 P55 P57 P59 P61 P62 P82 FPGA引脚号 PIN28 PIN53 PIN55 PIN57 PIN59 PIN61 PIN62 PIN82 引脚定义 DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 P2 口 AT89C51 FPGA引脚名称 P130 P128 P126 P124 P100 IO38 IO36 IO34 FPGA引脚号 PIN130 PIN128 PIN126 PIN124 PIN100 PIN83 PIN77 PIN75 引脚定义 DATA8 DATA9 DATA10 DATA11 DATA12 DATA13 DATA14 DATA15 P1 口 AT89C51 FPGA引脚名称 P31 P54 P56 P58 NC P60 FPGA引脚号 PIN31 PIN54 PIN56 PIN58 空端口 PIN60 引脚定义 DATA16 DATA17 DATA18 RSEL 无 EN CLKa CLKb FPGA适配板 FEN DSEL CLK A T 8 9 C 5 1 AIN BIN 40MHZ 石英晶体多谐振荡器 XX 大学本科生毕业设计 基于 FPGA 和 MCU的相位测量仪的设计 17 基于 MCU的 数据处理模块 设计 这部分电路由单片机、晶振电路、按键电路等组成。 该电路充分地利用了 单片机 的 较强的 运算 能力和 控制能力 :使用单片机的 P0 口、 P2口以及 、 、 接受 FPGA 发送过来的对应的被测输入信号的周期和相位差的 19 位二进制数据,并且在单片机内部完 成对这 19 位二进制数据的处理和相关运算。 P1 口的、 接入两个轻触按键,结合软件编程 来实现频率与相位差显示切换功能。 单片机完成对 FPGA 的控制,使 FPGA 按照单片机的要求通过 19 根 I/O 连接线分别发送被测输入信号的周期和相位差所对应的时间差的数据。 FPGA 和 MCU的握手信号 FEN 和 DSEL 分别接在 和 引脚,即 Pin4 和 Pin6。 除此之外,在设计中还要用到单片机的串口 UART,将待显示的信息送给显示模块显示。 该模块使用的单片机型号为 AT89C51,它是美国 Atmel 公司生产的 8位单 片机。 该器件采用 Atmel 高密度非易失存储器制造技术,与工业标准的 MCS51 指令集和输出管脚相兼容。 由于将多功能 8位 CPU和闪烁存储器组合在一个芯片中,Atmel 的 AT89C51 是一种高效率的微处理器,为很多嵌入式控制系统提供了一种灵活方便且物美价廉的方案。 AT89C51 的主要特性有:片内数据存储器内含有 128 字节的 RAM;与 MCS51相兼容;内部集成有 4KB 的 FLASH 的存储器;允许在线编程擦写 1000 次;具有32根可编程 I/O 线;数。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。